You are correct, I recall Ashley stating that an include in CC just pastes a copy of the events when compiling, meaning it compiles multiple copies of the included event sheet. I don't have any other ideas how to improve things, though.

Hmm, the game shouldn't be compiling after it's exported though, does it take a while to open the exported EXE too then?

Also, I don't believe there is a way to load event sheets sadly, but you could use Python scripts to do things (this is going to sacrifice in-game performance vs. the startup performance though).

The level editor seems the best way to go, as you could use one layout to load all the objects. If you'd like to see a way of loading all objects (and even graphics) from files you can grab the engine source to my Alpha version of I Had Hope (extra plugins needed are also on the download page): http://ihadhope.blogspot.ca/p/download.html

As an extra option, you could make a mini "loading game/exe" that runs and when the other game opens you can close the loading game (I know of opening files from CC, not sure how to handle the closing though).

It's an architectural flaw in Classic. Including an event sheet literally means "copy and paste the entire event sheet's events here". So if you have 100 levels each including a common sheet, the common sheet is exported 100 times in duplicate. So if the common sheet has 500 events, in this case it exports (and generates on every preview) 50,000 events.

There is no chance of this being fixed in Classic, but it's fixed in C2, where we have a proper include system where an include references the same sheet rather than duplicating it. This keeps previews, exports and load times fast.

@Ashley Thanks for taking the time to respond, even though it's disappointing to hear. I'm a big fan of C2 - I've been a supporter from early on but it was still too fresh in development when I started my game a year and a half ago. Switching over now would be difficult to justify.

Do you think there's any way, using Python, to get a layout to choose which sheet it's referencing at runtime? If it's an architectural flaw, there's probably not, though.

Looks like my best solution will be a level editor and just have one layout that runs everything - it's a lot of work, but it'd still be a lot easier than porting everything to C2.