evanbowman / skyland-gba

Realtime strategy game for Gameboy Advance
Other
59 stars 3 forks source link
game gameboy-advance indiegame rts

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 modding/unpack_rom.py extracts the game's filesystem from the Skyland.gba ROM, producing a SkylandEngine.gba ROM and directories full of lisp scripts. The encode_files.py script in the extracted tools/ directory repacks the filesystem into a file called fs.bin. Then, simply run cat SkylandEngine.gba fs.bin > Skyland.gba to repackage the gba game. Skyland uses unicode internally, and you'll find much of the menu text in strings/strings.txt. You'll find the rest of the text scattered throughout the lisp scripts. See help/localization.txt for more info.

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.).