1.0.3 • Published 2 months ago

create-warme v1.0.3

Weekly downloads
-
License
MIT
Repository
-
Last release
2 months ago

WARME Engine (Web Against Regular Majors Engines)

Drag Racing Drag Racing

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 dev

How 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 = +x

Contributions

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!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b new_feature)
  3. Commit your Changes (git commit -m 'Add new feature')
  4. Push to the Branch (git push origin new_feature)
  5. Open a Pull Request

Contributors

  1. Crisxzu - Contribute to the Wiki and typedoc converter.
  2. zuda - Contribute to Triple Triad demo.
  3. luciedefraiteur - Contribute to the fog.
  4. 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.

1.0.3

2 months ago

1.0.2

2 months ago

1.0.1

2 months ago

1.0.0

5 months ago