Browseren kan bruges til alt, lyder budskabet fra Google, og som et led i at bevise påstanden har søgegiganten hjulpet til med at flytte det populære mobilspil "Angry Birds" til webplatformen, uden brug af plugins såsom Flash.
På årets Goto-konference mødte Prosabladet Joel Webber fra Google, som assisterede det finske spilfirma Rovio med at flytte de vrede fugle og grønne grise, som udgør hovedpersonerne i spillet.
Joel Webber har en fortid i spilindustrien før Google, men til daglig arbejder han med Google Web Toolkit (GWT), som gør det muligt at skrive webapplikationer med Java, der så oversættes til JavaScript og afvikles i browseren. Han er også en del af holdet bag Googles nye websprog Dart, hvor der udvikles krydskompilering fra Dart til Javascript, så sproget kan afvikles i browsere, der ikke har tænkt sig at understøtte Dart.
Det var erfaringerne fra arbejdet med at konvertere Java til JavaScript, som Rovio kunne bruge til at flytte spillet til HTML5. Rovios udvikler havde en baggrund i Flash-sproget Actionscript, som minder en del om Java, og derfor var det ikke svært at flytte spillet til Java. Herefter kunne spillet flyttes til Javascript, ved hjælp af de krydskompileringsværktøjer, som Google benytter i eksempelvis GWT.
Webbet er en spilplatform
For Google handler det om at vise, at HTML, Javascript og CSS også er en platform for spil – noget, som måske ikke har været så oplagt før i tiden.
– Platforme, der ikke kan understøtte spil, har et problem, siger Joel Webber.
Bag holdningen er synspunktet dels, at alle spiller spil, om de så vil indrømme det eller ej, og dels at man ved spilprogrammering opdager en masse ydelsesmæssige flaskehalse, som ellers ville blive overset.
De problemer, som Joel Webber og Rovio stødte på undervejs, var andre udviklere på Googles Chrome-hold heldigvis allerede i gang med at finde løsninger på. Det gjaldt for eksempel flaskehalse i Chromes grænseflade WebGL, som giver direkte adgang til grafiksystemet fra JavaScript.
Blandt de ting, som Joel Webber og hans kolleger lærte i processen, er, at selvom webbet er godt til at udvikle platformsuafhængige applikationer, så opstår der alligevel problemer, når man bevæger sig på marginalerne.
– Vi brugte WebGL, som ikke virker i IE9 eller på maskiner, der ikke har de egnede drivere. Derfor har vi måttet bygge abstraktioner, så det kan gøres på flere forskellige måder.
Det betyder eksempelvis, at "Angry Birds" benytter HTML5-faciliteten Canvas i browsere, der ikke understøtter WebGL. Det, der har god ydelse på én platform, er ofte det, der trækker applikationen i knæ på en anden, fortæller Joel Webber, så der ikke er én løsning, som virker på alle platforme, endnu da. Men han ser frem til den dag, da især ældre browsere kræver et stort abstraktionslag, som begrænser mængden af faciliteter, man kan indføre.
– Vi er næsten nået til det punkt, hvor man ikke længere behøver at bekymre sig om gamle browsere.
Google arbejder på et bibliotek med navnet Playn, som kan oversætte Javabaserede spil til blandt andet HTML5, Android og Flash. Joel Webber kunne også godt tænke sig at inddrage iPhone og Playstation. Han har brugt Googles eksisterende Java-til-JavaScript-compilere i processen.
Dårlig ydelse giver nordjysk skepsis
Det danske spilfirma Progressive Media i Aalborg har også kig på HTML5 som spilplatform. Men her ser udvikler og medstifter Henrik Weide kritisk på platformen, som han slet ikke mener yder godt nok. Det er blandt andet fraværet af hardwareunderstøttede taltyper, som efter hans mening giver platformen baghjul i forhold til spil skrevet direkte til iPhone eller Android, som er blandt de platforme, virksomheden har et godt øje til.
– Ydelsen er langsom. Du kan godt lave spil, men det har samme dårlige ydelse som Flash, og derfor er det ubrugeligt til andet end 'casual' spil. Men det bliver måske bedre på sigt, mener Henrik Weide.