User Tools

Site Tools




Penjin 1) is an easy to use SDL 2D/3D game engine framework, with many features to help the developer. It provides objects to handle Sprites, AnimatedSprites and State handling, amongst other useful functions. Even if you are just starting out learning c++, we hope Penjin can help guide you on your learning process.

Many aspects of Penjin have come from lessons learnt in creating pkage. Improvements in handling States were made by looking at what the Atrox was doing right and also what it wasn't doing so good. Penjin also uses SimpleJoy to make cross platform input handling much simpler.

Work is being done to restructure the back-end and add different platforms and render targets(OpenGL ES 2.0, GX and Trenki's soft GPU). Penjin is also the final name to encapsulate the engine as a whole, 2D and 3D.


  • State Management - Each game state is a self-contained unit.
  • Variable sharing - You can pass values from one state to the next.
  • AnimatedSprites - Animation is handled automatically from either a spritesheet or single frames.
  • Sprite scaling and rotation - You just set the angle and the sprite rotates.
  • Sound and Music classes - easily Play/Pause and loop music and SFX.
  • Particle engine - with Sprite AnimatedSprite and pixel support.
  • Multi-platform support - Penjin is constantly being expanded to create a codebase that will compile and play on as many platforms as possible.

Splashscreen Images

Here are splashscreen images you are free to use in your games. Click for full resolution versions. 2)

Programming Guide

Here you'll find the online version of the Penjin Documentation.3) Programming Guide Index

Penjin Tutorial Videos

Projects That Use Penjin

Currently the following projects have used a version of Penjin:

If you have used Penjin in a project please update here.


Pirate Engine
Logo created by Astolat Creations
Note: Things are very much WIP at the moment.
You could leave a comment if you were logged in.
homebrew/engines/penjin.txt · Last modified: 2011/09/22 14:34 by pokeparadox