Knowing when to stop : Nice to have VS Requirements
It's hard to limit yourself when design a game for a LD. To know where to stop, when the feature is a nice to have instead of a required.
For example, I wanted to created a Destruction Derby/Twisted Metal based game, using energy as your Health. You run out of energy, you have 5 sec to steal another vehicule (if you have a key in your inventory).
To add more variety, I decided to create enemies procedurally. So instead of having a set of enemy prefabs, I designed the tanks as modules. A main part, the engine, and additional parts (shield, extra turret, a jumping module, etc)
I coded everything ! Almost non-stop. Result : Yes, my enemies are created procedurally and are never the same :

But !

Sometimes, too much...

is too much. The gameplay was not balanced anymore. Some tanks were so big that they could not even move. Some were a little bit too fast and jumpy and would leave the arena Ciao Bye!
So just before releasing the game on LD, I rollbacked and deactivated the procedurally generated tanks, a day of work. I implemented a nice Entity Components Systems, I was really proud, because hey, it's a LD context right ? But in the end, it was useless. Game balancing is a requirement, not a nice to have and I got kicked in the arse for forgetting about it, like this little green tank being lasered by that yellow behemoth.

Here is the link of my game if you dare battling with an army of little tanks ;)
https://ldjam.com/events/ludum-dare/39/tanks-battle

























