• Register

X-framework is an in house developed engine developed by Ironcode Gaming which was based of pop-cap framework. Its multi-platform and uses SDL Libraries. Its 2D Hardware accelerated engine which is available on Windows, Linux, Mac, iOS, Android and Windows Mobile.

  • View media
  • View media
  • View media
  • View media
  • View media
  • View media
Post article RSS Articles

The Heart of the engine


The Heart of the Engine

The engine was based on Directx 7 and used the Win32 API for OS dependant tasks. On iOS and Android obviously the DirectX and Win32 APIs doesn’t exist. Trawling through the source code, we realised that we were facing the prospect of re-writing several major subsystems:

  • Window Management
  • Event Handling
  • Interfacing with the Audio Device
  • Displaying images/graphics via OpenGL
  • Loading Textures, Sound, Music
  • File Handling

And so on.

This was pretty much looking like a total engine re-write. Not wanting to do that, we looked for low level libraries to do most of these things for us.

Having the source code for the library was an important requirement.

If you don’t possess the source code to your engine then your game is effectively controlled by the engine developer. Whether your game will be available on a platform is a decision in the hands of engine developer, not yours. It gets even worse if middleware is thrown in the mix.

Sometimes this is not an issue, when the engine is already ported to all the platforms you need. At other times it can be a real showstopper.

We evaluated a lot of 3rd party libraries for this, and eventually decided on SDL. This was probably before Valve had decided to port Steam to Linux. At least it wasn’t known to us that something like this is in the offing. SDL1.3 at the time was still alpha, and not ready for prime time. It also seemed that development work on SDL was faltering.

However, SDL supported iOS, and with a little work, Android. It was also open source, under zlib license. Further, we felt that if there were any issues remaining, it would be relatively easy to fix them given that we had access to the code.

But the real reason we liked SDL (and rejected the other libraries) was the elegance of the API. SDL has one of the best designed 2D APIs we have seen. The transition from SDL1.2 to SDL 2 has hurt the elegance of the API a bit, but only a little.

This turned out to be a good decision. It proved to be relatively easy to replace the PopCap Framework internals with SDL. Despite its beta nature, we had no SDL related crashes. There were some minor issues, but those were easily fixed. The development on SDL suddenly picked up, and we later learnt that valve was behind this. It turned out that steam on linux was using SDL.

It was a great moment when the first of the engine demos started working on windows! Everything in the demo looked exactly as before, but underneath the hood everything had changed! The demos, intended as a tutorials for the first time users, also served as test cases for us. In a matter of days we made all the demos work.

Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.

Follow Report Profile
Ironcode Gaming
Send Message
Release date
Engine watch

Latest tweets from @ironcode_gaming

A wholesome serving of adventure and Match-3. The Ironcode Bundle is live on steam: Store.steampowered.com Take a… T.co

Jan 24 2020

Legend has it that the Tower of God was climbed in past. Once. Store.steampowered.com #indiedev #indiegamesT.co

Jan 20 2020

Tower of God is here! Now climb. Store.steampowered.com #gamedev #steamgame #indiedev #gamedev #indiegame

Jan 18 2020

RT @theburkhead: My love for point and click adventure games has never really faded. These are probably my favourites out of the one… T.co

Jan 17 2020

RT @ReviewFixPat: RT! The Minds Behind Adventure Games is now available! Stories behind great games from @megacatstudios @FDG_GamesT.co

Jan 17 2020

RT @Akien: Enfin ! The first Release Candidate for #GodotEngine 3.2 is out! Over 6000 commits by close to 450 contirbutors, th… T.co

Jan 17 2020

When you were a kid, you saw the tower. Grew older, you saw it, on your wedding, you saw it. And now you want to c… T.co

Jan 17 2020

RT @Ironcode_Gaming: Soon. Soon. On 17th Jan, 2020 The Tower of God will open its gates, and you can climb it. Meanwhile, you can wishl… T.co

Jan 15 2020

Soon. Soon. On 17th Jan, 2020 The Tower of God will open its gates, and you can climb it. Meanwhile, you can wishl… T.co

Jan 14 2020

Tower Of God launching on 17th January on #Steam. Wishlist it here: Store.steampowered.com #Gamedev #indiedevT.co

Jan 11 2020

Embed Buttons
Link to X-Framework2 by selecting a button and using the embed code provided more...
529 of 823
402 (1 today)
Last Update
You may also like
Raycasting Game Maker
Raycasting Game Maker Public Domain
PhyreEngine Commercial
Godot Engine
Godot Engine MIT
Xash3D Engine
Xash3D Engine GPL
Leadwerks Game Engine
Leadwerks Game Engine Commercial
Construct 3
Construct 3 Commercial