Gammagoat's P3 development journey

I am working on a new P3 game for the Heist playfield module. My hope is that I can actually follow through on this project, and actually release the game as one day as a 3rd party game on the Multimorphic platform. I went back and forth on whether to document publicly my progress, or keep it secret until I was ready to release, but I decided to do it in the public. Hopefully people will find it interesting. Hopefully I will be able to follow through on the vision I have in my head.

There is no guarantee I will finish this project, or that if I do it will be approved. There is no guarantee anything you see along the way will make it into the final project. But welcome to the journey.

15 Likes

The concept of the game is not traditional pinball. It is not a 3 ball game. It doesn’t even currently have score. It is a roguelite, deck building card game.

The main play loop is to progress fighting progressively more difficult enemies. Here is the first enemy (it is a stack of tires, it doesn’t fight back).

The combat is turn based. Each round, you draw 5 cards into your hand. Each card has a casting requirement, which is essentially a hurry up mode. You have until the round timer expires to play as many cards as you want / can. At the end of the round, all the cards you qualified are played, resolving their effect. Then the opponent plays their cards, damaging you. At the end of the round, you discard all cards in your hand and draw 5 new cards.

5 Likes

When you defeat your opponent, the scoop walls will come up, and you will be presented with 3 exists which allow you to select one of 2 cards or to heal yourself.

Select card

If you select a card, it will be added to your discard pile and be available in future rounds to play.

Then the game spawns a new, harder enemy and your journey continues.

3 Likes

Cards contain 4 basic properties

  • Cost (Blue): This represents the number of shots required to complete the cast
  • Fizzle Damage (Purple): If you drain while casting a card, your cast fizzles, and you take damage equal to the fizzle damage.
  • Attack (red): This is the amount of damage you do to your opponent on a successful cast
  • Defence (yellow): Adds temporary armor which can absorb damage this round from the enemy attacks.

3 Likes

Just wanted to say as someone who plays mainly DBG/roguelikes (STS, MT, DD, etc) I’m hoping you complete the development of this!

The basic gameplay mechanic/idea seems unique for pinball and is definitely an unexplored space.

Looking forward to someday over-drafting and losing the run just like ina DBG roguelike video game!

1 Like

I am using Hippogames Character Editor for generating my sprite sheets. However, their spritesheet generator does not support their gun characters. So I spent a long time this working getting that working. Additionally there was a bunch of complication due to the particle system and transparent background rendertextures. But that all got resolved. So now I can make characters armed with guns, like this futuristic robotic humanoid character.

The next major progress I have made is adding attack animations while playing cards. I needed a way to have the main game wait and know when to move onto the next card. I ended up using Unity animation events to send events from the animation layer back the the game layer. The result is working out ok.

The final minor enhancement is that I now have animations for transitioning between characters. It is not much, but it ads a bit more polish to the game.

2 Likes

I have made a bunch more progress, including actually flipping the game a bit. There is a long way to go, but I am happy with the progress so far. Here are some of the things that I have added since my last update.

highlight

I have added animations to the cards that give a clear indication when you have completed or failed the card. I like how this effect worked out.

textbox

There is now a dialog system where the player, the narrator (Voice) and your opponent all talk. There is intro text, random Quips during the round, and end of battle text.

Skills

I have added the beginning of the rougelite elements to the game. When you defeat an Opponent, you earn XP based on the number of cards you played in the round. When you earn enough XP you will level up. That permanently unlocks a random card that is added to the pool of cards that you can draw from at the end of the round. It also earns you a skill point. Bringing up instant info will give you a UI that allows you to spend these skill points on permanent buffs.

I hope to get some time playing in the machine this weekend and see it things work in the real machine. If the basic skeleton I have works, I can start adding a bunch more content to flesh it out and continue to work on polish.

6 Likes

This is amazing! I haven’t visited this forum for a while but I dug out my old password to give this thread some love.

I did a stream of what I have done so far, if anyone wants to check it out. Hopefully I will make more progress during this end of year vacation.

2 Likes

I haven’t updated in a while. And this is not an Arena update, but I did launch a P3 game today.

3 Likes

when your time is up do you die or is it sudden death?

Bird watcher is timed play (with one time extension available per game). When time expires the game is over and the flippers are deactivated.

1 Like

now can win each game or is random and you can in some games you run out of time waiting not being able to get an good score?

The time is a fixed setting, so that is the same for anyone who plays the game. However, this game is 100% not equitable. The spawns (and field spawn timers) and which bush they spawn out of is completely random by design. There is no derandomize setting (that is a lie, there might actually be a setting but I ignore it).

The point of the game is to be excited because a rare random event happened. To collect rare birds. It is a different experience. I would not recommend competing in dollar games or including bird watcher in anything competitive :slight_smile: