Nach dem ersten Anspielen von Quest for Infamy und der Feststellung, dass es immer noch kein natives Configtool für GNU/Linux und Mac OS X gibt, kam ich gestern auf die Idee, einen eigenen kleinen Launcher mit eingebautem Configtool anzufangen.
Umgesetzt wird das Ganze mit wxPython, dem wxWidgets bindings für die Python Skriptsprache.
Bilder würde ich gerne später folgen lassen. Allerdings -- und das ist der Grund, warum ich an dieser Stelle schreibe -- habe ich momentan ein paar designtechnische Probleme, bei welchen ich auf die Hilfe der Community (Entwickler wie auch Spieler) hoffe.
Mein erstes Problem liegt in der Festlegung des Skalierverhaltens. Derzeit skaliert das dargestellte Fenster ganz nach der Auflösung des Bildschirms mit. D. h. unabhängig von der Auflösung, das Fenster nimmt immer den selben prozentualen Anteil des Bildschirms ein. Wird also dementsprechend größer oder kleiner. Ist dies, aus user technischer Sicht, genehm oder eher zu vermeiden? Die Hintergrundgrafiken würden dementsprechend auch mit skalieren. Alternativ könnte man natürlich dem Fenster auch eine fixe Größe (bspw. 200x400) zuweisen oder die Größe des Fensters prinzipiell an das dominante Element (in den meisten Fällen die Hintergrundgrafik oder, in Ermangelung eines Hintergrunds, der äußerste Button) anpassen.
Leider fehlen mir in diesen Bereich die Erfahrungen weswegen ich, wie bereits angemerkt, auf die Mithilfe der Community hoffe.
Cross-platform launcher für AGS Spiele
-
- Tastatursteuerer
- Beiträge: 675
- Registriert: 11.09.2005, 15:47
-
- Verpackungs-Wegwerfer
- Beiträge: 68
- Registriert: 02.08.2012, 11:27
Re: Cross-platform launcher für AGS Spiele
Soll dein Programm nur zum reinen öffnen der Spiele dienen oder auch die AGS Engine beinhalten?
Sollte die AGS Engine enthalten sein, so ist es sicherlich am besten, eine Auswahl bereitzustellen, die die Möglichkeiten bietet, die Spiele im frei vergrößerbaren Fenstermodus zu öffnen, Vollbild mit ggf. schwarzen Balken und eben komplett über den Bildschirm gezogen, ohne dass die Seitenverhältnisse passen.
Wenn es mehr nur zum starten der Spiele sein soll muss der Launcher übersichtlich aussehen und das Fenster sollte sich meine Meinung nach an Buttons und Grafiken anpassen. Wenn der Launcher aber nach AGS-Spielen suchen soll und alle gefundenen auflisten soll, und nicht nur für ein bestimmtes Spiel, so müssen Buttons und Grafiken gleiche Größe und gleiche Position haben, sonst wird es unübersichtlich und uneinheitlich.
Ich hoffe, ich habe es nicht missverstanden.
Sollte die AGS Engine enthalten sein, so ist es sicherlich am besten, eine Auswahl bereitzustellen, die die Möglichkeiten bietet, die Spiele im frei vergrößerbaren Fenstermodus zu öffnen, Vollbild mit ggf. schwarzen Balken und eben komplett über den Bildschirm gezogen, ohne dass die Seitenverhältnisse passen.
Wenn es mehr nur zum starten der Spiele sein soll muss der Launcher übersichtlich aussehen und das Fenster sollte sich meine Meinung nach an Buttons und Grafiken anpassen. Wenn der Launcher aber nach AGS-Spielen suchen soll und alle gefundenen auflisten soll, und nicht nur für ein bestimmtes Spiel, so müssen Buttons und Grafiken gleiche Größe und gleiche Position haben, sonst wird es unübersichtlich und uneinheitlich.
Ich hoffe, ich habe es nicht missverstanden.
Mfg Rexxar
-
- Tastatursteuerer
- Beiträge: 675
- Registriert: 11.09.2005, 15:47
Re: Cross-platform launcher für AGS Spiele
Hi.
Die Idee ist, einen Launcher zu entwickeln, welchen Entwickler (oder auch fortgeschrittene Anwender) in den Spieleordner kopieren können.
Der Launcher bietet dann die Option, das Spiel zu starten oder in ein Setup Utility zu wechseln. Das Setup Utility sollte dem originalen möglichst gleichen (bis auf die DX9 Option, die unter GNU/Linux und Mac OS X sowieso keinen Nutzen hat), aber eben Cross-Platform fähig (d. h. das Utility lässt sich ohne größeren Aufwand unter Windows -- hier dann mit intakter DX9 Option -- , GNU/Linux und Mac OS X kompilieren).
Da das ganze Open Source ist, können Entwickler im Grunde die Buttons sowieso so anordnen wie sie wollen.
Ursprünglich wollte ich nur ein reines Config Utility kreieren. Allerdings wirkt das Ganze nicht besonders schön. Insbesondere nicht, wenn das Spiel unter Steam gestartet wird. Ein Launcher (in welchen man auch auf seine eigene Herstellerseite oder Wiki Einträge verlinken könnte) macht da mehr Sinn.
EDIT: Der Launcher enthält natürlich nicht die AGS Engine selbst. Er dient lediglich zum Aufrufen der Spiele binary bzw. des Config Utilities. Das Config Utility ist im Grunde nichts anderes als ein Frontend zur acsetup.cfg, so wie das offizielle winsetup.exe Tool auch.
Die Idee ist, einen Launcher zu entwickeln, welchen Entwickler (oder auch fortgeschrittene Anwender) in den Spieleordner kopieren können.
Der Launcher bietet dann die Option, das Spiel zu starten oder in ein Setup Utility zu wechseln. Das Setup Utility sollte dem originalen möglichst gleichen (bis auf die DX9 Option, die unter GNU/Linux und Mac OS X sowieso keinen Nutzen hat), aber eben Cross-Platform fähig (d. h. das Utility lässt sich ohne größeren Aufwand unter Windows -- hier dann mit intakter DX9 Option -- , GNU/Linux und Mac OS X kompilieren).
Da das ganze Open Source ist, können Entwickler im Grunde die Buttons sowieso so anordnen wie sie wollen.
Ursprünglich wollte ich nur ein reines Config Utility kreieren. Allerdings wirkt das Ganze nicht besonders schön. Insbesondere nicht, wenn das Spiel unter Steam gestartet wird. Ein Launcher (in welchen man auch auf seine eigene Herstellerseite oder Wiki Einträge verlinken könnte) macht da mehr Sinn.
EDIT: Der Launcher enthält natürlich nicht die AGS Engine selbst. Er dient lediglich zum Aufrufen der Spiele binary bzw. des Config Utilities. Das Config Utility ist im Grunde nichts anderes als ein Frontend zur acsetup.cfg, so wie das offizielle winsetup.exe Tool auch.
-
- Verpackungs-Wegwerfer
- Beiträge: 68
- Registriert: 02.08.2012, 11:27
Re: Cross-platform launcher für AGS Spiele
Achso OK.
Du soltest den Launcher dann so gestalten, dass Entwickler Buttons selbst platzieren können.
Sie sollten auch eigene Bilder für die Buttons nehmen können, damit diese zum Theme des Spiels passen. Ich fände ein Fenster schön, welches höher als breit ist, das nur mal meine Meinung zum Format, aber das ist ja Entscheidung des Entwicklers. Die Knöpfe "Spielen", "Website" "Einstellungen" usw. sollten sich im Fenster befinden und klickt man auf Einstellungen, so sollte sich ein neues Fenster öffnen in dem man dann Sachen wie Fullscreen konfigurieren kann wie in der Winsetup.exe. Das sähe so übersichtlicher und professioneller aus, man muss ja nicht immer die Einstellungen sehen wenn man nur das Spiel starten möchte. Die will man ja nur gezielt aufrufen, weshalb sie wie beschrieben ein eigenes Untermenü bekommen sollten.
Du soltest den Launcher dann so gestalten, dass Entwickler Buttons selbst platzieren können.
Sie sollten auch eigene Bilder für die Buttons nehmen können, damit diese zum Theme des Spiels passen. Ich fände ein Fenster schön, welches höher als breit ist, das nur mal meine Meinung zum Format, aber das ist ja Entscheidung des Entwicklers. Die Knöpfe "Spielen", "Website" "Einstellungen" usw. sollten sich im Fenster befinden und klickt man auf Einstellungen, so sollte sich ein neues Fenster öffnen in dem man dann Sachen wie Fullscreen konfigurieren kann wie in der Winsetup.exe. Das sähe so übersichtlicher und professioneller aus, man muss ja nicht immer die Einstellungen sehen wenn man nur das Spiel starten möchte. Die will man ja nur gezielt aufrufen, weshalb sie wie beschrieben ein eigenes Untermenü bekommen sollten.
Mfg Rexxar
-
- Tastatursteuerer
- Beiträge: 675
- Registriert: 11.09.2005, 15:47
Re: Cross-platform launcher für AGS Spiele
Danke für den Input.
Habe jetzt ein bisschen an der Sache weiter gewerkelt und in Sachen Hintergrundgrafik zumindest eine Entscheidung getroffen.
Obwohl handwerklich etwas "unsauber", habe ich mich jetzt dazu durchgerungen, alle Elemente an die Hintergrundgrafik zu binden. Dies heißt zwar, dass man unbedingt eine Hintergrundgrafik benötigt, aber das sehe ich nicht wirklich als weiter schlimm an. Templates werde ich den Releases beilegen und es ist kein Problem, innerhalb eines Bildes transparenz zu verwenden. Soeben getestet. Funktioniert hervorragend. Buttons lassen sich problemlos darüber ablegen und, sollten Designer und Programmierer nicht die selbe Person sein, kann der Designer schon einmal Vorarbeit leisten und die Fläche für die Buttons ausschneiden.
Evtl. werde ich das komplette Button Placement + Styling in eine externe Textdatei auslagern. Hierfür muss allerdings vorher sicher feststehen, dass mit py2exe/py2app/ähnlichem erstelle Programme auch Fremddateien direkt aufnehmen können. Ansonsten könnte nämlich ein unbedarfter Benutzer jene Datei löschen oder verändern.
Habe jetzt ein bisschen an der Sache weiter gewerkelt und in Sachen Hintergrundgrafik zumindest eine Entscheidung getroffen.
Obwohl handwerklich etwas "unsauber", habe ich mich jetzt dazu durchgerungen, alle Elemente an die Hintergrundgrafik zu binden. Dies heißt zwar, dass man unbedingt eine Hintergrundgrafik benötigt, aber das sehe ich nicht wirklich als weiter schlimm an. Templates werde ich den Releases beilegen und es ist kein Problem, innerhalb eines Bildes transparenz zu verwenden. Soeben getestet. Funktioniert hervorragend. Buttons lassen sich problemlos darüber ablegen und, sollten Designer und Programmierer nicht die selbe Person sein, kann der Designer schon einmal Vorarbeit leisten und die Fläche für die Buttons ausschneiden.
Evtl. werde ich das komplette Button Placement + Styling in eine externe Textdatei auslagern. Hierfür muss allerdings vorher sicher feststehen, dass mit py2exe/py2app/ähnlichem erstelle Programme auch Fremddateien direkt aufnehmen können. Ansonsten könnte nämlich ein unbedarfter Benutzer jene Datei löschen oder verändern.