TGJ Summercamp, dag 5

Vilken rolig dag!

Den här sista dagen har det rått stor koncentration bland deltagarna, när de verkligen fick grotta in sig på individuella förändringar.

Och så bra det blev!

2018-06-29 10.42.37.jpg

Någon valde att göra om sitt spel till VR och det blev verkligen jättecoolt att spela.

Ganska många valde att göra om sfären som vi hade som spelare, till en riktig 3D-karaktär. En del laddade ner färdiga karaktärer som passade till spelet från Asset store och några valde att generera egna karaktärer med hjälp av Makehuman. De nya karaktärerna fick vi att fungera genom att byta ut den inbyggda Unity-3djepersonskaraktären Ethan, till den egna, så att den nya karaktären kunde gå, springa och hoppa precis som den inbyggda.

Många har utökat skriptandet med massor av ny funktionalitet, tex. så man kan skriva in ett användarnamn och få sin poäng kopplat till det. Att göra en settingssida med olika, valbara svårighetsnivåer. Att lägga på visuella effekter såsom skakningar på kamera, animationer, ljudeffekter när det händer saker och massor mer. Att byta utseende på de fallande föremålen samt effekten när de slår marken osv osv.

Lite av det deltagarna hade att välja på idag:

  • Steam VR
  • Skapa egna objekt (assets) – via probuilder
  • Byt ut player till Ethan (eller annan asset)
  • Makehuman
  • Förändra känslan i ert spel – färger, andra ljud
  • Fler fallande föremål – t.ex. regndroppar, blixtar, mynt
  • Byt från att undvika stenar till att samla boxar (kanske box = mynt)
  • Skapa en scen till (level 2), som man når när man kommer till viss poäng
  • Post processing
  • Nytt spel
  • Vad man själv kommer på.

En veckas semester är till ända och det har varit en fantastiskt rolig vecka!  Jag hoppas och tror att jag får träffa många av deltagarna på The Great Journey när vi drar igång verksamheten igen i höst.

Magiskt har det ord som beskriver hur veckan varit ❤

TGJ Summercamp, dag 4

Fjärde dagen av The Great Journey Summercamp är till ända och jag tror att det här blev den roligaste dagen hittills för deltagarna.

Idag byggde vi klart menyn så att vi sparar ett high score.

Vi skriptade också så att stenarna går sönder med ett kraschljud när de når marken.

Vi ökade på svårighetsgraden så att stenarna faller snabbare över tid och att det genereras flera stenar samtidigt och med ökande intensitet över tid.

Sen var spelet klart och det var dags att ta ut en exekverbar fil så spelet kan köras utanför Unity.

Det var inte utan att det märktes en viss stolthet bland deltagarna när de tagit ut en .exe och spelade sitt spel för första gången som separat fil.

Det är ju också då man ser hur det blir och en del upptäckte att vissa saker inte uppförde sig som de tänkt eller att menytexterna blev alldeles för små eller för stora så sen var det finslipning på schemat, fram till lunchen.

Efter lunchen började den roliga delen, dvs. att verkligen fundera på hur just mitt spel ska se ut och vara och börja göra individuella ändringar. Det kommer vi också fortsätta med på sista dagen. Det innefattar att skapa helt nya 3D-objekt eller att ändra funktioner så att man kanske ska fånga det som faller från himlen istället för att undvika dem. Eller varför inte göra om spelet så det fungerar i VR?

Dagen avslutades med The Great Journeys sommaravslutning. Där fick vi som är med i ett spelteam, visa hur det går med vårt spel, och få lite feedback. Undertecknad tog bland annat med VR-spelet (rymdskjutarspel) som mitt team gör. Det var trevligt att testspela det på Vive Pro. Och jag fick med mig lite bra feedback som jag ska förmedla till mitt team.

TGJ Summercamp, dag 3

NWT kom och besökte oss igår vilket resulterade i en halvsida i tidningen idag. Kul!

Idag har det flutit på utan några större problem. Till och med så att vi har börjat på morgondagens uppgifter.

Det vi har gjort idag är:

  • Random rotation och skala på fallande stenar.
  • Upptäcka krockar mellan fallande stenar och spelaren/marken.
  • Räkna poäng – varje box som man undvikit är 1 poäng.
  • Skapa en textbox för att visa poäng.
  • Fixa Gameover – om en box landar på spelaren.
  • “Auto-restart” dvs. spelet startas om när det är Gameover.

Vi har också påbörjat att:

  • skapa en startmeny.
  • skapa en Highscore (som del av startmenyn).

Det är kul för nu börjar det se ut och uppföra sig som ett riktigt spel och deltagarna är riktigt duktiga. Många har gjort egna spelplaner som är riktigt fina och andra har modifierat funktionerna till något eget.

TGJ Summercamp, dag 2

Dag två har flutit på bra och vi är i fas med schemat trots lite strul med Visual Studio-installationer.

Vi började med att öppna startprojektet i Unity och gå igenom användargränssnittet samt hur man manövrerar sig i scenen.

Vi har:

  • skapat en fallande boll, som vi sedan gjort om till ett player object.
  • skriptat så vi kan flytta spelaren (player object) med tangentbordet i x-led.
  • kopplat kameran så den följer spelaren i x-led.
  • skapat stenar som faller från himlen i en random position i x-led.

Vi har importerat några assets (ett custom package som vi skapat i förväg) och börjat bygg upp scenen och också gått igenom vad en Prefab är.

Och så avslutade vi dagen med att lägga till bakgrundsmusik som loopar medan spelet körs.

Det är väldigt kul att se att många av deltagarna har egna idéer och på eget initiativ modifierar skript och/eller scenuppbyggnad både vad gäller objekt och material.

En lyckad dag helt enkelt!

TGJ Summercamp, dag 1

Den här veckan har jag semester för att hjälpa till på The Great Journey Summercamp, fem dagar där ungdomar i åldern 16-25 år får prova på spelutveckling.

Den här första dagen var det Karlstad Makers som lärde ut programmeringstänket med hjälp av Scratch, ett visuellt programmeringsverktyg. Första delen ägnades åt att tillsammans skapa ett litet spel medan andra delen innebar att skapa något efter eget huvud. Det fanns mycket kreativitet och stor variation i vad deltagarna skapade. Kul!

Vi hann också med att installera Unity och se till att alla kunde öppna programmet.

Tisdag till torsdag ska vi skapa ett arkadspel i 2.5D i Unity tillsammans. Det vill säga 3D modeller i ett fixerat sidoperspektiv.  Fredagen ska de få ägna åt att modifiera både utseende och funktioner som de själva vill. Bland annat finns då möjlighet att titta på ett par assets från asset store, Post-Processing stack och ProBuilder. Det finns också möjlighet att göra om spelet till VR.

Vi som är med och guidar ungdomarna, träffades en helg för ett tag sedan och gjorde spelet som vi ska lära ut. Det var faktiskt jäkligt kul att träffas och tillsammans utveckla ett litet spel. Det hoppas jag blir en återkommande aktivitet på The Great Journey under hösten. Ett bra och roligt sätt att utvecklas tillsammans med andra.

Observationsdäcket

Jag har jobbat vidare med observationsdäcket. Jag modellerade stolar som jag texturerade i Substance Painter. Sen har jag modellerat lågupplösta stenar/asteroider vars rotation jag har animerat i C#. Hastigheten stenarna roterar med är slumpmässig mellan två värden.

Några av stenarna har jag tagit från The Rock Essentials-paketet jag köpte på Blender Guru för ganska länge sedan. Fast jag gjorde dem lite mer lågupplösta.

Det finns 10 olika stenar som jag gjort till prefabs. Asteroidbältet genereras delvis automatiskt från de prefabs jag gjorde, med lite kodande i C#. Eftersom stenarna  genereras utanför synfältet så tar det en liten stund innan de syns i fönstret, så de första stenarna har jag placerat ut manuellt.

Det sista jag gjort i scenen är att lägga på ambience-ljud. Två ljud som utgör rumsutrymmet och när man kommer närmare fönstren så tillkommer ett tredje ljud. Så man ska få intrycket att det ljudet kommer från rymden utanför.

Här är en capture jag gjorde, för er som inte vill eller kan testa WebGL-applikationen.

Vill du testa applikationen så är det samma instruktioner som tidigare och som vanligt funkar den inte i Internet Explorer. Klicka här för att testa.

Animerad planet

Den här helgen har jag tittat på en Blenderkurs som jag köpte för ett tag sedan. Space VFX Elements heter den och den går igenom allt man kan behöva för en rymdscen. Det är Aidy Burrows och Gleb Alexandrov som gjort kursen, båda är extremt kunniga i Blender. Mycket nyttigheter som går att applicera på annat än rymden också så jag kan verkligen rekommendera kursen.

Jag skapade en planet enligt min vision och jag valde att göra en procedurell planet, dvs. utan bilder som texturer utan med olika genererade funktioner i Cycles. Det har tagit mig hela helgen att få ordning på allting.

Planeten består av grundplaneten och två lager med moln som alla tre är animerade i rotationen med olika hastighet. För att verkligen se hur det blev så rekommenderar jag att du kör WebGL-applikationen.

screen4.jpg

Samma instruktioner som tidigare och applikationen funkar som vanligt inte i Internet Explorer.

Klicka här för att starta.

Planetarium

Jag har börjat med det första rummet i mitt rymdspel. Jag tänker mig ett utsiktsrum där man kan sitta bekvämt och titta på rymden utanför.

Jag har modellerat själva rummet och lagt lite material. Just nu är det bara en rymd-skybox utanför men jag kommer göra ett intressantare, animerat scenario med någon planet och kanske något mer utanför fönstret. Jag ska också göra möbler till utrymmet och jobba lite mer på luftslussen. Jag kanske gör rummen klara först innan jag gör ledtrådar och annat som ska låsa upp holodäckets dörrar.

Så här tänker jag mig själva utrymmet.

screen2screen3

Det ska placeras ut några diskreta lampor också men jag vill fylla utrymmet med de möbler som ska vara först och kanske också planeterna utanför fönstret.

Klicka här för att testa WebGL-applikationen.

Som vanligt fungerar inte WebGL i Internet Explorer. Instruktioner enligt tidigare.

Prototyp: Rymdspel

Jag fick en idé för ett spel som jag vill försöka mig på att göra. Det utspelar sig på ett rymdskepp med en korridor som går i en cirkel. På innerväggen ska det sitta dörrar, i det här stadiet har jag tänkt mig 4 stycken men vi får se hur många det blir. De dörrarna ska vara låsta och man får leta efter nycklar för att öppna respektive dörr. Från ytterväggen går det korridorer som leder till olika rum, utsiktsrum, matsal, lastrum och så vidare, där nycklarna ska finnas att hitta.

Bakom dörrarna på innerväggen ska det vara ett holodeck, som i Star Trek, med olika miljöer som ska vara betydligt större än man kan tro utifrån.

Jag har skissat på en layout och gjort olika moduler i Blender som jag sedan satt ihop i Unity. Jag köpte också ett materialpaket, från Asset Store, med olika sci-fi-material.

Jag har gjort en prototyp som enbart innehåller korridoren, dörrarna går inte att öppna ännu, bara för att få en känsla för storlek. säg gärna vad ni tycker om resultatet. Det skulle vara intressant att få lite feedback.

Som vanligt fungerar inte WebGL i Internet Explorer.

Klicka på bilden nedan för att köra visualiseringen.

Instruktioner:

W = gå framåt
S = gå bakåt
A = gå vänster
D = gå höger
Håll ner shift för att springa och tryck på mellanslagstangenten för att hoppa.

Titta runt med musen och tryck på ESC för att få kontroll över muspekaren igen.

screen1.jpg

Uppdaterad interaktiv visualisering

Under helgen arbetade jag på belysningen för miljön, innan var det lite platt och det vita taket var för mörk.

Jag började med Precomputed Realtime GI men Unity kraschade några gånger och slutligen fick jag blåskärm på datorn.

Jag bestämde mig för att baka belysningen istället.

Precomputed Realtime GI innebär att Unity förberäknar hur indirekt ljus studsar mellan statiska objekt, men den slutliga belysning sker vid körning. Vilket innebär att du kan fortfarande animera eller flytta ljuset och skuggorna följer riktningen på ljuset.

Bakad GI innebär att Unity förberäknar både direkt och indirekt belysning för statiska objekt och sparar data i lightmaps för användning vid körning. Eftersom min interaktiva visualisering är ett statisk projekt, är detta alternativ tillräckligt bra.

Men jag tillbringade resten av lördagen med att baka belysningen och lyckades faktiskt ett par gånger men upptäckte att UV unwrappningen för de nedladdade objekten inte var optimal så jag fick göra om dem, men efter det fick jag samma resultat med datorkrascher och ett par blåskärmar (jag behöver verkligen en ny privat dator).

Så det slutade med att jag fick göra en kompromiss, jag dolde alla möbler och bakade själva lokalen för att sedan tända möblerna igen, bumpa upp intensiteten på skyboxen lite för att göra möblerna lite ljusare. Nu kastar inte möblerna någon skugga men väggar och tak ser mycket bättre ut än innan bakningen.

Härnäst tänker jag programmera vissa funktioner i visualisering. Jag kommer att placera broschyrer på fyra ställen, i soffan i lobbyn, cykeln på väggen och i vart och ett av konferensrummen. När man närmar dig broschyrerna kommer man få en indikation på att det finns ett objekt att undersöka. När man undersöker varje objekt kommer man få upp några informationstexter om Rejlers.

Hur som helst, här är den uppdaterade versionen med den bakade belysning.

Klicka på bilden nedan för att komma till WebGL-applikationen, tyvärr fungerar inte WebGL i IE så använd Firefox eller Chrome.

Instruktioner:

W = gå framåt
S = gå bakåt
A = gå vänster
D = gå höger
Håll ner shift för att springa och tryck på mellanslagstangenten för att hoppa.

Titta runt med musen och tryck på ESC för att få kontroll över muspekaren igen.

screen2

Spel snowflake klart

Nu är jag faktiskt klar med spelet. Känner mig riktigt nöjd. Det jag är osäker på är svårighetsgraden. Jag har ju tänkt mig målgruppen någonstans kring 5-7 år så jag vill gärna att några barn testar spelet och berättar om det är för enkelt, eller för svårt. Eller till och med om det är roligt.

Klicka på bilden här nedanför och spela vetja!

screen.jpg

Jag laddade också upp hela scenen på Sketchfab så vill man titta på spelets komponenter i 3d så är det bara att klicka här nedanför och sedan vrida på modellen.

Spel Snowflakes, starten

Jag har börjat på spelprojektet i Unity, lagt in all grafik, ljud (både musik och egeninspelade ljudeffekter) och ett typsnitt som jag vill använda till poängräkningen. Jag har också tittat på några tutorials om animation i 2D och börjar förstå hur animationerna och animationskontrollen fungerar. Sonen är bollplank och hade lite synpunkter på animationen så jag ska ändra gubben lite imorgon och göra om gubbens animationer åt höger och vänster. Det går framåt 🙂

screenshot1.jpg

Grafik till sista speluppgiften

Nu när jag är klar med sista uppgiften i videoredigeringskursen (jag skrev och lämnade in reflektionen igår kväll) så måste jag sätta fart med den sista uppgiften i spelutvecklingskursen.

Jag har funderat mycket på vad jag ska välja för tema och fick många fina idéer när jag var i Bengtsfors. Jag tror det var Max, 6 år, som kom på det där med att fånga snöflingor med tungan, i alla fall gillade han idéen.

Så här står det i uppgiftsbeskrivningen:

Skapa ett spel där spelaren är en katträddare med korg längst ned på skärmen. Man kan flytta sig (och korgen) i sidled och fånga katter i korgen. Katterna ramlar slumpvist ned från ovan från en slumpad placering. Om en katt når marken är spelet slut. I detta spel skall katterna som ramlar ner animeras, så även benen på kattfångaren. Du väljer om du vill göra spelet i 2D eller i 3D.

Jag frågade dock om jag fick använda ett annat tema än just katter och kattfångare och fick ett positivt besked på det.

Så jag har modellerat en fantasifigur med stor tunga och figuren har godkänts av Max 🙂 Det kommer finnas tre olika flingor, en vit som ger minst poäng, en gul som är lite mindre och rör sig lite snabbare som ger lite mer poäng och en röd som är minst och rör sig snabbast som ger mest poäng. Tror jag. Alternativt så kommer man ha tre liv och den röda flingan fyller på liv. Jag har inte tänkt ut precis allt ännu.

Här är en skiss över hur spelscenen kommer se ut.

scene

All grafiken är modellerad i Blender och sedan renderad mot transparent bakgrund. Materialet är en toon-shader som jag gillar skarpt och som beskrivs av Dillon Gu på Blender Cloud. Så här ser spritesheetet ut.

spritesheet2

Det kommer bli intressant att programmera det här spelet. Till skillnad från de två tidigare spelen blir det här i 2D även om grafiken är gjord i 3D från början.