Forest Biome Windmill

The Forest Biome

This was a very productive past week, especially with regards to the “Forest” biome. First, I added a persistent “pollen” particle effecThis is to add some movement to the world around the player, here in the form of bright yellow puffs floating about. Second, visibility decreases when the player enters this biome and the lighting/fog is tinted green. As you can see in the pictures below, the trees form a sort of canopy that blocks out the sun. It makes for a very moody experience.

I also decided to scrap my hand-designed tree models in favor of procedurally generated trees. Unity has a tree-generating engine that I understand is based on middleware called tree[d]. The upside to using this engine? The trees models are made on the fly, taking up little space, and I can revise their appearance with a few clicks. The trees now gently sway in the wind, they’re dynamically animated, and they also cast some performance-friendly shadows. They look rather pretty as well, putting my own models to shame. The downside? Well, Unity’s trees work best when attached to a “terrain” system. The terrain creates the tree’s colliders, batches them together to make the game run faster, and also replaces them with low-poly trees when far away (LOD). Also, without the terrain the procedural tree will not randomize, which means that every copy of the tree will look exactly the same as the first.

I managed to jury-rig a collider by taking the tree and stripping out the leaves. These mesh colliders are high-poly and taxing on the system, so they will only be generated when needed, really. I’ll need to find a way to efficiently simplify meshes in Unity before I can freely apply this collider. I’ve also planned my own LOD alternative, but that could take a while and it isn’t a high priority.

Finally, In the third picture below you can see the green and orange bricks snaking through the forest. I’ve managed to procedurally replicate the patterns that I manually created in the alpha demo. The paths all connect together and pass under the trees, forming random mazes and obstacles.

I’ve also been implementing some new editor tools for my own use in speeding up the game’s production. I’ll do a post on that when it’s nearly complete. In addition, I’m ditching the simplex noise generator as a way of determining biomes, favoring a Unity-ported version of the LibNoise library. I’ll be using Robert Whittaker’s biome graph as a guideline, the same graph that was used by Notch for Minecraft. From what I understand, this means generating two sets of noise data (one representing rainfall, the other representing temperature) for each chunk. For example, if the rain variable is low and the temperature is high in one chunk, it would be a good spot for a desert biome.

Forest Biome Windmill

Forest Biome Trees
Forest Biome Wall

A New GUI, Sound Design and the Beginning of Summer

This past week, I’ve completely converted the game’s menu interface so that it uses the NGUI middleware for the Unity game engine. It’s a real joy to work with, especially compared to my old system, EZ-GUI. The old interface system was a huge pain to use, hasn’t been updated in over a year, and produced low quality texture atlases that made everything look blurry. I was able to recreate everything in NGUI in a fraction of the time that it took me to put the old interface together. In addition, the new interface can be navigated using a controller, which is a must-have feature in case I get the opportunity to port the game to a console.

Also, I recently purchased some sound recording equipment: A Tascam recorder, carrying case, a boom mic, boom pole, and a bunch of cables. I’ve been playing around with the equipment, trying to get the feel for using it. I don’t have much experience with sound recording, but it’s one of those things that I’ll have to learn to complete this project.

On the art front, last month I created a number of sets that essentially function as levels for the game. I did some research as well, playing Journey for the first time and replaying Ico and Shadow of the Colossus. I also managed to play a bit of Skyrim at my friend’s house… that game is mighty pretty. Anyway, what I drew from it all was this:

  1. There seem to be about 4-5 different tree types in the central forest of Shadow of the Colossus. One of them is a very tall tree with leaves that form a canopy, blocking out the sky. Also, the fog/lighting in this area tints slightly green and sunlight becomes more scarce (Minecraft and other games do the same thing). I have created a canopy tree type, and will modify the biomes so that light/fog gradually change while wandering through them.
  2. I’m keeping my minimalistic art style, but will be emphasizing the blockiness of it all. This isn’t to the same extent that Fez takes it (even the trees are boxy in that game). Rather, I’ll be creating/modifying structures so that they have rectangular molding, with more hard edges and 90 degree angles.
  3. The game will no longer use texture atlases, save for the GUI. I will be using mostly generic textures (wood, stone, metal) and applying them to surfaces as needed. This will slow things down a bit as objects will have to be redrawn for each additional texture. However, it will reduce the amount of work that needs to be done for each model, I would be able to apply procedural textures to the models, and it would reduce the overall file size of the game. Really, I have hundreds of untextured models to work through and I cannot make atlases for them all.

Finally, I was interviewed by Kevin Ohannessian for an article featured on Gamespot! Also, Adam Smith of Rock Paper Shotgun covered my game for a blog post. Thanks guys!