Lua Space Shooter

Summary

A 2D space shooter built in Lua using the Love engine, the project began with most of its assets and code already completed, I was tasked with adding one new mechanic to the game and creating a variety of utility functions to fix bugs, add functionality, and bring the game to a working state.

New functionality added:
  • parseDelimitedString() - Parses a delimited string into a single index table.
  • readHighScore() - Reads the highscore file and returned a key/value table of initials and highscores
  • checkHighScore() - Checks a value against current highscores, and returns an integer representing that value's rank in the highscore
  • updateZigZag() - Moves a sprite in a zig-zag pattern across the screen
  • rectsCollide() - Tests if two rectangular objects are colliding and returns a boolean result
  • readCSVFile() - reads a CSV file and returns a table of the lines read
  • loadCSVData() - Uses readCSVFile and parseDelimitedString to build a key/value table from a CVS file, using the first row as keys, and subsequent rows as data.
  • speedPickup() - An item that increases the player's movement speed
  • gameSpeedUp() - Increases the scroll rate of the game world
  • gameSpeedDown() - Decreases the scroll rate of the game world