Project Description

The Entity Component System is Data-driven architectural pattern, using composition over inheritance (contrary to Object Oriented programming). It is used in complex systems such as simulators, games, and Fintech; where the projects specify an array of complex systems that are loosely coupled. Projects where one needs to horizontally expand and change the behavior of a small subset of systems knowing that there will be no unwanted behavioral change carried to others, while at the same time provide a way to expand functionality that can be reused by a big number of the systems.

A Flight Dynamic Model is a physics model for a flying object such as a plane. These models are present in flight simulators and games, and vary in accuracy and complexity: from simulating simple forces over a specificied wing area, using graphs from real wind tunnel experiments, to performing a virtual real-time wind tunnel against the shape of the aircraft, simulating propeller wash, ground effect, vortex effect, and others.

eXtended Position Based Dynamics is a novel approach (2020) to simulating physics that is both more performant and accurate than typical approaches.

Goal for this Hackweek

Implement the Flight Dynamic Model specified in "Physics for Game Developers, by Bryan Bywalec, David M Bourg", in an ECS. Particularly:

  • In the Bevy Engine. A performant and very ergonomic ECS engine, that provides massive parallelization for free, with a cache-friendly architecture for the resulting code.

  • Using bevy_xpbd: A physics library using the novel eXtended Position Based Dynamics, available for Bevy. XPBD is both more performant and accurate than other physics approaches. In addition, it supports variable time deltas, which could allow to simulate and reconcile the state of the world in a concurrent, desynchronized way.

Resources

Looking for hackers with the skills:

rust physics simulator xpbd bevy flightsimulation planes

This project is part of:

Hack Week 23

Activity

  • 6 months ago: vcuadradojuan started this project.
  • 6 months ago: vcuadradojuan added keyword "flightsimulation" to this project.
  • 6 months ago: vcuadradojuan added keyword "planes" to this project.
  • 6 months ago: vcuadradojuan added keyword "xpbd" to this project.
  • 6 months ago: vcuadradojuan added keyword "bevy" to this project.
  • 6 months ago: vcuadradojuan added keyword "simulator" to this project.
  • 6 months ago: vcuadradojuan added keyword "rust" to this project.
  • 6 months ago: vcuadradojuan added keyword "physics" to this project.
  • 6 months ago: vcuadradojuan originated this project.

  • Comments

    Be the first to comment!

    Similar Projects

    Create a new markup language with parser in rust by nkrapp

    Project Description

    Write a parser for my...


    (Rust) Manage systems in NetBox using NetBox-Sync by chock

    [comment]: # (Please use the project descriptio...


    Kanidm - Account Policy by firstyear

    Project Description

    Kanidm is a identity ...


    toniowm by fabriziosestito

    toniowm is yet another window manager written i...


    Waysettings by dspinella

    [comment]: # (Please use the project descriptio...