Intelligent import tool

Discussion and feedback on Construct 2

Post » Sun Mar 02, 2014 9:19 am

Hi,

To keep game trials manageable i created various game "segments" in different C2. I now notice that merging those segments into one game is very hard.

I feel that an intelligent import features would be very desirable. In particular given the asset checks C2 makes, so no dangling references are allowed.

I envision a tool that a) supports cleanly importing layout and event sheets, and b) warns about and includes, references, such as global variables referred to in one layout but defined in another -- either by further including the other layout, or by replicating the global variable, possibly into an include layout, making the first layout self contained. And c) to support dealing with assets (images, music, sound files), by either redirecting references in imported sheets to assets already available or duplicating assets as needed, or giving the importing user choices.

I think this would make C2 much more manageable when working on multiple games that have shared layouts, events and assets.

thanks,

Dan
B
8
S
4
G
1
Posts: 205
Reputation: 1,354

Post » Mon Mar 03, 2014 10:18 am

There have been quite some request for modularity like the one your asking, and it is in constructs 2 future plans for development.

what people do atm:
-Simply copy pasting of sheets / variables / objects between projects.
-Make their own templates with various game elements / objects already set up.


For event sheets I personally make sure that when I create something that is going to be reusable, that I include everything needed for that event sheet is actually on that sheet. (like variables)
This way, I only have to copy/paste the top set of variables from a sheet, and after that copy paste the rest of the entire event sheet.
For objects I use dedicated layouts, from which I can easily copy/paste the required assets.
Might not be the most gracefull, but it surely makes managing assets between projects "managable".
Who dares wins
B
57
S
17
G
21
Posts: 1,878
Reputation: 19,572

Post » Mon Mar 03, 2014 7:29 pm

Thanks. Yes, that's the direction I am going to try now, also. To create some filled in "asset" templates to work from. In parallel, I'll explore, as time permits, some XML based merge approaches too, in case I can come up with some useful and lightweight tools.
B
8
S
4
G
1
Posts: 205
Reputation: 1,354

Post » Mon Mar 03, 2014 8:44 pm

EDIT: I hope I didn't come across to rough here ... was written after hours on the road driving :-)

But, to complete my thought, and throw in some encouragement, to increase the priority for making C2 projects more easily reusable:

As a beginning C2 developer, I was not aware of the limitations in reusing assets from one project to another. I therefore happily developed 8+ carefully crafted little game apps. Creating little reusable apps is a software engineering best practice, and would be good practice in C2 also. And my plan was to then mix and match the game apps in various ways to develop larger "story lines".

This is something I can not do right now, without carefully reviewing each little game app, with re-usability and current C2 limitations in repackaging games in mind. I will just have to "bite the bullet", and spend the time on essentially restarting all game apps, to make them more reusable, while our project clock continues to tick, and users are waiting to be participatorily tested. And I foresee running into such code reuse problems again, since its hard to anticipate what new game assets one will need, and how such needs would ripple through various games variants I will further need to develop, that are built on a common base. And, manual managing these ripple task is time intensive and error-prone.

While new functionality is indeed a high priority, support for sound software engineering practices is also essential for the creation of maintainable and evolvable software code. Its not by chance that technologies such as object-orientation, and software architectures have gotten the tremendous attention over the last two decades, to specifically tackle the complexities of software development, maintenance, change and evolution.

As an aside, it would also have been good to be apprised of C2's limitations in reusing code, earlier in the "game", so that I could have arrange game resources in a more favorable manner.

C2 is a fantastic environment, and I really want to use it for the current proof of concept and much beyond too, and I am looking much forward to see it become an even better tool.

</end of ramble> :-)

Dan
B
8
S
4
G
1
Posts: 205
Reputation: 1,354


Return to Construct 2 General

Who is online

Users browsing this forum: No registered users and 15 guests