suve / LD25

Colorful - Ludum Dare 25 (December 2012) entry
Other
22 stars 10 forks source link
android-app f-droid fdroid game game-jam linux-app ludum-dare pascal retro sdl sdl2 windows-app

Colorful

Colorful is a simple 2D side-shooter game, originally created in 48 hours for the Ludum Dare event, 25th edition (December 2012).

This is the "post-compo" version of the game - it has received numerous enhancements and bug fixes.

Screenshots

First Second

Download

Packaging status

You can download the game from Itch.io, Flathub, F-Droid, or from the Releases tab here on GitHub.

The game is available for Linux, Windows, and Android.

Get it from Flathub Get it on Itch.io Get it on F-Droid

Build it yourself

To build Colorful, you'll need the following dependencies:

Getting the SDL2 units

Before you can build, you need to get a copy of Pascal SDL2 units. The recommended version to use can be found in the PGD SDL2-For-Pascal repository, although you're free to try compiling the game using any others.

The repo links to aforementioned headers by the means of a git submodule, so if you don't want to experiment, run the following commands:

$ git submodule init
$ git submodule update

This should fetch the SDL2 headers for you.

Configuring the build

The build process includes a custom configuration script, which can be used to tailor the build process to your needs. The script takes the following options:

The option syntax is --option=value. Passing --option value will result in an error. For boolean options, the value can be omitted; it will be treated as true.

The script generates a Makefile, so once you've configured everything to your liking (or just decided to go with the defaults), you can build the game through the usual method:

$ make all

Installing the game

If you set assets to standalone (the default value) during the configuration phase, the game is ready to go. You can launch the executable found at build/colorful and enjoy yourself. Since the game stores its configuration file and savestates inside the user's home directory, it should continue to work even if moved to a non-writeable location.

If you're trying to package the game for Linux, go back and ensure you've configured assets to systemwide, and specified the prefix. If everything checks out, you can go ahead and use the install target defined in the Makefile.

$ make install [DESTDIR=]

Building for Android

Android is a bit of a tough cookie. You can find all the extra code (Java/JNI glue, manifests, etc.) and build scripts inside the android/ directory.

Licensing

Colorful is subject to two different licences.

Random rambling

The code, as you can expect from a game made for a 48h compo, is quite crappy. Since this is a post-compo version, some cleanup has been made, functions have been moved, comments have been added. But it's still far from being state-of-the-art, so don't expect me to cover the damage if you hurt your eyes looking at it.

While getting the game to compile for Android was fairly easy, making it run in a sensible matter was a whole other issue. As such, the code is riddled with Android-specific quirks and workarounds. Some of these should be fairly obvious in what they do, but some are quite literally workarounds for behaviour I didn't bother to properly diagnose.

So anyway, feel free to read, observe, and despair. I mean, learn. Like, you know, I made a game and you didn't, so you can learn from me. Yeah.