section About


ENG (ENG is Not a Game) is a cross-platform event/object based C and SDL engine designed to manage many common application subsystems.


  • Initialisation, management and reconfiguration of an application's operating environment
  • Command line option management
  • Configuration file(s) data storage and retrieval
  • Plain text file object definitions and image declarations
  • Loading, the creation and freeing of objects and attached images
  • Objects represented as linkable rectangles with some inheritable properties
  • Object colour filling, image attaching and opacity for different events
  • Effects that can be paused, unpaused, finalised and terminated
  • A virtual mouse pointer with several operational modes
  • Standard object events such as over, out, press, release, click and drag
  • Engine events such as cycle, post load objects, post effect, quitting and shutdown
  • Wrapped/unwrapped proportional/fixed width text writing to object images
  • Extensive error checking and reporting with progress reports via standard out


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


GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 (->)

section Screenshots


Showing the Tetravex and ASCII text file reader example programs at 640x480.


And again at 320x240 (note fps object being dragged using the virtual pointer).


section Help

See the project's wiki or support page.

section Downloads


In a console type: svn co eng


section ChangeLog

0.0.1 - 2009-03-22

  • Initial stable release

section Compiling

Desktop Linux

Firstly make sure that you have the necessary devel libraries installed 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 ENG runs from the installation folder. If you wish 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

Sharp Zaurus

Type "make -f Makefile.zaurus". This creates an ipk.


Type "make -f Makefile.gp2x". This creates a tarball.

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. It is possible that you can use any of the existing platform targets as a template which you can copy and modify to meet your specific requirements.

section Links