[Manual Update Information]:
All information has not been updated to the latest. We will update the information and contents of this page as needed.
- [Dec. 02, 2023] With the release of Ver. 1.0, Shadow mapping has been added.
- [Dec. 20, 2023] With the release of Ver. 1.0, Behavior tree has been added.
- [Nov. 22, 2023] With the release of Ver. 1.0, 2D fighting game artificial intelligence has been added.
About WARME Engine Wiki†
WARME is a pur and open-source WebGPU game engine written in Typescript.
It is a complete and cross-platform solution to build desktop/mobile games with high performance.
This engine wrap the web stack to serve one goal, make kewl games with a sweet coding style !
Some words about our philosophy:
- Simplicity: We used only simple and efficient methods coming from the industrie for nearly two decades.
- Flexibility: Create your own renderers. Handle rendering and update loops.
- Modularity: We used modular architecture to keep things simple and separate.
You can check the documentation on this wiki.
For a more concret overview on it, you can play examples here and check the demo source code here.
General Features†
- 🧱 Core
- Math
- Tweens
- Events manager
- 👾 2D
- Static sprite
- Animated sprite
- Isometric tilemap
- Orthographic tilemap (with animations)
- Particles system
- 🧊 3D
- Debug mesh
- Static mesh (jsm, obj)
- Animated mesh (jam)
- Static sprite
- Animated sprite
- Billboarding
- Cubemap Skybox
- Mover
- Particules system
- Flares
- Fog
- Vertex colorization
- Decals
- Shadow map
- Extendable pipeline
- 📐 3D Physics
- Walkmesh
- Navigation mesh
- Ray testing
- 💥 3D Material
- Phong reflection model
- Displacement texture mapping
- Normal mapping
- Env mapping
- Specularity mapping
- Texture scrolling
- Animated UV
- 🌞 3D Light
- Directional light
- Point lights (max: 16)
- 🎮 Input
- Action mapping
- Gamepad & keyboard support
- 🧠 AI
- A* for 2D/3D with graph and grid
- Min-max with alpha-beta pruning
- Behavior tree
- 📺 Screen
- Navigate between different view of your game
- Resources pre-loading
- 📜 Scripts
- Register async command function and call-it from script file
- Manual jump to part of script
- Some basics commands
- 🔊 Sound
- Handle sounds by groups
- Play multiple sounds at same time
- 🎨 UI
- Component architecture to keep project clean and scalable
- Handle focus/unfocus between components
- Fade in/out
- Some basics built-in components
- 🌆 DNA
- ECS architecture implementation (optionnal)
Some parts taken for this work†
- Use DOM for UI elements
- Use CanvasRenderingContext2D for 2D stuffs
- Use human readable custom format for all graphics stuff
- No glTF support, we don't want to support the rendering techniques used by this format (BSDF, Skinning, etc...)
- No realistic physics engine, we assume if you need one there is many pretty lib for that like ammo.js, plank.js or canon.js
Licence†
WARME Engine is released under the MIT license.