EN / SU

2026 Godot
Project

Godotilla tehty ensimmäisen persoonan backrooms-platformeri

Ensimmäisen persoonan backrooms-platformeri, joka on vielä alkuvaiheessa. TrenchBroomilla rakennetut tasot ja perusliikkuminen ovat jo pystyssä.

Kuvakaappaus 2026 Godot Projectista

Projektin kehitystarina

Yleiskuva & tavoitteet
2026 Godot Project on ensimmäisen persoonan backrooms-platformeri, jonka tein yksin Godot 4.6:lla. En halunnut keksiä pyörää uudelleen, joten rakensin valmiiden ja hyväksi todettujen palasten päälle: tasot tulevat moottoriin FuncGodot-lisäosalla, ja liikkuminen lähti liikkeelle Ultimate Character Controller -pohjasta, jonka muokkasin haluamakseni platformer-tuntumaksi. 75 commitin aikana projekti eteni tyhjästä pelattavaksi prototyypiksi. Siinä on viisi palvelusingletonia, toimiva TrenchBroom-tasoputki ja omiin liikkumissääntöihini viritetty hahmo-ohjain.

Näytä lisää

Pelikonsepti & suunnittelu
Kävelet, juokset, hyppäät, kyykistyt ja liuut liminaalisten backrooms-huoneiden ja käytävien läpi. Liikkuminen perustuu Ultimate Character Controller -pohjaan, ja suurin osa suunnitteluajasta meni sen muokkaamiseen: siihen, miltä liikkuminen tuntuu. Nopeus ja kameran korkeus liukuvat pehmeästi arvosta toiseen sen sijaan, että ne hyppäisivät. Ilmassa ohjaus on löysempää kuin maassa. 0,3 sekunnin coyote-ajastin antaa anteeksi hieman myöhässä painetun hypyn. Nollaan ajastimen heti kun hyppy käytetään, joten yhdestä reunasta saa vain yhden hypyn. Liuku lukitsee suunnan ja ottaa hiiriohjauksen pois, joten liukuun lähteminen on aito päätös. Askeläänet lähtevät head bob -käyrän nollakohdasta, jolloin ääni ja kameran heilunta kulkevat samassa tahdissa.

Arkkitehtuuri & järjestelmät
Jaoin ajonaikaiset järjestelmät viiteen palveluun, joilla on kullakin yksi tehtävä: pelitila, syöte, ääni, kohtaukset ja käyttöliittymä. Vain yksi skripti hallitsee hiiren kaappausta, joten taukovalikko katkaisee pelisyötteen yhdestä paikasta eikä muihin skripteihin jää tarkistuksia. Kohtaukset latautuvat taustasäikeessä latausruudun takana, ja lukko estää uuden latauksen käynnistymisen kesken edellisen. Yhdistän todellisen latausprosentin ja vähimmäisnäyttöajan, jolloin palkki täyttyy tasaisesti eikä hyppää nollasta sataan. Äänet kulkevat itse kirjoittamani managerin kautta: se kierrättää soittimia poolista, arpoo jokaiselle askeleelle oman klipin ja häivyttää äänet katkaisemisen sijaan.

Tasojen rakennusputki
Rakennan tasot TrenchBroomilla, joka on Quake-sukuinen brush-editori, ja tuon ne Godot 4:ään FuncGodot-lisäosalla, jonka pystytin ja konfiguroin tälle projektille. Määrittelin kuusi omaa entiteettityyppiä: checkpointit, kuolinalueet, vihjelaukaisimet, liikkuvat alustat ja kaksi valaisinta. Niiden asetukset siirtyvät editorista suoraan tyypitettyihin GDScript-luokkiin, ja valaisimilla on proxy-malli, jotta näen ne jo huonetta rakentaessani. Brush-pinnat muuttuvat automaattisesti world-triplanar PBR-materiaaleiksi, joten saan 1990-luvun karttaformaatin geometriaan oikein toistuvat pinnat ilman yhtäkään UV-säätöä. Putken saaminen vakaaksi vaati kunnon debuggausta: vanhentunut moottorin välimuisti loi jatkuvasti haamukansioita, ja tuodut mallit tallentuivat väärään polkuun ilman virheilmoitusta.

Projektin lopputulos & opit
Prototyypissä toimii koko kierto: valikko, taso, kuolema ja respawn. Tein siihen myös asetusruudun resoluutiolle, koko näytön tilalle, vsyncille, moninäyttötuelle ja renderöintiskaalaukselle. Tärkein oppi oli, että työkaluketjun kuntoon saaminen ensin maksoi itsensä takaisin eikä ole mitään syytä kirjoittaa alusta asti sellaista, mistä on jo olemassa hyviä versioita. FuncGodot ja valmis hahmo-ohjain säästivät viikkoja, ja oma työni meni pystytykseen, omiin entiteetteihin ja liikkumisen viritykseen. Kun TrenchBroom-putki toimi, tasojen rakentamisesta tuli suunnittelutyötä ohjelmoinnin sijaan. Opin myös, kuinka suuri osa hyvästä liikkumisen tunnusta on tavallista insinöörityötä: pehmennystä, aikaikkunoita ja interpolointikäyriä, jotka eivät näy ominaisuuslistassa. Aion palata tämän projektin pariin myöhemmin. Toistaiseksi tiimiprojekti meni edelle: rakennamme tekoälypohjaisia laadunvalvontajärjestelmiä. Työ on full stack -kehitystä, johon haluan suunnata. Pääsen myös suunnittelemaan ja koordinoimaan työtä tiimin kanssa, mikä kasvattaa projektinhallintataitojani.

Projektin tiedot

Lajityyppi: Ensimmäisen persoonan backrooms-platformeri
Projektin aikajana: 31.3.2026 - 19.5.2026
Projektin tila: Prototyyppi
Pelimoottori: Godot 4.6 (Jolt Physics)
Ohjelmointikieli: GDScript
Tasotyökalut: TrenchBroom + Func_Godot
Tiimin koko: Solo
Rooli: Suunnittelija, kehittäjä ja artisti

Projektin gameplay-video

Projektin linkit

Löydä projekti täältä

Tutustu koodiin ja katso miten projekti on rakennettu

Katso lisää projekteja