Megafuzz Dev Blog

Nerdy rants on programming and game design

Moving Around

Reworking A 5 Year Old Mess

As mentioned in the first blogpostRonn For Your Life is a project I started back in 2011, worked on it for a few months, and then put it on hold for personal reasons. So when I picked it back up a few months ago, the codebase was more than 5 years old. I've developed a lot as a coder and a game designer since then; things I didn't even think about back then are now glaringly obvious to me, and needed a complete rework. Back then I just coded away until stuff worked, then proceeded to the next task.
Today I do things different; make the simplest things you will be doing 90% of the time feel good on their own before doing anything else. Just moving around should feel good even with nothing else in the game; if such a fundamental part of it doesn't feel good, the very foundation is built to fail.

Just moving around did not feel good. In fact it felt horrible. I had slapped together some very basic movement and collision that was sketchy at best, and buggy at worst. Basic platforming was too hard and frustrating, because the collision system required jumps to be pixel perfect to register; and bumping the game up from 30 FPS (my standard back then) to 60 FPS just made the collisions run twice as fast, demanding even more machine-like precision from the player.
You might be one or two pixels from the ground (thereby technically not allowed to jump), but at 60 FPS you won't register the difference, making it look and feel like the game's fault. I analysed the problem and concluded that I needed to introduce 3 steps, which I will discuss below.


Mundanity of Death

Almost all games has some sort of task that happens several types throughout the game, which, if used too much or not designed carefully, can end up feeling repetitive or mundane. This can be just about anything that is iterated again and again throughout a game; but one common culprit of this is combat. So today, we'll talk about how we can try to remove mundanity... of death. But bear in mind, this can be applied to just about everything.

So, throughout most games with combat, including Ronn For Your Life, the player will encounter numerous enemies every now and then. These can be anything from small annoying mob-types to big bosses. Obviously, in most cases, the majority of space is taken up by a small army of the lesser enemies - in some ways to make the contrast of the big bad boss even more impactful. This isn't necessarily a bad thing, because it gives the player something to do, and if done right, it's fun and doesn't end up feeling grindy.

However, a common pitfall with fighting these small enemies is that it can very quickly end up feeling pointless, grindy, even mundane. Death should never be mundane. Combat should be exciting. Some games introduces loot as a reward for fighting off otherwise mundane enemies, which can make the grind feel more tolerable when you finally find that awesome Long Sword of Bloody Ogre Decapitation +3. However, at least so far, I have no plans to introduce loot (at least of that kind) into Ronn For Your Life.

So what do I do?


Ronn For Your Life

No, It's Not A Typo, It's A Game

Ronn For Your Life is the title for an upcoming game I'm currently working on. It started out as a very personal side project, but lately it's been getting clear to me that this will become something more, and I have been spending more and more time on it. Even the times I should be allocating to some of the many other projects I'm currently joggling seems to be naturally gravitating towards this project. There are several reasons for this, but first and foremost is - like I mentioned - this is a very personal project. It's quite literally my story. Or at least one of them.

Like the project itself, this blog post will be very personal. This won't exactly be a typical devblog type of post. Although it will touch on concrete game-related discussions, it will be more personal than any other devblog related stuff I've ever done anywhere else.

So, let's dig in.