This is a guide for people willing to develop Rockbot in several platforms.
Packages needed:
- Qt Creator 2.0 beta1 or later: http://qt.nokia.com/developer/qt-qtcreator-prerelease
- SDL
- SDL_ttf
- SDL_image
- SDL_mixer
In Ubuntu, just type:
- sudo apt-get install build-essential libsdl1.2debian libsdl1.2debian-dev libsdl-image1.2 libsdl-image1.2-dev libsdl-mixer1.2 libsdl-mixer1.2-dev libsdl-ttf2.0-0 libsdl-ttf2.0-dev
Ubuntu normally ships with an old version of Qt Creator, download the newest from http://qt.digia.com/ and install it from terminal:
- chmod +x qt-creator-linux-x86-opensource-2.0.0-beta1.bin
- ./qt-creator-linux-x86-opensource-2.0.0-beta1.bin
Download source from this site, or from svn: https://svn.code.sf.net/p/rockbot-game/code/v1.
Now run Qt Creator and open the cpp_rockbot.pro file inside the rockbot (v1) folder you created, then the Rockbot_Editor.pro in editor folder, click on project button, check and change it to build folder or copy the build/data folder to where project is configured to be built into.
The qmake project cpp_rockbot.pro, contains a section with CONFIG flags to build for several platforms, if your computer have the corresponding SDK installed on it, just uncomment the desired one and comment out all the rest, run qmake again on the IDE and rebuild to have binaries for other systems.
- game is the game-engine that uses the SDL library
- editor is game data editor, that uses the Qt 4.X library
- editor/conversor is a command line utility used to copy game data to a new format, if needed
- build – contains binaries for game, editor and conversor, plus data files
- data – contains game data
- fonts – holds the ttf fonts used in the game
- game – holds game and stages data files
- images – hold all images, sprites and tilesets
- backgrounds – holds image files for backgrounds like menu and stage select
- faces – npc, character and boss faces and logos
- map_backgrounds – used for parallax effect or static background
- projectiles – sprites for the weapons and projectiles
- scenes – scenes for intro and storyline
- sprites – holds sprites for players, enemies and bosses
- backgrounds – for large NPCs, contains a static background used altogether with the sprites
- enemies – should be dropped, and all files must be in it’s parent folder
- objects – all object sprites
- tilesets – contains scenary tilesets and special effects animation (ready message, explosions) graphics
- music – holds mp3 background music files and it’s licenses notes
- sfx – holds wave sound files with sound effects
- packages – scripts for generating release packages for several platforms
- data – contains game data
- character – all classes related to players and NPCs
- docs – some information and game manual
- editor – contains the editor and conversor projects
- conversor – data conversion utility
- mainwindow_tab – individual components for each tab in editor
- resources – images and icons used in the editor GUI
- file – classes that handle file format (game data structure) and I/O
- graphic – some classes that handle showing graphics, menus, cursor and other visual elements
- objects – classes related to objects
- options – classes that hold and change game options
- ports – files that are needed by some particular systems/devices
- scenes – classes related to game intro, dialogs and ending
———————————————————————–
GRAPHICS FORMAT
———————————————————————–
Each tile (part that composes the tileset, used to render the background) have a size of 16×16 pixels.
A boss or stage enemy can have any width, but height must be multiple of 16 (16, 32, 48, etc)
The image files are in PNG format (with the given palette).
There is no need to separate parts for the sprites, we are using complete animation frames (each frame is the whole picture).
Boss/players faces are of size 32×32 pixels.
Some examples and a reference to our palette (in RBG). Please note that the last 3 colors are used for effects of color-cycling.