Swedish game developer, born 1978. Started programming for fun at the age of twelve on Commodore VIC 64 and Amiga computers, mostly games and demos in assembly language. Studies include Master of Science in Media Technology at Linköpings Universitet. I have worked with game technology and game development professionally since 2001. I live with my family in an old house on the countryside near Malmö, southern Sweden and enjoy cooking, programming, music and carpentry among other things.
Homepage of Dennis Gustafsson
I founded Meqon in Norrköping, Sweden together with Marcus Lysén and Jonas Lindqvist. I was CTO and development lead of our physics simulation middleware for the games industry. We gained some traction after 3D Realms started using our technology for Duke Nukem Forever and eventually got acquired by AGEIA Technologies in 2005. Parts of our software got integrated into the PhysX SDK. I continued working at AGEIA as a software architect for two years after the acquisition, until they got acquired by NVIDIA. Meqon and AGEIA was a lot of fun, including many trips and conferences around the world. It laid the foundation for my future career, but it was also a very stressful environment and after seven years I needed something more quiet.
inSuggest was an experiment in crowd sourced recommendation technology together with Daniel Andersson, Henrik Johansson and Anders Frick. It resulted in a web site recommendation service called "web inSuggest". Using web APIs we crawled bookmarks from the then popular online bookmark service Delicious (del.icio.us). By entering a few of your favourite websites, you could get recommendations for other ones using collaborative filtering technology. The technology worked well and gained some popularity, but our service never reached critical mass and we didn't have the funding, nor the energy to market it, so we eventually shut it down a few years later. I'm still today amazed that personalized recommendation technology isn't used more on the Internet, given how well it works.
While working with various game engines for AGEIA I was missing a good profiling tool that could visualize the complex interactions and timings between different threads and subsystems. As any programmer would have done, I started writing my own tool that did exactly that and over time this evolved into a product called Dresscode. It consisted of a small API that was integrated into the game engine and a standalone visualizer that connected to the API over a network link. I showed a preview version of Dresscode to a few companies at GDC 2009 and soon after that, the whole project was acquired by RAD Game Tools where it was taken over by Brian Hook, who transformed it into a product now available as Telemetry. Dresscode was a fun project to write and has been immensely useful throughout the years for all kinds of projects.
Spawned out of the same Swedish incubator as Meqon, SCISS develops scientific visualization software for digital planetariums. I started doing contract work for them in 2008 and eventually relocated to San Francisco to start up their US branch in San Francisco together with Jonas Lindqvist during 2008 and 2009. At SCISS I worked on their core product Uniview and helped out with integration for US customers. In particular I worked with an astronomy show at the Morrison planetarium at the California Academy of Sciences in San Francisco. Working at SCISS was an interesting peak into the world of astronomy and a well needed break from games, but after a few years, it became very clear to me how how much I missed the games industry and a realization of where I belong.
After leaving SCISS and the US I went traveling for four months. During the trip I started working on physics again. Already back at Meqon I had ideas about a whole new take on physics APIs at a much lower level than existing products. More similar to OpenGL or Direct3D but for physics. I implemented rigid bodies, particles and later fluids with this new paradigm and had plans to release this as a product. The fluid in particular showed a lot of promise, and when I teamed up with Henrik to start Mediocre, we found use for the physics technology in our games instead. I still have the ambition to release parts of the physics SDK some day, in some form.
Back in Sweden after a few months of traveling I relocated to Malmö and did part time contract work for Tarsier Studios. I was hired for physics and computational geometry work, but their project got canceled/moved and I ended up working on a few other projects, one of them being Little Big Planet for PlayStation Vita.
While contracting for Tarsier I was also working on an iPad game based on fluid simulation with Henrik Johansson. The project was never meant as the starting point of a game studio, but when NVIDIA showed interest in the game, we realized that this could be something bigger than just a hobby project. So we registered the company Mediocre, finished the game and released it for phones and tablets on both iOS and Android. The game was picked up by both Apple and Google and became an overnight global success. We immediately realized we had to pursue this and started working full time with mobile games. A year later we released side scrolling arcade game Granny Smith, and after that a sequel to Sprinkle called Sprinkle Islands.
Despite being only a two-man crew, the studio flourished, but it wasn't until we released Smash Hit in 2014 that things got really crazy. Based on the low level physics SDK I had been working on, we designed this game around real-time breakage. With the soothing music by Douglas Holmquist and abstract visuals by Henrik, this game became a global chart-topper and a financial success. This game alone has to date more than 150 million downloads and is still our most popular game, almost four years after its initial release.
We continued to develop games for three more years, releasing Does not Commute, which was given an Apple Design Award in 2015, Beyondium in 2016 and finally PinOut, an endless arcade pinball game later the same year. For the latter two games we brought in Emil Bengtsson who helped out with game and level design. Mediocre has been a fantastic journey, but after releasing eight games in an increasingly competitive mobile games market, while consistently resisting the increasingly dominant free-to-play business model, we decided it was time to do something different. While still maintaining all games, we are not likely to release anything new.
During a trip to Prague in 2017 I experienced my first escape room. While the room itself wasn't that impressive I fell in love with the escape room concept. There was so much unused potential. I started talking to Emil Bengtsson about this and we shared a lot of the same ideas. We wanted to create an experience where the story was more connected to the puzzles. What I dislike the about traditional escape rooms is that there is rarely a connection between the environment you are in and what you do. It feels more like solving a series of random logic puzzles in a strange environment rather than playing a game. In a video game that would just be bad design, but in an escape room it is for some reason common practice.
The game we have designed and built is a control room in a fictive nuclear power plant. There is a lot of interaction between other people at the plant, via CCTV monitors. speakers and telephone. The game is fully automated controlled by a computer and dozens of micro controllers. It is designed for two players and takes about 50 minutes to play through. We are still uncertain how and if we are going to commercialize this idea.
During fall 2017 I got interested in 3D rendering. Having done all technology for our mobile games I naturally have some experience in 3D graphics, but for an experienced game programmer I just never was that interested in 3D engines before. Maybe because physics has always been my focus area. Somehow that all changed when I started tinkering with a new renderer using screen space path tracing. This renderer uses physically based shading and performs all lighting computations in real-time in screen space, as opposed to offline path-tracing which is common practice in games. Therefore it is very suitable for dynamic environments. The technology is work in progress and the development can be followed on my blog.