Technical evaluation of platforms for web based 3D games/applications A Dinolab activity performed and execute by Thomson Interactive Media 2014-10-15
Sammanfattning Thomson Interactive har genomfört en Dinolabaktivitet för att utreda bästa tekniska plattform för utvecklande av 3D-spel/applikationer för webbläsare. För att kunna göra en rättvis bedömning av olika plattformar utvecklade vi samma prototyp/koncept på 2 stycken plattformar: WebGL och Unity3D. Genom processen har vi som team lärt oss mycket och fått bättre insikt i denna typ av utveckling. Nedan följer de nyckelinsikterna vi vill dela med oss av: Snabb och enkel visualisering av scener i 3D är en viktig faktor för att enkelt kunna göra justeringar av kamera och objekt Tillgång till ett stort community med bred kunskap och många varierande tutorials är en viktig faktor för att själv kunna börja utveckla Ljud/musik är en viktig faktor i denna typ av applikationer och bör undersökas vidare Javascript är både positivt (kompetens och erfarenhet finns redan) och negativt (tar mycket prestanda av webbläsaren) För det visuella spelkoncept och syfte vi ville utvärdera så är Unity3D en solklar vinnare Summary Thomson Interactive has performed a Dinolab activity to investigate a suitable technical platform for development of 3D application/games to be used primarily in web browsers. To be able to do a fair evaluation of the selected platform the same concept/prototype was developed on both platform WebGL och Unity3D. Through the process we have gained and gathered a lot of experience and learnings and below are the most important findings: Quick and simple visualization of 3D scenes is an important factor to be able to do quick and effective adjustments of objects, camera, interaction and animation Access to a large and creative community with wide knowledge and experience as well as a lot of free and varied tutorials is an essential factor to be bl to start develop and create own concepts. Sound/Music is interesting for these types of games/applications and should be investigated further The use of Javascript is both positive (knowledge and experience already exists) and negative (requires a lot of performance) For the visual game concept and the intended purpose Unity3D is the obvious winner
SYFTE OCH MÅL MED UPPDRAGET Projektet vill genomföra tekniktest av olika plattformar för att i förlängningen ge möjlighet och färdigheter för framtida prototypframtagning av applikationer och spel. Uppdragets huvudsakliga syfte är att tekniktest av plattformar. Målet med aktiviteten har varit att ge förutsättningar för att kunna utveckla applikationer/ spel som hjälper barn och unga att stressa mindre och bli bättre på att fokusera och vara i stunden. Idén är att efter slutfört projekt fortsätta att utveckla och utvärdera prototypen i samarbete med Interactive Institue och umeå Universitet. OM OSS Thomson Interactive Media grundades 2000 och har sedan dess agerat digital produktionsbyrå åt flera av Sveriges största reklambyråer. Allt eftersom att fler och fler företag har behov av att i stort sett enbart tillhandahålla digitala tjänster eller marknadsföra sig digitalt arbetar Thomson mer och mer också med direkta kundkontakter. Kunder: Forsman & Bodenfors, Åkestam Holst, Prime/United Minds, Skellefteå kommun, Skellefteå Kraft, IQ, Vulkanresor, Krux Varumärken: IKEA, Volvo, Marabou, Sveriges Radio, Apoteket, Umeå2014, Stena Line, Oji Drinks Teknik: HTML, CSS, JS, Flash, Jquery, WordPress, Umbraco,.NET, PHP, ASP ARBETSGRUPP Projektledare/Creative Director: Rickard Sandbladh Lead Developer Web GL: Dennis Öhman Lead Developer Unity3D: David Sandström SAMARBETSPARTNERS Interactive Institute: Carl Heath Mindfulnesscenter: Susanne Sahlén Nyberg Umeå Universitet, Institutionen för Informatik: Karin Danielsson Öberg
BAKGRUND & SPELKONCEPT Thomson Interactive har inlett diskussioner kring spelkoncept och interaktionsförfarande med Interactive Institute, Institutionen för Informatik vid Umeå Universitet samt Mindfulness center (en organisation som verkar för att fler ska använda sig av mindfulness, både barn och vuxna). Det koncept vi planerar att använda som testprojekt för de olika plattformar är inspirerat av följande kreativa och experimentella spel: Flow http://en.wikipedia.org/wiki/flow_(video_game) Flower http://en.wikipedia.org/wiki/flower_(video_game) Journey http://en.wikipedia.org/wiki/journey_(2012_video_game) Mountain http://mountain game.com/ Utmärkande för dessa spel är deras icke linjära spelstil och där det inte finns något tydliga syften eller triggers för att nå olika nivåer. Det använder sig även av visuella intryck och en flow liknande spelmekanik som i sig kan verka stressreducerande. Enligt ett flertal undersökningar så finns det ett flertal säkerställda och testade verktyg och aktiviteter som agera stressreducerande för bland annat barn med ADHD. I artikeln Biofeedback video games to teach ADHD children relaxation skills to help manage symptoms talar författarna Krestina Amon and Andrew Campbell om ett antal alternativa faktorer än medicinska: Donney and Poppen (1989) reported relaxation training a 'non chemical' alternative to reduce disruptive behaviour and increase academic performance in children with hyperactive tendencies. Relaxation skills include meditation procedures, autogenic relaxation training (ART), progressive relaxation, biofeedback training, abbreviated relaxation methods, and visual imagery. Margolis (1990) and Chang (1991) discussed these relaxation techniques to train children in child and youth care settings, and found that, when conducted appropriately, these techniques are useful skills in minimising dysfunctional behaviour, reducing stress and anxiety levels, treating headaches, encouraging reading achievement, improving self concepts, and enhancing self esteem. Konceptet kommer att innebära enkel interaktiv upplevelse av att vara en fiskmås som flyger över havet och passerar öar. Spelet kommer inte att ha en given början och slut utan tanken är att man ska kunna spela så länge man vill och kunna upptäcka unika automatgenererade miljöer.
MOODBOARD 0910-70 30 90 www.thomson.nu
0910-70 30 90 www.thomson.nu
UTVECKLINGSSPRÅK OCH PLATFORMAR De utvecklingsspråk vi planerar att utvärdera för detta projekt är Unity3D WebGL För att kunna göra en likvärdig utvärdering även på plattformsnivå kommer vi att satsa på en implementation i webbgränssnitt, specifikt Chromes webbläsare. För att fokusera på de mer tekniska aspekterna kommer vi att försöka använda oss av redan existerande karaktärsmodeller eller skapa enklare lågpolygon modeller.
UTVÄRDERING: WEBGL BESKRIVNING: WebGL är en open source standard för att rendera GPU-accelerad 3D direkt i webbläsaren. PROS: Större bibliotek som Three.js gör att man kan komma igång snabbt Mycket publika exempel Bra renderingsprestanda. Gratis/Open Source. Kräver endast Javascript. CONS: Beroende av webbläsarens Javascriptmotorns prestanda för logik. Beroende av webbläsarens stöd. Javascript. Svårt att få översikt över hela kodbasen vilket gör att optimering av kod för bättre struktur och prestanda blir komplext Inget visuellt IDE vilket försvårar uppbyggnad och ljussättning av miljöer. LÄNK TILL DEMO: http://dinolab.timdemo.nu/webgl LÄNK TILL KOD: https://github.com/thomsonim/webgl.experiments
UTVÄRDERING: UNITY3D BESKRIVNING: Unity är en spelmotor och utvecklingsplatform för 3d och 2d spelsutveckling som stödjer multipla platformar från mobiler till spelkonsoller. PROS: Bra visuell editor Många exempel och tutorials med färdiga scener Stort community Många möjligheter förutom spel Stort bibliotek av av färdig script Enkelt att animera, förändra och skapa scener Enkel export till olika devicer: webbläsare, PC/Mac, mobila appar, spelkonsoler. Flertal scriptspråk möjliga (t.ex. Javascript, C#) CONS: Kräver installation av plugin i webbläsare för att fungera Kräver kunskap om 3D program för snabb start Dålig kod/scripteditor LÄNK TILL DEMO: http://dinolab.timdemo.nu/unity LÄNK TILL KOD: https://github.com/thomsonim/unity.experiments
SLUTSATS/DISKUSSION Bägge utvärderade teknologier är intressanta och har stor potential. Däremot var Unity3D helt överlägset som plattform för det syfte vi ville utvärdera. WebGLs bökiga och ibland komplexa sätta att skapa och utveckla scener är ofta en barnlek i Unty3D och gör att man snabbt kan skapa en visuell scen som man enkelt kan ändra. Även WebGLs starka beroende av Javascript som är positivt är kunskapssynpunkt men väldigt negativt ur prestandasynpunkt skapade en problematik. Uniy3D har däremot möjligheten att använda ett flertal scriptspråk för olika funktioner. Unity3Ds visuella editor förändrar helt sättet man jobbar på och för detta projekt behövdes en mer visuell approach för att kunna skapa den känsla vi eftersträvade.