Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Floatlands - a lowpoly survival/exploration fps game

A topic by studiotechtrics created Oct 04, 2016 Views: 9,705 Replies: 42
Viewing posts 3 to 22 of 40 · Next page · Previous page · First page · Last page
(+2)

Love the art direction and the game play looks fun

sign me up for some fun beta testing!

(+2)

Thx, we plan on releasing beta version at the end of the year.

(+3)

We've been working on improving the visuals of the scene (better foliage, fog and colors), here is a representation of that:

Important part of the game will be the resource gathering aspect – we already created some basic ones:

  • shooting down robot enemies will provide you scrap metal;
  • by chopping trees you will gain wood;
  • sheep is a source for wool;
  • you will also find resources in caves.

Our programmer Vili Volčini was busy creating pathfinding for a basic island, which now includes automatic subdividing, really fantastic stuff. He will explain the whole work process in one of our next posts, so be sure to check it out!

Andrej added some nice assets like stones and caves with stalactites. Speaking of caves, there will be a whole complex of them under the mountains for you to explore. We also added the first animal – a sheep with a few animations and ragdoll physics.

The next challenge is creating wobbly trees – we're already experimenting with wind animations for vegetation. That will certainly add some dynamic to the scene.

We're really happy with the progress of the game and we're looking forward to implementing mobs, weapons and lots more…

Until next time.

(2 edits) (+2)

Hey everyone,

Domen Koneski (game designer and programmer) has been working on the island generator, he added every asset that our 3D artist had for him – from a small firn to a huge tree. With this he also successfully implemented a LOD system and found a cool ambient occlusion system which was also added.


Resource gathering system is now improved, you can now harvest wood, wool, experience points and rocks.



Vili (programmer) explains the pathfinding and reasons why we need this in our game:

Common pathfinding is for ground mobs only. I wanted to have also mobs that fly and walk on walls/ceilings. For this we need special pathfinding, if we wish that enemies find a way to their target. I was looking for a solution and there was none, so I programmed my own. I used oct-trees, which are really just an extension of quad-trees. I constructed oct-tree by casting cube to world for each node – if anything is hit by BoxCast, subdivide. Repeat this until you hit maximum depth of nodes. I used Unity3Ds function 'Physics.CheckBox'. I visualized my algorithm, and pretty pictures happened – what you see next is leafs of solid. You can see this can get quite heavy, because each subdivision generates 8 times more nodes.

If I wanted to have a proper graph, I needed to make it also topologically correct. This means I needed to do flood-fill algorithm to separate free-space from solid-space. This way mobs can exactly know where they can walk (and can't). This is the result of flood-fill. I started from free-space (top most node) and searched through whole space. This way I could separate reachable and unreachable space.

Did I mention before about the resolution problem? Well, there is a big problem. Each subdivision is 8x times more expensive. Time and space requirements grow exponentially. BoxCasting becomes expensive, so does flood-fill. But there is a simple solution: subdivide only parts that need to be subdivided. So I coded a simple trigger, which will mark space that needs to be detailed. Each prefab gets its own trigger. It can be a box or sphere collider. Now, we have proper nodes. Now I needed to generate points (with normals) for each node. I did it by raycasting from many directions (borders of node) and then averaging the points. Also I calculated the average normal – slope, so I can separate ground from wall/ceiling.

Now another step – connect the neighbor nodes, so we get a point graph. Here, I used 'moore neighborhood' for connections, this way I also get diagonals. Then all I needed to do is input this point graph into A* Pathfinding Project made by Aron. That's all for now.

http://floatlands.net

(5 edits) (+2)

Bullet logic & lowpoly robot design


Hey, Domen here. My task was to create at least a reasonable bullet logic which is "kinda" realistic. For starters lets define what a bullet is. For the first N metres (or any other unit) the bullet reacts and is defined as a raycast from an origin point to a direction – in most cases a gun barrel or the middle of the screen (crosshair position). If nothing is hit then proceed with so called partly raycasts – cast a short raycast and if nothing happens move the origin of the previous ray to an end position of that ray.

Here is an ugly paint sketch:


(standard bullet logic)

This got me quite a satisfying result but I wasn't happy with it. Bullet isn't only a ray, it has a volume and there is also gravity that affects the movement of the bullet.

(implementation of basic raycasting system)

The next thing was to implement basic gravity impact to the bullet. I also moved every physics call to the FixedUpdate() so the Unity physics has the time to refresh itself. I also added a simple TTL (Time to live) system, so the bullet "dies" at about 25 raycasts.


(gravity affected bullet)


Here is an example of an instant raycast (black ray) and the partly raycasts (red) which are affected by the gravity, kinda heavy bullet eh? The next stop was implementing the volume of the bullet, which is a simple raycast towards every directon. We can now change the gravity affection, bullet spread, bullet time to live and bullet speed, which is nice if we want to implement some sort of mortars, snipers, or weak pistols. Aaaaand the final result:


Our 3D artist also recorded the workflow of creating a lowpoly robot in Blender. Enjoy!



http://floatlands.net

(2 edits)

Implementing build mode

Hi there,

today we will present you another feature of our Floatlands game – BUILD MODE. Players will be able to build their own structures to protect themselves from threats and store their possessions. This feature is closely tied with the resource gathering aspect of the game. It's simple really, to build any kind of structure you need materials. That is why we first thought out a material scheme.

Elements/materials differentiate between themselves in rarity and later on in tier usability (rare materials are needed for more fortified structures). From basic natural resources and animals that were already incorporated, we now had to convert this into usable materials for construction. Certain materials need to be processed and smelted in order to be used. This is where a FURNACE comes into play:


PLACING STRUCTURES

So, now that we have the materials sorted out, we get to play with construction. Constructing is based on one structure/element (foundation, floor, wall, stairs…) that you'll be able to rotate and snap to another element-thus creating a building according to your wishes. In order for this snapping system to work, our 3d artist and programmer had to create all the elements and assign them locators and snap points. The positioning of these elements works through raycasting.


BUILDING TIERS

For now we designed elements for 3 building tiers: WOOD, STONE, REINFORCED STONE.

WOOD


STONE


REINFORCED STONE

That's just the basics for now. We will update you with our next developments soon!


http://floatlands.net

(2 edits) (+1)

A few keynotes on the developments so far:

  • No timetable for the alpha version yet, but we believe development will definitely speed up.
  • Singleplayer mode is targeted on being a survival and exploring type of game.
  • We have multiplayer mode in mind at a later stage.
  • Questing -> there will be random events (defending, collecting, exploring) across the world for you to complete.
  • Building system is nearly complete -> you'll be able to build and upgrade your own custom base/shelter and defend from enemies (raiding).

Extracting metal will be important for upgrading/fortifying your structures.

Mountains will include a cave system. Caves will also provide lots of options for resource gathering.

Wood tier is the starting level of build mode.

Stone upgrade will make it harder for enemies to destroy your base.

Reinforced stone is the highest tier base/shelter you can upgrade to.

Mockup of the current UI.



http://floatlands.net

(1 edit)

ELECTRICITY

In our previous blog post we showed you the Floatlands build system and different tiers of structures. Then we thought about different props that could be used in the game, and some of them would need a source of energy. Generators will be that source, in fact, there will be 3 models with different power outputs (50W, 150W, 400W).




You will have to fill them with fuel to get them to work. Energy will be used for lights, lamps, defense systems, turrets and more. You'll be able to connect multiple devices to a generator and even go over the output limit, but the efficiency of that extra connected device will be lowered (example: extra connected light will generate less brightness). We already managed to connect several turrets to a generator.



Turrets will target their enemies with laser light and bullets.



Generator interface shows you nearby and connected generators, current power and available power.

Wall lamp connected to a nearby generator.



Power up your lights to see trough dark nights.


We're even discussing various energy sources, like wind (wind turbines), water (hydroelectricity) and sun (solar panels).

Until next time!

http://floatlands.net

(8 edits)

WINTER IS COMING


So, besides the 3 already made biomes (normal, sea and desert) we now finally implemented a winter/snow world and a day & night cycle together with weather system. It actually looks even more impressive in night time. With our build system already quite developed, we experimented in making this winter castle. That's the beauty of custom build mode…




Our 3d artist modified the terrain/mountains, trees, rocks and also recorded his workflow, if anyone is interested in having a look.



Since we decided to go the lowpoly way and use solid colors, we're looking into a similar kind of design regarding user interface and HUD. Domen went through a couple of UI mockups/revisions and also added a compass which already works. For now it shows just mountains and bases, later it will show all relevant points of interest (quests etc).



Last couple of days we've been preparing for the upcoming Slovenian games conference where we will showcase our work so far. A demo scene is in place along with a slightly improved player controller, so our booth visitors will be able to get a very early sample of gameplay. In our next blog post we will update you guys with how it all went (pictures included) and what to expect in the coming weeks and months.

www.floatlands.net

(3 edits)

SLOVENIAN GAMES CONFERENCE

A few weeks back we announced our attendance at the Slovenian games conference where we would present a very early sample of Floatlands. Taking into account that this project is 4 months old, we put ourselves under a lot of time pressure but finally we managed to do it.


So last week we concentrated on setting up a demo scene with a working build mode, the latest UI and an updated player controller. We came to the event with one purpose – to observe and take in the reactions, impressions and live feedback from the visitors and other developers. Of course there was an occasional bug or two, but players were genuinely excited to build their own bases – you wouldn't believe some of the constructions they made.


The conference itself lasted the whole day, it included speakers on various related gaming topics, such as design process, animation, audio, VR, marketing and much more. Throughout the event we met lots of developers with interesting and promising game projects. We were also offered help with marketing which we are so grateful for.


To our complete surprise (since we haven't really thought about the contest) Floatlands had been chosen for the best indie game of SGC 2016. This is a great honor for us, especially because we've been working on this game for only 4 months now. The reward for winning this contest were tickets to Reboot Develop conference 2017, which will take place in Dubrovnik (Croatia) in April. We might also showcase our game at Reboot Infogamer fair in Zagreb in November, so you'll be seeing us a lot in Croatia.


What happened at SGC is just another breakthrough for our team. It's an encouragement and motivation for us to take development onto the next step. We are contemplating about launching some kind of funding project for Floatlands and involve you guys – our fans, more. We will also update our site with a table that shows the procentual progress of the game. This will make the development process more transparent.

Looking forward to the future,
Floatlands team

http://floatlands.net

(3 edits)

ROBOT NPC DESIGN

I artist was given the task to design NPCs for the game, so I started by coming up with ideas. At this point I was mostly sketching different designs, mostly throwing ideas against the wall and seeing what sticks. I progresively refined the design while getting feedback from my team-mates.

When we got the idea we were looking for, I made a colour sketch and drew up some weapon ideas:

Work in progress…

The control rig for the animation is tested for bugs and the gun is modeled and added to the character. Now we can animate movements for the character and add him to the game. You are going to be harrased by this NPC alot in Floatlands, so make sure to run away from him… alot.

Andrej Krebs, lead 3D artist

http://floatlands.net

(2 edits)

ENEMY NPC ROBOTS


GUNNER

Is the most common type of robot in Floatlands. He is equipped with a standard rifle, has a great range and cooperates with other robots very well. He will be found near quest sites or freshly spawned islands.


GRENADIER

Grenadier is more trickier. He is equipped with a grenade launcher, which can cause lots of pain if he sees where you are hiding. He can be terminated very quickly so make sure to have an eye on him.



HARDSCOPER

Sniper will appear less frequently than some other robot NPCs. His specialization is to cover large open areas, so you'll have to watch out for him at every turn. He is likely to camp out in nearby bushes. Terminate him first to clear the path.


ABSORBER

He can be found in a pack of NPC robots. He is absorbing your incoming damage in a great range, so make sure to target him to weaken robot's defenses. It does zero damage and has very little health pool.

http://floatlands.net

(4 edits)

PROJECTILES, BOUNCINESS & PENETRABILITY

Floatlands has another addition – Projectile system. Until now, only weapon animations were present in the game, without actual bullets, so the shooting experience wasn't quite genuine. This chapter will go over projectiles that launch from a weapon, how they bounce from other objects and surfaces, and how much effect do penetration angles have.

The projectiles are drawn with a white line. Velocity verlet integrator was used for simulating bullet forces because it produces almost no error and is simple to implement. If you wish to learn about verlet velocity, this is good article to read: Doing gravity right

Projectiles also support bouncing off the surface. If the angle between a bullet and a normal is right enough, the bullet will bounce otherwise it will stop. Random error is added to velocity after bounce too, so that it's path is less predictable. Shooting bullets into cave gets interesting, because bullets bounce to every imaginable direction.

Lots of games don't have this feature of Projectile penetration, it's a very good gameplay element and this is why it was added. It becomes very fun to play, because you can damage an opponent through a wall. Lets look at some examples, so you can get a taste of what this feature can do.

Penetration calculation includes a huge amount of math. Angle between a normal and projectile direction tells you how orthogonal to surface the bullet is. There is more chance that a bullet will penetrate, if it is orthogonal to the surface. Also, each projectile loses »mass« so that its weaker after penetration. It can also happen that a bullet doesn't penetrate but bounces off instead.

Shooting quad walls: There is also another raycast from another side of collider, (reverse direction of bullet) so that code can determine how deep penetration will be. The deeper, the less chance that it will penetrate (or not at all).


Shooting triangle walls:
From this little experiment it's visible that triangle walls are much more protective against bullets than just straight quad walls.


A little bit of programmers speak:

Every MonoBehavior that will be penetratable needs to implement this IPenetratable interface. Then you can just call GetComponent<IPenetratable>() on collider and if it's not null, you can go on and calculate penetration from porosity and max depth.

<code>
public interface IPenetratable
{
// [0, 1] - measures emptiness of volume
float GetPorosity();
// (0, +inf)
// max depth
float GetMaxPenetrationDepth();
}

Game also includes dynamic crosshair; it reacts to player velocity. Here you can see the crosshair of shotgun reacting in action.


PARAMETERS FOR WEAPON PROJECTILES


  • Bullet spread – how much spread independent of current state. Shotgun projectiles still spread even if you crouch.
  • Weapon spread – how much player movement affects weapon accuracy.
  • Recoil kick: How much it moves your crosshair/mouse permanently.
  • Recoil kick deviation: Randomized kick ammount (deviation is from statistics).
  • Recoil deviation: Temporary displacement of your cursor. This is usually big because it returns to back where you were aiming exponantially fast.

http://floatlands.net

(5 edits)

SMELTING & STORAGE

Hi guys, working hard on various content for the game – recent additions are a Furnace/Smelter and a Storage box, with item system in the works.



STORAGE

There will be 2 variants of storage boxes. Smaller ones will be intended for fast and efficient storaging of your valuables. Bigger ones will be used for a specific storage and you'll have to secure them from outer threats (mobs). Both kind will be craftables only, meaning that the only way to get them will be by crafting. You'll be able to set them anywhere you want (no restrictions regarding that), most commonly in bases/shelters.


SMELTING

There is only one variant of furnace available for now. It transforms your raw gathered resources to a more refined (better) quality (example Metal Ore -> Metal Ignot). This transformed element can be then used for crafting better items (bigger storage box, weapons, other devices). Furnace works only if "fuel" is added as an energy source. The primitive fuel is wood, but you can use oil, coal or any other wooden element (wooden floor, foundation). So imagine that, instead of destroying your wooden base and previous elements going to waste, this way you'll actually get something in return.

When smelting there will be a variable duration period – for smelting rare items a longer time will be needed due to more difficult smelting process. This furnace will fit nicely to your base/shelter, and you'll have the option to make several of them.

http://floatlands.net
Floatlands

(4 edits)

PROCEDURAL ISLAND GENERATOR


We've been working hard lately on reworking our island generator. At the beginning of development we had a weak system, where you placed 'spawner' on an island with a set of rules to follow. This system did work, but as the development continued we have found little to no variations at the end and we became bored of it. Floatlands needed a procedural island generator!

Domen, our lead game designer, started working on his own procedural engine, which first produced simple islands with basic flora on it (trees, bushes and grass). The system can be easily tweaked as the development continues for optimization and gameplay purposes (e.g. too much trees at one spot – too much resources for player).

ISLAND SIZES

Floatlands will have 4 different island sizes and 4 biomes to follow (we are going to add biomes and sizes later on).


Island sizes, from 'shelf' to 'father' island

Size Description
Shelf A tiny bit of an island. Used to create some variation on other islands.
Normal Normal sized island. The majority of Floatlands islands.
Mother Bigger islands. Used mostly for resource gathering and shelter building
Father Biggest islands. Used for exploring. These are dangerous!

Island size comparison from player perspective


ISLAND BIOME

Each island (and perhaps islands around it) will contain specific set of flora and fauna objects. In the first release there will only be 3 major biomes – Normal (grassy, rich with resources), Snow (foggy and cold place) and Desert biome (dusty and dangerous). Each biome will have its own color scheme and weather.

Biome Description
Normal Populated with animals. Lots of resources can be found here.
Snow Foggy and white - rich with minerals
Desert Dangerous place to be


Some examples using our early version of procedural generator:

Normal-sized island with 'Normal' biome.

Snow biome on a 'Mother' -sized island.


ISLAND PATHS

Each island will also have some paths that will connect certain points of interests. This idea is still work in progress but we've already managed to write an algorithm that creates a nice path/spline on an island, regardless of its size.

Procedural generated path. Panorama shot of in-game gameplay, using volumetric lightning.

Here's a quick panorama in-game shot. We started to use a volumetric lightning technique, that explains the shininess! Plan for the future is to add animals, more flora variety and points of interest (e.g. abandoned shacks).

http://floatlands.net

(13 edits)

TECHNICAL PREVIEW


POINTS OF INTEREST

  • Shacks will be free to loot and the easiest way to obtain items. They will encourage you to explore every part of the world.
  • Towers will be heavily guarded by enemy NPC robots and the difficulty to overcome them will vary: more difficult -> more valuable the loot.


  • Radioactive sites will be easy to spot, they will be filled with barrels that will emit visual green smog. Radioactivity will cause you a little bit of damage so you'll have to watch out when deciding to loot there.


  • Flying fortress will be the most difficult to capture (master difficulty). For now it's in concept stage and we can only show you some prototypes.

http://floatlands.net

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 a bit, it works much faster now.



Vili Volčini

http://floatlands.net

(2 edits)

Weekly update

  • LOD, DRAW DISTANCE AND CULLING SYSTEM
  • WEATHER, DAY/NIGHT SYSTEM
  • FORTRESESS
  • BUZZARD - basic craftable aircraft
  • SHEEP ANIMATIONS & BEHAVIOUR

READ MORE

(1 edit)

WEEKLY UPDATE

  • Procedural weather system



  • Flying Fortresses



  • Deer animations


  • Construction asset & building materials

READ MORE

(1 edit)

WEEKLY UPDATE

  • Decorations and vegetation changes

  • Making of the wildlife

  • Pre/post Floatlands buildings

  • Mobs

READ MORE

(+1)

Hey! Just wanted to say that this game looks fantastic! I love the whole art direction and style!

Viewing posts 3 to 22 of 40 · Next page · Previous page · First page · Last page