GDC Europe 2013 – Wednesday

Not much on this day, there were only talks until noon.

Using Gigapixel Landscape Textures in Dragon Commander: Lessons Learned

I missed most of this talk due to another appointment, but I plan on having a look at it in the GDC Vault. The main point was that future hardware (next-gen consoles) will support gigapixel textures in hardware, making them more viable to work with.

OpenGL ES 3.0 – Challenges and Opportunities

A nice talk by the CTO of fishlabs. He showed a bit of the history of mobile graphics developments, with their first game compared to current games. The resolution of their first game was 128×128 pixels, which he showed very nicely to be the size of an icon of a current iPhone…

Most of the talk was focused on OpenGL functions and shaders compared from OpenGL ES 2.0 to 3.0. A lot of the things were doable with OpenGL ES 2.0, and with vendor-specific extensions even performant, but due to the new standard, you will be able to count on the hardware supporting them in all cases. There were several effects he showed, such as instanced rendering or multiple render targets. One thing to notice is that there aren’t many OpenGL ES 3.0 devices around, so that’s one thing to watch out for. 

C++ in the Browser: A Tale from the Trenches

My personal highlight of the conference. I’ve seen Andre Weissflogs blog before but haven’t seen him in person yet. He talked about porting Nebula 3 to the web using the emscripten technology. The results far are in his demo he put on his blog. He also addressed how pNaCl by google can work in this process.

Andre also detailed his build process for multi-platform development. He creates all the makefiles/solutions/… using CMake. For the emscripten-Version, he creates an eclipse project.

For porting, he suggests that a lot of functionality will work right after compilation. There are several problematic areas. Multithreading is one of the hardest to solve. pNaCl seems to have an advantage in this area but is far from perfect. Andre suggested to abstract away from the threading system on a high level of abstraction.

For graphics, the port could build upon the OpenGL version of the rendering part of Nebula. He mentioned that, since most devices now support OpenGL (only, such as mobile platforms and WebGL), he is thinking about ditching DirectX altogether. The only reason against it is that DirextX drivers on Windows are often more optimized and updated compared to OpenGL drivers. Which is one reason browser vendors use Angle to build their WebGL support on top of DirectX. Perverse, really…

Other problematic areas (as any HTML5 game developer will be able to attest to, see my own experiences in this area so far) are sound and network. Nothing that can’t be solved, but often requires more work.

For debugging, he mainly uses the C++ native version of the engine, and only debugs the web version when the code connecting the engine with the browser has a problem. He also mentioned that emscripten is getting better in this regard, as in all others, on almost a daily basis.

The last takeaway of this talk was not to underestimate javascript. Using an optimizer and stripping all non-necessary code, he could get the size of the executable to within something like 10 % of the size of compiled C++ code. And the execution times are about a factor of 2 slower, determined also by the amount of hardware-accelerated 3D by WebGL.


After the conference, I strolled around at gamescom. I played a pretty long part of the demo for Memoria by daedelic. They made the first puzzle of the demo really hard to figure out without the context of the rest of the game, but I enjoyed the sequence after that very much. They have a very nice remote-control-like adventure game mechanic in there.

The next game I look at was another “Das schwarze Auge”-game, this time Demonicon. Pretty much an action-oriented RPG that feels a little bit like a classical RPG.

After that I went over to the indie developer area, and looked at Team Indie by Brightside Games and The Inner World by Studio Fizbin. After that, not much was holding me at gamescom. Despite it being the trade visitors day, the halls were overrun by gamers, and every booth had music and effects blasting from every direction. Making games is one thing, promoting games is a completely different thing…

See also the posts on this year’s presentations on Monday and Tuesday.