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

Enemies can also suddenly spawn through Realm Rifts. These Rift Spawns are going to be stronger than the ones wandering around. TBD on the enemies... #screenshotsaturday #godstear #madewithunity

Another house i made long time ago.

Updated the chest in the maze, adding sound, particles and better animation. But what's in the chest?

Just a Pico sprite

Heya! I wanted to show some gameplay progress i made so far. I hope you like it ^^

Family band complete!

Finished work on the emotions of a new character for the tank universe

Update 2.627

New challenges & new effects!

Shuiro Haname. #Commission

Commission for @ShuHaname

My D&D art for my family so far (WIP if you couldn't tell)