I'm teaching a small course on game design with a group of approximately 15 college undergraduates.
Before they start creating their own platform games, I'm walking students through some of the basics by covering steps that were part of Ashley's original platform game tutorial back in 2012.
Quite a bit has changed during the past seven years, so I'm curious to know if I should be tweaking a few things.
Question #1. Should my students use 'system: every tick' or should they use the pin behavior to keep the collision box attached to the player sprite?
Context: The original tutorial recommends creating a transparent playerBox to handle collisions. This is attached to the actual player sprite with a "system: every tick" event.
I *think* it is just "six of one or half-dozen the other," but would be interested in knowing what others think.
Question #2. Is there a better way of handling enemy movement?
Context: The original tutorial recommends moving the enemies move by attaching the platform behavior to those enemies and disabling the platform controls. A boolean instance variable keeps track of enemy direction, and that variable is flipped whenever the enemy collides with an invisible edge barrier.
This has *usually* worked, but -- every year for the past three years -- at least one of the fifteen students encounters an issue where the enemies don't collide properly with the edge barrier and end up falling to the bottom of the screen. We have looked over their code with a fine-toothed comb, scrutinized the debugger, and swapped in different sprites, but none of those solutions seemed to work.
I'm wondering if the new timeline behaviors are now a preferred way of handling enemy movement. If you were creating a platform game with C3 in 2019, how would *you* handle enemy movement?
Thanks for any suggestions!