The Frank Engine

Posted by
December 4th, 2012 10:22 am

Howdy, Ludum Dare people! I’m an indie developer and I’ve been working on an opensource 2D game engine for a few years now called The Frank Engine. After being in the industry for over 10 years and working on so called “triple a” games with crippling iteration times and garbage code I decided to build my own dream engine from scratch in C++. One of the biggest problems with mainstream games is they focus too much on the final result and not enough on whether development process itself is fun. I wrote my engine so I could have more fun developing games in my spare time while also making faster progress. My philosophy is that a clean system with fast iteration is the key to having a fun process, and if the process is fun then chances are final result will be too.

It has some cool features like an integrated level editor, streaming worlds, dynamic lighting, Box2d physics, sub frame interpolation, a debug console, ogg vorbis music etc. So far it has been used for 3 Ludum Dare comps and several other projects. Probably the biggest project so far is “Faster Blaster” a Metroid/Blaster Master mashup. I plan to use it for Ludum Dare 25 and you can too if you want. Feel free to copy parts of it an use them in your own engine like my half life style debug console, it’s all fully open source!   Here are some links where you can get more info and video…

Tags: , ,

5 Responses to “The Frank Engine”

  1. michax says:

    Wow, great list of features! And Open Source :) Very kind of you. Thanks!

  2. More like the Franklengine. Amirite? Nyuk nyuk nyuk.

    But seriously this is tight. What’s streaming worlds and sub frame interpolation?

    • By streaming worlds I mean that the physics and objects are only active when they are in a window around the player. This allows worlds to be of unlimited size, most open world games use a similar method of streaming the world as the player moves around.

      Sub frame interpolation is a technique where the game is updated at a fixed rate and an interpolated image is shown so it will look smooth at any refresh rate. This also allows time to be slowed down without messing up the simulation or looking choppy.

  3. Cake&Code says:

    It does look incredible!

    How hard would it be to deactivate certain features? For instance, I noticed that the timescale would also affect the audio timescale, let’s say someone didn’t want that. How much effort would it be to deactivate it? Would it require editing the actual code where timescale is modified or would there be a settings file with something like an integer or boolean that could be changed?

    I might just pick it up when school work dies down and see what fun things could be done with it 😀

    Did I mention how awesome you are? No? Irrefutably super-duper awesome.

    • Thanks! Some features are more customization then others, basically I add stuff when it is needed. It would take me less then a minute to add a toggle setting for the audio time scale effect. For someone new to the code base I’d imagine it would take a bit longer but it would be a good learning exercise. There is also a debug console that already has a lot of commands to customize stuff and a script that gets piped to the console on startup.

Leave a Reply

You must be logged in to post a comment.

[cache: storing page]