A downloadable game

Game Make ToolKit Game Jam 2022 : "Roll the dice".

At start, I didn't want to do the Jam because I didn't have time. But when I saw the theme, I decided to make something in a week during weekday free time. I wanted to try "What if I made a shooter with a Pathfinder dice roll system ? What could it be like ? How to do this ? How do I convey roll information to the player ?".

I targeted mainly the feedback for this prototype and I'm happy with the result, even if the feature is... not awesome. I'll take you with me on this journey.

1 : Some Pathfinder basic rules and vocabulary

  • When attacking, roll one 20-sided die (a "d20") and add various bonuses to get your Attack Roll. I only used one bonus, the "Base Attack Bonus" or "BAB".
  • To hit, your Attack Roll must be higher or equal to target defense score, named "Armor Class" or "AC".
  • Each hit deals random damage between a minimum and a maximum value.
  • Rolling a 20 is a an automatic hit (Critical hit) and rolling a 1 is an automatic miss (Fumble).

In short, d20 = 20 or d20 + BAB >= Target's AC ? Yes, it's a hit. No, it's a miss. Roll for damage, multiply if Critical on hit. Simple.

2 : Design intentions

For a FPS, adding this system will just have the effect of "Bullets do not always damage even if it hits.". That's a horrible feeling as a Player. What if I add a little quick thinking to it ?  Allow the Player to know the Attack Roll of the bullet before shooting (roll the Attack Roll at reload and not when shooting) and always show target's AC. The Player knows before shooting if the bullet will hit the target or not. With a few enemies with different AC scores, a bullet may not hit one enemy but hit another. The Player have to "distribute" her bullets depending on its Attack Roll value and target's AC. 

3 : Implementation & tests

I decided to use Unreal Engine 5 since it has build-in FPS template and I hadn't used it in a while, so it was the perfect occasion to make it back to this engine and its blueprint development.

Implementing the attack system and hit registration was easy, I quickly could shoot and kill enemies when my bullet had rolled more than the enemy's AC. Critical make far more damage (x10) and Fumble doesn't event shoot a bullet so even if the bullet is high, no damage will be applied. I also added feedback for Damage on hits and Critical hits. SFX emphasize both Critical hits and Fumbles.

The real challenge was on "how to show the Player her roll in a fun and easy to read way ?". I simply added a widget to show the roll on the weapon-model and HUD (both diegetic and extra-diegetic ) to try some things.

It was... Bad. Eyes were always on the UI to see what was the Attack Roll value and not on the enemies. So I added a clip of a few bullets to allow the Player to memorize a few values and shoot them in a row, switching enemies if needed.

I went for a Revolver-like UI for various reasons :

  • Few bullets in the clip (6), to test memorization
  • Fire rate is quite slow, allowing the Player to check her next bullet between two hits
  • Reload is one bullet at a time to let the Player memorize the numbers and order

Here is the result I got, adding the BAB in the center of the UI and colored the Critical hits and Fumbles bullets to make them stand out. 



4 : Testing and Evolution

Cool, we have something that works, but it was still frustrating for two reasons :

  • Enemy have 1 hp left, I need to reload all 6 bullets to be able to shoot once
  • Roll two to three bad bullets then good ones, and having to shoot the wall to reach the good bullets.

I decided to add more control to the reload system : the Player can stop the reloading by firing, or could reload a non-empty clip to replace her rolls. It worked better with some agency ! The problem was that with this agency, I abused the reload system to only have good bullets. If I rolled less than 10 on the first bullet, I reloaded the clip. If I made a good roll, I kept reloading until a bad bullet appears, shoot my good bullets then reload again.

5 : Ambition and where I decided to stop

Maybe a double-barrel shotgun with only two bullets would be more effective to not abuse the reload system ? With the possibility to fire one bullet or the other with left and right click ? And/or the ability to hold the Fire button to shoot the two bullets at once, using the highest roll and adding a fixed amount to "sacrifice a bullet to get a small boost" ?

I also wanted a power up system to mirror the leveling system of Pathfinder. So BAB must progress. But Pathfinder does have Wizards and magical characters that do not rely on BAB to hit but have spells. What if I made "waves" of enemies that once completed could grant an ability or a power up ? 

That's where I decided to stop : I wanted to prototype a "Dice rolling system for a FPS" in a short amount of time, not a whole functionning game. I created a pick-up item that gives +1 BAB that enemies dropped when defeated, but nothing more.

6 : Conclusion

Adding more cognitive action to a FPS reduce its pace and can hinder the gamefeel if not enhanced by enemy and level designs.

I'm happy with the result, even if the system in itself does not work. I made a feedback that is both functional and thematic. I left with a few ideas to push this idea further, make it functional (maybe) and fix its design flaws. That's what is important : have ideas to solve problems.

Leave a comment

Log in with itch.io to leave a comment.