evanbowman / skyland-beta

SKYLAND gba source code, provided for educational purposes
https://www.skylandgame.io
Other
32 stars 4 forks source link

SKYLAND

A realtime strategy game for Gameboy Advance. watch the trailer!

Overview

Introduction

A detailed RTS game for GBA, inspired by FTL. Created in a couple of weeks for a game jam, and then improved over the course of a few years.

Features

Skyland is jam-packed with stuff, some of the highlights:

Building

1) Install all of the standard devkitpro libgba stuff. 2) Make sure you have python3 and the PIP image library 3) Install cmake 4) cd build && ./set-gameboy-advance-toolchain.sh (a shortcut for running cmake with the correct toolchain file) 5) run ./build.sh

Releases

See here. Why so many releases? I like to have build artifacts in case something breaks. The program takes a few minutes to compile, so it's nice to have old builds when tracking down issues.

Modding (no C++ toolchain required!)

I designed the Skyland to be moddable, and wrote all level scenarios in a custom scripting language called Skyland LISP. The script in tools/unpack_rom.py extracts the game's filesystem from the Skyland.gba ROM, producing a SkylandEngine.gba ROM and directories full of lisp scripts. After editing the scripts, simply run repack.sh from the same directory where you ran unpack_rom.py to zip everything back up into a Skyland.gba file!

License

All artwork and music assets are proprietary. The software and source code are provided for personal non-commercial use under the terms of the included license document. I originally licensed this program under the terms of the GPL license, but I've since realized that Open Source licenses are not a good fit for all projects (pirates sold copies of the game, failing to understand that only the code, and not the assets, was free to use; steam refused to publish GPL code; etc.).