Monday, June 24, 2013

Your Friend Google

John here: I know, it's been a while since I've made a post! It has now been officially three weeks since we moved to our Arizona office and we are feeling great about where we are with XING, and the direction we are headed in. We had our first in-house playtest since the release of the sandbox demo yesterday, and received excellent feedback and comments from our testers.

I figure I am long over due for a tech breakdown, so here goes. I figure I'll tackle some more developer-oriented stories, so feel free to skip to the bottom of this post if you're looking for the pretty pictures.


Google. Your best friend, your lifeblood as a developer.

I'm going to be honest here- especially as a recent grad, I can say college was great for me and taught me an incredible amount about life. I've had many fantastic teachers at school in all sorts of departments, teaching me things I may never have had the opportunity to learn about and making lifelong friends in the process. I have met people at school who have encouraged and supported me and my colleague's work far more than I would have ever imagined. XING truly is the product of the support of my family, friends, professors, and backers from around the world, and I've never felt so lucky to be in a position of following my dreams so soon in my life.

HOWEVER, in the cold, ever-changing world of computers and software development, things play out a little different. In a purely technical sense, XING only exists because of what my dad calls "The Brute Force of Ignorance". Without going into too great of detail, the concept is similar to the do it yourself mentality, but is less about willingness to go to work as it is about admitting your own ignorance to a task.

How does this relate to Google? An example:

Give myself a task. "How do I make grass in UDK that doesn't suck?"
My workflow:

  2. Click on eight links or so: 
    5. Etc.
  3. Look. Read. Absorb. Follow the tutorials, experiment, get your hands dirty, and learn the underlying tech behind what it is you want to do - then make your own. Read devblogs; here is an awesome one for a similar UDK game (that just recently got green-lit - congratulations!, and go check it out if you like adventure puzzle games). Really, just slam your head against a problem until you find a solution, it's as simple as that.
Ok, so maybe that last step is a few steps in itself. But that's the point - it takes time, and you have to start from the beginning. The fact of the matter is that I didn't learn how to make grass cards in school - I didn't even learn how grass is rendered, or even the first step on how to get grass into a game. I had to start at the beginning, as a total noob, and bite the bullet and start learning. Maybe this is a good time to relate everything back to Buddhism - the concept of beginners mind.

Maybe I'll just leave that to James.

Anyways, we achieved our grass with the card method described in the first link. My pro tip would be to go ahead and use an extremely simple diffuse and rely on the shape of the alpha cutout and an appropriate pallet to sell the grass - don't worry about fine detail on the diffuse, it will just muddy up the scene and give the grass a granular look. We made the grass in 200 poly chunks (with every 2 polys equaling 5 blades of grass or so) and than liberally applied with the built in foliage tool (which instances the meshes into fewer drawcalls). Flesh that out with some other higher poly ground foliage for variation with some aggressive LOD, and there you have it, some effective ground foliage.

OH! and to give back to the Google community, here's a keyword search: UDK foliage tool disappear bug. If you are happily UDKing and open up your foliage tool only to find all of your layers are missing (the meshes are still on the map, but you cannot place or erase anything), do yourself a favor and look in the scene browser for the foliage instance actor. This actor stores the info for all of your foliage instances on the map. Chances are if you are getting the bug, there will be two foliage instance actors. To fix the bug, delete the actor with a zero at the end. Be sure to back up your map just in case you delete the wrong one! Anyways, this bug (and any mention of foliage instance actors) was previously completely undocumented (seriously, try googling it) and we (James) solved it simply by experimentation.

Landscape modeling proved to be a little trickier - there are some excellent tutorials out there on how to create a landscape in Mudbox or zbrush but we decided on the built in UDK landscape tool despite it's limitations due to the ability to quickly change the general layout of our levels right in editor. We went with a hand sculpted approach vs making a hightmap in an external program due to the detailed nature of our levels, and have achieved pretty good results. Because of the inability to craft any detailed terrain elements, we are forced to augment the main landscape piece with plenty of auxiliary meshes - in this beach's case, plenty of cliffs and boulders. Believe it or not, there are only 5 layers of texture on the landscape - most of the variation comes from simple blending. We aren't doing anything fancy like The Last of Us with our landscape, but it's definitely working for us. 

Oculus Rift Update

I understand many of you are interested in the Oculus Rift side of development. So are we! Unfortunately, we have yet to receive our dev-kit from Oculus VR. We have made attempts to contact them about our situation, but understandably they have a no special cases policy, and we will just have to wait our turn for our dev-kit. We ordered the dev-kit as soon as we hit our stretch-goal, so it is still up in the air as to when we will get our hands on a Rift. I can assure you development for the rift will begin as soon as we receive our kit, but for now we will continue to focus on the core content of the game.

New Forum!

Lastly, we have heard your call - the XING: The Land Beyond official forums are online! Join in on the "adventure" of online forum banter and express your hopes and dreams to us and fellow backers and adventure enthusiasts. We will be monitoring the forums diligently, so feel free to post early and often.

PS: It's that time of the development period - the time where we need your help again! If you haven't already done so, vote for us on Steam Greenlight. I hate to sound like a broken record, but we need every vote we can get to make it on the worlds most popular digital distribution system, and I'm confident we have a place there.

The Pretty Pictures


No comments:

Post a Comment