Pimps vs Vamps – Postmortem

Most of you know that I picked up jamming as a thing a few years ago, and used it as a mean to hack-away a game prototype, with low expectations, trying to mine for “gold”. I feel that with each jam game the quality of my work has evolved. What started in 2009 with “Grandpa told me” and “Contrast Survival” became a “thing” in my daily activity. For me, game jams are a great way to throw dust particles in the air in order to see if they float. Last week I took part in another game jam, an offspring of Rami Ismail and Fernando Ramallo, called “FUCK (or F*ck for those who find the letter “u” offensive) this Jam“.

While scouting my mind for ways to cheat around the restriction imposed by the jam (“to design a game in a genre I hate/despise or usually ignore”), I decided to attempt a collaborative jam. Thus, I’ve sent a tweet out into the wild. The wait was not long, as I soon got in contact with Thomas through a match-making service powered by FTJ’s twitter account. Thomas decided to join my party in this 1 week quest. [he also wrote about the jam experience, so head to his blog to read the other side of this story].

What went right

  1. Prototyping the game on paper using Silviu’s DnD pieces.
  2. Not holding onto the idea of the game only being a Roguelike with guns
  3. Swallowing my pride and deciding to give collaboration a try
  4. Skipping procedural and item generation
  5. Using Love2D and LUA

A few years back I would have laughed at the idea of prototyping a game on paper before coding it head on. If one thing I learned from other jam attempts, is to drive test everything before implementing it, especially when faced with a deadline. For Pimps vs Vamps I used a bunch of DnD dices, straws and bottle caps to design and tune the weapon mechanics. To be honest, I’m pleased with the results. In PvV, damage is based on a random between the minimum and maximum DPT (Damage per Turn) of a weapon and the distance between the player and it’s goal.

damageDone = math.floor( math.random(weapons:getWeaponDamage(currentWeaponID) ) – distance2enemy(target))

Action Points (our “mana” system for “casting” bullets) came up as a late night idea, while Thomas and I were skyping. Initially I went with each action, performed by the player, to increase the turn counter (as in most rogue-like games). Thomas, avid fan of the X-Com series, wanted the game to be played with a more strategic approach. I went ahead and designed a system with action costs (cool downs). After a night of prototyping I found a mean of balancing both our expectations.

It’s no secret that Thom is the genius behind the game’s visual style, another thing that could have gone in a different direction, if he hadn’t pressed me enough to drift off-course from my roguelike ideals. The game tiles are 32×32 pixels which are scaled to 64px during runtime. This decision not only make it easier for the player to experience the artistic value put into the game, but also gave the game a more “intense” feel.

Another thing that I was stuck on (and I still consider adding) was adding procedural level generation. That’s one thing that I enjoy in games such as Ido Yehieli’s Cardinal Quest or Ratking’s Pitman, the ability to replay the game experience in different versions of the same environment. Such feature (predominant in the roguelike user base) combines familiar settings with different outcomes (CQ still seems fresh to me, even though I finished it tens of times since I got it on gameolith). Designing, tweaking and even releasing a game is a outstanding task itself, especially if this takes place in a short period of time. I do regret dropping procedural generation, yet I regret it less then not having the current weapon system implemented.

What went wrong

  1. Not thinking about the game’s implementation
  2. Ignoring sound and music till the very last minute
  3. Expecting people to understand mechanics without a proper introduction
  4. Revealing the plot
  5. Not having the player’s goal defined

One thing that was done wrong, and started a domino effect, was not planning the game’s implementation (code wise) before hand. Most of the additions that took place in the last few days (ironically, those that actually give the game’s appeal) have been hardcoded into the game, turning it into something that deserves to be named “spagheti”. Most animations (at that time), as well as the User Interface are the result of allot of if’s and thens, timers and bool statements, allot more then common sense requires. Thus, instead of polishing more bits of the game, I spent the last day just getting the menu and animations to work properly. Due to time constraints (and the aforementioned coding mistakes) I didn’t properly establish the player’s goal in the game, thus the only goal being to survive for as long as possible.

The plot itself is cheesy, funny and fits the game, yet many are unaware of “Pimps” reasoning behind the need to eliminate every last vampire: “Vampires are the greatest known enemies of fashion. Their poor taste when it comes to clothes is only undermined by their first for blood. Pimps on the other hand are known for their exquisite taste in clothing, and they do not take such mockery for granted.”.

I believe that in order for a game to be fun, we need to look beyond the underlining mechanics and systems. We need to glance on it’s responsiveness, on the amount of feedback the player receives from his action, both visual and audio. If someone could play the current version, alongside one only a day and a half apart, he would stand baffled. The mechanics are fun-ish but combine it with the soundtrack, weapon sounds and the animations and you reach a whole other level in term of entertainment. I claim their late addition to be my fault and I’m sure my personal level of excitement and contempt would have been different if I any of them would have not been added.

One thing that shocked me was the players reactions to the FOV/Shadows. Most did not like the vamps jumping in and out of view, ambushing them. I for one enjoy this gimmick, as it makes the game more challenging and “random”. The amount of negative feedback (as opposed to what I was considering) that people have sent me has been, well, unexpected to say at least. Then again, I consider it to be a question of taste. I’m sure fellow roguelike enthusiasts enjoy it more then others.

Closing thoughts

Pimps vs Vampires is, hands down, my best jam game to this point. I’m happy that I managed to get so close to my ideal game and I consider it to be a success. Thomas is a bit “sad” that the game got little to no press attention (as opposed to other dev’s feedback), but I’m ok with it. For a jam game, I consider it to be one of the best (and most polished) to come out of “F*ck this Jam”. I’m looking forward to other game jams and another collaboration with Thomas. I just want to say that I’m happy with what has been accomplished. The game can be downloaded from FTJ’s submission page.


The game has been mentioned on Independent Gaming dot net.

I also noticed this on “Concerned Joe” livestream:





Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s