Today I learned something. Apparently, in gamedev, people call their reflection-posts about their finished projects "post-mortems", named after the popular Slayer song. Follow me for more made-up gamedev facts ;)
So, the very first entry of my 10 game series is huebris.. A game, where your goal is to survive for as long as possible. But what exactly is that little thing you're controlling? A jellyfish? A ghost? *chuckles* well, acktually, it's the ghost of a mighty warrior-jellyfish, which is doomed to starve for all eternity, after trying to deceive the almighty rhombus-gods. Now that the deep lore is out of the way, hear my tale about the making of my very first, very own video game.
Ideas, Challenges, Fears
huebris. is a very dumbed down version of a game I once attempted to make back when I was toying around with Java. That was a time, where I didn't even know the difference between a function and a method. Needless to say, that I scrapped everything, but I'm still proud that I got to move a square over the screen. That old game concept was about RGB colors and every value, red, green and blue, represented different stats of a character. The character was represented as a silhouette, colored as its own stats, so to speak. Anyways, I wanted to revisit that concept with huebris and was thinking about a survival scenario. Originally I wanted a very large environment where you have to find food and avoid predators as an animal. Another original idea was that you would definetly die at some point. So the game wouldn't be winnable per se and the only thing you can do is hang on for as long as possible. Needless to say that the original vision was a lot darker and more depressing.
Inevitable death and colors as a core-concept
The reason the game was originally intended to be depressing, is because last month i stopped being a happy-but-poor unemployed person and turned into an unhappy-and-still-poor not-so-unemployed-anymore person. The problems, besides the obvious ones, are that I really hate how apprently everyone seems to be entitled to my time except myself and in the end all you're left with are insultingly few hours of time to recover. And even if I don't have to sell my life to other people, I still have to eat and do household stuff, which is just incredibly annoying. Long story short: I panic everytime I lose even a little bit of my precious free time. How does all that translate into a game? I imagined the food to be a metaphor for said free time. But it's scarce and way too little at a time and there's no way you won't starve under these circumstances.
From edgy to cutesy
Ok good start so far. We have a game with high replayability because the gameplay is unforgiving and player failure guaranteed. The next thing i was thinking about were controls. There are a lkdfjhillion ways to approach this topic and all of them are wrong, because someone will always complain about no controller support or whatever. Also, I have deadass no idea how to implement remappable controls in Godot. Conclusion: the controls have to be as simple as possible. The entire game has to be playable with only one hand and the simplest way to execute this is using the mouse. First i considered controls like in Age of Empires but about at this point I realized that i really don't feel like designing levels, so everything takes places on the same screen. Games like agar.io but smaller came to mind. Maybe an amoeba in a petri dish or something. In the end I decided to use a jellyfish, since jellyfish usually don't move by themselves and just go with the flow. That's the point where the entire mood of the game changed as well. So the jelly swims away from the cursor on click. The entire design became more laid back and relaxed. I figured that a cutesy, relaxing game would be easier to execute than a depressive one. I assume that it takes longer to communicate an eerie, depressing mood. I think I had to think about my experience playing .flow, where I realized just one hour in, that I'm really goddamn sad for some reason. Well no one's going to bother that long with my game.
Oh yeah... right... How could I forget :/
The implementation of the core mechanics was really fun and easy, once I figured out what I even wanted to make. After about 2 days I was done, but then the slow realization came. I still need music. I still need an UI. A titlescreen, settings to turn off said music, accessibility features. Oh and also I planned to spend the next 2 days to implement a leaderboard, because there's not really a point to a score if you can't see it anywhere. And I have no experience with online stuff. Yeah so basically everything that's not fun came upon me all at once. Usually I did these things along with fun things, but the game-concept was so simple, that it was done before I even knew what else to do. Of the roughly 7 days of development 4 days were spend just grinding away, making UI (which is notoriously annoying to make with Godot) and various quality of life stuff. None of those tasks were hard to implement in and of themselves, but there were a lot of them. Also, I haven't made any music in more than a year and I know how long it takes me to produce anything worth listening to, so more than just simple loops won't be possible. Especially because I didn't want to spend another week just making assets.
Another thing I have never done is actually exporting the game. I probably exported like 15 botched exe files until I got one that works. In the end I had to do without an exported desktop version entirely, because it wouldn't work after downloading it from itch. I never figured out the actual problem, so there's HTML5 only. Wait... Particle effects don't work correctly for web-export, so I have to fix this, too. Welp, in the end I had to make many compromises, even though the original plan wasn't even that ambitious. I was very glad when the game finally was up and working and I haven't slept that well in ages the night after.
What I learned
First of all, no matter how 'fine' your coding is, it will always become better. I found a very good solution for controlling the music volume, using curve textures. Oh and it's okay to apply short, messy solutions instead of wasting days finding the best way to avoid an if-statement. I'm also positively surprised about my ability to read foreign code. When I implemented the SilentWolf plugin for an online leaderboard I had to make some changes to the code, mostly to make it look like i want to, but still, I wouldn't have been able to do that 6 months ago.
No one cares :(
I don't really like spamming every communication channel available with my shit. It makes me feel kinda ew if you know what I mean. But I tried to convince myself that the thing I just made is worth sharing, so I went with it. The problem: It was still wayy too little. Most engagement came from reddit, which is funny because I almost forgot that this platform exists. Engagement was ok, I didn't expect much, but it completely plummeted to 0 right after launch, so yeah. I kinda wish I would have reconsidered the controls a tiny bit to that I could have launched the game for mobile, because a game of this scope is naturally not that interesting for PC. Looking back it's kinda funny that this game almost had a downloadable version, as if anyone would even want or need that. Oh and by the way: That whole thing about RGB-colors affecting gameplay is only half-true. The impact is miniscule and really stupid to explain (see the itch.io page). I really need to work on communicating the features of the game in general. I don't believe a single player besides "nobody" (from rank #3 in the leaderboard) understood that you're supposed to chain combos with food at their sweet spot. And if you have no idea what I just said, don't bother :D
But the most impactful thing was the understanding about how huge everything is. Like I am sitting here posting one game among billions and expect people to find out about it. Literally no one cares, so you better make sure the project you're working on means something to you. Because you might be the only person ever knowing about it and it would be a shame if that knowledge would be unpleasant. So give it your all and have a good time.
No one cares :)
I have received some valuable feedback for the game and it might be worth updating. I'm thinking about a feature that lets you swim backwards on right-click, because the controls seem to be a little too hard. On the other hand... The game is done and I don't care anymore. I will probably just take the criticism to my next project instead of trying to keep this one alive. Another thing, that's really funny in retrospective: I was really freaking out about the music, because I only could make a few low-effort loops, that would be really annoying over time. No next-level production-compression-equalizing-magic. Just free VSTs, presets, some made up scale and GO. Most people told me that they enjoyed the music THE MOST, even though it's really just some crap I made in under 2 hours. That makes me feel more relaxed while making assets today. At least there's less internal pressure when I feel like they are good enough and I don't keep obsessing over details.
The good ol' yer-a-gamedev-now-confidence
Even though it spend only about a week and the result might not be the best I can do, it feels really goddamn good to have a game released. This is a feeling that you can't explain to newbies and probably the reason why many people don't like it when you tell them to "make small things and start out small and take it easy and hey, maybe just make something boring", TYLER!
Anyways I feel a lot more confident of my abilities and am excited for the things I'll do in the future. Approaching other game developers feels much less awkward, now that I have something to show and even though I'm definetly still a rookie, it doesn't feel like that anymore.
I've been working on an arena-fighting game since february. It will have the name Rehgräten and you have to survive against multiple waves of enemies. After each level you lose a chunk of your damage, speed or max HP. So you get progressively weaker, the further you get. I know that "getting stronger" is a very fun video game trope, and I want to explore, if it works the other way round as well. Probably not, but we'll see. The theme is as always "depression + hard-to-pronounce-name". Seems like I'm developing a totally unique art style.
Unfortunately I am in a middle of another mental health crisis as well as a physical health crisis, which is why I couldn't work on the game for the past weeks. So as much as I hate to admit it, I won't be able to release a game in february.