• Register
Post news Report RSS The Wanderer:Bloodbath - Map Creation and Character Movement

Showcases the environment creation and character movement. We found a good way to generate very large environments cheap, with low performance cost. We built a map and get the player to move around and explore it.

Posted by on

The Wanderer - Bloodbath : Map Creation and Character Movement

We initially designed the floor as 32px tiles(squares) that seam with themselves and with each other, and when we imported it into Unity we found the tilemap component, which fits perfectly with the tiles.

With the tile palette tool is super easy to paint tiles with a brush, can even change the brush size.

Article1Image1b

With just 32 unique tiles, we can already create decently sized environments that look ok. And can always add more types of tiles.

From the tilemap, we generate a mesh that we use for the navmesh, which we use for pathinding and AI. We use Unity's default navmesh that needs a 3d mesh.

The way I generated the mesh at first, wasn't very performant.

I started out by finding the position of the tiles in the tilemap, then spawned 1x1 cubes in every position. Then i changed the cubes into planes; that optimized it a lot. About 6 times less vertices.
From there the next step was to merge all the planes into one big mesh. It was still huge for big maps, multiple chunks of over 60k vertices.
I searched for ways to simplify the merged mesh, could hardly find anything but finally came up to this nifty little script:

Simplification by Fredrik Ludvigsen

Which after some tweaks reduced the mesh drastically. Now for a huge map the whole mesh is ~6k vertices.

--PPreda, Programmer


Article1Image2

So we made a huge map and tested it out:

ZoomingOut


Article1Image3


We tried maps 10-20 times bigger with no problems. Feels good having almost no restraints.

The character can rotate in 8 directions.

JaredIdleRotationGif 1


So there are 8 versions for each animation. But its actually 5, we could save some time by mirroring some of them.

That's it for now, stay tuned!

Post comment Comments
ShadowinkDesigns
ShadowinkDesigns - - 5 comments

Good job!

Reply Good karma Bad karma+3 votes
PPreda
PPreda - - 2 comments

Thanks!

Reply Good karma Bad karma+1 vote
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: