Spiele veröffentlichen

Einstiegsfragen, Mathematik, Physik, künstliche Intelligenz, Engine Design
novotris
Beiträge: 11
Registriert: 08.11.2023, 09:55

Re: Spiele veröffentlichen

Beitrag von novotris »

Das sind alles super interessante Einblicke, großes Lob und vor allem vielen Dank dafür! Aber es ist auch einigermaßen ernüchternd, wenn ich lese, was alles probiert wird, um ein Spiel bekannt zu machen. Es ist frustrierend, wenn man meint, ein ganz tolles Ding gebastelt zu haben - wenn nicht sogar das beste :-) - und es interessiert niemanden. Und nein, ich mache hier jetzt keine Werbung für meine Spiele.
Benutzeravatar
woodsmoke
Beiträge: 48
Registriert: 30.06.2023, 14:05
Wohnort: Ludwigshafen
Kontaktdaten:

Re: Spiele veröffentlichen

Beitrag von woodsmoke »

novotris hat geschrieben: 27.02.2024, 12:24 und es interessiert niemanden.
Wahre Künstler singen auch wenn niemand zuhört. Man hat einfach das Bedürfnis.
grinseengel hat geschrieben: 27.02.2024, 10:47. Du kannst bis zu 20-Projekte einstellen
Oh das wusste ich nicht. Ich habe bei itch.io schon 28 Spiel(zeug)e hochgeladen und 11 Zines (kleine Heftchen). Laut FAQ scheint der 20 Limit für neue Accounts zu sein.
Benutzeravatar
Jonathan
Establishment
Beiträge: 2413
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Spiele veröffentlichen

Beitrag von Jonathan »

Ich habe mich jetzt für den Nullsoft Installer entschieden: https://de.wikipedia.org/wiki/Nullsoft_ ... all_System

Install Creator und Install Forge hatte ich beide angeschaut, aber da gingen immer irgendwelche Sachen nicht und am Ende hatte ich keinen Bock mehr.
Was ich jetzt mit NSIS hinbekommen haben:

- Ein Installer, der im wesentlichen eine selbstextrahierendes Archiv ist
- Desktopverknüpfung wird erzeugt
- Keine Admin-Rechte nötig. User/AddData/Roaming/ als Standardpfad (das Spiel schreibt Dateien in sein Installationsverzeichnis, ich brauche also was mit Schreibrechten)
- Startbildschirm mit kurzer Begrüßung
- Installer hat auch auf High DPI keine verwaschenen Texte (sehr geläufiges Problem!)
- Zweisprachig. Standarddialoge sind automatisch übersetzt, Begrüßungsbildschirm ist deutsch + englisch. Sprache wird vom System ermittelt, dort wo ich es bisher getestet habe lief das gut. Im Bezug auf unsere Sprachdiskussion anderswo, geht es hier ja auch nicht um die Lieblingssprache sondern um irgendeine Sprache die der aktuelle Nutzer versteht. Im Zweifelsfalle klickt man 3 mal auf "Weiter", und muss gar nix lesen können, von daher passt das schon.
- Ein paar hübsche Bilder und Icons um den Gesamteindruck abzurunden.

Es gab ein paar Probleme und ich musste viele Dinge googeln, aber insgesamt war das in einem Nachmittag machbar. Am Ende hatte ich folgendes Skript:

Code: Alles auswählen

; save as UTF8 with BOM to enable unicode support!

RequestExecutionLevel user ; avoid requiring administrator rights
ManifestDPIAware true ; important to avoid blurry text on high dpi systems!
!include MUI2.nsh ; 'modern' user interface

Name "Harald Hoppelhase 0.2.4"
OutFile "Hase_0.2.4_Setup.exe"
InstallDir $AppData\Hase_0.2.4

!define INPUT_DIR "Game 0.2.4"

!define MUI_ICON "${INPUT_DIR}\data\harald.ico"

; IMPORTANT: When saivng images: BMP mandatory, in gimp activate "Do not write color space information" and 24 bis (R8G8B8)
!define MUI_WELCOMEFINISHPAGE ; first, activate bitmap
!define MUI_WELCOMEFINISHPAGE_BITMAP  "harald.bmp" ; then, specify it
!define MUI_WELCOMEFINISHPAGE_BITMAP_STRETCH AspectFitHeight

!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP  "eggs_collection.bmp"
!define MUI_HEADERIMAGE_BITMAP_STRETCH AspectFitHeight
;!define MUI_BGCOLOR  aaffbb

!define MUI_WELCOMEPAGE_TITLE  "Harald Hoppelhase"
!define MUI_WELCOMEPAGE_TEXT   "$(MyWelcomeText)"


!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES

; important: Language stuff must come after page stuff (no idea why)
!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_LANGUAGE "German"

LangString MyWelcomeText ${LANG_ENGLISH} "This installer extracts the game to the specified folder and creates a desktop shortcut. No other system changes are made. To uninstall, simply delete the game folder."
LangString MyWelcomeText ${LANG_GERMAN} "Dieses Installationsprogramm entpackt das Spiel in den gewählten Order und erstellt eine Desktop-Verknüpfung. Es werden keine weiteren Änderungen am System vorgenommen. Um das Spiel zu deinstallieren, lösche einfach den Spieleordner."

 Function .onInit
	;StrCpy  $LANGUAGE ${LANG_GERMAN} ; for testing other languages
 FunctionEnd
 
Section ""
	SetOutPath $INSTDIR
	File /r "${INPUT_DIR}\*"
	;File /r "${INPUT_DIR}\Hase.exe"
	CreateShortcut "$DESKTOP\Harald Hoppelhase.lnk" "$INSTDIR\Hase.exe"
SectionEnd
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Benutzeravatar
Schrompf
Moderator
Beiträge: 4894
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: Spiele veröffentlichen

Beitrag von Schrompf »

Gut zu wissen, Danke! Und gleich mit Code-Beispiel <3

Den NSIS habe ich damals auch verwendet, glaube ich, aber es ist alles sooo lange her.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Jonathan
Establishment
Beiträge: 2413
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Spiele veröffentlichen

Beitrag von Jonathan »

Schrompf hat geschrieben: 08.04.2024, 08:25 Den NSIS habe ich damals auch verwendet, glaube ich, aber es ist alles sooo lange her.
Der hat aber, tatsächlich, diesen März nochmal ein Update bekommen. Das Ding ist alt aber nicht tot.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Benutzeravatar
Jonathan
Establishment
Beiträge: 2413
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Spiele veröffentlichen

Beitrag von Jonathan »

Nicht alle mögen Installer, also wollte ich doch gerne auch noch parallel zip-Dateien anbieten.
Zwei Dateien bedeutet doppelte Pflege, das ist recht nervig, aber zum Glück gibt es Abhilfe.

Erst habe ich geschaut, ob der Nullsoft-Installer wohl auch automatisch zip-Dateien erzeugen kann. Dazu hab ich aber erstmal nichts gefunden. Allerdings liegt bei mir auch der Spezialfall vor, dass das komplette Spiel samt Assets und Konfigurationsdateien in ein einzelnes Verzeichnis (mit Schreibrechten, für Savegames etc.) extrahiert wird. Das Spiel hat zwar intern schon Logik, um Dateien aus verschiedenen Data- und User- Verzeichnissen zu laden, aber die zeigen beide auf das selbe Verzeichnis. Weil Dinge, die simpel sind, seltener kaputt gehen.

Die Lösung war es dann, 7zip zu benutzen. Das kann ja fast alles öffnen, unter anderem auch NSIS Installer exe-Dateien. Und netterweise liegen dort alle Installerresourcen in einem separaten Unterordner. Also per Kommandozeile den Installer in ein temporäres Verzeichnis entpacken, das Installerunterverzeichnis löschen, und alles wieder neu in eine zip-Datei packen. Führte zumindest bei meinem Installer im obigen Spezialfall zu identischen Ergebnissen. Dank 5 Zeilen .bat Datei baue ich dann jetzt mit einem Klick identische Installer und zips:

Code: Alles auswählen

makensis installer.nsi

REM: Create the zip file from the installer
@RD /S /Q c:\tmp\installer
7z x "Water Breakout 1.2 Setup.exe" -oc:\tmp\installer
@RD /S /Q -oc:\tmp\installer "c:\tmp\installer\$PLUGINSDIR"
7z a "Water Breakout 1.2.zip" c:\tmp\installer\*
@RD /S /Q c:\tmp\installer

Ich hatte irgendwo anders schonmal geschrieben, dass es auch das Problem gibt, dass das bin-Verzeichnis auf meiner Festplatte nicht unbedingt identisch zu dem, was später in Installer landen soll ist. Teilweise, weil ich aus Bequemlichkeit ein paar Development-Dinge da liegen habe (ein schnelles Script, das irgendwas mit den Assets macht, z.B.), andererseits weil so Dinge wie Highscore und Config natürlich für die Installation frisch und neu sein sollen.

Das kann man aber im Installer-Scrip regeln: Statt der "config.json" wird dann halt die "config_fresh.json" geladen und im Installer in "config.json" umbenannt. So kann man dann idealerweise am Spiel rumbasteln und sobald man zufrieden ist einen Knopf drücken und hat die neue Version. Die ist davon zwar noch lange nicht auch auf meiner Webseite, aber das ist ein Thema für einen anderen Tag.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Benutzeravatar
TomasRiker
Beiträge: 50
Registriert: 18.07.2011, 11:45
Echter Name: David Scherfgen
Wohnort: Hildesheim

Re: Spiele veröffentlichen

Beitrag von TomasRiker »

Wenn ich ein Programm runterlade, das es nur als Installer gibt, versuche ich auch immer als erstes, den Installer mit 7-Zip zu öffnen und einfach alles zu entpacken. In den meisten Fällen klappt das wunderbar.
MR99
Beiträge: 66
Registriert: 23.09.2018, 19:47

Re: Spiele veröffentlichen

Beitrag von MR99 »

TomasRiker hat geschrieben: 28.06.2024, 21:04 Wenn ich ein Programm runterlade, das es nur als Installer gibt, versuche ich auch immer als erstes, den Installer mit 7-Zip zu öffnen und einfach alles zu entpacken. In den meisten Fällen klappt das wunderbar.
Das mache ich auch immer... Wenn 7-Zip nicht hilft, dann meistens der Universal Extractor (v1.6.1, nicht die neuere) und bei aktuelleren Inno Setup-Installern der InnoExtractor - letztes Mittel ist dann IZArc 😅
Antworten