• Hey! Guest! The 37th GMC Jam will take place between May 28th, 12:00 UTC and June 1st, 12:00 UTC. Why not join in! Click here to find out more!

Game Mechanics Did I forget anything?



I've done the creative thing and started a top down shooter engine. It's currently on GMS1 and I'm about to port to GMS2. I'm wondering if I'm forgetting some major thing that's going to bite me in the ass later.

Currently I got:
- FSM down to details like reloading, reloading-and-moving, reloading-and-aiming, reloading-aiming-moving, etc
- Skeletal animation system (probably should have used spine, but did my own anyhow)
- Sprite animation system
- Basic movement control (pixel perfect, angle sweeps, acceleration, deceleration turning speed, sprint mode, etc)
- Selectable weapons, weapons switching, ammo and magazine tracking
- Hitscan and projectile weapons
- Random map generator for giant maps using different tile sets with open areas, rooms and corridors
- controller support for 4 player split screen
- smart camera with screen shake and matching controller vibration
- basic ai with states and basic steering behaviour
- other small basics like scrolling combat text, drawing is only done for objects and map in view, etc

I'm about to enter the world of content generation as in missions, weapons, upgrades, special abilities, enemies, bosses, etc. I'm terrified that I forgot something vital and will have to redo huge parts later because of it. Any thoughts on what I might have missed?

I'm currently thinking about delta time but can't get my head around it. I've instead based everything on room_speed and if I change rooms peed to 30 or 120 the game would still be at the same speed.

Also skipping online multiplayer because its a pain.




Rule #1 when it comes to game mechanics: There's always one more feature if you feel like it.

Instead of worrying that you've missed something, just assume that you've missed something and develop the components one by one anyways. The key is low coupling. If even minor changes trip every wire, it wouldn't matter if you thought of everything or not, it's still going to be a pig to use.


šŸ§ *penguin noises*
GMC Elder
rooms peed
I see you have support for dog-fighting in the engine already :p

For content generation, it would be awesome if you had a system that makes adding new content easy - e.g., weapons are handled by combining stats like magazine size and fire rate with bullet objects and firing sound-effect resources, and some graphics for how the gun looks. If you want both a normal AK-47 and the improved AK-74 which is mostly the same but better, you can just copypaste the line of code that defines the AK-47 and change its stats a bit. Add in some extra tweaks like fire mode (single, burst, full auto) and spread angle / number of bullets and suddenly it's really easy to make tons of guns. Same approach for the chunks used in the level generation, and other types of content, of course: the easier it is to add more stuff, the cooler things the user can do with the engine. Time not spent actively fighting your tools is time you can create things.