Making big games on C2

Discussion and feedback on Construct 2

Post » Thu Feb 19, 2015 1:27 am

What should I take in consideration while making a large desktop game? Right now I'm working on something heavily inspired by the Valiant Hearts game, which is rather simple game gameplay-wise but has lots of animations, sound, music, scenes, events etc. Is such a game possible in C2's current state? How well does C2 support large desktop games and how optimized is it to handle large amounts of animations and events and such? And also is Web-Nodekit the best choice for a project like this?

I'm basically asking this because all I see are rather small arcade-y games coming from C2. Games that recycle lots of content and are very tight packages unlike any larger indie games made on custom engines.
B
21
S
7
G
4
Posts: 233
Reputation: 3,474

Post » Thu Feb 19, 2015 1:54 am

looks like memory usage would be your key concern. If you're focusing on desktop only and plan on never ever releasing a console port, go with C2. If you're even slightly interested in taking your game to consoles when it is complete, I recommend not going with C2 as it stands right now. NO consoles have good HTML5 support for larger games / games with a higher memory requirement at the moment. Unfortunately I feel this is true even for the Wii U.
Made Cosmochoria - www.cosmochoria.com
Currently working on Slayaway Camp - www.slayawaycamp.com
B
27
S
8
G
3
Posts: 384
Reputation: 5,020

Post » Thu Feb 19, 2015 2:25 am

Well, it's all speculation at this point, but if Xbox universal apps ends up using a framework compatible with C2, I'd say you shouldn't have too much trouble with memory on that platform.
Don't lose your work. Backup your game with Dropbox.
B
44
S
10
G
10
Posts: 1,106
Reputation: 9,202

Post » Thu Feb 19, 2015 3:32 am

Thanks for the replies. I'm not going for consoles nor handheld devices, just PC and maybe iOS if the moons align correctly.

How does C2 handle memory usage? Does it load all the layouts simultaneously? I have one layout where I put all the objects that need specific default settings and variables and it has become quite a mess. Is this a good way of handling stuff like this or should I set all those things at the moment of spawning objects? Also do I need to hide objects that aren't on screen seperately to save memory?

Sorry for the tidal waves of questions. I'm just an artist so I don't know much about how game engines work.
B
21
S
7
G
4
Posts: 233
Reputation: 3,474

Post » Thu Feb 19, 2015 4:05 am

Hasuak wrote:How does C2 handle memory usage? Does it load all the layouts simultaneously? I have one layout where I put all the objects that need specific default settings and variables and it has become quite a mess. Is this a good way of handling stuff like this or should I set all those things at the moment of spawning objects? Also do I need to hide objects that aren't on screen seperately to save memory


If I remember right, Construct 2 has some built-in recycling to prevent as much jitter/jank as possible when Javascript does its garbage cleaning, it's handled internally so you wouldn't need to worry about it.

As long as those objects are just editor-side that layout shouldn't cause any troubles for you, I think it will be the default values if they're the only instance of them/set before copies are made in other layouts.

Construct 2 also handles the rendering on/off screen stuff itself internally in a manner that will probably be more efficient than events, but you can do extra things like making sure WebGL FX are applied to whole layers instead of multiple individual objects that are supposed to have it.

However, as for making big games in general, I would say give these a read:

native-desktop-exporter-for-construct-3_p879348?#p879348

native-desktop-exporter-for-construct-3_p879661?#p879661

Those are posts from developers of two of the three big "dream" game examples on the scirra homepage ( http://www.scirra.com/ ), and I too have a game on Steam with a friend I met on the forums here ( http://store.steampowered.com/app/334190/ ), and loading time can be quite a while for large games exported to EXE with Node-Webkit, we also had troubles with updates to C2 and updates to Node-Webkit (but this part should be better now that you can downgrade any time at: https://www.scirra.com/nwjs , we are currently using 0.10.5 for the best experience but 0.12.x is looking promising).

Even so, it should be possible to make a game like the one you referenced above, not sure how it would run in anything other than Node-Webkit though.
"Construct 4 lets YOU make advanced games! (but not play them)" Construct Classic - Examples Kit Dropbox is a pile of trash and if you need my old files PM me! :)
B
119
S
41
G
17
Posts: 2,211
Reputation: 19,634

Post » Thu Feb 19, 2015 6:40 am

*technically*, Chrome/NW is fast enough to run a relatively intensive game on a large number of machines.

In reality, you may find yourself running into a lot of small (or not-so-small) issues that are *completely outside your control* to fix. Maybe these issues will all be gone in 1-2 years, maybe not.

The key issue is that there's literally nothing you can do about these issues when they come up, apart from filing a bug report to Chrome/NW and hoping they get to it.

You have to weigh the awesomeness of the editor against the risk of reliance on third parties who don't place games as their first priority. If you're relying on hitting a firm release date or getting income in time, proceed with caution.

I've had to push back my release date significantly because my game is literally unplayable below 60fps due to shocking input lag and jank. And I don't even know if Chrome knows about the issue yet, because I have to wait on Ashley to put together a js repro for them as they won't touch generated C2 code.
B
92
S
31
G
24
Posts: 3,191
Reputation: 32,689

Post » Thu Feb 19, 2015 8:05 am

I'm working on a decently large game myself so I won't know that answer until I'm closer to finishing. But so far so good. In any game development project there are limitations. But I find those limitations help me be creative and I always manage to relay whatever I need to the player. Bottom line is you can make a great game with any tool. You just have to be somewhat familiar with what C2 can do well and try to keep with it's strengths.

I wish I produced a bunch of small games (with finishing touches) before I tackled this larger project I am currently working on. Seeing a game all the way through definitely teaches you something special, and can really help.

For example, those scenes in Valiant Hearts would take some serious setup time in C2. Not impossible, but tricky with all the timings. You're going to need to do a lot of "camera work" using tweening.. lerp or cosp. You might be able to come up with a good system on how to do it, but I'd try it first. Try to do like 15 seconds of one scene, and embed it in a one of the example games and you'll immediately see what your limitations and hurdles are...
B
98
S
32
G
16
Posts: 1,204
Reputation: 16,715

Post » Thu Feb 19, 2015 1:03 pm

For desktops, the major issue with C2 is that gameplay is very erratic when its below 60 fps as that is what the engine is designed to operate at. As long as you know the limits and optimize your game properly, it won't be a problem.
B
70
S
24
G
19
Posts: 1,757
Reputation: 17,614

Post » Thu Feb 19, 2015 9:16 pm

Thanks again for the replies. Things are becoming clearer now. So basically all I need to keep in mind is that optimization is number one priority. I'm well in the know about C2's limitations and have already cut some elements of my game according to them without hurting the final product. Performance-wise it's good to have a strong graphical style in mind and knowledge of how to keep it as light for the engine as possible. That's something I've finally begun to grasp. I don't even use that many WebGL effects anymore because most of those effects could be done in the graphics themselves.

But without rambling too much, all I can say is that I'm finally beginning to understand what to keep in mind while working on my project. Thanks guys!

jobel wrote:I wish I produced a bunch of small games (with finishing touches) before I tackled this larger project I am currently working on. Seeing a game all the way through definitely teaches you something special, and can really help.


It's always best to star with small projects, but finishing them is not always necessary. I've done lots and lots of different test projects over the few years in C2 and learned much about streamlining things and how to make the project easier to control in the grand scale. Making beat em ups and a turn based RPG battle system is a good way to learn C2.
B
21
S
7
G
4
Posts: 233
Reputation: 3,474

Post » Fri Feb 20, 2015 12:40 am

Hasuak wrote:best to star with small projects, but finishing them is not always necessary. I've done lots and lots of different test projects over the few years in C2 and learned much about streamlining things and how to make the project easier to control in the grand scale.


yes I understand but that's not what I mean. When you actually finish a game -- completely finish and put those finishing touches on it. That's when a lot of stuff you never knew about comes out to play. When your core gameplay is complete and you get into the overarching gameplay, level design and "packaging" of your game, there's a whole new level of development that needs to happen.

Like @sqiddster was saying about performance issues when you put the whole polished game to the test on multiple machines (playtesting). And other things that come out like, "The Next Penelope" not being able to stream on Twitch and some other issues with captures because of HTML5 etc... or Save Game data, or Leaderboards or Greenworks etc... it's definitely not easy!
B
98
S
32
G
16
Posts: 1,204
Reputation: 16,715

Next

Return to Construct 2 General

Who is online

Users browsing this forum: No registered users and 12 guests