Improving Organization?

New releases and general discussions.

Post » Fri Feb 17, 2012 9:04 pm

Hello.

I am in the process of making a fairly large project in CC, and it is starting to become very complex and difficult to follow due to the sheer number of objects and events being created. It appears to me that CC lacks effective organization tools, and proper naming schemes and object folders only get you so far (and it doesn't help that everything is stuck inside one .cap file). Do any old-timers have tricks or off-manual tips for managing large projects while staying sane? Are there alternative or accessory editors available? How would I best prevent .cap files from becoming corrupted and lost forever?
B
4
G
1
Posts: 12
Reputation: 524

Post » Fri Feb 17, 2012 10:08 pm

Use C2. There are a lot of problems like that you'll run into in CC. Seriously, if it's it all possible, I'm not joking, using C2 will make things much, much easier.

Otherwise, what I generally do is have multiple layouts that are there only to store objects. To avoid a memory leak that happens when editing an object's animations sometimes, I split them up among multiple layouts so I don't have too many objects on any one layout. Then I restart construct after editing a few objects to edit some more, because I never know when that memory leak will happen. Keep in mind I have like 500 objects and thousands of animation frames though, so you might not encounter this bug.

When coding, to find objects quickly, upon creating a condition or action, type a few letters of the object's name and construct will filter the list, making those objects easier to find.

Any large static images I load at runtime with the sprite "load image from file" action, because large images add to the compile time significantly.

I've had several times where my .cap has got messed up. The only thing you can do about that is save new versions often. Very often. Like at least one per day. I generally do one or two new versions per day.

Depending how large your project is, there are miscellaneous bugs you might encounter. For example, don't use the layout object. Just don't. Even if it seems like it's working, it might not work in another layout with exactly the same code. Or, upon closing the layout object, construct might revert to using the wrong event sheet.

If you have a ton of events, it might bog down your computer as well. It currently takes about 7 seconds for my computer to acknowledge any edit I make on one particular event sheet. That's very unpleasant to work with. I could split up the events into multiple event sheets, but then it takes way longer to compile, and it's about 5 minutes to compile already.

That event sheet, by the way, takes 10 minutes to open before I can edit it. Even though it's approaching 6000 events, it still shouldn't take that long regardless because another event sheet with about 1500 events loads in a few seconds. I might not have the fastest computer in the world, but it shouldn't take that long to open.

Don't delete variables. Especially family variables.

When adding family variables, always use the family manager to do it. I heard the bugs involved in not doing it this way have been fixed, but I haven't been willing to try yet.

Basically, using construct two is a vastly superior experience. Not to mention the idea of reusing the framework I've created for any possible sequel is basically out of the question. Deleting an object - ONE object - locks up my computer for an entire half hour. It would take days - maybe even weeks to delete the stuff that the sequel wouldn't have!

More platforms, less bugs, better usability, more reusability. C2.Arima2012-02-17 22:17:10
Moderator
B
88
S
32
G
33
Posts: 3,005
Reputation: 27,422

Post » Sun Feb 19, 2012 9:37 pm

Wow, thank you the helpful response!

I haven't run into any significant speed issues yet. I don't know if this is because my project is relatively small or because my computer is more powerful, but... well, I suppose I'll find out.

"For example, don't use the layout object. Just don't."

Thanks. Are there any other here-and-there broken features in CC? I've also read that the OR condition can be a bit iffy, and that XAudio2 is screwy for a lot of people, though I'm not sure how true these are yet. I'm looking mainly for these specific issues that do not come up in a "general list of problems".

"Don't delete variables. Especially family variables."

Ack, too late. How... big of a deal is it if I did?

As for C2: I'm not one to shy away from change (I've tried the C2 trial--the editor is indeed vastly superior) and I have no problems with investing in software, but I have a need for CC's performance, its larger effects library (does C2 even do shaders yet?), its ability to export to a desktop runtime, and python scripting (my project involves some complex logic which is not feasible with events). Also, this may be an irrational sentiment but HTML5's browser-bound setup has always seemed a bit "flimsy" to me for some reason. Anyway, I will be watching its development, and I will certainly use C2 for lighter future projects, but I'm sticking with the CC for now.

Also: I've read that the only reason for the August-2008 DirectX requirement is because it has something that XAudio2 needs. Assuming that this is true, and if I don't use XAudio2, could I possibly bypass this requirement and save players from having to download the redistributable?wscedwin2012-02-19 21:39:39
B
4
G
1
Posts: 12
Reputation: 524

Post » Mon Feb 20, 2012 2:13 am

[QUOTE=wscedwin]Are there any other here-and-there broken features in CC? I've also read that the OR condition can be a bit iffy, and that XAudio2 is screwy for a lot of people, though I'm not sure how true these are yet.[/QUOTE]

The OR condition caused crashes in my game, so I wouldn't recommend it. I've only had one problem with XAudio2, that sometimes after stopping and starting a new sound, sometimes it plays a tiny little bit of the sound that had stopped first. Audiere might work better, I haven't tried it though.

[QUOTE=wscedwin]"Don't delete variables. Especially family variables."

Ack, too late. How... big of a deal is it if I did?[/QUOTE]

If you haven't noticed anything yet, chances are it didn't cause any problems. It didn't always mess things up when I tried it, only sometimes.

[QUOTE=wscedwin]Also: I've read that the only reason for the August-2008 DirectX requirement is because it has something that XAudio2 needs. Assuming that this is true, and if I don't use XAudio2, could I possibly bypass this requirement and save players from having to download the redistributable?[/QUOTE]

I don't think that's correct. I'm pretty sure XAudio2 is only one of multiple components that are needed. You can use dependency walker to find out what it needs so you can keep your installer as small as possible. To make it as easy as possible for the user when installing, I'm installing the necessary components in the same directory as the game's exe file (direct X will use the ones in the same directory if they're there) only after the user agrees to a combined EULA for my game and for DX9. Hopefully, most people want even notice.Arima2012-02-20 02:15:22
Moderator
B
88
S
32
G
33
Posts: 3,005
Reputation: 27,422

Post » Mon Feb 20, 2012 12:38 pm

[QUOTE=Arima]I've only had one problem with XAudio2, that sometimes after stopping and starting a new sound, sometimes it plays a tiny little bit of the sound that had stopped first.[/QUOTE]

Unchecking "Enable Limiter" will fix that :) Drove me nuts before I figured it out lol.
Image
B
225
S
27
G
13
Posts: 1,774
Reputation: 18,024

Post » Mon Feb 20, 2012 7:39 pm

Oh, sweet. Thanks!
Moderator
B
88
S
32
G
33
Posts: 3,005
Reputation: 27,422


Return to Construct Classic Discussion

Who is online

Users browsing this forum: No registered users and 7 guests