Scope creep - Beginners trap?

I am a Hobbyist when it comes to coding, and game making is one of the things I’m trying to have a feel on at the moment
Right after I created a flappy bird clone, I start to get in over my head
next up? top down tower defense, I started to think to myself “Now would probably be a good time to try something a bit more…professional”
So I started to abstract everything, everything needs a class, this scene tree needs to be replicated by other scenes
To put a long story short: I didn’t even get to making the game, but it was already beyond spaghetti, had to remake it entirely and immediately made aspects of the game in question without needing to pre-make a bunch of abstractions I won’t use

My question is, does this happen a lot? with how I experienced it, I think this is something of a trap of sorts, if you don’t know of scope creep, even from simple things like “mm maybe this script can be used as a class for other scripts” could derail the entire coding process from “Kind of managable” to “It’s been 5 days and all I’ve written is boilerplate that will never be used”
What is your way of avoiding doing something unnecessary that has the potential to derail your game’s progress to completion?

It definitely happens a ton! My advice would be to treat every game as a prototype initially and just try out aspects. I often make multiple separate projects even to test out individual parts of a game. Like what I want a jumping and moving to feel like, or how a specific code driven room transition animation should behave.

It’s much easier to iterate and tweak on something that has a narrow scope and getting as many iterations as possible in is the name of the game for finding the fun (often harder than the actual engineering). Nothing is more demoralizing than having to throw away something you sunk a ton of hours into because it’s not fun (though that’s better than not throwing it away). Prototypes free you up to be willing to try wilder approaches when something’s not working.

This is not to say that “doing it right” isn’t a good idea. It’s just that it’s a phase 2, and really is only necessary if you think you’ll have a ton of maintenance or if you need to make a lot of content. For those projects remember you always throw away the prototype. For my medium size stuff I usually do all my prototypes independently then when I’m happy enough with one of them I “glue” it into the “real” game and take the opportunity at that time to give it a good code review and any refactors that look necessary (or maybe a rewrite, rewrites are actually pretty fast when you already know where you’re going). I find this strikes a nice balance and I only occasionally find myself doing bigger refactors on the “real” game.

1 Like

Yes many times I’ve written lots of code trash it and started from 0.
Because my design was bad.

It’s hard to be game designer and developer at the same time.

When designing you need to have everything that will happen could happen in head and design the algorithm.

Than comes coding.

I usually do little designing and lots of coding and design along the way. Even if i know it’s a bad practice.

1 Like