Steven K. Rhodes Game Design Logo

*JavaScript is disabled/unsupported!

Screenshot of Staff of Randomness gameplay

Staff of Randomness
PC (web)

Independent Project
Shipped April 2024

Staff of Randomness is an arcade game I designed and developed for web browsers as an instructional aid while teaching teenagers how to code as an iD Tech online camp instructor. I started work on this in June of 2020 and only returned to continue development for a few weeks at a time each summer until August 2023, an estimated 6 months of development spread out over 4 years. There was no real plan to polish or publish this game when I started, it just evolved over the years to serve as a robust yet approachable demonstration for students. I decided to publish Staff of Randomness to Itch.io after parting ways with the camp in early 2024.

Survive as long as you can while transforming ghosts into random animals with your magic staff.
Requires Keyboard & Mouse to play. Each session lasts up to a few minutes. See how high of a score you can get!

Team Size

1

Roles

Game Designer, Game Developer, Producer, 2D Artist

Tools

p5 Editor, Javascript, HTML5, Piskel, Google G Suite

Duration

6 Months

Published To

A link to the game on Itch.io

Project Details

Below I have listed my contributions to Staff of Randomness. I created the entire codebase and all 2D art assets. The game was built using the p5 editor, Javascript, and a little HTML5 and CSS3. All sound effects were created by various authors and sourced from freesound.org. The background music, titled "Shoddy Haunt", was composed by mathgrant. The game modifies the playback speed of the music according to gameplay intensity.

Gameplay Features

  • Game over after player touches a any ghost
  • Session timer increments each second of play
  • Magic projectiles transform ghosts into 1 of 5 random animals that wander off-screen
  • Hidden score increments when transforming ghosts into animals with magic projectiles. Revealed on game over
  • Progression: Modulus of the player's score compared to a hidden goal value to increase gameplay intensity
    1. Goal value increases by a dynamic modifier
    2. Spawn a random nightmare from array of 5 (% 2)
    3. Spawn a random power up from array of 5 (% 3)
    4. Transform 1 random ghost into a nightmare (% 4)
    5. Increase maximum amount of ghosts (% 5)
    6. Increase duration of power up effects (% 6)
    7. Increase speed of all ghosts types (% 7)
    8. Spawn 'Boss Ghost' and increase its HP (% 8)
    9. Increase BGM volume up to limit (% 9)
    10. Increase BGM playback rate up to limit (% 10)
  • Array of 5 unique power ups that expire over time
    1. Clocks will pause ghost movement
    2. Orbs will encase the player in an invincible shield
    3. Candy will increase the player's movement speed
    4. Dice alter the size and speed of magic projectiles, also enables limited ricochet and piercing effect
    5. Whirligigs attract ghosts and ricochet off edges
  • Spawned power ups disappear if not picked up in time
  • Array of 5 unique 'Nightmare' ghost types
    1. Blue 'Drifter': moves in a loose zig-zag pattern
    2. Green 'Chaser': quickly moves towards player
    3. Red 'Hunter': patrols small area, but lunges at player
    4. Purple 'Trapper': slowly encircles player
    5. Yellow 'Speedster': rushes through room in a line and returns from a random direction after leaving
  • Hidden idle timer transforms a ghost into a nightmare after player does not move for a duration, then resets
  • Player character confined to game space boundary
  • Ghosts wrap the screen after leaving game space boundary, then are nudged away from edge
  • Magic projectiles despawn after leaving game space boundary, but will instead ricochet when powered up
  • Animals despawn after leaving game space boundary

2D Art

  • Designed an animated sprite for the 'child' player character that marches as they walk
  • Designed animated sprites for 5 'nightmare' enemy types, a normal ghost type, plus a large boss ghost
  • Designed animated sprites for 5 types of animal: dragonfly, frog, sheep, snail, and... cactus?
  • Designed animated sprites for 5 power-up item types, including VFX to signal when they are active and when they are about to expire
  • Designed VFX for the player's magic projectiles and feedback for their collision with enemies
  • Designed a static background environment

Scroll to Top