Environment shadows - step 1
In Overgrowth we are going to use baked lightmap shadows, but it is still important that the algorithm is very fast. First, I would like the shadows to update in real-time in the editor as objects are transformed. Second, to calculate ambient occlusion we have to accumulate shadows from hundreds of different virtual light sources, which is impractical if the basic shadowing algorithm is slow.
To calculate lightmaps efficiently, my current plan is to use hardware-accelerated depth-map shadowing to render the shadows for each object directly into its lightmap texture. Most graphics cards don't support textures large enough to render a depth map for the whole scene at an acceptable level of detail, so we will divide each shadow update pass into a number of smaller patches, which we will update one at a time.
Here are some screenshots of my current test, which calculates a high-detail shadow patch in real-time around the camera. I used Hale's Foothold map because it contains complex enough geometry to really test the shadow system. Cast shadows are rendered in grey, and backfaces are rendered in black. The backfaces don't tell us much about the shadows, but I thought they made the pictures more interesting!
The next step is to save these shadows into lightmap textures and combine them with the general lighting equations. I think once the direct and indirect shadows are in for the entire scene, our engine will start to look a lot more polished!
Foothold
Last week, Hale, from the forums, blew us away with his epic new Overgrowth level, Foothold (available on the Secret Preorder Forum). I never expected users would be doing this much with the level editor so soon. Without further ado, here is a showcase of Hale's amazing level:
I especially like the siege weaponry. I think these work quite well as set-piece models, even though they are, in fact, entirely crafted out of planks and other reusable components in the editor. This is exactly the kind of modular content creation (e.g. buildings, trees) Aubrey and I have been aiming for. :)
I'm really happy to see all the modding that has been going on in the Secret Preorder Forum lately. Thanks Hale, and everyone else, for making such cool stuff!
5 Indie PR Tips from Wolfire
Well, GDC is finally over. The biggest highlight for us was probably when Ron Carmel from 2dboy gave a lecture on Everything you always wanted to know about going indie but were afraid to ask and gave us a shout out about how we have been drumming up publicity for Overgrowth (here are Ron's slides). The guy who yelled "we love you Ron!" from the audience was John, by the way.
Ron is one of our role models and we are honored by the mention. I thought it would be an appropriate time to finish up this post on PR tips, so we can hopefully share some of our limited experience with other indie devs. We are by no means an authority on the subject, but this is what we've learned in the past few months.
Before I even begin the list, I want to say that the most important thing is to be agile and creative. None of us knew anything about this sort of thing, but we were able to learn quickly from our observations.
1. Don't count on other sites to cover you
Our original plan was to send out press releases to virtually every video game website, magazine, podcast, etc. in the world in regular intervals. I thought we would ride giant waves of press all the way to our big launch. The truth is that news sites have way bigger fish to fry and generally don't even respond to the unsolicited emails from the new guy. To date, aside from a few mentions on indie game blogs, we have had very limited coverage by gaming sites.
We hope that this will change as Overgrowth gets more and more developed. Also, at GDC, John managed to talk to a lot of video game journalists which might help in the future. However, don't worry, we quickly found new ways to get publicity.
2. "Social" sites like ModDB and Facebook are king
Alright, so no one from video game news sites are covering you? What now? Well, you might have heard the "Web 2.0" keyword thrown around a bit. Apparently there's something to the hype. Basically, if your game is cool, people will share it amongst themselves and totally bypass the big, centralized news sites.
One of our awesome fans, Silverfish, made a ModDB page for Overgrowth. Our page is almost always one of the top 10 most popular pages on the site. It's been known to get up to #1 or #2 every once in a while, dethroning Half Life and Half Life 2 as the most active page. You can be ignored by a single editor at a gaming news site, but if your game is actually cool, democratic sites will give you the spotlight.
Also, at this point, our Overgrowth Facebook page gets more traffic than our real Overgrowth page, which makes me sad because we worked so hard on our main page, while throwing the FB page together in less than an hour.
3. Video is easy and important
We found that videos are a really great way to show people the game. It takes us about an hour to produce a video and then we can syndicate them out to our YouTube channel, GameTrailers, Facebook, etc. where they will rack up tens of thousands of views per video.
With HD video it's almost like you're in the game yourself. Just remember do not use Vimeo!
4. Keep making high quality, original content
Digg, Reddit, and a number of other 'sharing' sites, are the great equalizer. If you make something cool, you no longer need a giant newspaper to announce it to the world. Just ask Cliffski from Positech Games when his "open question to pirates" article got spread around the world.
We try to keep the blog updated every day with news and cool stuff that we make to help keep the fans informed and just keep our website interesting. For example, David made a design tour of World of Goo, as a fun weekend project. It's a bit humbling, but that video was picked up by so many sites, so fast, that it has created a spike in our Google Analytics that made all of our previous traffic illegible.
5. Don't give up
We were really excited by the popularity the World of Goo video received and thought we had finally found something that worked totally by accident. However, David's second video on Knytt Stories was largely ignored.
On the other hand, one day we were struggling to come up with something to write about for the blog and at the last minute, I whipped up a post called Why you should support Mac OS X and Linux. To my surprise, this post was on fire and was blown up on Digg, Reddit, Slashdot, Ars Technica, etc. and drove so much traffic to Wolfire that when you look at our traffic graph, it blows away even our World of Goo video.
The internet is fickle, so don't be sad when you work really hard on something and no one sees it. If you make enough cool stuff, some portion of it will catch on.
We're still learning, so please share any wisdom you might have with us. We have a lot more tips, so if there is interest, I could make a second post like this.
GDC Is Almost Over
Hey guys some of you have noticed that I haven't been online much this week. The reason is that I've been spending the past few days at the Game Developers Conference. This being my first time at GDC, I wasn't sure what to expect.
I had hoped that GDC might allow us to meet some new people in the industry but I didn't understand what I was getting into. Below is a picture of our pile of business cards. That box was packed full of Wolfire business cards at the start of the week.
You probably noticed the ModDB card. It's been awesome to finally meet the ModDB guys in person. Sadly Hideo Kojima's card is not in our collection.
Networking aside, I had hoped there might be some booth babes. Not only were there booth babes...
...there were also babes demonstrating live motion-capture systems. You can't really tell from the photograph, but this young woman was linked to a T-Rex mesh in real-time.
Other gadgets included 3D gaming systems which used polarized screens, fancy force-feedback chairs for car racing games, and some little server-based gaming thing called OnLive (recall the SDForum Post, point 5 "Know The Endgame").
Wednesday night was the award ceremony. I was definitely very impressed with the quality of the IGF finalists this year. One of the great things about attending GDC is that you can play all the finalist games and actually talk to the developers themselves while you do it. The list of IGF 2009 winners can be found here.
On the GDC front, even though Fallout 3 won the Game of the Year Award, the guys at Media Molecule ended up winning four different awards for their amazing game Little Big Planet. After the ceremony was over, I had the great honor to meet members of the LBP team. This is a picture of me with Mark Healey, co-founder and creative-director of Media Molecule.
I made a point of telling them the story of our ninja rabbit fighting game and how LBP has given us inspiration for the Overgrowth editing tools.
It's hard to believe tomorrow is already the last day. Have you guys been following any GDC gossip? Is there anything I should investigate or look for before the conference comes to a close?
Gestating ideas for new games
We love coming up with new game ideas. There is a funny thing about new ideas though. No matter how awesome your last idea was, your new one seems even cooler. Over time you realize that new ideas seem great because they are new. You get tired of thinking about old ideas, especially on extended projects.
How do you know then which ideas are good and which ones aren't? What we have decided to do is not work on new ideas. We have been thinking about the game that has become Overgrowth for years now. We have thought out every detail many times over. Sometimes our ideas about the game change a little here and there as we go forward and see how the parts are coming together, but we are not going to stop working on Overgrowth until it's done, even if we come up with a new "greatest idea ever".
You may think that once Overgrowth is finished, we'll have to start on something new. In fact, we will start on some other old idea we have been playing around with. By waiting and re-examining ideas year after year you get a feel for which ones are good, and have depth.
This means that even when we are working on Overgrowth we are playing with new ideas, and iterating old ideas. It is an ongoing process.