Gibt es einen Spiel-Engine in Scala? [geschlossen]
-
20-08-2019 - |
Frage
Ich frage mich, ob es irgendwelche Spiele-Engine in Scala geschrieben oder leicht von Scala?
Lösung
die Java Alle Spiele Motoren sind leicht zugänglich durch einfache Java-Integration. Es gibt mehr (nicht in irgendeiner Weise geordnet):
- http://www.jmonkeyengine.com/
- http://www.13thmonkey.org/~boris/jgame/
- https://jge.dev.java.net/
- http://www.lwjgl.org/
- https://sourceforge.net/projects/tjger/
Eine gute Präsentation, wie ein Spiel starten in Java-Codierung ist Scala eine schöne Java Integration hat die ointerop sollte einfach sein. Wie mcherm wies darauf hin, für lwjgl diese bereits getan worden. Um die schöne Scala haben das Gefühl, man könnte hinzufügen einige implizite Konvertierungen .
Andere Tipps
Zur Zeit arbeite ich an einer 3D-Engine in Scala: http://www.sgine.org
Es hat noch einen langen Weg zu gehen, bevor es sich als Konkurrent zu den wichtigsten Java-Motoren gibt es, aber gute Fortschritte gemacht und mehr Hilfe ist immer willkommen. :)
Hier ist ein Beispiel für jemanden eine Bibliothek wie LWJGL von Scala mit. Das scheint die besten Plan - Integration mit einer guten Java-Bibliothek. Die Integration betweeen Scala und Java ist ziemlich stark: um eine solche Bibliothek, die Sie in „beide Richtungen“ zu integrieren, müssen zu verwenden: Aufruf von Java-Code von Ihrem Scala (Dinge zu tun, wie auf dem Bildschirm zeichnen) und implementieren auch Java-Schnittstellen von Ihrem Scala-Code (Dinge zu tun, wie auf Ereignisse zu reagieren). Glücklicherweise Scala macht es ganz einfach, beides zu tun.
Es ist wahrscheinlich nicht ein vollwertiges Spiel-Engine though. (Ich weiß nicht, ich habe noch nie große Spiele geschrieben).
Es gibt einen solchen Motor in den Werken. Im Moment ist mir eine solide Basis mit einem einfachen Mathematik-Bibliothek verwenden, um über Compiler-Plugin optimiert werden. Der mathematische Teil ist abgeschlossen, einschließlich aller Vektoren, Matrizen, Quaternionen, Rotationen und Projektionen für die Einstellung der Kamera und bereit in opengl gesteckt werden so ziemlich aus dem Kasten heraus. Ein einfacher Renderer wird in einer in der Nähe Funktion durchgeführt werden. Die Compiler-Plugin wird einige Zeit dauern.
Link: SIMPLEX3D
Es ist ein 2D-Spiel-Engine: Scage
Für Java gibt es auch Slick2d, das ist ziemlich weit entwickelt ist und immer noch aktiv. Integration in Scala ist einfach wie immer.