edlanglois / ya_rs

Yars' Revenge in Rust

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ya_rs

Yars' Revenge in Rust

Just a small rush code project inspired by Tantan. Implement Yars' Revenge in <12 hours in Rust.

Learning Bevy & Rust! I just discovered this language a few weeks ago.

12 / 12 Hours Complete! Play it here!!

Hour 1:

  • Plan
  • Basic app setup.
  • Yar

Hour 2:

  • Yar flight w/ anims.
  • Yar bullet.

Hour 3:

  • Atari Resolution (Sort of...)
  • Clear Color == Black
  • Destroy bullet when hit side of screen.
  • Prevent Yar from flying offscreen horizontally.
  • Wrap Yar when fly offscreen vertically.
  • Get screen size and sprite size (roughly) correct relative to 2600.

Hour 4:

  • Qotile
  • Fix alpha
  • Zorlon Cannon
  • Collision
  • Zorlon Cannon create on collide Qotile.

Hour 5:

  • Zorlon Cannon follow Yar.
  • Shoot fires Zorlon Cannon.
  • Zorlon Cannon despawns if leave world / hit Yar / hit Qotile.

Hour 6:

  • Yar Death
  • Destroyer Missile

Hour 7:

  • Refactor and cleanup based on things learned so far!

Hour 8:

  • Neutral Zone
  • Neutral Zone provides immunity from Destroyer Missile

Hour 9:

  • Swirl
  • Swirl fires at Yar

Hour 10:

  • Swirl resets Qotile on leave world.
  • Swirl kills Yar on collide
  • Improve swirl state timing.
  • Zorlon Cannon kills Qotile & Swirl

Hour 11:

  • Qotile's Shield
  • Yar bites/eats Shield on collide.
  • Zorlon Cannon create on Eat.
  • Bullet damages shield.
  • Zorlon Cannon damages shield.

Hour 12:

  • Yar cannot shoot while in the Neutral Zone.
  • Qotile and Destroyer Missile despawn on Yar death.
  • WASM - Wasn't much to do here, Bevy just worked with wasm-pack.
  • React Web & Host

Missing Features:

  • Scoring / Scoreboard
  • Victory / Death Screen
  • 4 Lives
  • Scoring
  • Shifting Shield
  • Moving Shield
  • Game Modes 2 & 4 (Multiplayer)
  • Game Mode 3 - Alternating Shields
  • Game Mode 4 - Bouncing Zorlon Cannon
  • Game Mode 6 - Ultimate Yars
  • VFX: Zorlon Cannon Pulse
  • VFX: Qotile Death Transition
  • Sounds (need to extract from 2600 by running code slices in enmulator?)

About

Yars' Revenge in Rust

License:MIT License


Languages

Language:Rust 98.3%Language:HTML 1.7%