game design, code, writing, art and music

English По-русски

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.