Shamus Young is probably one of my favorite bloggers out there. If you don’t recognize the name, he is the guy responsible for the DM of the Rings, Spoiler Warning and many other awesome things. In addition to being a video game geek and RPG enthusiast, Shamus is also a pretty damn good programmer, specializing in 3D graphics and procedural content generation. I think I might have mentioned his previous coding project somewhere on this blog, though I don’t think I dedicated an entire post to it. It was actually a quite awesome, procedurally generate nighttime city sky-scape:
Best part is that he blogged the entire project discussing his design choices, challenges and gotchas. If you are interested in reading about it, the first post is here and the final product can be downloaded as a Windows screensaver here.. Personally I found that project endlessly fascinating, and I was overjoyed to see that Shamus recently embarked on an entirely new, and much more ambitious coding challenge.
Having already built a procedurally generated city, he decided to do the next logical thing and generate a procedurally generated world. He is not using any game engine, or published assets – he is building everything from scratch. He is only 4 weeks into the project, and the results are already quite impressive. His procedurally generated world is actually bigger than all the combined land masses in World of Warcraft (over 1000 square kilometers) and supports things like a day and night cycle, climate zones, flowing rivers, forests and etc. All generated in real time in mere seconds.
Last week he posted this video to give us a little demonstration of how moving in this world would look and feel:
Pretty impressive as it is, but since then he made quite a few improvements:
The graphics actually remind me quite a bit of Morrowind era games, which is actually not a bad thing considering my undying love for that game. To me it looks great – simple, but nice enough to be immersive. It may not be impressive compared to some of the modern FPS games of today, but you have to remember that this was done by a single guy, in his free time, over the course of four weeks. Also it is very much a work in progress, and not the final product.
I am absolutely fascinated by this project, and I really love how it is shaping up. It really makes me want to buckle up, and learn some basic 3D programming so I could try to make something at least a fraction that awesome on my own. Yeah, graphics, 3D design and modeling are things I know very little about because I have never really needed them. In the meantime I live vicariously though Shamus and this project. Can’t wait to be able to play with it.
One of the reasons why I think this project is notable and worth watching is because it relies on procedural content generation. It is not a new technology. In fact procedural game world generation date all the way back to Nethack and it’s predecessors. Procedural content has been the bread and butter of the Demo Scene for many decades now. There is a lot of people with extensive experience, and a lot of accumulated knowledge about it out there. But strangely, almost no one in the industry is doing right now. There are virtually no triple A blockbuster titles out there using this sort of world generation concepts. The only people who actually mess around with procedural content are indie developers (like Notch of Minecraft fame) and smallish independent companies (like Asobo which created Fuel).
I want you to look at Project Frontier and think about the potential it could have. Personally I find it incredibly awesome piece of work, and hopefully Shamus will eventually be able to bootstrap some game play into it, so we can all enjoy it. Hell, I hope this will be the next Minecraft. In fact if I was Shamus I would totally jump on the Minecraft/Zomboid bandwagon and start selling the pre-alpha releases with a promise of a full game at the end of the road.
Now imagine what could be accomplished if instead of one guy working on the weekends you would give a similar project to a team of professional game developers. Imagine a free roaming sandbox RPG with procedurally generated terrain, random dungeons and side quests. Wouldn’t it be awesome to have a Oblivion style game that is different every time you start a new character? Wouldn’t it be awesome to have a shooter with almost endless replayability?
I guess it’s something to ponder.