Game
Replication Extermination
8 years ago

Procedural Generation In Replication Extermination


The procedural world generation in Replication Extermination is the current iteration of my ongoing love affair withprocedural generation. This syten primarily uses Unity’s Mathf.PerlinNoise() function to create “seeded” randomized values (cellular in nature, as is the point of PerlinNoise).

I’m using a chunking algorithm that uses the player’s current world position to create adjacent world tiles as the player moves. Each of these world tiles has 1600 navigation point objects in a grid. When a world tile is generated, each navigation point’s values
from a variety of offset PerlinNoise maps, such as blocking weight, forest weight, and
hindering weight. These weights on each navigation point are used to determine what world/terrain feature to spawn at the point. Random.InitState() is also called with the tiles position, so that all following random values will be seeded for that tile.

Spawning these world features takes time, so we use a coroutines and every 40 objects spawned we allow a frame to pass. The new world tiles appear in the distance, before the player can see the new world tile.

After the terrain features have been generated, we go through the open vertices and spawn enemies, cores and powerups.



0 comments

Loading...

Next up

Smile! Here, take some happy pills! ✨💊 #Blender #3DModelling #3DArt Buy me a Ko-fi: https://ko-fi.com/barbarafb_

Werehog transformation process. #sonicunleashed

Family band complete!

Showing off player 2 😎

What do you think?

Levels' maps.

2d lighting experiment

I mostly build 3D First Person Shooter game mechanics in Unity, and in this I'm just showing C4 mechanics I made for a little side project I am working on! :)

Out of boredom and curiosity, I coded Sailor Jupiter's Argentine Backbreaker.

Got some fun collectibles in our game, Path of Kami!

Annie of the stars