Abura Tan project "Stone Muffin"

Released 7. October 2013 by Paul Pekkarinen (paulkp@mbnet.fi)

What is this?

Abura Tan is an abandoned roguelike game by Michael Blackney. This version is re-written to SDL (1.2, the "legacy" version) and also for modern compilers/platforms.

Information about SDL can be found at http://libsdl.org/.

Read everything on this page before downloading!

How to compile?

This project includes the source code only. It's written in C++. You also need SDL development version 1.2 properly installed. How it is done depends on your system. It's the only external requirement.

Of course, an alternative solution is re-write the SDL parts of the source. They are contained in Abura_Screen (visuals.cpp) and Keyboard (input.cpp) classes and for that reason should be relatively easy to replace with other type of implementation.

There are Code::Blocks project files (AburaTan.cbp, .depend and .layout) included in the root directory. They might be useful if you are using Code::Blocks, but without the Debug configuration directory (not included) they might not even work in the first place.

The root directory is where the source files are. The executable should run from there to access other directories. Don't forget to add SDL.dll there or in path.

If you still don't know how to compile this project please don't ask me.


Fixed warnings and errors given by quite recent GCC compiler (shipped with Code::Blocks 12.11). One warning was not fixed, related to std::iostream operator as 'previously undeclared function'. Not to worry, it's just GCC's super strict warning.

Fixed suspicious reports given by CppCheck 1.61.

More detailed information about changes in text/changes.txt.


SDL version has introduced a bug in the gameview routine. Scrolling doesn't work as it should and the map display goes on top of stats and message output (although not showing). This bug was made by me, because I was unable to understand how the original routine works. I think the bug is in LOS routine and it's displaying much larger area of the level than needed (more than 80x20 letters visible on screen).

World map is not displayed correctly, because it's using simple SDL rectangle tiles. You can look at Map::display() to see the problem. As a solution one could use small ascii fonts to display the map.

There are lots and lots of commented out source code. Some of it was commented out by me, but most of it by Mr. Blackney and looks like some of it contains future additions to the gameplay.

I have written comments in the source code starting with note: to inform about something important. Search them first.

Game content was not changed (except movement keyboard commands), everything should be in original condition.

I'm not the active developer of this game, don't report any bugs to me.

The game needs a directory called 'save' when moving between levels. It's included in this package. Don't remove it, because the game don't know how to create it for itself.

The license is still original GPL by M. Blackney, as can be read from the source files.

This source code is not in source control/repository, because I don't use them.

Last but not least, if you are looking for a clean source code of a roguelike, this is not it. This source code is a huge piece of mess. However, I don't want to be too hard to the original developer, because it was like this back in those days. Besides most roguelike source codes are bad anyway. I hope that a better programmer than me could fix the gameview and possibly even continue the development of this game.