In September last year I joined Might & Delight, a newly started game development studio consisting of a bunch of very talented industry veterans. I quickly fell in love with the team, we had the same analytic approach to our trade, despite the varying disciplines. Much more could be said about Might & Delight and our last year and a half, but I’ll save that for some other time. Right now I just want to show you our game, simply named Pid!
When a young schoolboy gets stranded on a remote old planet, a unique and eccentric journey unfolds.His search for a way off the planet takes him through citys and castles, attics and space stations on this dreamlike yet dangerous world. Along the way he outsmarts a variety of malicious robots bent on stopping him and befriends unlikly allies that shed light on a huge conspiracy, that keeps the planet mesmerized and prevents him from ever reaching home.
First something completely else; I recently got back from No More Sweden 2010, the annual meet-up for Nordic indie developers. This year was less jamming and more awesome presentations & hanging out (discussing game development, indie gossip, etc :) ). Big thanks to Daniel Kaplan and Jens Bergensten for organizing it!
A couple of days ago I stumbled upon legendary demo coder Iñigo Quílez’ site. There I found an article, ‘Rendering Worlds With Two Triangles’, describing the idea of optimizing ray marching (ray tracing done in discrete steps — perfect for scenes where intersections can’t be found analytically) by using distance fields. A distance field supplies the minimum distance to any surface in a scene from any point. A ray can therefore do a look up in the distance field at its position and step at least the returned distance in its direction before a new look up is necessary. The difficulty of course lies in defining a distance field that matches the geometry we want to render. Quílez proposed going the other way around, defining a distance field as a means to model a scene. This pretty much blew my mind!
I decided to implement my own version in Söder Engine (DX10). As opposed to Quílez I wanted to make a scene that was rendered in real time so my screenshots are probably not as exciting as his :) Feel free to download the application and write a better scene though! It’s all defined in the shaders, which can be reloaded by pressing F1.
This method has some amazing properties. For instance, fake (empirical) ambient occlusion and subsurface scattering was a piece of cake to add :)
Here’s a few screenshots of some of the cool apps I’ve been working on this term. All of them use my DirectX 10 renderer called Söder Engine.
Water rendering with reflections and refractions. I’m specially proud of the way deep water is shaded, it fades out to (green) darkness depending on the depth so you can’t see the sea bed. I’ve seen lots of water/ ocean simulations that don’t account for the depth which results in the water looking like it’s a surface, not a volume.
Precomputed radiance transfer encoded with spherical harmonics. A technique for soft global illumination (“more realistic lighting”, in layman’s terms) that requires heavy precomputation but that can then be rendered at very high speeds, with dynamically changing and rotating light.
A* pathfinding on a navigation mesh with smoothing for more natural paths.
Tommy Preger has done it again! Just like last year he has written an AMAZING article on No More Sweden, the annual Swedish (nordic, really) independent game developer gathering. Apparently Super PLAY is being discontinued, so this is the very last issue of the rather experimental, indie-friendly magazine. I’m going to miss it, it really is a shame – but then it IS kind of awesome to be part of this legendary last issue! The cover is so pink it kind of hurts your eyes to look at it, the magazine itself is chock full of great articles and old commercials from -96 (I assume) and best of all – it contains EIGHT FULL PAGES on No More Sweden 2009!
Obviously I choose the part with most ME in it for the top image, but the article is really about the whole event; the competition, the games that were made and the people that attended.
Speaking of awesome things, here’s something that is CRAZY AWESOME! You Have To Burn The Rope was referenced in Double Fine’s Brütal Legend!
The game is referenced in a line of dialogue from the 2009 video game Brütal Legend, when the character Mangus explains the solution to a puzzle by yelling “You have to burn the rope!”, whereupon the character Eddie Riggs (voiced by Jack Black) declares incredulously “It can’t be that simple!” [Wikipedia]
I’m so very proud, that’s a huge deal to me! Big thanks for the heads-up, Olle and BlinkOk!
I’m back home from San Francisco, slowly digesting everything that happened at the GDC. I met a huge amount of passionate and talented game developers, I made new friends with some and I deepened my friendship with others. I saw the Golden Gate Bridge! I was slightly drunk most nights, I had fantastic conversations and I was awed by the beautiful city of San Francisco. I also rode on a cable car, walked about the Fisherman’s Wharf, visited the Arcade Museum and explored Mission, Castro, Chinatown, Japantown and of course Downtown. I was groped by Cactus. I was at the bit-101 party, I was at the awesome Game Over/ Continue? show, I was at the Awards Ceremony. I talked with all of the IGF finalists and tried every game. I spotted Warren Spector and John Romero on the street outside of Moscone Center, but not at the same time. I saw some amazing lectures, I met almost the entire indie scene. I saw the inside of LucasArts, thanks to Jens Andersson and David Nottingham! I got a bit tanned. I was inspired! I ate at an american diner. I met fans and at the same time I was a total fanboy. I did not see Bayion. I shouted at the top of my voice when Erik won the Grand Prize! I was always surrounded by brilliant, interesting people.
My booth babe - Mårten Brüggemann of Pieces Interactive - beating YHTBTR with one hand.