# LibreMage

This is a rerelease of an old puzzle game about mages.

**WARNING**: The code is from my noob years and is quite bad -- though I quickly fixed the worst bugs and cleaned the formatting a bit, it is still quite ugly and shitty, use at own risk, don't take it as an inspiration.

![](resources/logo.png)

![](screenshot.png) ![](screenshot2.png)

![](screenshot3.png) ![](screenshot4.png)

## What This Is

This started as a game called *Mage Rage* for a programming competition called *Magicke Leto 2013* -- it ended up winning the contest. For this release I changed the name because I found a game named *Mage Rage* already exists (I think it was coincidentally released at about the same time as the original of this game). For the contest I wanted to collaborate on the game with my friend but in the end I made it practically myself, the friend (credited under "special thanks" in the game) just made one ambient music track for the levels (which I now replaced with my own), tested the game a bit and found a few bugs and made two commits of two relatively trivial functions, both of which I additionally completely rewrote too later on -- all of this is mentioned for copyright clarity (i.e. that I would most definitely hold copyright over this whole rerelease myself, and that I therefore CAN myself release the game to the public domain) and can be checked in the repo history of the original game. The game was released under GPL back then. It was made in shitty Vi$ual $tudio for the shitty Window$ "operating system" (because I was stupid). Most of the original assets were made by me from scratch, however I no longer remember where I got some sound effects and a few textures so I don't know if these parts could have been considered 100% libre.

Now many years later I decided to invest a bit of time and revive the game, i.e. get rid of the Window$ stuff, make it easily build and run on Unix systems, redo the suspicious assets and release the whole thing into public domain under CC0 so that everyone can easily enjoy it without much trouble. In the process I also polished some of the images a bit so you can consider this an "HD" ultimate edition :D The code is sadly still in C++ (because I was stupid), OOP and quite shitty at that, but the game can be played and will hopefully bring a bit of entertainment to someone. I fixed some crashes and made some quick rewrites, e.g. downgrading from C++11 to C++98 for better compiler support. If you want to take the game and make something with it -- like rewrite it in C, add levels, add better music or whatever -- please go on :) I'll be happy. Truth is that for example the music was better in the old version, but I made that with some proprietary software and am unsure what kind of copyright bullshit applies to the instrument samples (what a dystopian thing to say), so I redid everything with my inferior sounding custom made soundfont for which I literally recorded my own instruments and everything. All of the new assets were made only with free software such as GIMP, Audacity, LMMS and so on.

## TODOs

Feel free to do any of this :)

- rewrite to C
- merge it all into one source file
- furthermore make the code nice and suckless so that it doesn't waste RAM and so on
- abstract I/O and add other frontends, mainly SDL
- improve the assets
- make additional levels or whatever :)
- ...

## Compiling

There is a compile shell script, just run it (`./make.sh`). You can modify it to use a different compiler, flags etc. You need the allegro library installed (e.g. `sudo apt-get install liballegro5-dev liballegro-acodec5-dev liballegro-audio5-dev liballegro-image5-dev liballegro-ttf5-dev liballegro-physfs5-dev`).

## Rights

I oppose any form of intellectual property. To my best knowledge I have created everything (including assets, music, fonts, soudnfonts, audio samples, levels, story etc.) in this game from scratch myself and intend to release everything for any use whatsoever into worldwide public domain.

This project as a whole is hereby released under CC0 1.0, public domain.
