Game
Floatlands
9 years ago

Floatlands - weekly update


ISLAND GENERATOR

I’ve been working hard on an island generator. We were using premade islands lately and when I spawned alot of islands already I’ve gotten bored of almost the same results. I’ve changed this so now the mesh/terrain of an island also gets manipulated by procedural generation – in this case I’ve used Simplex noise. For now you can find three types of terrain:

flat terrain with chance of spawning a swamp/lake

hilly terrain

large hills/mountainous terrain -really nice to explore

I think this would do just nice apart from having different island shapes, biomes and sizes, the variety continues! I’m ought to work on LOD system and draw distance system, so even potatoes can run this game. When I’m done with this I’m looking forward to implement animals, so we can start testing how well can they behave in our beautiful world.
Domen Koneski


UPDATE ON POINTS OF INTEREST

  • concrete tower – heavily guarded by enemy NPC robots; this is just an updated model which is already in the scene

  • wind power stations – these would recharge your robot’s energy, but dynamic weather is needed in order for this to work.

    Andrej Krebs, Mito Horvat

VECTOR MATH ACCELERATION

I’ve been testing Mono.SIMD included in Unity3D for vector math acceleration. It works quite well. Not so sure about PC CPU support yet, but all moderns CPUs should support it. Here is the result of my little test, one million vector additions:

		
			 var watch = new System.Diagnostics.Stopwatch();

 watch.Start();

 int runs = 1000000;

 var vec4_0 = new Mono.Simd.Vector4f(1f, 2f, 3f, 4f);
 var vec4_1 = new Mono.Simd.Vector4f(1f, 6f, 6f, 6f);

 for (int i=0; i < runs; i++)
 {
    vec4_0 = vec4_0 + vec4_1;
 }

 watch.Stop();
 Debug.Log("SIMD:" + watch.Elapsed.TotalMilliseconds+ "ms");

 watch.Reset();
 watch.Start();

 var vec3_0 = new Vector3(1f, 2f, 3f);
 var vec3_1 = new Vector3(1f, 6f, 6f);

 for (int i=0; i < runs; i++)
 {
    vec3_0 = vec3_0 + vec3_1;
 }

 watch.Stop();
 Debug.Log("Normal:" + watch.Elapsed.TotalMilliseconds + "ms");
		
	

NPC COLLISION AVOIDANCE OPTIMIZATION

I also reworked the NPC collision avoidance algorithm abit, it works much faster now.

Trick of optimisation is that you update just parts of information every frame :). Only 6-9 raycasts per NPC instead of ~100 (lagfest).
Vili Volčini

http://floatlands.net



0 comments

Loading...

Next up

Working on game weather, cloudiness in this particular case.

Added some basic icons to player panel.

DeepEnd Submarine

Buzzard helicopter

Biome color experimenting

Polishing our new grass solution.

Player panel showing all the player stats, gear and your PAL (companion) stats as well.

Show companion animation

Procedurally generated example of Mainland and nearby ground islands with lots of biomes.

Playing around with player skins.