Ik ben zelf ook bezig (geweest) met vooral testen welke technieken je het best kan gebruiken voor zo een isometrische html5 engine en kwam ook uit bij het canvas element. Het ondersteunen van oudere browsers is wel leuk maar het betekent ook gewoon dat die oudere browsers een zeer trage javascript engine hebben waardoor de games al heel snel heel traag worden en zeker bij de isometrische games kan je dan maar een handjevol animaties gebruiken.
Verder vind ik dat je webgl ook wel kan uitsluiten. Microsoft heeft eerder gezegd dat het grote beveiligings problemen in webgl ziet en het voorlopig niet gaat ondersteunen. Dus ondersteuning van webgl onder IE valt sowiezo al weg (voorlopig). Als je dan toch denkt "ik maar er in ieder geval gebruik van bij browsers die het wel ondersteunen", blijft het feit dat je rekening moet houden met de zwakste schakel (net als oudere browsers ondersteunen). Je spel moet blijven werken op internet explorer en kan dus niet mooier en sneller dan de zwakste schakel aankan (tenzij je per browser als het ware grafische niveau's instelt maar dat kost waanzinnig veel tijd).
Dus ik zou zeggen stop met het ontwikkelen van de engine voor DOM en webgl want het kost waanzinnig veel energie en het levert bijna niets op.
Verder weet ik dat de isogenic engine gebruik maakt van dirty rectangles om zo veel mogelijk redraws te besparen op het canvas maar volgens mij kan dit veel efficienter. Als nu een klein poppetje beweegt moet de hele dirty rectangle opnieuw getekent worden. Normaal geen probleem maar canvas is gewoon waanzinnig traag met tekenen waardoor het wel een probleem is. Wat ik heb gedaan is met een rtree (soort binaire tree) kijken welke vierkanten op het scherm opnieuw getekent moeten worden en alleen die opnieuw tekenen. Dus als er een klein poppetje loopt wordt alleen de boundary boxes van het poppetje hertekent. Dit kost wel is waar meer reken werk maar in verhouding met de tijd die canvas nodig heeft om iets te tekenen is dit sneller tot een bepaald aantal animaties (ergens in de 300).
Verder zie ik dat tijdens het scrollen op de map, de map niet realtime ingeladen wordt. Dus je ziet de huizen die normaal buiten de viewport staan pas als je de muis weer loslaat (dan wordt de map weer geupdate) en als je wat verder buiten de map scrollt zie je zelf een heel zwart vlak ontstaan. Gaat dit nog veranderen? Volgens mij is het prima mogelijk om dit realtime in te laden.
Ik ben dus erg benieuwd naar de argumenten van de makers waarom ze hebben besloten het op deze manier te doen (oude browsers ondersteunen, webGL, DOM, dirty rectangles etc.).
[Reactie gewijzigd door esak op 22 oktober 2011 12:58]