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.