[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.13] Cylinder collision added.
- [Ver. 1.1.12] Fix and optimize jnm.
- [Ver. 1.1.10] Some stuffs added to fps demo.
Presentation†
WarmeY2K 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.
- Performance: We used WebGPU API for a blazing fast rendering.
- Lightweight: The lib minzipped size is just 73 kB (1Mb with Rapier2D & Rapier3D).
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 (jtm)
- Orthographic tilemap (jtm, sprite fusion)
- 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 shadowmap
- Multi-viewport
- Camera orbit
- Camera WASD
- Auto mipmap
- Post-process rendering (gbuffers: depth/normal/ids)
- Rendering filters
- 📐 3D Physics
- BoundingBox
- BoundingCylinder
- Walkmesh (jwm)
- Navigation mesh (jnm)
- Ray-testing
- Rapier3D
- 💥 3D Material
- 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...)
- Blender is the default editor choosen for modeling
- SpriteFusion is the default editor choosen for tilemap
Licence†
MIT License
Copyright (c) [2022] [Julien Rongiere]
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.