FRP auf eine Spiel-engine. Ist es das Wert?
Heute, die ich gelesen habe über die FRP (funktionale reaktive Programmierung). Allerdings, ich weiß nicht, wie viel das passt in den Motor selbst.
Nach der Lektüre Gerold Meisinger Artikel, meine Frage ist, ob es sich lohnt es zu benutzen FRP statt einer Komponenten-basierten Architektur. Ist das die nahe Zukunft von game-engine-Architektur-design? Es ist nur ein einfacher Ansatz auf die Lösung von kleinen Problemen komponentenbasierte Architekturen zu tun? Ich würde schätzen, alle Artikel, die Erklärung, persönliche Stellungnahme, etc.
Denken über einen Motor für ein kommerzielles Spiel, speziell Shooter oder racing genres (3D-Spiele). Glaube nicht, dass über ein 2D-platformer oder andere, einfachere (reden über Motor-Komplexität) ersetzt. Ich würde mit C/C++ (ich bemerkte Leute mit GFK-verlassen Sie sich auf Haskell, aufgrund seiner Natur. Allerdings sah ich dieses Dokument und es vorziehen, stehen auf C++, die als "Industrie-standard").
Du musst angemeldet sein, um einen Kommentar abzugeben.
C++ ist natürlich nicht geeignet für GFK; alle Bibliotheken, die Sie verwenden (Boost.Phoenix ist eine gute) tragen wird einigen Aufwand, werden Sie wahrscheinlich nicht wollen, befassen sich mit in ein kommerzielles 3D-Spiel.
Nicht nur das, aber GFK ist nicht eine sehr gut entwickelte Technik, die für Spiele, auch nicht in Haskell, afaik; möchten Sie ein Spiel machen oder wollen Sie die Entwicklung einer Technik für Spiele?
Component-based entity systems haben schon eine Weile und sind ein Bewährtes Konzept. Sie haben Ihre Grenzen, vor allem, wie Komponenten miteinander kommunizieren? — eine Lösung ist, haben zwei Arten von Komponenten, Attribute und Verhaltensweisen; letzteres kann auf alle attribute, aber Sie können nicht aufeinander zugreifen.
Wenn Sie wollen ein Spiel machen, gehen mit CBS. Wenn Sie helfen wollen, entwickeln FRP in spielen, dann tun Sie das.
Btw, du bist so sehr falsch zu sagen, dass 2D-Spiele sind einfach Motoren. 🙂
2014 Update
Einer neuen Sprache hat da zeigte sich, dass umfangreiche funktionale reaktive Techniken und richtet sich an web-Entwicklung, genannt Elm. Es ist sehr ähnlich zu Haskell und ist unterstützt durch Prezi, afaik. Die Sprache der designer hatte eine ziemlich gute Präsentation, in dem er ein kleines Spiel mit GFK. Niemanden interessiert, wie die FRP behandelt werden sollten, könnte wollen, schauen Sie sich das video an.
Kurze Antwort: wahrscheinlich keiner von Ihnen!
Ich verstehe nicht, was du damit meinst, aber jedes Stück code, beinhaltet die Zeit (d.h. verwendet
update( float elapsedTime )
) in der Regel passt für GFK - in der Theorie. Über "fit-in-Motor", vielleicht HaskellWiki Yampa - Spiel-Engine hilft, Ihre Frage zu beantworten (eine abgespeckte und Englisch übersetzte version meiner Diplomarbeit, die erklärt, die Gesamt-Architektur). Aus den Diskussionen über die FRP und die Lesung einige GFK-Papiere, die es scheint, dass es noch einige ungelöste Probleme, die mit der Allgemeinen theoretischen Konzeption, so würde ich empfehlen, tun einige Gründliche Prüfung vor dem Einsatz einer FRP-Bibliothek in einem kommerziellen Projekt (vor allem performance-und memory-Probleme). Werfen Sie einen Blick auf die Frag video. Es ist ein shooter, geschrieben in FRP und die fortschrittlichsten Beispiel heute.Hm, was ist Ihr Fokus? Entwickeln Sie ein kommerzielles Spiel? Verwenden Sie dann eine vorhandene engine und nicht darum kümmern! Entwickeln Sie ein Motor? Dann GFK möglicherweise ein Interessantes Konzept. Unterschiedliche Spiel-Objekte mit den Komponenten sollte nicht erforderlich sein, für Shooter und racing-Spiele, wie Sie nur sehr wenige andere Objekte im Spiel und konzentriert sich zu sehr auf die Architektur sein könnte, over-engineering. Nicht einen Schwerpunkt haben? Bekommen Sie einen Fokus! Sie können nicht die Entwicklung der nächsten id Tech-engine UND die nächste Doom-Spiel auf Ihrem eigenen.
Es gibt einige Bibliotheken für C++ auch. Suche für "reaktive" oder "zeitliche Programmierung".