• Register
Post news RSS Making of the Hamlet (game level design)

Sharing our design process making an outdoor harvesting scene in Unity3D.

Posted by on

Harvesting Gameplay Blog PostWe have shown a piece of concept art from the outdoor gardening environment. I also wrote a blog post about how we want the harvesting to work. (Link)
Now that we have completed most of the Hamlet scene, I would like to share a bit about the process of building the outdoor scene in Unity3D. This is a bit long, so I'll make it in two parts - the second part will be posted on Monday. (Be aware, this is quite technical!)

Take 1 (Terrain Editor):

It turned out that making the outdoor level was a lot trickier than we had expected. First off we tried to use the built-in terrain editor that comes with Unity3D, but with the level of detail we wanted, it soon became too heavy.

Terrain Editor Screenshot

We had 12 different terrain textures (like grass, gravel-road, dirt, more dirt, more grass, grass with flowers, sand, etc). The terrain system then generates some extra textures to keep track of where we use the different 12 terrain textures. Problem was that these auto generated "tracking" textures were huge. In fact the total disk space just for tracking turned out to be 64Mb!

Terrain Tile EditorLowering the resolution sure would help, but then the visual quality dropped below what we could tolerate. We also tried a very cool terrain tile tool (featured here on indieDB) that in many ways could have worked, but we could not create a game scene that looked enough like the concept art. So at the end of the day we went for make-your-own terrain, piece by piece.

Take 2 (Tiled Mesh in Grid):

We wanted a modular terrain system, so we could easily build any kind of terrain from a library of pieces. I designed the different farm field pieces using a grid with the size of 1x1 meter, 2x2, 1x2, 2x3, etc. With these pieces I could easily build anything.

Tiled terrain pieces in grid

...Almost, and then there were visual glitches.
Light baking turned out really ugly results with the weirdest shadows ever. I finally figured out that we needed to add an extra empty UV set to each terrain piece. This solved the light baking problems - almost. Now there were some ugly black seems where the different pieces met. Turned out that this was lightmap-bleeds and scaling down the UV sets to allow for some UV padding would eliminate them.

Tiled Terrain pieces

Ok, so now all technical problems were solved, but the
visuals...Well, they became too generic! It was close though. Our AD Fridtjof, did a paintover of an isometric screenshot of this that lead to the last solution.

Take 3 (Big chunks of terrain - custom made):

More about this on Monday...(Here is the rough painover though)

Paint over


looks gorgeous

Reply Good karma Bad karma+6 votes

Don't think the visuals became too generic. It's very clean and nice looking. There are no errors I found and I'm sure you can have some more varition with the use of decals perhaps; not sure how Unity handle and applies extra detail.

Cool stuff!

Reply Good karma Bad karma+5 votes
bendikstang Author

@SinKing, I did not take a screenshot of the ugly ligthmapping artefacts. The screenshot above is from after I fixed the UV padding. Problem with the smaller pieces is that all lines becomes so strait - the organic in accuracy just dosent tile. On the paintover the path curves irregularly. I could do this with tons of 3x3 and bigger pieces, but the work would be tedious. So...well, I'll show you monday how I solved it. :-)

Please note that at this point we have not added all the good fluff like grass, bushes, rocks and flowers so the landscape looks very sterile.

Reply Good karma+2 votes

those chunks of terrain would look awesome with grass overhanging slightly, i think. I know its early w.i.p so sure its in the works.

Reply Good karma Bad karma+2 votes
Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.