← Till Godot-kursen

Sök i guiden

Fortsätt bygga · Kapitel 18

Bygg en sliten stadsmiljö

Texturera golv, väggar och tak, och bygg ett mer realistiskt arbetsbord.

Från grå prototyp till egen spelplats.

Vi bygger ett övergivet urbant rum med spruckna ytor, rostigt tak, ett brukat arbetsbord och en svag främmande glöd. Miljön är inspirerad av stämningen i postapokalyptiska spel, men använder egna former och fristående CC0-texturer.

Text i spelet: engelska

Manualen är fortsatt på svenska, men all text som spelaren ser i själva spelet ska vara på engelska. Det gäller desktopinstruktioner, HUD och Game over-panelen. Godots Output-meddelanden från våra spelskript är också på engelska, så att manualens förväntade text matchar projektet.

Var Text i spelet
Desktopinstruktioner Desktop: WASD/arrow keys = move · Space = jump · Ctrl/C = crouch · left click = fire · right click = pick up/drop
HUD HEALTH, MONSTERS KILLED
Förlustläge GAME OVER, Play again (R), Press B to play again

Detta ändrar inte språket i förklarande kommentarer eller i den svenska manualen. Det är en regel för spelargränssnittet.

Välj fria texturer

Vi använder fyra material från Poly Haven. Varje rad länkar direkt till texturens källsida, där filerna och upphovspersonen finns angivna:

Yta i spelet Textur och källa Filer i projektet
Golv Cracked Concrete cracked_concrete_*_1k.jpg
Väggar Rebar Reinforced Concrete rebar_reinforced_concrete_*_1k.jpg
Tak och rostiga metalldelar Rusty Metal Sheet rusty_metal_sheet_*_1k.jpg
Bordsskiva och lådfront Weathered Planks weathered_planks_*_1k.jpg

Alla fyra är publicerade under Poly Havens CC0-licens. Projektet innehåller bara 1K-versionernas diff (färg), nor_gl (normal map för OpenGL-orientering) och rough (ytans strävhet). Det håller de tolv källbilderna på ungefär 7,4 MB. Högre upplösning behövs inte för den här första Quest-versionen.

Lägg bilderna under assets/textures/polyhaven/. Använd StandardMaterial3D för varje yta: koppla diff till Albedo, aktivera Normal och koppla nor_gl, och koppla rough till Roughness. Återanvänd materialet på flera väggar i stället för att skapa nya kopior för varje vägg.

Bygg den större arenan

Blueprints/urban_arena.tscn samlar miljön i en egen scen:

text
UrbanArena
├── Ground             (12 × 12 m, sprucken betong)
├── North/South/East/WestWall
├── BrokenRoof         (två rostiga takhalvor)
├── CrossBeams + Columns
├── AlienGrowth        (självlysande former och ett svagt ljus)
├── DistantCity        (mörka byggnadssiluetter)
└── WorkbenchLight + CornerLight

Golvet, väggarna och takhalvorna är StaticBody3D med enkla BoxShape3D-kollisioner. Taket lämnar ett öppet parti i mitten, så att himlen syns och ljuset får en tydligare riktning. De avlägsna byggnaderna och de främmande formerna är enbart visuella, inte extra hinder i spelområdet.

Placeringen av monster och power-ups från kapitel 16 ligger kvar. Ytorna är nu större än spawnpunkternas område, så monstren kan fortfarande dyka upp på golv och på säkert avstånd från spelaren.

Bygg om bordet

Det gamla bordet var en enda grå låda. Blueprints/workbench.tscn består nu av en sliten träskiva, fyra rostiga metallben, fram- och bakre stag, en nedre hylla, en lådfront, handtag och små hörnplåtar. Bordsskivan och benen har egna kollisioner.

Arbetsbordet står kvar framför spelaren. Pistolen är placerad ovanför skivan, så greppinteraktionen går att använda i den nya miljön. Håll ett tydligt grepputrymme runt pistolen när du lägger till fler dekorationer senare.

Rensa bort prototypobjekten

Fram till kapitel 18 står den platta målnoden Target och de tre turkosa PickableObject-kuberna kvar som testobjekt i huvudscenen. Följ de tidigare kapitlens instruktioner med dem på plats. Först i detta kapitel, när monster och miljö har tagit över testrollen, tar du bort just dessa fyra instanser ur Main.tscn. Behåll Blueprints/target.tscn och Blueprints/pickable_object.tscn som övningsmaterial. Golvet, arbetsbordet, pistolen, spawnerna och HUD:en ska vara kvar.

Ljus och främmande stämning

Miljön använder mörkare himmel, ett varmt ljus vid arbetsbordet, ett svalare hörnljus och en liten turkos ljuskälla vid den främmande tillväxten på väggen. De lysande formerna använder ett enkelt emissivt material. Vi använder inga texturer, modeller eller logotyper från Half-Life: Alyx; det är den ödsliga urbana känslan som inspirerar, inte dess skyddade bildmaterial.

Håll antalet dynamiska ljus och skuggor lågt i Quest. De tre lokala ljusen kastar inte skuggor. Mät bildfrekvensen i headsetet innan du lägger till fler effekter.

Testa i desktopläget

  1. Starta spelet med Godots Play-knapp. Kontrollera att speltexten är på engelska.
  2. Gå runt: golv, väggar, tak och bord ska ha fungerande kollision.
  3. Plocka upp pistolen från den nya bordsskivan och skjut ett monster. Kontrollera att måltavlan och de tre testkuberna inte längre finns i scenen.
  4. Kontrollera att monster och power-ups fortfarande skapas på giltiga punkter.
  5. Låt hälsan ta slut och kontrollera att GAME OVER och Play again (R) visas.

Det automatiska testet tests/phase49_environment_test.gd kontrollerar material och kollisioner för de viktigaste ytorna. Ett långt headless-test och Quest-export används också för teknisk kontroll, men inte för att bedöma den visuella känslan.

Testa i Quest

Det sista godkännandet måste göras i headsetet:

  1. Kontrollera att bordet har behaglig höjd och att pistolen fortfarande går lätt att greppa.
  2. Se efter att taköppningen, stadsformerna och ljusen känns tydliga utan att vara bländande.
  3. Gå längs väggarna och bekräfta att du inte fastnar i kollisioner.
  4. Bedöm om texturerna är tillräckligt skarpa och om bildfrekvensen känns stabil när fyra monster finns i scenen.

Kontrollera miljön

Nästa steg

I kapitel 19 lägger vi till de två animerade modellerna Horror Game Monster och Spider. Där byggs också banan ut med fler väggar som skymmer fienderna från startpunkten. Ändra inte de tidigare kapitlens provscener när du följer detta steg.