Every journey’s gotta start somewhere, right? Pinbrawl’s is just getting started, but I thought it’d be fun to share the development process up to this point, and also add some clips showing gameplay and development, since the first blog post didn’t really offer much in terms of gameplay or context.
Not surprisingly, the original pitch for Pinbrawl was much different from what the game is now. The idea was that each player would have his or her own pinball table, with a the traditional ramp angle and physics, and opposing players would be able to manipulate different obstacles on that table to make the player lose. If the player was able to hit the ball up and safely out of his pinball chamber, the ball would return to a center arena, where it would get tossed around until it fell into someone else’s table.
I pitched this idea to my buddy James, who was entertained by the idea and said “yeah, I’ll maybe help a little bit.” My goal was to get something playable finished by Minnesota’s 2D Con 2016, where I could at least show off the concept. We only had two weeks or so to get something going, so we decided to drop the pinball tables off the side and just focus on the center arena, making a weird mixture between Hungry Hungry Hippos and air hockey. I drew up some basic schematics for the first stage, and with some help from James I started piecing things together.
Making the stage and getting the physics working was actually really easy, thanks to Blender and Unity. However, even before we got controllers set up with ReWired, I realized that something about the game’s design was fundamentally flawed. It wasn’t going to be fun. I just knew it wasn’t. Almost none of the obstacles in the middle of the stage served any real purpose, and the only action the individual players were actually going to see was getting the ball out of their own zones. The stage was designed with 4-5 different ways of getting the ball away from you, but no clear way of deliberately scoring on your opponent.
I knew from that point onward that designing this game was going to be almost as challenging as making it. Finding the right balance of interaction vs. interruption was going to be a struggle while considering every new mechanic and stage design. I thought of an idea, and figured I wouldn’t know if it was actually fun or not until I tried it out. I went home that night and spent 6-8 consecutive hours modeling, texturing and implementing a new stage, designed to be the polar opposite of the one we were currently working with. It was just a hill.
The idea was that players could hit the ball hard enough over the hill to send it over the other players’ flippers. At this point we were just introducing a new tilt mechanic that would make aerial goals a bit more balanced and preventable, but even without that it was good that they sped up the game significantly. We were more consistently able to score on one another, and the game felt like it was really starting to pick up. I added holes on the stage that I wanted to design characters for…the idea was that they would pop in and out of the ground, as a controllable obstacle that enemy players could manipulate to mess you up. I figured just a little extra interaction with the stage outside of tilt would be good, so that the players always feel like they’re doing something, instead of waiting. Lastly, I added a river around the edge of the stage to keep the ball in motion at all times. It mimicked the functionality of the conveyor from the previous design, so it was easy to implement.
Tilt. Adding tilt changed everything once again. It also made the game way more entertaining, because it allowed players to gang up on players that were in the lead by tilting against them as a team. A solid mechanic for a casual party game.
After adding user interface, player lives and rechargeable tilt meter, the only thing left to address before 2D Con was the weasel characters. I thought that having them parked right in front of someone’s flippers was a bit on-the-nose, and not very creative. I decided instead that they should be able to burrow and move around the table at will, popping in and out of the ground to launch and block the ball. I also gave them a make-over to make them more stylized.
With that, Pinbrawl was ready for its first convention. We got all set up at 2D Con and waited for people to start rolling through. We were lucky to be right by some other awesome local games, like Joggernautsand Astral Breakers. The calm before the storm was a little uncomfortable. Pinbrawl was brand new to everyone at that point, and even we as the developers had barely played it. Within the first hour of being set up, a group of teenagers came by, and before I could even explain the rules to them they were already having a blast. Not every group was like that, but it was clear that this particular group had played local multiplayer party games together before, and that’s kind of our target demographic. It was a long weekend, and there were definitely ups and downs, but the game’s overall reception was good. It was a motivation booster, although we were so wiped out after 2D Con that we didn’t pick development back up for a while.
Much to our surprise, Pinbrawl won an award at the convention for Best Visuals, which was cool for me personally because the game hadn’t been in development that long, and it’s my first foray into 3D game development.
Since 2D Con, we haven’t really had much of a deadline to work towards, but have been making steady and significant improvements to the game. The biggest is probably a change to the weasel characters. I gave them new faces, gave them a flexible spine, and then James programmed them to make them all floppy so they can slap the ball around instead of just launching it. This took a long time to get working just right.
After that, we added sudden death for better pacing of matches, initiating once the game has gone 2 minutes without a player being eliminated. I also added a new title screen with an updated game logo. Lastly, I re-worked the UI completely, making it so that a bright color disk pulses out from your UI when you are using tilt, and the heart showing your life count animates when you lose a life.
And that is the game in its current state! Just thought I’d take the time to write this up and catch everyone up on our progress up to this point.