Hoppa till innehållet

Programmera spel i C++ för nybörjare/Färdigt spel

Från Wikibooks


Distribution

[redigera]

Så, ditt spel är klart, buggfritt och testat. Då är det dags att leverera det till släkt och vänner. Men hur går det till?

Börja med att ändra alternativrutan överst i VC++ från Debug till Release och kör en riktig kompilering. Det som händer är att det skapas en exe-fil i en ny mapp som heter just Release. Om du inte har skapat någon speciell katalogstruktur i ditt projekt är det i Releasemappen alla filer skall hamna. Vilka filer är det då? Jo:

  • Exe-filen som troligtvis har samma namn som projektet.
  • Alla bilder som används i spelet.
  • Alla ljud- och musikfiler, tillsammans med libsndfile-1.dll och openal32.dll så att du kan spela upp ljuden också.
  • Msvcr100.dll samt msvcp100.dll om du skapat spelet i VC++ (Visual C++), observera att det finns ett par av dessa dll filer för 32 bitars Windows (i win32 katalogen) och ett helt annat par för 64 bitars Windows (i wow64 katalogen)
  • Om du använt något typsnitt till text i spelet måste du spara TTF-filen med typsnittet i mappen också.
  • Om du gjort en dynamisk koppling (alla exempel på hemsidan använder statiska kopplingar) måste du ta med alla dll-filer som SFML använder för ljud, grafik osv.

Om du har ett mer avancerat projekt finns det både gratis- och kommersiella installationsprogram som hjälper dig med att kopiera filer och kataloger till rätt ställe utifrån dina önskemål, men till enkla spel räcker det oftast att ha allt på samma ställe.


Få bort det svarta konsollfönstret

[redigera]

Konsollfönstret är irriterande. Det är ovärderligt under utprovning av kod, men när spelet väl är klart är det mest ivägen. Det är, som tur är, inte så våldsamt svårt att få bort.

  • Ändra projektet från ett konsoll till ett windowsprojekt. Högerklicka på projektet [Solution Explorer]. Välj [Properties] längst ner. Välj:
[Linker]
  [SYSTEM]

På den översta raden står det:

Console (/SUBSYSTEM:CONSOLE)

Byt det värdet till:

Windows (/SUBSYSTE:WINDOWS)

Spara alla ändringar genom att trycka på [Verkställ] knappen.


  • Lägg till ytterligare en koppling i Release mode. Se till att flervalsrutan längst upp står på [Release]. Välj:
[Linker]
  [INPUT]

På samma ställe som du sedan tidigare skrivit in:

sfml-system-s.lib
sfml-window-s.lib
sfml-graphics-s.lib

Lägger du till:

sfml-main.lib

Spara genom att trycka på [Verkställ] knappen och stäng ner alla inställningsfönster.

När du nu bygger programmet [CTRL] + [SHIFT] + [B] skall du få ett program som klassas som windowsprogram, och den svarta konsollrutan är borttrollad.

Så många filer...

[redigera]

Du kommer antagligen att sitta med en hel hoper filer; ljud, bilder, typsnitt, dll-filer för VC++ och OpenAL osv. för att inte tala om alla SFML dll filerna om du valt en dynamisk kompilering. Hur gör du enklast för att leverera allt detta till t.ex. en kompis som vill testa ditt nya spel?

Litet gammalmodigt men, om inte spelet/programmet skriver till någon fil kan du bränna hela spelet med tillhörande filer på en CD-skiva. Då går det att spela direkt från skivan, utan något problem vad det gäller installationer eller rättigheter på dator eller nätverk. Detta fungerar naturligtvis även från USB-minne eller liknande men då en CD-skiva kostar mindre än en glass numera är det ett vettigt alternativ.

Enklast, använd winzip eller något liknande program och lägg alla filerna i en och samma zip-fil. Dels komprimeras alla filerna i storlek och dels levereras de i en enda lätthanterlig fil. Eftersom du inte installerar spelet på kamratens dator, utan bara packar upp filerna, kommer man runt många hinder som IT-administratörer lagt in för att förhindra installation av ej godkända program.

Lägger du upp en zip-fil någonstans på Internet är det enkelt att ladda hem hela filen i ett enda svep genom att trycka på en enda länk.

MSI-fil

[redigera]

Det tredje och det mest avancerade alternativet, i alla fall om du gör ett program för Windows, är att skapa ett MSI-, eller Microsoft Installer, paket. Namnet har det fått eftersom filändelsen för msi-filer är just "msi". Msi-filer är svåra att göra helt själv, istället använder man olika program för att skapa dem. Några är open source eller freeware. En lista på olika program för att skapa msi-filer kan du hitta här:

http://www.installsite.org/pages/en/msi/authoring.htm

Nackdelen blir naturligtvis att om spelet t.ex. skall installeras på en dator i en skola med hjälp av en msi-fil är risken stor att skolans IT-administratör inte lagt in ditt spel i den "vita listan" över program som är godkända att installera på skolans datorer och installationen kommer att misslyckas.

Fördelen med msi-paket är att användaren normalt sett bara trycker på en knapp och sedan är spelet installerat och klart. Om man inte vill ha det längre skapas en avinstallations möjlighet i kontrollpanelens "lägg till/ta bort program" del. Vill man ta bort ett spel man distribuerat som zip fil måste man själv söka upp filerna och radera dem manuellt.

Lägger du upp en msi-fil någonstans på Internet är det enkelt att ladda hem hela filen i ett enda svep genom att trycka på en enda länk.