Side-shooter project for my GSD 511: Game Development I course.

Controls

  • Move with arrow keys

v1.0 Features - Lecture Version

  • Data-driven design - uses a custom auto-loaded data_loader.gd script to pull game data from .csv files
    • uses a spreadsheet as a single source of truth
    • see Game Data Examples section for more details
  • Equipable Weapons - a variety of weapons, each with different stats
    • NOTE: weapon firing / in-game model is not implemented at this point, just in-game data pulling and weapon label
  • Enemies - a variety of enemies, each with different stats
    • NOTE: enemies are not yet implemented in game, just the data import and sprites
Game Data Examples

Weapons & Enemy Data

This data lives in a Google Sheet, which I export to .csv and drop into the project for data_loader.gd to read at runtime. The tables below are pulled directly from those exported files, so they’ll stay current as the sheet evolves - full .csv files are also linked for reference.

Weapons

Download weapons.csv

Name Damage Fire Rate (s) DPS
Pulse Laser 10 0.2 50.00
Plasma Cannon 35 0.6 58.33
Heavy Rocket 90 1.5 60.00

Enemies

Download enemies.csv

Name HP Speed Screen Time (s) TTK w/ Laser (s)
Scout Drone 20 400 4.8 0.4
Armored Cruiser 160 120 16 3.2

Godot CSV Import Issue

How to fix the CSV data pulling if files cannot be found when exported to the web:

  1. Check the Import tab (usually in the same pane as the Scene window)
  2. If it’s showing CSV Translation, change it to Keep File (exported as is)
  3. Re-Import
  4. Repeat for each CSV file

Asset Attributions

All of the current art was made by me using Aseprite and Paint.net. The cover image was made in Canva using my sprites.

Aseprite Files

Character sprites made in Aseprite
Character sprites made in Aseprite