
This is something that's been becoming more and more apparent as I continue my independent work in games, as this is the first time I've actually felt like an artist, or a creator. I've worked with a lot of media before, traditional and digital, however I could never fully connect. However, when it comes to designing a games alongside your own programming structures, I finally found my connection to the craft.
For some more detail on what this means: When you build game code, you're generally designing systems. Anything from a player moving left and right to a score increasing is a system. You can sink time into making these as robust as you'd like (and by robust I mean mean applicable to different things, like for example, Risk of Rain 2 has a currency system, with each enemy has their own currency value, even if that goes unused. That's just how the game is programmed, allowing for any creature to be "playable."), however, you eventually have to step back and make the actual game's unique mechanics.
Like, I'll keep using Risk of Rain 2 as an example here, because it's a Unity game. The "end" of systems design and "start" of game design can be seen with Loader's default special, where she throws out a little electric zapping projectile. These are still systems (Spawn initial projectile, control velocity, shoot lightning, stun enemies...) but they're built custom as a means to an end. There's nothing that derives from the unique mechanics of Loader's special.
I've been having these moments repeatedly every couple of days, and since I'm constantly iterating on what I'm doing, what's "Game" and what's "Codebase" keeps shifting, with "Game" being transitioned into "Codebase," so a more diverse version of "Game" can exist at a near future point in time. Rapid prototyping, especially, gives this feeling often. It's infinitely satisfying.
I hope this philosophy makes some sort of sense to you all.