Opinion: Your Thoughts On Groups Versus Event Sheets

Discussion and feedback on Construct 2

Post » Fri Aug 07, 2015 7:36 pm

Just a general question which may boil down to be nothing but a trivial matter of preference...but I'm curious as to any insight about the inner-workings of C2 and/or how and why people choose to use Groups or separate Event Sheets when organizing events for specific portions of their games.

In my 2-3 years of fumbling my way through learning to make the most of C2, I've adopted the habit of using Groups to better organize and find sections I've already put together. I've also learned a while back about referencing Event Sheets in other Event Sheets...again, to help me section off and more easily find specific portions of my game (ie: an Event Sheet for player/character controls and one for enemy behavior and still another for level-specific characteristics, etc).

As I stated, this may be a trivial matter where it really doesn't matter in the slightest which is "better", but I'm ignorant on this detail. Is there perhaps a performance advantage to using Groups or separate Event Sheets over the other? Or is it strictly a matter of organization preferences? (I also know that having specific Event Sheets for Layouts is also another key point, but I'm not concerned about that presently.)

Just looking for input and maybe some new knowledge I didn't have before. Thank you!
I'm seeking Narnia. Who wants to come with me! Aslan is on the move!
B
135
S
22
G
8
Posts: 770
Reputation: 14,679

Post » Fri Aug 07, 2015 7:50 pm

For what it's worth, I put events and included event sheets inside groups that are enabled/disabled depending on the stage of the game. Just to minimise unnecessary condition checking of things like player mode etc. That way a check for a bunch of collisions and player modes associated with swimming or whatever don't need to be checked for and discounted every tick.

I doubt there's a difference in performance between using one or many event sheets, because after compilation they are all blended into one file anyway.
Last edited by Colludium on Fri Aug 07, 2015 9:04 pm, edited 1 time in total.
I only occasionally visit - I'm learning C# for Unity, but c2 is still a respectable game engine imo....
B
73
S
19
G
66
Posts: 2,198
Reputation: 42,183

Post » Fri Aug 07, 2015 7:54 pm

@Colludium - THAT is actually a very good idea. Running faster is running faster!
I'm seeking Narnia. Who wants to come with me! Aslan is on the move!
B
135
S
22
G
8
Posts: 770
Reputation: 14,679

Post » Fri Aug 07, 2015 7:56 pm

I always seem to use one big event sheet that is well organized into groups. I've never heard of any difference between the performance of one event sheet versus many. The most important thing seems to be how the groups are organized so you can use the debugger profiler to see what resources they are using or to enable/disable them as needed.
B
72
S
29
G
35
Posts: 340
Reputation: 22,721

Post » Fri Aug 07, 2015 9:08 pm

I use both equally so..hm. I typically have eMain which includes ePlayer, eEnemies, eCollectibles, eHUD, eSaveData, eGlobal, and so on...and inside those sheets I have groups to further organize things like specific player abilities, certain enemy AI, components of the HUD, types of save data, etc.

Everything is compartmentalized and very easy to find this way. Only drawback is function references, for example, can be difficult because they span multiple sheets. Solid naming conventions and the search function help there though.

I don't think there's any difference in using one or the other...ultimately everything is put onto a single 'sheet', no? If you're really worried about it Collodium's method is good practice. Could be a pain to manage some things though.
Image
B
242
S
29
G
13
Posts: 1,787
Reputation: 18,685

Post » Fri Aug 07, 2015 9:22 pm

I truly appreciate the input. Thank you, everyone! Any other suggestions or ideas? Send 'em my way!
I'm seeking Narnia. Who wants to come with me! Aslan is on the move!
B
135
S
22
G
8
Posts: 770
Reputation: 14,679

Post » Fri Aug 07, 2015 9:29 pm

My workflow is very similar to @Tokinsom. I use event sheets (but with "[ES] sheet name" prefix so I can better see in the tabs what is where) for major stuff and then groups for minor things. It really helps you know what is where.

Just to add two cents about functions. I learned to organize functions in a "per sheet" way. For example if I have something like [ES] Inventory, then all functions related only to the inventory will be placed on very same event sheet on the bottom of all events so I alway know where to find what I'm looking for. And functions that needs to be accessed from multiple event sheets I always place in [ES] Global Events sheet, which is always included in all important event sheets like [ES] Main Game or [ES] Level something.

As of the performance, well if you have 50 disabled groups or 50 events that basically do nothing then there is no difference. The trick is to learn how to use only what you need to use. Like for example if you on Level 1 then you don't need events from Level 10 to be running every tick. This is a bit obvious and idiotic example, but people tend to forget about that little details.
ImageImageImageImage
B
157
S
64
G
41
Posts: 2,590
Reputation: 34,640

Post » Fri Aug 07, 2015 9:47 pm

Rhindon wrote:I truly appreciate the input. Thank you, everyone! Any other suggestions or ideas? Send 'em my way!

Think your way of doing it is fine, and the other people uses as well. The only thing C2 is really missing when it comes to organisation of projects, is that you could "Ctrl+Click" a function call and it would jump to that function in whatever event sheet it was defined. Scrolling through so much code when doing larger projects looking for functions, it would save SOO much time.
B
44
S
11
G
2
Posts: 1,182
Reputation: 6,828

Post » Fri Aug 07, 2015 10:15 pm

@nimos100 - Let's hope @Ashley [Calling Ashely! Heeeellloooo, Ashley! :) ] implements this soon or later in C3 when that rolls out. That's definitely a great idea!
I'm seeking Narnia. Who wants to come with me! Aslan is on the move!
B
135
S
22
G
8
Posts: 770
Reputation: 14,679

Post » Fri Aug 07, 2015 10:27 pm

I also prefer the "event sheet per function" approach. I use seperate event sheets for controllers, animations, sounds, etc... and I put the events into groups on these sheets. In the last step, I include these sheets into a main sheet. Using speperate main sheets for the stages of your game for optimization is also a good idea :)
B
127
S
33
G
17
Posts: 1,549
Reputation: 20,454

Next

Return to Construct 2 General

Who is online

Users browsing this forum: jakezinis and 3 guests