[Manual Update Information]:
All information has not been updated to the latest. We will update the information and contents of this page as needed.
- [Ver. 1.1.5] Export as npm module is added.
- [Ver. 1.1.1] Outline post-process effect added.
- [Ver. 1.1.1] Normals, id and depth rendering buffer added.
- [Ver. 1.1.1] Object pooling added.
- [Ver. 1.1.0] Move physics to dedicated folder and redesign JNM.
- [Ver. 1.1.0] Rapier has been added.
- [Ver. 1.0.3] Playstation one post-process effect has been added.
- [Ver. 1.0.3] Post-processing effects has been added.
- [Ver. 1.0.3] Camera WASD has been added.
- [Ver. 1.0.3] Camera orbit has been added.
Presentation†
WARME Y2K is a fully packed 2D/3D game engine dedicated to Y2K games on the web !
Some words about our philosophy:
- Robustness: We used only simple and efficient methods coming from the industrie for nearly two decades.
- Flexibility: Create your own renderers. Handle render and update loops.
- Modularity: We used modular architecture to keep things simple and separate.
- Modernity: We used WebGPU API for a blazing fast rendering.
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.
Features†
- 🧱 Core
- Maths
- Tweening
- Events
- Curves
- Quaternions
- Object pooling
- 👾 2D
- Static sprite (jss)
- Animated sprite (jas)
- Isometric tilemap
- Orthographic tilemap
- Particles
- Rendering filters
- 🧊 3D
- Debug shapes
- Static mesh (jsm and obj)
- Animated mesh (jam)
- Static sprite (jss)
- Animated sprite (jas)
- Billboarding
- Cubemap skybox
- Particules
- Flares
- Fog
- Vertex colorization
- Decals
- Realtime shadow support
- Multi-viewport
- Camera orbit
- Camera WASD
- Post-processing support
- Rendering filters
- 📐 3D Physics
- Walkmesh (jwm)
- Navigation mesh (jnm)
- Ray-testing
- Rapier3D
- 💥 3D Material
- Complete Phong reflection model
- Displacement texture map
- Displacement texture scrolling
- Diffuse map
- Specular map
- Emissive map
- Normal map
- Env map
- Texture scrolling
- Animated UV
- Specular shininess
- Emissive intensity
- Normal intensity
- 🌞 3D Light
- Directional light
- Point lights (max : 16)
- 🖼️ 3D Post-processing
- Outline
- Hardware dithering
- Pixelation
- Color depth limiting
- 🎮 Input
- Action mapping
- Gamepad, keyboard and mouse support
- 🧠 AI
- A* for 2D/3D with graph and grid
- Min-max with alpha-beta pruning
- 📺 Screen
- Navigate between different view of your game
- Resources pre-loading
- 📜 Scripts
- Load script from json file
- Register async command function and call-it from json file
- Manual jump to part of the script
- Command primitives like: WAITPAD, GOTO, GOTO_IF, EXEC_IF, VAR_SET, VAR_ADD, VAR_SUB, DELAY
- 🔊 Sound
- Handle sounds by groups
- Play multiple sounds at same time
- 🌳 Tree
- 2D binary space partition
- 3D binary space partition
- 🎨 UI
- Focus/unfocus widgets
- Fade in/out
- Widget architecture
- 🖍️ UI Widgets
- Dialog + choices
- Dialog only
- Print long text
- Description list
- Virtual keyboard
- Slider
- Menu base
- Menu list view
- Menu text
- Prompt
- Sprite
- Text
- 🌆 DNA
- ECS architecture implementation
Some parts taken for this work†
- DOM for UI elements
- CanvasRenderingContext2D for 2D stuffs
- Human readable custom format for all graphics stuff
- [Rapier](https://rapier.rs/) for both 2D and 3D physics engine
- No glTF support, we don't want to support the rendering techniques used by this format (BSDF, Skinning, etc...)
Licence†
WARME Engine is released under the MIT license.