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

Heya there! I really wanted to show you all a little gameplay preview of the first boss fight i'm currently working on i hope you like it ^^

Shadow The Hedgehog X pixel art

I was bored, so... ManutKat.

a drawing I did because I was bored😪. But I love how it turned out.😊

I worked so hard to get all four of them to the end safely, but then...

The Authority decided to investigate the Basement and leads to recovering classified documents Fun fact: The building has 928 doors and not 1000 doors. #horror

A 1h30 painting, coffee break.

My twitter: https://twitter.com/loupil100

Ladies & gentlemen.. The Blender logo factory! I had a ton of un making this animation. I'll be making a short tutorial on picking up/dropping object in Blender for animations next week! What do you think?

Art made for my friend @ungerbibs . Much love for this <3

Distrust - HUMERUS (with dirty shade) Papyrus isn`t small. It's possible that I didn't draw him well, but he crouched down and bent towards us. I'm still bad at moments like this