create-warme v1.0.3
WARME Engine (Web Against Regular Majors Engines)
 
WARME Engine is the first fully packed 2D/3D game engine dedicated to de-make games on the web !
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 render and update loops.
 - Modularity: We used modular architecture to keep things simple and separate.
 - Modernity: We used the WebGPU rendering API.
 
You can check the documentation here.
For a more concret overview on it, you can play examples here and check the demo source code here.    
General features
- 🧱 Core - Maths, tweening, events manager, container manager, curves, quaternions
 - 👾 2D - Sprite, isometric tilemap, orthographic tilemap, particles system, rendering filters
 - 🧊 3D - Debug shapes, mesh, animated-mesh, sprite, billboard, skybox, multiple-camera, mover, particules, flares, fog, vertex colorization, decals, shadow map, mesh pooling, rendering filters, psx post-processing effects
 - 📐 Physics - Walkmesh, navmesh, raytest, circle-circle, cylinder-cylinder, line-line, point-rect, rect-rect, point-box, box-box
 - 💥 Material - Phong, displacement-texture-mapping, normal-mapping, env-mapping, specularity-mapping, texture-scrolling, uv-animations
 - 🌞 Light - Directional light, multiple point lights
 - 🎮 Input - Action mapper for keyboard and gamepad
 - 🧠 AI - A* for 2D/3D with graph and grid, minmax with alpha-beta pruning
 - 📺 Screen - Handle different screens of your game
 - 📜 Scripts - Write game behaviors
 - 🔊 Sound - Sound manager built on the Web Audio API
 - 🌳 Tree - Binary Space Partition for 2D & 3D
 - 🎨 UI - Component architecture to keep project clean and scalable
 - 🌆 DNA - Development normalized architecture
 - 🈸 Demos - 19 real-life samples you can used to start a project
 
Demos
Getting started
You need to install nodejs. Once installation is done, you can clone the repository or use npx to build our first WARME project.
// create your awesome game project
# npx create-warme your_project_name
// now, you can start with
# npm run devHow to integrate your 3D models ?
You can used any software that export file in wavefront obj format like Blender, Crocotile, Elit3D or whatever. You can also simply used the WARME Blender Exporter. Important note: The Blender coordinate system and the engine don't match, see below the rule to translate. Don't forget to apply these changes when you export your obj file.
blender => engine
----------------
x = -x
y = +z
z = +y
----------------
forward = -z
up = +y
right = +xContributions
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
 - Create your Feature Branch (git checkout -b new_feature)
 - Commit your Changes (git commit -m 'Add new feature')
 - Push to the Branch (git push origin new_feature)
 - Open a Pull Request
 
Contributors
- Crisxzu - Contribute to the Wiki and typedoc converter.
 - zuda - Contribute to Triple Triad demo.
 - luciedefraiteur - Contribute to the fog.
 - thetinyspark - Contribute to the binary space partition.
 
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
 
License
WARME engine is released under the MIT license.