Short Postmortem: A Ramble About BotB

Belly Of The Beast, even at the start was a patchwork game. It was over scoped, understaffed, and generally absurd to take on given the team I had assembled. Even from the start I could tell that this project was going to be something, special. I don’t mean to talk about the game in such loose terms but at just about every step of development I was struggling to contain the scope and direction of the game. As the only person with any experience developing for Unreal, and the person with the most programming knowledge, I found myself put in a leadership position I wasn’t wholly accepting of. Actually, for the first half of development if I could point out one thing I could have done to improve the rest of the dev-cycle, it would have been to assume the leadership position much much earlier. My original plan was to split the leadership role with my co-designer, who volunteered to act as producer and project manager. It was two or three weeks in when I realized I would have to take a more hands-on leadership roles, simply because I realized that my co-designer was ill suited to managing and facilitating communication between team members. This of course was on top of my duties as systems designer and lead programmer, meant that I was constantly faced with serious questions about the design and direction of the entire game. I’ve never really been in a position before where I’ve done that. I’ve never been in charge of the end product, I guess you’d call it. It was a fascinating experience. And it let me create one of the coolest, most flawed things I’ve ever made. Flawed, in that its execution was imperfect, but I do still think that the design of Belly Of The Beast has real merit. Its movement mechanics are something that I’m incredibly proud of. A lot of senior games that come out of the Game Studio Cohort suffer from sluggish and generally unrefined movement. I spent a lot of time and energy taking notes on first person shooters that I thought had good movement. I took notes on Borderlands 2’s Gravity; I looked into how Blizzard communicated teleportation. I looked at maybe thirty different first person shooters and took notes on all of them. I wanted there to be this immediacy to everything the player could do. I wanted them to feel powerful. Not just strong, but like the power is bursting out of them. I always intended the game to be a bombastic, intense experience. I don’t really do subtlety, it’s not my thing. Which is good, because video games in general are bad at being subtle. Once I’d gotten the movement squared away I wanted to test different combat styles. I knew I wanted the game to be fast paced, and more centered on position than aim. I also knew that I did not know how to program AI for an FPS. So I looked to Bullet Hell Games for inspiration. For me, as someone who enjoys bullet hells, but is so bad at them they’ve never actually beaten a single one; I thought it might be fun to incorporate what I did like in bullet hells (the feeling of being completely overwhelmed, the precision) with the really solid movement skeleton I had created. Which leads me two my two big things I would change if I were to go back: I would remove the “grenade launcher” and replace it with something that fit the frenetic nature that I intended Combat to be. Something hitscan would have done the job much better than the grenade launcher that I had. I could have added a Z-Target system as well to help players orient themselves in a 3D space. Because the projectiles the player shoots have gravity to them, they require aiming, but since they explode they have to deal tons of damage, so the players end up being able to take out the “hives” the spawn the “bullets” very very easily; meaning that the challenge of avoiding the “bullets” is minimized because the players can just destroy the hives before they have a chance to spawn enough “bullets” to give the player a challenge. Speaking of spawning bullets; that’s the other major thing I would change. I didn’t make a bullet manager, so our game took a huge performance hit when more than a few hives are on screen. That just comes down to being a mostly self taught programmer and not having enough experience to realize that I needed to build one, until it was far too late to actually implement. Overall I really enjoyed working on this project and I intend to revisit it later; but for now. I’m going to enjoy taking a short break from active development.