goetzman hat geschrieben:
In erster Linie aus technischem Interesse, da ich Informatiker und auch Entwickler für Webapplikationen bin.
Welchen Webserver, bzw. Applikationserver benutzt Du denn (ich hab da was von nginx gesehen)?
In welcher Sprache, bzw. mit welchem Framework, ist die Anwendung programmiert?
Warum verwendest Du Lua für die Adventures, welchen Compiler und Runtime gibt's denn dafür, die man auf einem Server einsetzen kann?
Ich hoffe mal, das ist jetzt nicht zu sehr offtopic: Serverseitig ist das nginx (fuer Kompression, etc..), varnish (fuers Caching) und dann Python (werkzeug, jinja2, ...) innerhalb des gunicorn Servers. Das ist eine Kombination, welche ich schon bei anderen Projekten erfolgreich eingesetzt habe. Fuer die longpoll Verbindung zum GWT-Client (der "Player", welcher waehrend eines Spiels innerhalb des Browsers aktiv ist) nutze ich serverseitig tornado. Persistenz macht MySQL. Redis benutze ich fuer verschiedene transiente Daten.
Lua verwende ich, weil ich zum einen damit schon einige Erfahrung habe im Bezug auf Embedding und Sandboxing (siehe
infon und
info-beamer) und zum anderen weil ich es fuer eine schoene und schnell erlernbare Sprache halte.
Serverseitig laeuft das lua in einem selbstgeschriebenen C Server, welcher Lua Umgebungen fuer laufende Spiele bereitstellt. Ich benutze die normale 5.1 Lua Source Distribution und binde diese in meinem Projekt ein. Compiled wird dann innerhalb des Servers mittels loadstring.
goetzman hat geschrieben:
Ich hatte mir damals gedacht, so was ist ja ganz nett, müßte aber offline funktionieren, eben wegen der Onlinekosten und dem Stromverbrauch, von den Kosten für Datenroaming im Ausland ganz zu schweigen.
Ausland ist natuerlich ganz klar ein KO-Kriterium fuer Geolua. Da ist Wherigo definitiv besser geeignet. Onlinekosten im Inland sollten aber ueberschaubar sein. Ich mache dafuer schon einiges um Bandbreite zu sparen: Viele der Assets (Javascript/Bilder etc) sind cachebar, Bilder werden runterskaliert, die Kommunikation ist komprimiert und es werden nur minimale Informationen uebertragen. Wenn nicht allzuviele Widgets sichtbar sind, ist ein Update davon nur 200-300 Byte gross.
Stromverbrauch mit dem GPS ist natuerlich so eine Sache. Wenn du mit Geolua Adventures baust, hast du als Programmierer Einfluss darauf, wann das GPS aktiv sein soll. Wenn also nur ein Teil davon auf Geolocation basiert, ist es zumindest moeglich, hier Strom einzusparen.
Wenn ein Spiel vollkommen autark funktionieren kann, macht Geolua daher nicht unbedingt Sinn. Cool wird's eben, wenn es um Mehrspieler geht oder Interaktion mit externen Inhalten notwendig ist. Mit Geolua koennte man es z.B. einrichten, dass dein Adventure auf dem Telefon weitergeht, sobald du einen Reallife-Knopf drueckst. Und dadurch dass es erstmal keine vorgegebene Spielstruktur (Inventar, Gebiete, ...) gibt, ist es ziemlich gut nutzbar, um Geospiele zu prototypen, ohne eigenen Aufwand in Infrastrukturentwicklung zu stecken.
goetzman hat geschrieben:
Nach kurzer Recherche bin ich dann auf Wherigo gestossen.
Der gravierendste Nachteil, der wurde in endlosen Forenthreads diskutiert, ist halt die Möglichkeit den Lua-Code zu decompilieren und zu spicken.
Hui. Haette ich nicht gedacht, dass das ein wirkliches Problem ist. Cheater verderben sich ja dadurch nur selbst den Spass. Oder?
Bei Geolua hat man als Spieler erstmal keinen Einblick in die Spiellogik. Insofern ist das in der Hinsicht vielleicht ein wenig "sicherer".
goetzman hat geschrieben:
Außerdem findet von Groundspeak bis heute keine Weiterentwicklung statt.
Es gibt aber ja, wie schon erwähnt, zwei weitere Builder für Wherigos, die besser sind als der von Groundspeak.
Da mir alle drei nicht sonderlich gefallen habe ich schon mal angefangen mir eine Minisprache zu entwickeln, die dann in Lua übersetzt wird,
die ist aber bis heute nicht fertig, weiß auch nicht, ob sich das noch lohnt.
Klingt interessant. Kennst du
http://moonscript.org/?