Been a long time since I've done any game dev posts, let alone one on a game engine.
Today we're highlighting an engine that you might not have heard of, but looks very interesting and one you can build some amazing games with...
The Godot Engine was originally an in-house tool developed by OKAM Studio for their commercial projects, but they released it free and open source under the MIT License in February of last year. They've kept fairly quiet about it until recently, growing their community by word of mouth while working on improving it, and released a stable 1.0 build last month.
The Godot Engine has editors available for Windows, Linux, and OSX. It can be used to create both 2D and 3D games, though whereas an engine like Unity accomplishes 2D using a 3D environment, Godot has separate 2D and 3D base engines. Godot supports a Python-based scripting language designed especially for games and allows the engine itself to be extended using C++. Other features include animation tools and built-in debugging.
Godot is an advanced, feature packed, multi-platform 2D and 3D game engine. It provides a huge set of common tools, so you can just focus on making your game without reinventing the wheel.
Godot is is completely Free and Open Source under the very permissive MIT License. No strings attached, no royalties, nothing. Your game is yours, down to the last line of engine code.
Use Your Eyes:
Work inside a simple, yet flexible and feature rich editor, with tools popping up to aid you when needed.
- Uncluttered UI, where most tools are context-sensitive.
- Huge amount of tools to aid you and your team in content creation.
- Editor designed not only for programmers, but for artists,animators, level designers, graphic designers, game designers, etc.
- Built-In documentation browser and code editor to avoid distractions.
Develop games using your favorite operating system:
- Godot works on Windows, OSX and Linux.
- Editor runs in 32 and 64 bits, in all platforms.
- Small download (around 20mb), and you are ready to go.
- Easy to compile yourself (no dependency hell).
Develop games for your favorite platforms:
- Mobile Platforms: iOS, Android
- Desktop Platforms: Windows, OSX, Linux
- Web Platforms: PNaCL
- Consoles: Playstation 3 and Playstation Vita (only with license from Sony)
- Upcoming (not stable yet): HTML5 and Windows Phone.
- One Click Deploy & Export to most platforms. Easy to create custom builds too.
Develop 2D Games:
Create complex 2D games with the fully dedicated 2D engine.
- Dedicated 2D engine, no need to fake 2D in 3D space.
- Work in pixel coordinates, but resize to any screen resolution.
- Support for sprites, animated sprites, polygons, parallax, layers, advanced particle system, etc.
- Custom physics & collision engine that works in pixel coordinates.
- Powerful animation editing capabilities, including cut-out, bone rigs, etc.
Develop 3D Games:
Create realistic looking 3D games with the dedicated 3D Engine.
- Import 3D models from Max, Maya, Blender, etc. with full animation.
- Supports skeleton deforms and blend shapes.
- Several light types, with shadow mapping.
- Flexible shader & material models.
- Render with HDR, anti aliasing and linear color modes.
- Post process fog, glow, bloom, color adjustment, etc.
Design User Interfaces
Create simple or complex user interfaces, adapted to your needs.
- Powerful GUI library, dozens of controls are available as engine nodes.
- Entirely visual GUI editor, design first and then fill the bits of code.
- Create beautiful game UIs with simple, skinnable controls.
- Create tools and game content editors using advanced controls.
- Skinnable OS-like controls, for sim games, RPGs, MMOs, etc.
- Customize your own controls, by implementing input and draw functions.
Script & Hack
Add custom behaviors to any object by extending it with scripting.
- Python-based scripting language, designed to make games.
- Efficient design for memory allocation (no GC stalls or leaks).
- Built-In script editor with syntax highlighting, real-time parser & code completion.
- Integrated debugger.
- Integrated class reference browser.
- Friendly C++ API to optimize parts of the game or extend any part of the engine.
Godot has a unique and modern architecture. When you get used to it, everything else feels obsolete.
- Design language based on nested scenes.
- Allows organizing small and large projects efficiently.
- Any part of a game that can be named can become a scene.
- Subdivide scenes to improve teamwork.
- Re-use scenes as part of other scenes.
The animation system in Godot is one of the most advanced in existence.
- Animate 2D or 3D.
- Any property of any object can be animated, even function calls.
- Use custom transition curves and tweens.
- Helpers to animate 2D rigs, with skeletons and IK.
- Efficient optimizer to pack imported 3D animations.
- Animation Tree support for fluid character animation.
Godot has a custom physics engine designed for games.
- Dedicated 2D and 3D physics engines, which use the same API.
- Several types of collider shapes supported.
- Flexible KinematicBody implementation, for 2D and 3D.
- KinematicBody allows to use collision detection in a flexible way, without physics.
- Advanced DynamicCharacter for characters that need full, transparent physics integration.
- Several types of constraints available, including Vehicle Simulation.
Fix and optimize your game with the built-in debugger.
- Source level debugger, with breakpoints, inspector, backtraces, etc.
- Stepper with real-time inspection of variables.
- Performance analyzer, with dozen of metrics available.
- Ability to debug scripts of games running on external devices.
- Remote filesystem support, for quick testing of large games on devices.
- Alternative command-line debugger, for unix hardcores.
Work alone or work in a team:
- Godot is designed from the ground as a teamwork tool.
- Filesystem usage is friendly to popular VCSs (such as Git, Subversion, Mercurial, PlasticSCM, Perforce, etc).
- Script syntax supported by GitHub.
Best of all it's free and open source!
Compiling from Source
Compilation instructions for every platform can be found in the Wiki: https://github.com/okamstudio/godot/wiki/advanced