Better terrain! Better snow! And future plans.
Here are some pretty pictures! I started this level yesterday, and it needs work, but it’s a good way to show my new terrain techniques. I’m trying to automate as much as possible.
After I finalize the process, I’ll make a more detailed post showing what I’m doing.
There are two different specular light modes, depending on whether the texture is rock or snow. Rock has a sharp, shiny specular lighting. Snow has wide specular lighting, which first made it look like plastic, but then I ran it through two sparkle filters.
One filter is for the actual specular reflection. The other is even wider, but uses a more concentrated version of the sparkle texture to add some more random sparkles outside the main reflection.
REGULAR SPECULAR (bad)
FIRST SPARKLE FILTER
SECOND SPARKLE FILTER
(so distant snow has almost a bloom effect,
while retaining some sparkles)
I also spent a few hours trying to add clouds. I made a somewhat-decent movement script for them (it looks good, but it’s slow because it uses raytraces in runtime rather than mapping out the terrain when the game starts), but they look terrible and don’t fill the screen at all. I looked at a few solutions on the Asset Store, but I don’t think it’s worth slowing the game down. For now, I just have snow and wind effects centered on the player.
As for the future, here are some things that take me a long time. I’m trying to automate what I can:
- Making Unity terrain faster, and nicer looking
- Solutions: (already done)
- Use more erosion.
- Custom bump-mapped shader that doesn’t have specular lighting (faster)
- Custom specular shader that has settings for bright areas (snow) and dark areas (rocks). It also changes the specular power depending on the area.
- Solutions: (already done)
- Painting Unity terrain
- This is how you get snow on mountains and stuff
- Current Method: Automatically painting the terrain with the terrain toolkit and touching it up manually. Only allows 1 mountain texture, and other textures are distributed according to height.
- Solution: (already done) Alter terrain toolkit to allow different mountain textures, and mix all textures according to a generated splat map, with snow appearing more on higher altitudes
- Making paths through Unity terrain
- Very important because it lets the player travel well, and keeps the AI from getting stuck
- Current Method: I use terrain tools to manually smooth and alter the terrain. It takes a long time.
- Solution: Make an in-game tool that smooths terrain, and saves the heightmap? Not sure how much work this would be, but it would let me sculpt the terrain while testing it.
- Trees! And ice blocks!
- Current Method: Make trees/ice blocks, and place them each by hand.
- Solution: I tried to use Unity terrain to distribute them, but it didn’t work. I might edit the toolkit to allow it.
- Painting custom terrain (done in Blender, with caves and such)
- Current Method: Make the splat map in Blender’s texture paint mode. Smooth in GIMP. Import to custom shader.
- Solution: Not sure what else would be faster. I also have to update the shaders to add the new specular light mode.
- Nice-looking lightmapped shadows on terrain
- I get lots of black triangles when I do lightmapping the normal way. It’s just the way height maps work.
- Current Method: Sometimes I make shadow casters and disable them after lightmapping. It’s really slow, and looks smooth, but not accurate.
- Solution: Well, shadow casters is NOT a good option. For now, I’ll live with the black triangles. I might be able to (this will take LOTS of time) photo-edit them away right before releasing the game.
- Painting the monsters, and also clothing and weapons
- Huge bosses are actually easier to paint now, as most of it’s just splat mapping. But they use a slower shader because of their size. For smaller monsters that appear in groups, I have a fast shader that requires more painting.
- The good news is that this motivates me to make bigger monsters 😛
- Solution: … Do it faster? Also, if I get Kickstarter funding, I’ll upgrade the RAM on my Mac, and my photo editing software should run better. It crashes a lot when I run out of RAM.
Filed under: Level design, Optimization / Bugs | Leave a Comment
Tags: blender, game, gamedev, indie game, rpg, sci fi game, sci fi rpg, terra melior, terra melior rpg, the hero is dead, theheroisdead, unity game, unity shader, unity shaders, unity snow, unity terrain, unity3d