Build a village, create an Empire! Forge Alliances with thousands of players. Craft and Trade 380+ resources and items in an entirely player driven market. Battle wars against other players, or with 100+ warring NPC factions and their 700+ troop types. Research 400+ technologies, and build 70+ buildings to create your own specialised cities. Build, plan, gather, craft, trade, scheme and fight in this strategy epic!
What can WebGL do? Can 3d in a web browser just with HTML5 do what we want? We were wondering...
Posted by BenAdams on Dec 8th, 2011
What can WebGL do? Can it do what we want? We were wondering.. and so decided to put it to the test...
To test the upper bounds of WebGL we put together a rough and ready demo [caution - it's bandwidth hungry]. It's very rough, not optimized and currently only runs on Chrome [working in all browsers that support WebGL is our priority]; but that's kind of the point - its a technology tester to ensure we weren't making a mistake.
The results speak of themselves - it definitely proves itself! Sure it needs a bit more polish, but we are now confident that the actual in-game libraries we are building have a lot of head room to use. Below are a couple screenshots of the town during the day:
And another at night:
Of course there were many trials along the way and things that didn't quite work as we'd planned as can seen below:
We learnt the importance of GPU compressed textures and had to write a pixel shader decompressor of our own, as WebGL doesn't currently support them natively - but with a cost. The loss of mip-maping this causes it can clearly be seen; and we will have to work around this if they are not supported soon.
Overall we are very pleased with the result, which you can check out here. Remember to press space to unlock your mouse to look around - if you aren't fond of reading on-screen instructions ;-)
Naturally this is just a taster of what we have waiting in the wings. We'll look to provide some follow-up blog posts about the techniques and tools being used in this early experiment including:
3rd Party Libraries in use