A Red Letter Day: SteamOS and Leadwerks

We're continuing to make progress on Leadwerks 3.1, with support coming for Linux and the new SteamOS. SteamOS has the potential to bring the advantages of the PC ecosystem into the console world, and I for one can't wait.

Last week Valve founder and CEO Gabe Newell took to the stage at LinuxCon and proclaimed that "Linux is the future of gaming". Gabe talked about Linux gaming capabilities and promised to unveil something "on the hardware side" the following week. Today, Valve announced the upcoming release of SteamOS, a living-room operating system designed specifically to compete directly with the XBox, Playstation, and Wii console ecosystems. SteamOS will being openness to the console gaming world. This will have a lot of benefits for indie game developers:

  • Console game development will no longer require expensive fees to publish and update games. If you can get your game on Steam, it can go on a console.
  • Hardware manufacturers can compete to deliver better Steam-powered consoles.  Gaming hardware will never again stand still for nearly ten years (as it did with the last generation of consoles).
  • Steam-based game consoles will be backwards compatible and future-proof.  Games you buy now on Steam will still be playable on consoles three generations in the future.

I am very excited about this development and the future of open console gaming.  Leadwerks will be available for SteamOS as soon as possible.

Posted Image

Tech Progress

The Leadwerks 3 engine has been successfully compiled for Ubuntu 13.04.  However, when running the application, all I saw was a blue screen.  I decided to focus on the OpenGL 4 deferred renderer for a while.  While working out the depth reconstruction for the deferred renderer, I realized I was making unnecessary calls to glDepthRange(), which weren't needed at all.  After removing these calls my depth reconstruction code worked correctly; this was the cause of the errors I experienced when developing a deferred renderer on iOS for GDC 2013.  I also believe the calls to glDepthRange() were what caused the engine to not render anything when running on Ubuntu, though I won't know for sure until I try it out.

Leadwerks 3.1 features an OpenGL 4 deferred renderer with support for up to 32x MSAA.  I was able to get this running in just a few days.  I already had parts of the OpenGL 4 renderer done, and I've been working with deferred renderers since 2008, so it all came together quickly.  It's easier today to write a deferred renderer for a couple of reasons.

First, the state of OpenGL and driver support has gotten much better.  Leadwerks 2 was written against the OpenGL 2.1 specification, which was not designed for deferred rendering.  I relied on many vendor-specific extensions (some of which changed behavior halfway through the engine's life).  OpenGL 4 was specifically designed for the type of things I am doing with it, so I am no longer fighting the spec.  If a graphics driver has a problem, it's easier to get it fixed today than a few years ago, now that the rest of the industry has realized the benefits of deferred rendering.

Second, hardware today is much more powerful than when Leadwerks 2 was developed.  Leadwerk 2 was written for GEForce 8800-level hardware, and used a lot of optimizations to favor speed over quality.  With modern hardware I don't have to rely on so many hacks and I can push the upper limits higher.  For example, Leadwerks 2 used a random edge jitter that gave a grainy approximation of soft shadow edges.  With Leadwerks 3 I can increase the blur kernel and display beautiful soft shadows that look more like an offline cg render than real-time graphics:

Leadwerks Shwag Surfacing

Leadwerks Shwag is beginning to appear in the real world.  Post your photos of you modeling a stylish Leadwerks shirt or sticker so the rest of the community can see!

Posted Image 

Latest Jobs

Cryptic Studios

Senior Producer

Anne Arundel Community College

Arnold, MD, USA
Instructor/Assistant Professor, Game Art

Night School Studio

Los Angeles, CA, USA
Level Designer / Scripter, Games Studio
More Jobs   


Explore the
Subscribe to
Follow us

Game Developer Job Board

Game Developer Newsletter


Explore the

Game Developer Job Board

Browse open positions across the game industry or recruit new talent for your studio

Subscribe to

Game Developer Newsletter

Get daily Game Developer top stories every morning straight into your inbox

Follow us


Follow us @gamedevdotcom to stay up-to-date with the latest news & insider information about events & more