About WARME Engine Wiki†
WARME is an open source realtime 2D/3D game engine based on WebGPU.
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.
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
- Animated mesh
- Static sprite
- Animated sprite
- Billboarding
- Cubemap Skybox
- Mover
- Particules system
- Flares
- Fog
- Vertex colorization
- Decals
- Shadow map
- 📐 Physics
- Walkmesh
- Navigation mesh
- Ray testing
- 💥 Material
- Phong reflection model
- Displacement texture mapping
- Normal mapping
- Env mapping
- Specularity mapping
- Texture scrolling
- Animated UV
- 🌞 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
- Handle different screens of your game
- 📜 Scripts
- 🔊 Sound
- Handle sounds by groups
- Play multiple sounds at same time
- 🎨 UI
- Component architecture to keep project clean and scalable
- Some basics components
- Text
- Menu
- Menu list view
- Prompt
- Static sprite
- Dialog
- Dialog with choices
- Story print
- Slider
- Virtual keyboard
- Description list
- 🌆 DNA : Development normalized architecture
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.