YUME
The 3D adventure game engine
YUME (夢, meaning "dream" in Japanese) - a 3D game engine that I created from scratch using Haxe, C++ and OpenGL for personal use in my future games, starting with Speebot.
I built this engine instead of using an existing one, mainly because I want to have control over my code, and more importantly - over my workflow of designing games. You can read more about my reasons in this post.
This engine is not open-source or available for sale.
Features
YumeScript language
A custom scripting language that can be used to quickly and painlessly create scenarios for adventure-style games.
Hotloading workflow
Ability to update and test maps, models, scripts, textures, sounds and other assets while the game is running.
Custom model formats
Custom file formats for models, skeletal animations and maps.
Map builder
Create and immediately test game levels using a built-in editor.
OpenGL 3.3
YUME employs an OpenGL shader-based rendering pipeline, and is supported by a wide array of graphics cards.
Fast 3D and 2D graphics
Efficient rendering of both 3D and 2D object hierarchies.
Bitmap font generation
Automatic generation of bitmap fonts for fast text rendering.
Static batching
Static world geometry is automatically combined into big meshes to reduce GPU draw calls.
Texture atlas generation
Textures of batched static objects or other grouped objects are automatically combined into texture atlases.
Variable framerate
Variable and configurable framerate keeps the game speed stable on any machine.
Lighting
Ambient lights, directional lights, point lights and spot lights.
Dynamic shadows
Objects cast and receive shadows in real-time.
Reflections
Support for real-time reflective mirrors and water surfaces.
Robust 3D sound
Utilizing OpenAL for high quality stereo audio.
Physics
Simple, but fast and accurate physics for game objects with configurable properties.
xInput, DirectInput and Steam Input controllers
Support for most game input devices out there.
UI framework
Flexible menus, buttons, labels, dropdowns, sliders and input fields. Smart UI positioning and resizing.
Configurability
A lot of the graphical features of YUME can be configured and adjusted by the player to improve the game's performance on weaker machines.
Games powered by YUME
Citadelic, 2023
A base building and defending strategy game with roguelite elements. Survive against waves of constantly evolving enemies while expanding your base and managing resources.
Pilie Pals, 2021
Lead a group of adorable creatures known as Pilies and help them climb and stack their way to the goal in this unique and family-friendly puzzle game!
Phantom Path, 2020
Explore the ruins of a lost ancient city, uncover the mystery of its esoteric technology, and claim its incredible treasure as your own.
Speebot, 2017
It's the rolling and hopping robot adventure! Speebot is a 3D platformer game featuring 200 levels, 4 worlds, a custom level editor, and plenty of side content. This is the first game that's powered by my engine YUME.