Background

We’ve been making engines since we started making games, because of many reasons. Back then there were no general purpose engines (most were for FPS games), and our first big project was an MMORPG (Regnum Online, around 2003), so we had to use a custom engine. Also at that time the Video Game industry in Argentina was virtually non-existent, and we always thought it was important for our industry to have a good footing on all parts of game development, including the engine. The need for this particular version, which became Godot, came in 2007 when we saw that the hardware landscape was changing, CPU cores were multiplying, and also lower end devices would become more relevant, so we needed something that would work from the iphone and PSP to the PS3 (back then the 2 ends of the hardware-weirdness spectrum ;). So we decided to start this version of the engine.

Difference between 2D and 3D

They are different, but a 3D game will need to have a good HUD and menus, and a 3D engine will need to have a good editor. Tools and workflow are very important for an engine, and being able to run our editor on top of our engine makes it more portable (people love to run the editor on Linux ;-), and a good way to test a lot of the engine features, just by forcing your team to use it through the editor. So having our own UI toolkit made sense, and having good 2D support was just a logical continuation to that.