Post-Mortem: Paddle Battle Pegasus

Posted by (twitter: @BoltzInteractiv)
May 19th, 2014 2:56 am

Concept: Deal or No Deal crossed with an infinite runner wrapped around a sea monster… BENEATH THE SURFACE.  (Try web or download here.)

splash-screen-art

What worked

The Whirlpool
We put a lot of time and effort into the whirlpool.  As the central mechanic and visual element on the screen, we wanted to get it right.  We’ve had great feedback that the controls felt pretty solid, and the physics were well received.  seamonster-below-the-surfaceWhat was interesting is that the original whirlpool had a clean, clear cut, unpixelated design.  What we found though, is that all that detail in motion made it incredibly hard to focus on the other details like where the player, coins, and enemies were located.  Instead we pixelated it, and stacked a partially transparent copy out of phase (at a slightly lower frame rate).  This allows us to get a background animation that doesn’t repeat for much longer without the hit to download size.

Deal or no Deal
We added a mechanic to let the player sacrifice a part of their score to escape death and get a chance to earn it back and then some.  The catch is that your score is held in chests of varying value and the one sacrificed is chosen at random.  I think it was well received among LD players because it was something a little different than the norm.

What didn’t work

Deal or no Deal
Outside of LD, we had a lot of feedback that the mechanic was sort of confusing.  In the middle of all the action, players were not intercepting the visual cues we had though would help explain what was happening to their coins.  A tutorial that would freeze the game and explain each part of the scoring as it becomes significant would probably have mitigated that.

Dying Immediately
Due to the way the vortex physics were calculated, every time the game restarted, the ship would be rotated directly towards the monster and die if the player didn’t know to hold an arrow key before hand.  We didn’t notice during development because the adjustment became second nature.  :-/ This was probably the source of most of the negative feedback received.  I finally hacked in a solution tonight as a post-compo bugfix.

Game Over Dialog
This screen was re-purposed from an earlier iteration, and really should have been redesigned from scratch.game-over-sacrificeThe red X was supposed to let you know you’d be sacrificing a chest, but instead indicated to players that they were not allowed to click it.

The white text above posing the question about sacrificing was never noticed because it was so bland compared to the rest of the screen.  We found several players chose to lock in their score when it didn’t make sense, or would restart when it was safe to continue.  We should have had other eyes on the screen earlier in the process.  There was no time to fix it at the end.

Mac Support
There were also a few random display bugs that I couldn’t track down since they seemed to only happen on Macs.

Workflow

Collaboration FTW
I’ve participated in LD before, but this was my first time working with an artist.  It was fantastic to be able to really focus on my strengths of design and programming and leave the art and sound to someone else.  I highly recommend it.  We used Google Drive to easily share assets.  It may have been overkill, but I also set up a Git repository for locking in each iteration of our design.

simple-mind-map-pbp-boltzinteractive

High-level mind map of rough gameplay elements

Getting Organized
The biggest hang up for me in getting a game from idea to reality was finding a way to capture and organize my thoughts.  I wanted something I could rapidly dump ideas into, but structured in a way that I could make sense of it still in a semi-sleep deprived state 47 hrs later. I finally stumbled upon XMind, a free “mind mapping “tool and it made all the difference.

It allows you to very rapidly transcribe brainstorming sessions and logically group your ideas.  Then you can collapse, expand, and zoom around your idea making it far more manageable.  When you get that next amazing idea, but aren’t at a great breaking point to go hash it out, you can quickly capture a few bullet points near related features.

Focus Like a Laser Beam
What this low-overhead organization really buys you is the ability to let 95% of the idea fall out of focus so you can really concentrate on the task at hand.  Our primary goal was to get something, anything playable.  Then we would iterate over that design and enhance game play based on what we learned work and didn’t.  Iterative design also gave our play testers  a chance to say “I wish this could…”.  We plugged this feedback right in to our mind map for a future iteration.  For example adding the monster, then later tentacles, then still later allowing them to move and adding the visual blending effects.

mind-map-milestones-pbp-boltzinteractive

Collapsed Milestones (iterations) tree.

mind-map-expanded-milestones-pbp-boltzinteractive

Fully expanded milestones tree.

Triage
Late in the compo when you’ve built up dozens of polish items and bugs, it can be easy to allow the scope creep to overwhelm you and torpedo your project.
At this stage it’s important to be able to triage your most significant faults and features and let the others lay to rest (until the post-compo version of course.) 😉

A lot of great ideas were left out, but I am really pleased with what we were able to pack in within the competition.  Several of the features we had to nix were the same ones many raters mentioned in the comments, which made us pleased to see we were on the right track.

Am I satisfied?

Absolutely.  I’m really pretty proud of what we’ve made.  It’s my highest quality work to date, and there is a lot of opportunity to wade in to the hosted and mobile markets with a few improvements.

Thank you all for being a part of this community, playing and rating my games, and inspiring the rest of us to greater levels with the works of your imagination.

 

 

 


Leave a Reply

You must be logged in to post a comment.

[cache: storing page]