GithubHelp home page GithubHelp logo

qhdwight / voxel-game-rs Goto Github PK

View Code? Open in Web Editor NEW
93.0 3.0 3.0 536 KB

Voxel game written in Bevy making heavy use of WGSL compute shaders

License: GNU General Public License v3.0

Rust 66.38% RenderScript 19.78% WGSL 13.84%
rust bevy data-oriented-design ecs entity-component-system voxels marching-cubes compute-shader wgpu game-development

voxel-game-rs's Introduction

Voxel Game Powered by Bevy

Rust

Hello! This repository is my playground for learning the Bevy engine written in Rust ๐Ÿฆ€. Physics is powered by the Rapier plugin.

Features

  • Marching Cubes compute shader to polygonize a scalar field (this means ~1 ms 32x32x32 chunk generation on i9 + 1080 Ti!)
  • Source engine inspired movement, allowing air strafing and bunny hopping

Demo

Movement.mp4

voxel-game-rs's People

Contributors

qhdwight avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

voxel-game-rs's Issues

Update to Bevy 0.7

  • Still waiting on Rapier plugin to be updated
  • Use Bevy to make compute shader instead of doing manualy

License

Hello @qhdwight , would you mind adding a license to your project?
I also want to implement marching cubes to use it with Bevy and in my opinion it's better not to reinvent the wheel. I've been looking for a long time and I believe you are the first one to share publicly the it's implementation with WGPU and Bevy.

Separate worlds for logic and visuals

Often times in multiplayer games we are displaying players that are different from the logical ones, usually due to interpolation or what not. Separating logic and visuals into two different worlds would make this way easier. It would also allow for easy demo viewing etc.

main ECS world (logic) ----extract----> visual ECS world ----extract-----> render world

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.