2010-02-07 10 views
6

Welche von diesen würde ein Top-Down-Shooter besser passen?Farseer oder Box2D? Top-Down-Shooter Physik Implementierung

Ich habe gehört, dass Box2D schneller funktioniert, aber ich habe auch bemerkt, dass es keine breitere Community-Unterstützung für XNA gibt (es scheint eher für Flash verwendet zu werden - aus einem mir unbekannten Grund).

Farseer ist jedoch für XNA gebaut, und scheint es zu passen und ziemlich gut zu funktionieren. Farseers Vorteil ist meiner Meinung nach auch, dass es sauber und einfach zu benutzen ist (es würde auch perfekt zu meiner Game-Engine passen). Aber ich habe Angst, ich werde einige Nachteile haben, wenn ich es benutze (Kugeln und Hochgeschwindigkeitskörper? Komisch nicht eine Zahl stürzt ab?)

Insgesamt würde ich schätzen, wenn Sie darauf hinweisen würden, welche besser passt XNA/PC-Entwicklung.

Gründe, warum ich das brauchen:

  • Es ist nicht nur in einem Top-Down-Shooter verwendet werden soll, ist es für die Integration mit Spiele-Framework gemeint ist.
  • Selbst ein Top-Down-Shooter wäre in einer Umgebung mit besseren Kollisionen, realistischer Physik - zum Beispiel könnte man eine Kiste bewegen, um in Deckung zu gehen?
  • Manuelles Steuern von Kollisionen in einer pixelperfekten Weise wäre zu teuer (ich habe keine Zeit, es zu optimieren - noch brauche ich es, wenn Hochleistungs-Physik-Engines mit fortschrittlichen Kollisionserkennungsalgorithmen da draußen existieren), während Bounding Box Kollision ist zu unrealistisch.

Verdiene ich jetzt eine Antwort mit Ihrer Meinung? Bitte behalte es gerade und sag mir, habe ich einen falschen Schritt gemacht, indem ich Farseer anstelle von Box2D benutzt habe? (Ich hatte zu arbeiten beginnen, während auf eine Antwort zu warten.)

Vielen Dank im Voraus

Antwort

3

Warum verwenden Sie eine Physik-Bibliothek in einem Top-Down-Shooter?

Ich denke, alles, was Sie brauchen, ist einige grundlegende Kollisionserkennung/Handhabung. Das Ausführen einer vollständigen Physik-Simulation scheint ein bisschen übertrieben.

Edit:

Ich persönlich denke, ich für Farseer gehen würde, habe ich gute Dinge über sie gehört, und es scheint gut unterstützt werden. Der springende Punkt ist, dass man für eine Entscheidung, die auf Argumenten basiert, zuerst genau wissen muss, wofür es verwendet wird und was nicht, was man in Bezug auf Funktionalität, Geschwindigkeit und unterstützte Plattformen von ihm erwartet Unterstützung, und so weiter. Nur die Frage "Welche Physik-Lib sollte ich für einen Top-Shooter verwenden" reicht nicht aus. Vor allem, wenn Sie es später bearbeiten, um es zu sagen, es ist eigentlich nicht für einen Top-Shooter, sondern für den allgemeinen Einsatz in einer Game-Engine :-)

+0

Ich würde mich freuen, wenn Sie einfach die Frage beantworten würden. Ich habe meine persönlichen Gründe, wenn Sie wollen, werde ich sie in der bearbeiteten Frage mit Ihnen teilen. – Johnny

+0

Danke für die Antwort! Ich bin mir nicht sicher, hast du bemerkt, dass ich sagte, ich brauche es für XNA-Spiele mit PC im Hinterkopf (Plattform). Außerdem brauchte ich einen Vergleich von Box2D und Farseer, und da es sich im Grunde genommen um zwei "gleiche" Dinge handelt (Farseer basiert auf einem älteren Box2D-Build), wollte ich aber wissen, welcher davon unterstützt wird die Entwickler, und welche Gemeinschaft hat sie, die es mit XNA verwendet. Ich dachte, es wäre mehr oder weniger selbsterklärend, also tut es mir leid, dass es nicht so war. Die Leute lasen selten lange Fragen und ich versuchte es kurz zu halten. Danke nochmal! – Johnny

2

Ich empfehle definitiv mit Farseer, es ist in der Entwicklung seit langem (> 3 Jahre) und ich denke, dass seine größten Fehler korrigiert wurden.

3

Ich würde mit Farseer sicher gehen (obwohl ich es vorher verwendet habe, so bin ich voreingenommen). Es hat viele Beispiele und sogar einige spezifische Optimierungen für .Net compact FX. Intern basiert es auf Box2D (ja, es ist ein etwas alter Build), aber es wird aktiv entwickelt, alle neueren Features von Box2D werden übergezogen. Die API ist ausgereift, sauber und einfacher zu verwenden als Box2D.Wenn das alles nicht schwankt, dann sollte dies: http://ianqvist.blogspot.com/2010/12/benchmarking-box2d-based-physics.html