# 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 - [x] Basic menu - [x] 3D rendering - [ ] Resources - [ ] Textures (partially done) - [ ] Sounds - [ ] Models (as JSON) - [ ] Physics (have to decide which engine to use) - [ ] Settings - [ ] Video - [x] Field of View - [ ] Lighting - [ ] Audio - [ ] Sources - [ ] Channels (Mono, Stereo or Surround if supported) - [ ] Input (keyboard/mouse, touchscreen and gamepad) - [ ] Sensitivity - [ ] Keys - [ ] Networking - [x] 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](mailto:x3f200c@protonmail.com) or using any other contact information that can be found on [my main website](https://x3f200c.net/). - [Three.JS](https://github.com/mrdoob/three.js) under the MIT license, used for rendering worlds (and its GLTF loader for future work) - [Cannon ES](https://github.com/pmndrs/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](https://github.com/kripken/ammo.js) under the ZLib license, used to simulate physics in worlds - [FFlate](https://github.com/101arrowz/fflate) under the MIT license too, used to compress and decompress ZIP files (saving and loading worlds) - [Matrix JS SDK](https://github.com/matrix-org/matrix-js-sdk) under the Apache 2.0 license, used for networking (multiplayer, uploading, downloading worlds from the Matrix network) - [PeerJS](https://github.com/peers/peerjs) under the MIT license, will be used for alternative networking - [Olm](https://gitlab.matrix.org/matrix-org/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)