Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Tool] Automatischer Updater für Spiele



Cherry
22.11.2011, 15:12
EDIT: Bitte ins Entwicklerforum verschieben! EDIT2: Danke!

Hallo!

Euer Pixi Cherry zeigt euch heute...
wie man seine Spiele mit einem automatischen Updater ausstattet!

Und zwar hab ich (ursprünglich für Don Kamillo) ein kleines Tool dafür geschrieben.
Es funktioniert mit RM2k(3), RMXP, RMVX und eigentlich allen beliebigen Engines.

Die einzige Voraussetzung zur Benutzung des Tools ist ein eigener Webspace irgendwo im Internet.

Auf diesen Webspace müsst ihr zwei Dateien laden:
1) Eine ZIP-Datei mit der aktuellsten Version des Spiels.
2) Eine TXT-Datei mit der aktuellen Versionsnummer des Spiels

Die Versionsnummer darf nur eine normale Zahl sein, also 1, 2, 3, 4... nicht etwa 1.0, 1.3.4 oder so. Diese Zahl bekommt der Spieler eh nie zu Gesicht. Wenn ihr eine neue Version hochlädt, müsst ihr die Zahl in der TXT-Datei erhöhen.

Das Tool lädt nun die TXT-Datei herunter und vergleicht sie mit einer Datei namens "build.txt" im Spielordner, in der auch eine Zahl steht. Wenn die Version am Server neuer ist, wird die ZIP-Datei heruntergeladen und ins Spielverzeichnis entpackt, dabei werden alle Dateien ohne Nachfrage überschrieben, packt daher niemals Savedateien in die ZIP, sonst werden eure Spieler sicher leicht ärgerlich. Am Ende wird die "build.txt" im Spielverzeichnis mit der vom Server ersetzt, sodass erst dann wieder ein Update geladen wird, wenn es eine neue Version gibt.

Das Tool kann wahlweise ein anderes Programm starten nachdem es fertig ist, sodass man es z.B. dem normalen Spiel "vorschalten" kann.

Das ganze sieht so aus:
http://share.cherrytree.at/showfile-4586/screenshot_582_test_game_updater.png

Zur Installation des Updaters müsst ihr "updater.exe" ins Spielverzeichnis kopieren (umbenennen erlaubt) und eine Datei namens "updater.txt" erstellen.
Diese enthält vier oder fünf Zeilen:

1) Titel des Spiels
2) Autor des Spiels
3) URL zur ZIP-Datei
4) URL zur TXT-Datei
5) Optional: Programm was am Ende gestartet werden soll

Wenn Zeile 5 weggelassen wird, wird kein Programm gestartet, stattdessen erscheint dann auch im "keine neue Version"-Fall eine Meldung "...auf dem neuesten Stand..." - ansonsten startet dann nämlich sofort das angegebene Programm.

Beispiel:

Test Game
BlubMan
http://meinedomain.de/update.zip
http://meinedomain.de/build.txt
rpg_rt.exe

Außerdem könnt ihr eine Bild namens "updater.png" mit einer Größe von 320 x 80 Pixeln ins Spieleverzeichnis packen (24 Bit! Nicht 256 Farben wie beim Maker!!), was dann als Hintergrundbild benutzt wird.

Ein paar Anregungen, wie das Tool benutzt werden kann:

1) Als unabhängiger Updater
...a) updater.exe einfach ins Spielverzeichnis kopieren
...b) In der updater.txt keine fünfte Zeile verwenden

Dann ist der Updater einfach ein Zusatzprogramm, was, wenn man es startet, das Spiel aktualisiert (sofern notwendig).

2) Als unabhängiger Updater der automatisch das Spiel startet
...a) updater.exe einfach ins Spielverzeichnis kopieren
...b) In der updater.txt in die fünfte Zeile z.B. "rpg_rt.exe" (RM2k(3)) oder "game.exe" (RMXP/VX) schreiben

Dann ist der Updater ein Zusatzprogramm, was das Spiel aktualisiert und dann gleich startet, der Spieler kann aber auch nach wie vor nur das Spiel starten

3) Als automatischer Updater der beim Spielstart nach Updates sucht
...a) rpg_rt.exe bzw. game.exe in etwas anderes umbenennen (z.B. "rpg_rt.blub" oder so)
...b) updater.exe ins Spielverzeichnis kopieren und in rpg_rt.exe bzw. game.exe umbenennen
...c) In der updater.txt in die fünfte Zeile den neuen Namen der umbenannten Originaldatei schreiben, z.B. "rpg_rt.blub"

Dann ersetzt der Updater quasi den normalen Spielstart, und beim Start wird zuerst nach Updates gesucht und dann automatisch das Spiel gestartet

Download: http://share.cherrytree.at/showfile-4587/updater.exe

Zuletzt noch ein wichtiger Hinweis: Verwendet den Updater nicht während ihr das Spiel entwickelt, um nicht versehentlich eine (im Vergleich zum aktuellen Stand) "alte" Version herunterzuladen und euren Fortschritt damit zu vernichten!!!

mfG Cherry

Supermike
22.11.2011, 20:26
Hui!
Ich find das ziemlich kewl für Spiele die nach dem release oftmals noch gebuggtfixt werden.
Eigentlich auch Ideal für Spiele deren entwicklung eher schleppend vorangehen aber auf regelmässige updates nicht verzichten wollen. Allerdings blöd, dass Spielstände schnell unbrauchbar werden wenn man am Grundstein des Spiels rumfummelt. Schade eigentlich. Ich hab mich sofort in das Prog verliebt.

Eine Frage hab ich allerdings noch. Was passiert wenn der Hoster mal nicht zu erreichen ist? Bricht er einfach ab?

Cherry
22.11.2011, 21:20
"Download-Fehler" würde erscheinen.

MarcL
23.11.2011, 06:58
Klingt super o.O;; Endlich hab ich wohl ne Verwendungsmöglichkeit für meinen Mini-Webspeicher von der Uni gefunden ;)

Musste damals als ich meine Demo rausgebracht hatte direkt zwei Patches für 2 schwere Bugs nachreichen, was mir überhaupt nicht gefiel....

Also sehr sehr fein das ganze!

Ranarion
23.11.2011, 08:11
Wie bei Delta-Star! Sternenkind-Saga!

Viviane
23.11.2011, 09:46
Wer zuerst kommt... xD Ich erinnere mich ja an deinen Wutanfall als gRuFtY seinen Upater vorgestellt hat weil du diesen Auto-Updater ja ebenfalls schon lange in der Mache hattest. Das ganze scheint wirklich gleich zu funktionieren. ^^

Also das Teil ist mordspraktisch, also Leute zugreifen und sich freuen. :D

Wie immer Cherry, danke für deine genialen Tools! Ich finds klasse was du der Community alles zur Verfügung stellst. :A

Daos-Mandrak
23.11.2011, 11:52
Gute Erklärung zur Funktionsweise und sehr nützlich, da alle "guten" Makerspiele nach der Vollversion die letzten Bugs entfernen.

Bin auf die ersten Erfahrungsberichte gespannt. Falls alles, wie beschrieben, funktioniert, ist das für mich seit langer Zeit ein Tool, das ich aktiv in der Entwicklung benutzen würde, da es scheinbar nur Vorteile bringt.

Cherry
23.11.2011, 14:13
Der einzige Nachteil den du im Kopf behalten musst ist Spielstandkompatibilität. D.h. du solltest immer sicherstellen dass der Spieler nicht irgendwelche Bugs bekommt oder er sogar festhängt weil sein Spielstand nicht mit der neuen Version kompatibel ist.

Das ist zwar bei "normalen" Updates zum Downloaden auch so, aber ich wollts nur nochmal erwähnen.

Rusk
23.11.2011, 15:03
Respekt Cherry, dieses Tool scheint mir sehr nützlich zu sein. Zwar werde ich auch wie Daos erst auf Erfahrungsberichte warten, doch ich werde sicher Gefallen an diesem Tool finden.
Mit Dropbox sicher eine gute Kombination. :)

Wird der Updater selbst eine Updatefunktion besitzen, um zb. von deinem Webserver das Programm zu aktualisieren?
Ich kann mir gut vorstellen, dass du den ein oder anderen Bug noch fixen wirst (falls es welche gibt).

Lares Yamoir
23.11.2011, 15:29
Gefällt mir sehr gut, vor allem da es makerunabhängig ist. Vllt werde ich das Programm für eines der nächsten Spiele ausprobieren. Theoretisch klappt das Programm doch auch mit jeder anderen Art von Spiel oder? Man muss halt nur nen anderen Namen für die exe bei Punkt 5 eintragen.

Don Kamillo
23.11.2011, 15:54
Gefällt mir sehr gut, vor allem da es makerunabhängig ist. Vllt werde ich das Programm für eines der nächsten Spiele ausprobieren. Theoretisch klappt das Programm doch auch mit jeder anderen Art von Spiel oder? Man muss halt nur nen anderen Namen für die exe bei Punkt 5 eintragen.
Richtig. Das ist ja das geile an dem Programm, es ist Programmunabhängig.

Cherry
24.11.2011, 16:01
Respekt Cherry, dieses Tool scheint mir sehr nützlich zu sein. Zwar werde ich auch wie Daos erst auf Erfahrungsberichte warten, doch ich werde sicher Gefallen an diesem Tool finden.
Mit Dropbox sicher eine gute Kombination. :)

Wird der Updater selbst eine Updatefunktion besitzen, um zb. von deinem Webserver das Programm zu aktualisieren?
Ich kann mir gut vorstellen, dass du den ein oder anderen Bug noch fixen wirst (falls es welche gibt).

Hm, hat er nicht. Ich bin mir jetzt auch nicht sicher ob es klappt, die updater.exe selbst in die Update-ZIP zu packen um sie zu updaten.