Flame needs a more complete minimal physics engine

Aperta
#3,418 9 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
28/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
dart
Ambito
game-dev

Direzione di ricerca

L’issue non indica file né test; inizia esaminando il sistema integrato di rilevamento delle collisioni di Flame e il comportamento proposto di bump.lua. Determina il design e l’API necessari per lo spostamento degli AABB, le reazioni slide/cross/bounce/touch e il rectangle casting, verificando il completamento rispetto alle capacità della wishlist indicate.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

enhancement
Problem to solve

There is no physics engine that available for Flame that has enough features to make implementing platformer physics easy.

Proposal

Flame needs a physics engine akin to bump.lua. That implements moving objects and performing [slide, cross, bounce, touch] reactions when moving an AABB from one spot to another. This is not available with Flame's built in collision detection and bringing in box2d is overkill and not good for many types of games (like platformers). FWIW I tried to leverage the existing collision detection system to implement slide and I came to the conclusion it would just be easier to implement my own physics.

Wishlist:

  • slide collisions (like bump.lua's move with "slide")
  • rectangle casting (like bump.lua's check)
More information

No response

Other
  • Are you interested in working on a PR for this?
Lingua principale
Dart
Stelle
10.8k
Fork
1.1k
Merge medio
1g 21h
PR unite (30g)
62

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di flame-engine/flame

Tutte le issue di flame-engine/flame

Issue simili

Altre issue su Dart

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.