Game engines and frameworks that I made
In my game developer professional carrer, I built/modified/maintained 4 engines until now.
The first one was made when I worked at Hoplon Infotainment. It was a GUI Engine for the game Taikodom and it makes possible to draw Swing components inside an OpenGL context. Taikodom has a very complex GUI and Swing has a lot of them. At the beginning I was a member of the team, but soon I was the main developer (sometimes the only) and the official game GUI maintainer. It took a lot time and resources, but was a great project. No one had made this merge between Swing and OpenGL before and sometimes we almost give up because things seems impossible. But here we had a strong leader that help us not just with your leadership, but also with your great programming skills. I was a junior programmer at that time and learned a lot with this project, since I had to dig very deep inside Swing code and see how things was really working.
The second one was Bitverse Unity GUI, another GUI engine made inside Hoplon for the game Taikodom Living Universe. It is an engine that makes possible to edit GUI components inside Unity3D editor, with drag and drop and properties edition like a normal scene. Besides, the engine extends the built-in GUI system and have a lot of components to make simple or complex game GUIs. In this project, I was the main developer since the beginning (and most of the time the only one) and used my previous experience to make almost all the components (and continue to maintain the game GUI). Here I worked side by side with the GUI designers and made the editor easy enough and the components the way they are most because of them and the Taikodom requirements.
Tired to make GUI engines, I made the third one from the scratch. It was a ActionScript 3 game engine that I simply called GameLib and was the only developer. At the beginning, it should be just a bunch of libraries to make games easier. But it grew up and became into an engine despite my effots to not make it. Only one game was released with this engine: Hex-B (with its mobile version). There was another one, called Retrocharada for the site Retroplayers, but it’s not online anymore. I learned a lot with this project and one of the most important was “never create a game engine from the scratch if you don’t have the time to do so”.
The last one is my favorite and is a modified version of the great (but dead) PushButton Engine, an Action Script 3 game engine that uses Entity-Component system (like Unity3D). My efforts in this project was in performance issues and lack of a GUI system. I’ve made a lot of deep modifications to make the engine more quick and created a GUI and an input system that can be made/configured with the level XML of the original engine. I’ve released about 17 games with this engine until now (each one with its browser and mobile versions), most of them to the gaming industry. But in the list we have a serious game, a non-game application and I know that a company that I used to work still use it to make their online/mobile games. Now the PushButton Engine project is sadly dead, but I still use this engine in my current work because of its extensibility.
Right now I’m planning to make a new framework in Action Script 3. It’ll be based on the Starling Framework to render things faster and some other great frameworks that I found. My plan is to just make all things work together with focus in performance, simplicity and easiness. Right now, I’m making some tests to see if this project will worth it.