section About


GNU Robbo is a free open source reimplementation of Janusz Pelc's Robbo (->) for the Atari XE/XL (->) which was distributed by LK Avalon (->) in 1989.


  • Graphical skin support: Oily, Original and Tronic
  • Sound skin support: Default, Free and Oily
  • Support for user supplied music
  • 1113 levels across 28 packs converted from Robbo and Robbo Konstruktor
  • A mouse/stylus driven level designer
  • Support for Alex (a Robbo clone) objects
  • Support for Robbo Millenium objects
  • In-game help
  • Reconfigurable options and controls
  • Support for the mouse/stylus throughout the game
  • Support for keyboards, analogue and digital joysticks
  • Centering of game within any resolution >= 240x240
  • Simple build system to maximise porting potential
  • Support for locales: English, Czech, German, Indonesian, Polish, Russian, Slovak and Swedish

Gameplay Enhancements

The gameplay of the original is faithfully reproduced with a few modifications :-

  • Lives has been removed and suicide replaced with level restart
  • Scoring has been removed: goal is level advancement
  • Bears don't endlessly spin around themselves or other bears of the same type
  • Capsules don't spawn from questionmarks
  • Solid laser fire is not left live after the originating gun has been destroyed


Additionally you will require the corresponding "-devel" development packages for building the source.


GNU GENERAL PUBLIC LICENSE Version 2, June 1991 (->)

section Screenshots













section Help

Game help and default keys are explained in-game.

For support please visit the project's support page.

section Downloads


In a console type: svn co gnurobbo



Sony PlayStation Portable (PSP)


If you're upgrading from a previous version then please backup the .gnurobborc file (later versions use gnurobborc) before you delete the folder as this file contains your level pack progress and modified options.

Sharp Zaurus


AmigaOS 3.x

Maintainer: Arti

Dingoo A320 with Dingoo-Linux (aka Dingux)

Maintainer: Gadgetoid

GPH Caanoo

Maintainer: Jurk


Maintainer: Pickle

Symbian OS

Maintainer: AnotherGuest


Maintainer: Dmitry Marakasov

Distribution Specific Linux Packages

Creating an RPM

Download the source tarball and in a console type: rpm -ta package.tar.gz

section ChangeLog

0.66 - 2010-11-12

  • Significantly reduced the memory usage
  • Added localisation to the level designer
  • Added support for Maemo 5 Fremantle
  • Added preliminary support for Alex (a Robbo clone)
  • Added Czech translation by Radek Pavle
  • Fixed a few bugs and outstanding issues
  • Applied various graphical and usability tweaks

0.65.6 - 2010-01-16

  • Added a writeable MyLevels level pack for use with the designer
  • Added mouse wheel support for scrolling within the designer
  • Added Indonesian translation by Auriza Akbar
  • Fixed several bugs

0.65 - 2009-12-23

  • Added a level designer for platforms with pointer support
  • Added a new set of 12 demos using the latest level packs
  • Added the Russian alphabet to the pixmap fonts
  • Applied various graphical tweaks
  • Fixed several bugs

0.64 - 2009-12-07

  • Modified some objects to be more similar to Atari Robbo
  • Added 19 level packs
  • Added preliminary music support
  • Added sound and sound-skin support
  • Added support for tiled level background images
  • Added Oily graphical skin
  • Added support for Robbo Millenium objects
  • Added Playstation PSP support
  • Added Russian translation by Alexander Voikov
  • Added an in-game pointer control pad and toolbar
  • Added extensive pointer support for menus and game

0.63 - 2009-09-03

  • Exclusive Nokia N8x0 (OS2008) package release by Willem-Jan de Hoog

0.62 - 2009-03-18

  • Created Sharp Zaurus Sharp ROM ipk
  • Added option to save rcfile on change for battery powered devices
  • Modified the exploding bomb to be more similar to Atari Robbo
  • Added pixmap fonts and the option to use them over SDL_ttf
  • Swedish translation added by Niklas 'Nille' Åkerström
  • Slovak translation added by Viliam Búr
  • German translation added by Chris Zeiler

0.61 - 2009-03-02

  • Added graphical skin support
  • Added a newly created graphical skin: Tronic
  • 15 additional levels converted from RobboVII
  • 32 additional levels converted from RobboVIII
  • 33 additional levels converted from RobboIX
  • Added in-game help
  • Added reconfigurable options
  • Added reconfigurable controls
  • Added analogue and digital joystick support
  • Added centering of game within any resolution
  • Added support for different locales
  • Added a Polish translation
  • Many bug fixes

0.60 - 2009-02-26

  • Test release

0.57 - 2002-11-15

  • New levels!!! (now 52)
  • New object - energetic barrier
  • Changed level colour format
  • Implementation of .gnurobborc file
  • End screen
  • Better delay params
  • Various bugfixes

0.56 - 2002-11-04

  • Little changed graphics
  • Added level choosing (system of codes)
  • Startscreen menu
  • Some bugfixes
  • Better random number choosing
  • Better key detecting
  • Background removed

0.55 - 2002-10-18

  • Bigger graphics (twice bigger)!
  • Better time parameters
  • New object - pushing box
  • Many new levels (levels.dat file) - now there're 42 levels
  • Bugfix in data loading
  • Refreshing only changed fields
  • Blasters don't clear screws and capsules now
  • Bears are delayed if turning back
  • Extra life after taken won't appear on the same level
  • Loading from file only for new levels
  • Questionmark's objects don't uncover if blowed
  • Cosmetic changes in start screen

0.54 - 2002-10-15

  • Scrolling after teleportation
  • Delay of blowing bomb
  • Fixed minor bugs
  • There's no difference between R_SHIFT and SHIFT

0.53 - 2002-10-14

  • Added 9 new levels
  • Fixed some bugs (proper score displaying, init etc.)

0.52 -2002-10-12

  • Removed trick keybindings
  • Testing and added new levels
  • Removed some structures
  • Background is better displayed
  • Wall, bricks, grass etc. is now treaten like wall
  • Five new levels
  • Screws and bullets are counted during level loading
  • Changed teleport behaviour and description in levelfile
  • Preparing automatically build and install


  • Beginning of this project

section Compiling

Desktop Linux

Firstly make sure that you have the necessary devel libraries installed (plus the libSDL_ttf-devel library if you are not using the pixmap font option) and then type "make".

If you are editing the source code and modify any header files then type "make clean && make".

The build system has been set-up so that by default GNU Robbo runs from the installation folder. If you want to install this software then you should simply comment the existing PACKAGE_DATA_DIR, BINDIR and DOCDIR group towards the top of the Makefile and uncomment the ones that interest you. Then type :-

  • make clean
  • make
  • (If installing system-wide then login as root now)
  • make install


Type "make -f Makefile.gp2x". This creates a tarball using the GPH toolchain.

Type "make -f Makefile.open2x". This creates a tarball using the Open2x toolchain.

Maemo 5 Fremantle

Type "make -f Makefile.fremantle". This creates a Maemo 5 Fremantle package.

Sharp Zaurus

Type "make -f Makefile.zaurus". This creates an ipk for the Sharp ROM.

Sony Playstation Portable (PSP)

Type "make -f Makefile.psp". This creates an EBOOT.PBP.


The project renders the text using SDL_ttf by default, but there are similar pixmap fonts available that can be enabled by selecting FONT_USE_PIXMAP instead of FONT_USE_SDL_TTF in the Makefile.

You may want to use the pixmap fonts if the target platform...

  • uses a lower resolution or has a smaller screen (pixmap is crisper).
  • would benefit from the speed advantage of rendering simple pixmaps.
  • doesn't accept the Bitstream Vera Fonts licence LICENSE-ttf.
  • doesn't have (or can't locate) the SDL_ttf library or devel package.


There is support for music which can be enabled/disabled by [un]commenting the line MUSIC=-DHAVE_MUSIC within the Makefile (please see the README for more information about configuring music).


There is support for a mouse driven level designer which can be enabled/disabled by [un]commenting the line DESIGNER=-DHAVE_DESIGNER within the Makefile (please see the README for more information about the level designer).

Porting to Other Platforms

The build system and this project have been designed to make it as easy as possible to port to other platforms and devices. The source code has official support for Win32, PC (Linux desktop), GPH GP2X, Sharp Zaurus, Maemo 5 Fremantle and the Sony PlayStation PSP. Platform dependent code is wrapped in PLATFORM_WIN32, PLATFORM_PC, PLATFORM_GP2X, PLATFORM_ZAURUS, PLATFORM_FREMANTLE and PLATFORM_PSP compiler directives respectively, so initially you'll want to append these #if #elif... #endif conditional groups with a suitable directive for your platform and either copy and paste the code from one of the others or add your own.

This project will run centred in any resolution greater than 240x240 via the -XRESxYRES command line option, therefore it can be run on anything from a portrait orientated mobile/cellular phone to a widescreen internet tablet or netbook without having to reengineer the graphics rendering code.

section Links