Last month, my partner and I launched Aviary Attorney on Steam. It's been quite a success!
I know the game's genre and style is quite different to most other Construct 2 games, so I thought I might briefly share my experience with using C2 to develop it.
Areas where Construct 2 helped:
- C2 allowed us to develop at a lightning-fast pace, especially in the early stages. We went from a blank canvas to a working prototype in under a week, and went to Kickstarter in 2 months. All in all, it took 14 months to create an 8 hour game. I don't think that would have been possible with another engine.
- We used a lot of enormous sprites. There were 40-ish animated character sprites, each over 1000x1000 in dimensions, and numerous backgrounds that were often over 2000x1000. I know that large sprites are supposed to be one of C2's main weaknesses, so I'm happy to report that nothing bad came from this. A few users complained of long initial load times... and that was it. There were no memory or CPU issues, as far as I know.
- There was half an hour of music files that played without issue.
- JSON loading and parsing worked flawlessly - that's what drives the dialog scripts. If you have the game, feel free to unzip the package.nw file and see the dialog scripts for yourself.
- We used the sepia WebGL filter on literally every layout. I was expecting this to set some people's graphics cards on fire, but surprisingly, there were few issues on that front.
Areas where Construct 2 was a pain:
- Switching from regular text to spritefont text was a nasty process.
- The game is using an old version of C2 and Node Webkit because I was hoping to get Steam achievements running with Greenworks. I couldn't achieve this on Mac and Linux, so they had to be scrapped. Disappointing, but not an enormous deal.
- I used C2's save states, and this resulted in some game-breaking save issues. I was unable to pin-down the exact cause, and it's possible that these problems have been fixed in a later version of C2, but it was frustrating to see dozens of people complaining of corrupted saves and having no way to fix them. In any future games, I'll probably write my own save files in plain text through NW so that I know exactly what's going on if a save file corrupts.
- In the later stages of the project, the C2 worksheets started to become cumbersome to work with. I knew this would happen due to the scope of the project, but there were occasions where I longed for a text-based interface. Still, the speedy aspects of C2 probably outweighed the cumbersome aspects.
- I had some issues with the NW window frame, and I think these problems are inherent to NW itself. For example, the custom cursor would occasionally change to a resize icon. This is hardly Scirra's fault, but it was infuriating to encounter "unfixable" bugs. Again, my issues may have been fixed in a more recent version of NW.
All in all, I'm generally happy with our choice of engine for the project, and there's a good chance that we'll be using C2 (or C3) for the next. C2 is clearly not designed with text-heavy adventure games and enormous sprites in mind, but it's great that the engine supported the assets without crashing under the weight.
I can't help but wonder how the game would have turned out if I had switched to, say, Love 2D in the early stages of development. I think the game would have probably turned out a little more bug-free, but then, I'm not sure how much longer development would have taken. C2's layout view saved me weeks of valuable time over the whole course of development.