Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1412083 Posts in 69448 Topics- by 58486 Members - Latest Member: holdemech

June 26, 2024, 09:28:37 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsFloatlands - lowpoly survival-exploration fps
Pages: 1 ... 4 5 [6]
Print
Author Topic: Floatlands - lowpoly survival-exploration fps  (Read 15647 times)
Josh Bossie
Level 3
***


Fly Safe, Pup


View Profile WWW
« Reply #100 on: September 11, 2017, 08:23:51 AM »

Been following this one for awhile, and I'm actually still surprised to see combat bits. On the surface it seems like a great chillout game with maybe survival stuff

How much combat do you anticipate during an average session?
Logged

Studio Techtrics
Level 0
***


Game dev


View Profile WWW
« Reply #101 on: September 14, 2017, 12:45:34 AM »

Been following this one for awhile, and I'm actually still surprised to see combat bits. On the surface it seems like a great chillout game with maybe survival stuff

How much combat do you anticipate during an average session?

Recently we condensed the playing world, so there won't be great distances between islands and therefore player bases. This indicates that there is potential for a lot of combat.
Logged

Studio Techtrics
Level 0
***


Game dev


View Profile WWW
« Reply #102 on: September 28, 2017, 04:39:13 AM »

Our first live stream
We've done our first live stream, explaining some core mechanics of Floatlands while showcasing the EGX Rezzed demo build. Andrej also did a quick tree sculpting for our new biome. Bear with us that this stream was our first one and we were pretty shy doing it. Check it out!






Better terrain generator
There were some changes made to the terrain generator. It allows water to be rendered, hills/mountains are more exposed now allowing us to create different types of terrain with ease.




Trees for swamp biome
From sketched concepts we now modeled some trees for the swamp biome and made LOD’s and colliders.




Reworking some older ideas
Since we’re frantically preparing the demo for the SGC event, there’s really no point of pumping out new concepts and content. Therefore its time to rework some of the older ideas. We’re dumping the wooden fences and completely overhauling the buzzard. The changes wont be extreme, but since we’re constantly evolving I think its appropriate we update the older assets as well.



Logged

Studio Techtrics
Level 0
***


Game dev


View Profile WWW
« Reply #103 on: December 18, 2017, 06:05:04 AM »

New Floatlands World – changes and improvements

There was a lot of unused space (air) which was not defined gameplay-wise in any way. It was only a medium for traveling from one island to another, therefore making it a really boring routine to do. We decided to fix this by creating a ground level terrain which covers entire playable area (which should be large) with terrain. This area is called Main Land and will include all biomes we introduced already and floating islands. It will also have water (sea & rivers), Humans of Floatlands, our beautiful animals, basically everything we already worked on.

After adding rivers system, new generator rules, grass and other natural objects, the world started to look familiar and appealing.



We have also produced a short video showcasing the current state of the new world (note that floating islands are still missing in the video).



Logged

Studio Techtrics
Level 0
***


Game dev


View Profile WWW
« Reply #104 on: December 22, 2017, 05:02:23 AM »

Dev stream #4 – Underwater scenery

A proof of concept demonstration of possible new models/elements in the Floatlands Game. From concept art to sculpted models to finished scenery. The visuals of a game can change a lot between concept art development and final Blender 3d model implementation in scenery.






Concept art for the beach and underwater biome

We’ve been preparing ideas and concept art for the beach and Underwater biome that we are setting up. It will be one continuous biome that will stretch along the shoreline. We created different assets that will be on various distances from the shoreline, ranging from land that’s away from water, to deep under water. The ocean bottom will be littered with interesting sea flora and even resources you’ll be able to harvest. We explored different moods ranging from dark and gloomy, to bright and lively so we can decide on what we want it to look like.




Underwater

The Underwater will serve as an interesting and difficult area to access. Since you are a robot, the water will also affect you in a negative way. Although with levels and skill trees planned, higher level players will have a true access to the Underwater. For new players we want them to focus on the Floating islands and the Main land. They need to experience fear of going into the ocean for the first couple of levels. When they level up the world will get bigger for them. Kind of removing a “hidden” barrier and introducing them to the last bit of the world.
Logged

Studio Techtrics
Level 0
***


Game dev


View Profile WWW
« Reply #105 on: January 08, 2018, 04:50:05 AM »

Dev Stream #05: Deep End submarine

The underwater scenery in Floatlands will be huge, you will need an efficient way to travel underwater without getting yourself killed and for this reason Deep End submarine comes in handy. Players will be able to craft this submarine. You’ll be able to travel at faster speed underwater and reach the undiscovered depths. You'll even mine precious minerals, that only spawn on the ocean floor, with the help of the laser mining “drill” which you’ll craft and attach to the front of your Deepend. We livestreamed the creation of a few Deep End assets – the aforementioned submarine and a small crab:






Crater assets

We started making a small biome that will appear in the craters left by the raised islands. In particular these will be harsh toxic areas with a lot of very lucrative resources. So far we have modeled quite a few assets for it, based on Mito’s concept art.




Smoother terrain

Current terrain is based on heightmap/bitmap, but sampling was done without interpolation. So this is why we implemented bicubic interpolation, which gives us smoother terrain and enables us to do derivatives on it (gradient). And from gradient, we can calculate normals or search for a local minimum/maximum through iteration (gradient descent). This is very useful because there is no more need to raycast meshes to get normal sample. This should optimize the terrain generation processes. As a result, here is animation of testing gradient iteration and it works quite good.

Logged

Studio Techtrics
Level 0
***


Game dev


View Profile WWW
« Reply #106 on: January 15, 2018, 06:00:00 AM »

Riverbanks
Riverbanks and (under)water are now filled up with more content such as grass, stones, chorals, ruins, tires and more. We’ve developed a spawning system that allows quick and easy setup for new game objects. You want to spawn a game object only in water at certain depth? You want to spawn trees at certain slope angle and then change its height on the fly? This system now allows you – without coding – to do such things with ease.




New trees
We decided to rework the tree tops and started experimenting with techniques and stiles, until we got to something we all really liked. This really changes the attitude of the game and creates more immersive but still somewhat abstract feel. The solid blob treetops are now being replaced with bunches of textured alpha transparent planes.




Exponential grass level of detail
We’ve been tweaking our new grass renderer a little bit and wondering if we can increase the grass draw distance without ruining the overall performance. We came up with a unique solution by decreasing the amount of rendered grass, having in mind maximum grass distance and current camera position.

New LOD logic allows subtle decrease of rendered grass meshes over the distance between the player and the final render distance. With this system we can now increase the render distance and this allows us to add more content into the world of Floatlands.

Logged

Studio Techtrics
Level 0
***


Game dev


View Profile WWW
« Reply #107 on: January 18, 2018, 05:11:20 AM »

Terrain minimums and maximums
Finally we set out to improve the tools for terrain. It’s not much, but we did a function for local min/max search and slope of terrain. Local maximums should be useful for spawning bigger objects that need visibility. Local minimums could be useful for resources that need to be more hidden from the player.




Critter concepts
To further enhance the world we’ll add tiny critters that will roam around the environment. Critters will be friendly animals or mechanical creatures that will move around specific territories. For example you’ll encounter turtles near the sea/shore line, chickens near villages etc. If you decide to kill the critter, there will be a chance that it will drop loot or crafting materials. Although, what kind of heartless person could possibly kill a tiny cute crab dragging around a tin can house.




Floating stone
Lastly, here we have a timelapse video where we modeled a floating stone with a crystal. These stones will float above the crater where the floating islands were raised. We sculpted the basic shape and applied a decimate modifier, after that we added a crystal created in a similar fashion.



Logged

Studio Techtrics
Level 0
***


Game dev


View Profile WWW
« Reply #108 on: January 23, 2018, 05:46:20 AM »

New inventory interface framework
We established a new inventory interface framework by writing a new logical layer on top of the current system. By doing this we can now save a lot of coding and designing time. New logical layer introduced new item manipulation techniques while having your inventory open:

  • By hovering over an item, a description panel shows which holds information about your item such as item name, description and quality;
  • By dragging one item onto another one, swapping or merging becomes possible;
  • If you right click on an item, you can split it if there is enough room in your inventory;
  • If you left click while holding left-shift, you can transfer an item instantly to another inventory panel.




Harvesting world resources
World resources such as stone veins, metal veins, niter veins, crystals and trees now have a harvesting feature – items (wooden logs, ores) now drop while mining/harvesting the resource which significantly improves resource gathering feature of Floatlands.




Critters
We started adding some more critters to the game. These will be harmless small animals and robots that will add some more life to the game. So far we’ve modeled, rigged and animated the hermit crab and the spherical robot.

Logged

Studio Techtrics
Level 0
***


Game dev


View Profile WWW
« Reply #109 on: January 29, 2018, 06:08:25 AM »

User Interface Changes

Player Stats
In the lower right corner you will find various player variables: health points, energy points, companion energy points and jet pack fuel. The panel is intuitive – the most important player stats have colors. If a certain stat is being low, the icon starts flashing (there will be also danger SFX for it later). If you gain certain stat (e.g. you are getting healed or damaged), the text color is changed as well to notify you something is happening to you. More details about a certain player stat:


  • Health points: this is something you will have to watch out for a lot, like in other games. You will be able to replentish your health in various ways, from consumable items, companion healing and world “healing stations”.
  • Energy points: this is the secondary stat to monitor. It depletes when doing certain tasks: mining, jumping/running endlessly, diving in waters, staying in radioactive zones, to name a few. To replentish the energy, you will be able to craft yourself energy batteries or build yourself (or finding one in the world) a charging station.
  • Companion energy: as mentioned before, you will be able to use your companion to heal yourself or as low-level resource gathering tool (until you craft yourself a pickaxe or another more advanced tool). Companion energy will deplete and replentish fast and its resource gathering/healing capabilities are basic.
  • Jet fuel: it will be used to reach previous unaccessable areas with fast depletion and slow replentish rate. There will be no way to replentish it with consumable items.


Item Bonuses
Since we have player stats now defined and ready to use, there should be an option of improving or degrading them. For this purpose, we’ve implemented item bonus system that’s going to be enabled if you put items in your hotbar or gear slot (gear items won’t work in your hotbar though). A sample item with bonuses:



Crafting Menu
Crafting menu has been overhauled to be more intiutive. The design is not yet finished as it requires SDF icons and other minor tweaks. Items are sorted in different categories, from weapons, tools to electornic devices. You can easily see what items are still missing to craft a certain item or if it requires a workbench to craft it (applies for bigger, more advanced items).



Crafting Queue
You can add up to 5 items to your crafting queue where items are being crafted for you. You can cancel certain recipe from being crafted and regain all items needed for this recipe back to your inventory.

Logged

Studio Techtrics
Level 0
***


Game dev


View Profile WWW
« Reply #110 on: February 02, 2018, 05:34:29 AM »

Terrain

Optimizations:
  • Multithreading of all operations on 2D maps, which includes Perlin noise generation, filtering, map rotation, addition.
  • Pool for 1D and 2D arrays, also with thread-safe functions.
  • Direct mesh contruction (previously mesh was constructed then modified).
  • Caching where possible to avoid Garbage Collection.

New features were also added:
  • Signed Distance Field for each Biome, so we can know how far away from biome edge we are (inside & outside).
  • Picking quad diagonal based on surface curvature, so that mesh looks more natural.

Multithreading:
Demonstrating how it’s done on 2D arrays. Lets say you have a quadcore PC, then we split any workload to 4 parts, so each thread gets it’s own part to work on.




A code example of how it’s done in our project.

Code:
/// N is resolution map
/// x is index
MapUtils.ForPararell(N, (x) => {
 
    // this closure inside is now running on it's own thread
 
    for (int y = 0; y < N; y++) {
 
        // do operations on 2D arrays as you'd normally do,
        // don't share state between threads though, or bad things will happen
    }
});


This is the current state of terrain, with still some tweaking to go:

Logged

Studio Techtrics
Level 0
***


Game dev


View Profile WWW
« Reply #111 on: February 07, 2018, 06:04:53 AM »

Companion
Companion will be a small floating robot, that will follow the player around and be available. It will mostly stay out of the way, but the player will be able to call it to help him with certain tasks.



Usefulness of a companion
  • They will be projecting the inventory, crafting and character UI. This will be a mostly aesthetic task that should add some more immersion.
  • Companion will have a limited healing capability. It will be able to heal the player, but its healing capacity will deplete quickly and will take time to recharge.
  • It will work as a limited gathering tool. The companion will be able to shoot a mining laser, that will break trees, rocks and mining veins, but it will quickly run out of power and need to recharge. This will give the player the ability to gather resources, even if he finds himself without any gathering tools, but also give him incentive to craft them, because they are much quicker at the task.
  • Technically, the companion will be regarded as a tool that will always be available. It is animated in a similar way as the weapons, meaning it has animated interactions with the player character’s first person rig.


Resource helper
We’ve been creating an in house resource helper, that will reduce time costs of searching and manually changing files containing item definitions and resource definitions. What you see is an XAML app, that parses .json file and gets out values of each item. These values can be manipulated easily through WIP UI interface and later simply replaced by just one click of the button. Soon we’ll be moving to crafting variables, and its manipulation.



As you can see, this is a necessary chore, which allowes even non-coders in the team to easily fix over or under saturated values of variables. This will become specially useful in the testing phase, so we’ll be able to change things on the fly.

Later on, we're going to implement server connection, which will broader the options what we can do with it. Nothing is sure for now, but a bit deprecated version could be used even for players. That way they know which items/crafting receipts are used in the game, or even for modding support.


Logged

Studio Techtrics
Level 0
***


Game dev


View Profile WWW
« Reply #112 on: February 12, 2018, 04:47:35 AM »

Player Panel
Player panel is now fully implemented and ready to be taken further. It serves as an indicator how well you are doing. It’s also a place where you manage your gear – from head items, torso and so called ‘plugins’ which increase your stats. You will be able to craft and find these plugins troughout the world.




Navigation
Since the world won’t be that small, we will give players some sense of direction by adding simple compass on top of your screen. We had a map in previous iteration and with testing the game we have seen that noone had been using it. Probably because they weren’t any interesting things on the map, so these things can change troughout the development. Though the main idea remains – for players to know where they are (we are about to add memorable points of interest and floating islands). Also, biomes are the easiest way to tell where you are (snow biome is usually in the north, desert biome is in the south).




GPU Rendered Grass Test
We had plenty of concerns about our recent grass renderer that we made. It uses Unity’s DrawMeshInstanced() function over multiple meshes that are spawned troughout the world. The problem with this system isn’t rendering itself, but batching grass meshes that are near you. We’ve used the fastest possible Octree implementation to get nearest grass meshes. These were then put to the renderer, that caused a lot of GC allocation and used alot of CPUs usage if we wanted dense and diverse grass. It also used a lot of drawing calls when we wanted to draw different meshes with different textures at the same time (example is when you stand on the edge of two or three biomes).



The last and only solution that we thought of was doing everything on the GPU by using geometry shaders. There are zero to none examples on how these things work in Unity so we started experimenting with it. The shader successfully draws triangles on a list of vertices we provide along with color and normal of the surface beneath. The shader has tweakable settings, from width and height of the grass, shadow intensity, wind strength and more. This is for now only a test and will probably take it further from here, we have to figure out how will grass cope with our art style.
Logged

PetSkull
Level 2
**


View Profile
« Reply #113 on: February 12, 2018, 06:22:59 AM »

Great writeup on the multithreaded terrain generation. You gave me some good ideas, as to how I might be able to speed up my own generator. Thanks! Smiley
Logged

Studio Techtrics
Level 0
***


Game dev


View Profile WWW
« Reply #114 on: February 14, 2018, 03:37:15 AM »

Great writeup on the multithreaded terrain generation. You gave me some good ideas, as to how I might be able to speed up my own generator. Thanks! Smiley
You're welcome! Smiley
Logged

Studio Techtrics
Level 0
***


Game dev


View Profile WWW
« Reply #115 on: February 20, 2018, 05:40:41 AM »

Timelapse #6: Companion modeling and rigging
Companion will work as a tool and therefore we modeled it with relatively lots of polygons, since it will appear close to the players view. We then rigged the model, so we could animate all the moving parts. Lastly we animated it together with the first person rig for the various actions that will be performed.






Outfits and skins
The outfits and armors we are adding to the player character are separate models, that fit over the player character and we made them connected to the same skeleton as the player. We model and weight paint them with the player model in blender, so we can test it with different animations and see how it works and looks with the player. We then save it in its own file for import into unity. This way we can keep adding more outfits.




World bounds
World bounds are automatically generated based on bounds size. The intent here is to prevent a player from falling off the world.




Floatlands music - Serene track
Serene is a track that is set out to make you feel the vastness of the scenery in Floatlands. A multitude of layered and swelling Synthesizer patches guide you slowly into the dazzling, dreamlike worlds.
https://soundcloud.com/whelp/serene-floatlands
Logged

Studio Techtrics
Level 0
***


Game dev


View Profile WWW
« Reply #116 on: March 05, 2018, 05:55:17 AM »

Junk armor
We’ve implemented a system where adding new types of armor and skins is now easy. All you have to do is add appropriate mesh, name it correctly, create a prefab, set correct layers and add a custom script which resolves everything (from icons, number of skins, to item bonuses armor has).


junk armor

Items will have shared sprites as well, meaning two different items have a shared sprite, allowing us to create more world items that can drop from various mobs.


Reworking DeepEnd and Buzzard
We have reworked the models for the Buzzard helicopter and Deepend submarine. We decided to make them a bit more compact and the models were divided, so they will be built in the game by adding pieces of them to a frame.


DeepEnd submarine


Buzzard helicopter


High tier armor sketch and model
We also reworked the high tier armor for the player. Based on Mito’s sketches we created a metal armor that is ornamented with several crystals. In addition, we will add some more versions, that will be available as skins.



Floatlands music: Reveal
“Reveal” is one of the first tracks Chris Plexidas made for Floatlands. The bouncy modulated toy piano sounds in the beginning represent your clumsy first steps that are easing you into another long and deep synth swelling that feels like the airy lands of the game. A deep breath of awe before you continue your venture through those lands.

https://soundcloud.com/whelp/reveal-floatlands
Logged

Studio Techtrics
Level 0
***


Game dev


View Profile WWW
« Reply #117 on: March 08, 2018, 06:26:09 AM »

Geometry grass solution
A couple of weeks ago we showed some early samples of rendering grass on the GPU by using geometry shaders. Fresh in-house grass solution allows us faster performance and fuller environment. It also has full forward shadows and global wind support.




Armadillo
We prepared some more skins for the crystal armour, which the players will be able to collect and use. This week’s newly additions are two more modeled and animated critters for the game, an armadillo and a spider-like robot with a drill.




Painting icons for the UI
Icons for the UI are being digitally painted. Slowly finishing with armor sets and moving towards the trash icons. You can see some of the new trash icons in the picture below. Trash items are mostly damaged objects you’ll be able to find in the floatlands universe. From mechanical parts to wooden junk that will lay around on the ground.




Floatlands music: Earth
Earth is a darker track, soothing and mysterious that will play during nighttime and dawn time when exploring your unknown surroundings.

https://soundcloud.com/whelp/earth-floatlands
Logged

Pages: 1 ... 4 5 [6]
Print
Jump to:  

Theme orange-lt created by panic