A voxel game based on OpenVoxelProject
Go to file
2023-08-24 18:36:44 -04:00
assets Add files from before the Git repository 2023-08-24 18:36:44 -04:00
data Add files from before the Git repository 2023-08-24 18:36:44 -04:00
lib Add files from before the Git repository 2023-08-24 18:36:44 -04:00
modules Add files from before the Git repository 2023-08-24 18:36:44 -04:00
plugins Add files from before the Git repository 2023-08-24 18:36:44 -04:00
.gitignore Initial commit 2023-08-24 14:58:53 -04:00
core.js Add files from before the Git repository 2023-08-24 18:36:44 -04:00
game.js Add files from before the Git repository 2023-08-24 18:36:44 -04:00
index.html Add files from before the Git repository 2023-08-24 18:36:44 -04:00
LICENSE Initial commit 2023-08-24 14:58:53 -04:00
main.js Add files from before the Git repository 2023-08-24 18:36:44 -04:00
menu.js Add files from before the Git repository 2023-08-24 18:36:44 -04:00
olm.wasm Add files from before the Git repository 2023-08-24 18:36:44 -04:00
package.json Add files from before the Git repository 2023-08-24 18:36:44 -04:00
preload.js Add files from before the Git repository 2023-08-24 18:36:44 -04:00
README.md Add files from before the Git repository 2023-08-24 18:36:44 -04:00

XVoxel-ASync

A voxel game based on OpenVoxelProject, it is able to run fully in a web browser.

Philosophy

My goal for this game is for it to be light, extendable, pluggable and easy to mod without too much nonsense.

  • Light, unlike heavy as other games
  • Extendable, even its core
  • Pluggable, so you can add your own additions
  • Easy to mod, with an upcoming modding interface made to be easy and efficient

Roadmap

  • Basic menu
  • 3D rendering
  • Resources
    • Textures (partially done)
    • Sounds
    • Models (as JSON)
  • Physics (have to decide which engine to use)
  • Settings
    • Video
      • Field of View
      • Lighting
    • Audio
      • Sources
      • Channels (Mono, Stereo or Surround if supported)
    • Input (keyboard/mouse, touchscreen and gamepad)
      • Sensitivity
      • Keys
  • Networking
    • Loading worlds
    • Saving worlds (implemented but unavailable in the menu)
    • Multiplayer

Acknowledgements

The libraries cited below are included in the "lib" folder for convenience, if you want your library's files removed from my project's, please kindly tell me via e-mail or using any other contact information that can be found on my main website.

  • Three.JS under the MIT license, used for rendering worlds (and its GLTF loader for future work)
  • Cannon ES also under the MIT license, not used yet, will consider switching to it in order to use less WebAssembly and more vanilla JavaScript
  • Ammo.JS under the ZLib license, used to simulate physics in worlds
  • FFlate under the MIT license too, used to compress and decompress ZIP files (saving and loading worlds)
  • Matrix JS SDK under the Apache 2.0 license, used for networking (multiplayer, uploading, downloading worlds from the Matrix network)
  • PeerJS under the MIT license, will be used for alternative networking
  • Olm under the Apache 2.0 license too, used for encryption support in networking
  • Improved Perlin noise (I forgot where I found it and what its license was)