A 3D game engine and space shooter, circa 2010.
- C++ 81.7%
- Lua 11.7%
- C 4.2%
- HLSL 1.8%
- Python 0.3%
- Other 0.3%
| build | ||
| debug | ||
| dependency | ||
| include | ||
| lib | ||
| media | ||
| release | ||
| resources | ||
| source | ||
| website | ||
| .gitignore | ||
| LICENSE | ||
| readme.md | ||
| ship.png | ||
Spark / Junkster Wing
This is the archived code for both the Spark Game Engine and the Junkster Wing game.
Spark is built atop what was cutting edge FOSS gaming libraries circa 2010:
| Library/Framework | Functionality |
|---|---|
| Ogre3D | Graphics |
| OIS | Input handling |
| Lua | Game scripting |
| QuickGUI | UI |
| irrKlang | Sound |
| Bullet | Physics |
| SimpleFileWatcher | Watching for FS changes to hot reload resources |
It was built with Microsoft Visual Studio 2008 and only ran on Windows at the time, though it currently (2025) installs and runs just fine via Wine/Proton on Linux.
Project Structure
📁 build # MSVC Solution and Project files
📁 debug # Debug dependencies (empty)
📁 include # Header files for libraries and dependencies
├─📁 Spark # The Spark game engine headers
├─📁 FileWatcher # An early version of SimpleFileWatcher
📁 lib # Libraries (empty)
📁 media # All the game assets
📁 release # Release dependencies (empty)
📁 resources # Launch dialog's resources
📁 source # Implementation files
├─📁 Client # The Junkster Wing game client
├─📁 Editor # The game editor
└─📁 Spark # The Spark game engine implementation
📁 website # Resources for the old website
Junkster Wing
The game is rather simple. Fly around in your ship and protect your space station from various threats. Each enemy you dispatch will earn you rewards, which you can then use to purchase upgrades.
Game controls:
| Key | Function |
|---|---|
| W | Strafe up |
| A | Strafe left |
| S | Strafe down |
| D | Strafe right |
| Q | Roll left |
| E | Roll right |
| R | Reverse |
| SPACE | Forward |
| Left Mouse | Fire blaster |
| Right Mouse | Fire missile |
| Tab | Store menu |
| ESC | Game menu |
| F | Toggle camera mode |
| 2 | First person camera |
| 3 | Third person camera |
