RPM 1.0

Rapid Prototyping Mahyem 1.0

RPM (Rapid Prototyping Mayhem) is a 2D game engine I’ve been working on recently in my spare time.

I’ve been playing around with quite a few of the freely available Game / Multimedia libraries. and while these have come quite a long way in recent years, nothing really offered a solution that could allow a programmer to get up and running immediately.

I stumbled upon SFML a few weeks ago while searching for something I was going to use for an upcoming game jam.  The design and flow of objects, ease of use, and great (… very great) license really drew me in.  The only problem is, it’s a “multimedia library” (similar to SDL for those familiar with that) and as such is missing a few things that every game is going to need at some point.

This got me thinking, instead of just trying to write code for each of these jams (which are about making games and not “engines”) why don’t I just make a simple layer on top of SFML to make my life easier.  Of course, eventually once I’m happy with it I’ll release it here on this site (and if I’m ever truly happy with the code… maybe release the source here).


Notable Features and Tools:

  • Simple, fully featured UI system (with shortcut keys)
  • Event driven interactivity
  • Animation helpers and Object Pooling system
  • Sound Manager, wraps sound data, auto attenuates background music
  • Filtered Random Number Generator
  • Loot Drop Manager
  • Bounding Box based collision detection
  • PNG Texture / SpriteSheet packer


While I continue to work on RPM, feel free to follow the news posts on features and progress.  If there’s anything that hasn’t been mentioned, feel free to contact me or post a comment.  I’m always looking for ideas of new features to implement, some that are important to you could be valuable to many other game enthusiasts!

I do ask that you take a look at SFML’s Feature list first before you make a suggestion.  Most actual multimedia interaction is provided by that library.

Leave a Reply

Your email address will not be published. Required fields are marked *


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>