• Advertisement


  • Content count

  • Joined

  • Last visited

Community Reputation

1060 Excellent

1 Follower

About Ph4nt0m

  • Rank

Personal Information


  • Twitter
  • Twitch
  1. Geometry grass solutionDOMEN KONESKI A couple of weeks ago I 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. This video shows you what can be done with the new grass system. It aligns to the terrain, grass color is the same as the vertex color beneath it. It also has full forward shadows and global wind support. Random island placementVILI VOLČINI This past week I was working on random Island placement and many other things. I found a need for Gradient Descent style optimization, to place Islands around each other, with special constraints. First I made a penality function or error function. This function is scalar field, since it returns a real number based on position in the world (and islandRadius you are willing to place). float PenalityFuncIsland(Vector3 point, float islandRadius) { float error = 0; // island-wall-distance float wd = ClosestDistToWalls(point, islandRadius); error += Mathf.Max(wd - minimumDistanceBetweenWallAndIsland, 0); // closest island-island-distance float d = ClosestDistToAnyIsland(point, islandRadius); error += Mathf.Max(minimumDistanceBetweenIslands - d, 0f); error += Mathf.Max(d - maximumDistanceBetweenIslands, 0f); // difference between 2 closest-island-island distances float c2 = ClosestDistMaxDist2Islands(point, islandRadius); error += Mathf.Max(c2, 0f); return error; } In order to minimize the error, I needed to do a gradient of the same function. This is 2D version, since we are placing regular Islands (not Floating Lands). Because it’s 2D gradient, I just needed to calculate 2 derivatives. Vector3 PenalityFuncIslandGradient(Vector3 point, float radius) { float dx = PenalityFuncIsland(point + Vector3.right, radius) - PenalityFuncIsland(point - Vector3.right , radius); float dy = PenalityFuncIsland(point + Vector3.forward, radius) - PenalityFuncIsland(point - Vector3.forward, radius); return new Vector3(dx, 0f, dy); } Then I picked random iterPoint in space (initial guess), and then I just walk over world like that, minimizing error (walking down the hill). while(..) { .. iterPoint = iterPoint - coefficient * PenalityFuncGradient(iterPoint, radius); .. } Obviously this is not the whole story, since I also needed some termination code (knowing when to stop & knowing when a point is good enough or should be discarded). I have drawn the trail of walking through our space, and this is the end result: ArmadilloANDREJ KREBS I have modeled and 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. Armadillo critter Painting more icons for the UIMITO HORVAT I continue to paint icons for the UI. 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. Additional UI icons - armor sets and damaged objects Creating templates for Floatlands WikiBLAŽ DROBNIČ, TADEJ VRANEŠIČ Perhaps you noticed the Gamepedia link on our blog. Well, Gamepedia is hosting Floatlands official Wiki. Since our game is still a work in progress, game changes also have to reflect in the Wiki. So lately we’ve been updating the main page – correcting the layout, background and logos (featured images are a little outdated and will be replaced soon). We’re also preparing various templates, which will help us add elements to Wiki a lot easier. Tadej and I first put together a template for adding Weapons. The example on the right shows Close Encounter Shotgun and all of its characteristics in the game. An example of weapon item template on Wiki Floatlands music: EarthCHRIS PLEXIDAS Earth is a darker track, soothing and mysterious that will play during nighttime and dawn time when exploring your unknown surroundings. More about Floatlands: Discord Facebook Twitter Instagram
  2. Player Panel DOMEN KONESKI I’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). 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. junk armor Loot tables reworked DOMEN KONSEKI Items now have a world drop chance. If their drop rate is > 0% then this item can be used in our new loot table system. You can define loot tables via our in-house solution. Next thing that needs to be done is applying loot table callback when lootable events occur: you kill a critter or an enemy, looting crates, mining and resource gathering. loot tables Algorithm that selects an item is straightforward. Gather all items and their drop chances in a list, then sort them from lowest to highest item chances and then start evaluating their drops by using Unity’s Random.value. public static T SelectItem<T>(List<GenericSelectedItem<T>> items) { items.Sort(); for (int i = 0; i < items.Count; i++) if (UnityEngine.Random.value <= items[i].Chances) return items[i].Item; return default(T); } Reworking DeepEnd and Buzzard ANDREJ KREBS I 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 ANDREJ KREBS I also reworked the high tier armor for the player. Based on Mito’s sketches I modeled a metal armor that is ornamented with several crystals. I will add some more versions, that will be available as skins. metal armor with crystals Floatlands music: Reveal DOMEN KONESKI “Reveal” is one of the first tracks I 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. More about Floatlands: Discord Facebook Twitter Instagram
  3. Player Panel DOMEN KONESKI 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 DOMEN KONESKI 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 DOMEN KONESKI We had plenty of concerns about our recent grass renderer that I 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). Rendering grass on the GPU by using geometry shaders The last and only solution that I 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 I started experimenting with it. The shader successfully draws triangles on a list of vertices I 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. Shader world models for items DOMEN KONESKI Item framework system a has new additon which enables us to (re)use world item models on different items. This means we can create more items with less modeling. Example: two torso sets that look the same, but have different stat bonuses on it. More about it in the future blogposts. Timelapse #6: Companion modeling and rigging ANDREJ KREBS Companion will work as a tool and is therefore modeled with relatively lots of polygons, since it will appear close to the players view. The model was then rigged, so I could animate all the moving parts. The model was then animated together with the first person rig for the various actions that will be performed. Outfits and skins ANDREJ KREBS The outfits and armors we are adding to the player character are separate models, that fit over the player character and are connected to the same skeleton as the player. I model and weight paint them with the player model in blender, so I can test it with different animations and see how it works and looks with the player, but I then save it in its own file for import into unity. This way we can keep adding more outfits. Outfits Skins are basically new models that represent the same item. Sometimes I copy an existing armor and modify it and other times I just make new armors from scratch for skins, depends on what I’m trying to make. The player and outfit models are then brought back together in Unity and are then remaped to the same skeleton, to work with the animation in the engine. Floating islands biome concept MITO HORVAT The floating islands above the ground are going to need an overhaul as well. We’re redefining the shapes and sizes plus it will have its own mini biome. The old island models look too boring and simple to recycle them, so we had to come up with something fresh. I drew up various shapes and sizes concepts which were then approved and based on that, I painted this quick concept art. concept of floating islands biome New icons for UI/Inventory screen MITO HORVAT I’d been given another sidetask by Domen, to paint the new icons for the game UI/Inventory screen. It’s going to take ages to complete, but it is the necessary evil that has to be dealt with. New icons for UI/Inventory screen Improving resource helper TADEJ VRANEŠIČ This week was all about improving resource helper. I made a simple Server/Client ftp connector, which resolves version disputes quite easily. It has an Upload – Push and Download – Pull function, which reads and writes from server and to a server. This storing and reading technique will be used heavily, internally, but it may have the potential to be used as a modding tool. User could download item resources file with different settings from the ones that are set on his PC. This completely alters the behaviour of Floatlands game and after he is done “playing around”, he can simply download the official and latest version, which sets game behaviour to default. World bounds VILI VOLČINI Lately I’ve been working on world bounds, which are automatically generated based on bounds size. The intent here is to prevent a player from falling off the world. World bounds Charting software VILI VOLČINI I was searching for charting software for planning. I did this because it felt like we were somewhat in the dark with planning. I found TeamGantt, their charts allow you to plan tasks on the timeline, and more importantly, make tasks depend on each other – “if Y depends on X, then we must finish X before working on Y”. With this software, we can estimate, how much work there is to do and how much time it will take. Gantt online charting software Serene track CHRIS PLEXIDAS Every blogpost from now on and until the release date we will release one track of the Official Floatlands Soundtrack a week, but also remixes and experimental tracks. Happy listening and let’s make a start with the track Serene. 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. More about Floatlands: Discord Facebook Twitter Instagram
  4. Timelapse #5: Digital painting of islands and skies MITO HORVAT With the whole world being redesigned, the floating islands that are in current state quickly became obsolete. This is where I come into play. I have painted a concept art with the new world that is currently in the making. A huge surface “island” filled with various biomes we developed in the past. It’s cluttered with man-made assets and huge craters that will explain why there are numerous floating islands in the sky. The purpose of the concept painting was to try to fit in the new island shapes that will soon be modeled by Andrej. Domen gave me a lot of freedom, so I explored various shapes and sizes that would somehow fit in our game. Since there aren’t many islands on the painting (the game would definitely require more), I drew a bunch of concept sketches from different perspectives so we can handpick the appropriate shapes that will then be modeled. These new islands will have their own special flora, that’s why my next task is to figure our what would fit on these islands. RoboDog ANDREJ KREBS This week I made some more animations for all the functions the companion will need to fulfill. There are now animations for mining, healing and showing the inventory. After that is started working on the robo-dog and made the animations for him. This will be another robot critter, similar to the sphere robot. More on Floatlands resources helper DOMEN KONESKI, TADEJ VRANEŠIČ Me and Tadej continued with the work on our Item managmement application where you can easily edit every aspect of an item (or even add them). Item data gets stored in a large JSON file which will be loaded by the main game. There will be a lot of settings to play with, from World settings, Item definitions, Item bonuses and qualities, Loot drop tables, Crafting recipes and more. This tool is also a minor step towards modding the game, but more on this later. Reducing loading times VILI VOLČINI I continued my work on optimizing terrain generation, to be more specific, foliage optimization – spawning grass, bushes etc. Right now the whole scenery takes about 1 minute and 30 seconds to generate. My goal is to reduce that to somewhere around 20 seconds. We don’t want the players with less capable computers to be too influenced by the loading times. Floatlands interview on IGDB.com BLAŽ DROBNIČ You may have noticed that we post Floatlands updates on multiple platforms. One of them is IGDB (indiegame database) and they are introducing their own blog. They were kind enough to feature an interview about Floatlands – the story behind it, our team, goals and much more. Head over there and have a read! More about Floatlands: Discord Facebook Twitter Instagram
  5. Companion ANDREJ KREBS I started making the player’s companion based on Mito’s design sketches. This will be a small floating robot, that will follow the player around and be available to him. The companion 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. More User Interface Changes DOMEN KONESKI 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: Player stats 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, I’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: Item 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 menu 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. Crafting queue Resource helper TADEJ VRANEŠIČ I’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 I’ll be moving to crafting variables, and its manipulation. Resource & Crafting Helper 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, I’m 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. But as I said before, this is just a thought, we will let time decide other proper use cases for it. Updating UI icons MITO HORVAT Since Domen is extensively reworking the entire UI and the whole inventory system, we’ll have to update the icons as well. The current icon style won’t fit the UI design that is currently being created. So this week was kind of frustrating, simply because its not the simplest task to find the exact type of icon style to fit the UI. After plenty of rejections and reworks this is what I came up with. Some of them will probably get replaced in the near future. Terrain VILI VOLČINI Due to creating a new Floatlands world lately, I had to rework terrain as well. 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 I can know how far away from biome edge I am (inside & outside). Picking quad diagonal based on surface curvature, so that mesh looks more natural. Multithreading: To demonstrate 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. 1 2 3 4 5 6 7 8 9 10 11 12 /// 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: More about Floatlands: Discord Facebook Twitter Instagram
  6. New Inventory Interface Framework DOMEN KONESKI I 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. The system is generic which means UI elements are built on the fly and asynchronously. For example, we load sprites from the pool if they already exist in the memory, else we load them asynchronously from the resources – disk. Everything feels seamless now, which was the primary goal in mind while recreating the system. 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 DOMEN KONESKI 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 ANDREJ KREBS 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 I’ve modeled, rigged and animated the hermit crab and the spherical robot. I also added a missing animation to the rabbit. https://media.giphy.com/media/xUNd9GpFCnm1p4EnXW/giphy.gif Foliage ANDREJ KREBS I have prepared some undergrowth foliage to make the nature more varied and interesting. They’re made in a similar way the grass, bushes and treetops are made, with alpha transparent textures on planes. Companions MITO HORVAT Roaming around the world can sometimes feel a bit lonely. So we decided to implement a companion to follow you and keep you company as you play. Companion won’t just follow you arround and be useless, they’ll be a valuable asset early in the game. For instance, they’ll help you gather resources with their set of utilities. They’ll even provide the source of light during the night! As with any concept design task I’m given, I usualy sketch a bunch of ideas on a small collage. In this case we then printed it and everyone in the office picked their 3 favourites. Based on that decision I combined the elements of the companions everyone picked and came up with the following concept. It’s also important that the companion has elements that you can find in the game, to give it the unique aesthetic look. More about Floatlands: Discord Facebook Twitter Instagram
  7. Devblog #34: Riverbanks, Trees, Floating stones

    They were ok, we're just revamping the whole generated world.
  8. Riverbanks, Trees, Floating stones DOMEN KONESKI, ANDREJ KREBS Riverbanks Riverbanks and (under)water are now filled up with more content such as grass, stones, chorals, ruins, tires and more. I’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. ruins on the riverbank New trees We decided to rework the tree tops, so I experimented 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. new trees implemented Floating stone Lastly, here we have a timelapse video where I modeled a floating stone with a crystal. These stones will float above the crater where the floating islands were raised. I sculpted the basic shape and applied a decimate modifier, after that I added a crystal made in a similar fashion. New Inventory Interface Framework DOMEN KONESKI I’ve been tweaking our new grass renderer a little bit and asking myself if I can increase the grass draw distance without ruining the overall performance. I came up with an 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 allows us to add more content into the world of Floatlands LOD comparison Terrain minimums and maximums VILI VOLČINI Finally I set out to improve the tools for terrain. It’s not much, but I 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. local min/max search Critter concepts MITO HORVAT 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. critter concepts
  9. Dev Stream #05: DeepEnd submarine ANDREJ KREBS, MITO HORVAT 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 ANDREJ KREBS 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 some assets for it, based on Mito’s concept art. Crater assets Reworked grass & bushes ANDREJ KREBS In addition, we have reworked and developed a new look for the grass and bushes. The bushes we added use a similar approach as grass, using planes with alpha cutout textures and a foliage shader to make it react to wind. new grass & bushes Smoother terrain VILI VOLČINI Domen already did tremendous amount of work on improving the terrain, but I saw some room for improvement. Terrain is based on heightmap/bitmap, but sampling was done without interpolation. So this is why I implemented bicubic interpolation, which gives us smoother terrain and enables us to do derivatives on it (gradient). And from gradient, I 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, which should optimize some terrain generation processes. As a result, here is animation of testing gradient iteration and it works quite good. testing gradient iteration Simple animation script DOMEN KONESKI For the purpose of creating simple animations (basic object rotations and translations) without using any external libraries we have written a script that handles animations by itself without using Unity3D’s animation framework. You can use the script either programmatically or as component. Good thing about having animation system is scalability and room for improvements, because it will be a location based system meaning only those game objects that are in vicinity are going to be animated.
  10. Devblog #32: Underwater

    Dev stream #04: Underwater scenery ANDREJ KREBS, MITO HORVAT This time Mito and Andrej joined forces and created 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 ANDREJ KREBS, MITO HORVAT 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 concept The beach will be where the players start their game. They will not be able to go out to sea until they level up to a point where they are capable to go far out into the water. This will force them inland to explore and get familiar with the world first. Later the players will be able to explore underwater, find more resources and explore remote islands. Underwater - Gameplay-wise DOMEN KONESKI 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. We are also thinking about including new vehicles, but that idea is still something we have to figure out first (the impact on the gameplay can be drastic). The purpose of making The Underwater more difficult is for the player to find some huge chunks of resources in the deep water. These are hard to obtain, but can improve late-game gameplay (players will start to explore waters when they are done with Floating islands and the Main land). Still, The Underwater is still in the concept phase and we really want to make it as fun as we can. Join us on Discord
  11. Devblog #31: New world

    New World - world changes and improvements DOMEN KONESKI I was very skeptical about New World and changing the current world of Floatlands. The world included floating islands, debris and details such as clouds. 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 could fix and improve that by doing various things: allowing players to build in the air with more air-play, creating more debris/objects where players could land in the mid air, designing ‘spacecrafts’ with whom you could travel trough the world (good idea, but it is not appopriate lore-wise since we really want to improve on smaller aircrafts such as our little Buzzard), creating a ground level terrain which covers entire playable area (which should be large) with terrain. The decision was obvious, we went with the latter choice (hint was in the previous blogpost). I started working on the so called Main Land island which we will include in Floatlands. Main Land 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. I’ve already done a lot towards creating this new ground level of Floatlands. There’s a whole-new procedural terrain generation, color blending between biomes and height differences, whole-new grass renderer using some advanced techniques and our current day/night cycle system. The technical part of the New World First of all, we generate the height map trough different sets of Perlin noises. We also have a biome map, which represents which biome is at specific position. The best part about this biome map is amount of mathematic principals and algorithms I’ve used to create a procedural biome map so it would look as natural as possible. Have a look: Biome map texture Blue represents sea/lakes/rivers, green represents our ‘normal’ biome (take a look at the bottom right, you can clearly see some micro islands will form), yellow-ish is desert and white are mountains with our snow biome. I easly implemented rivers using custom made Growing Trees algorithm. Here is the first test I ever did (it looks like ice cream – don’t mind the colors): First procedural generation test with color blending Meanwhile Mito and Andrej remodeled some of our trees, created new concepts for our metal/niter/stone veins (we’ve been using old models and they were really outdated speaking of general design). New veins sketches 3D models/render of the new concepts After adding rivers system, new generator rules, grass and other natural objects, the world started to look familiar and appealing. Current state of the New World. In conclusion, 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). You’re all welcome to join us on Floatlands Discord server and have a chat with us.
  12. Preparing for SGC - Slovenian Games Conference DOMEN KONESKI We have been preparing for an upcoming conference SGC – Slovenian Game Conference which will be held in Ljubljana, the capital of our beautiful country. Event focuses on development, marketing and bussiness, there is also an indie expo meant for teams to showcase their game in progress: from mobile games to PC and VR. We prepared some T-shirts, posters and 3D printed model of our dreadful sheep which can be yours! You will also have an opportunity to try Floatlands and chat with us. See you there! promo material for SGC 3D printing ANDREJ KREBS, VILI VOLČINI We delved into 3D printing a bit and prepared some animal models from the game for 3D printing and ordered some test prints. So far we’ve prepared and printed a model of the cute little sheep from the game. We’re also thinking about trying to print a rhino and a couple of deer. 3D print renders Dev stream #02: Drawing new concepts & gameplay DOMEN KONESKI, MITO HORVAT Last friday we had our second live stream where Mito showed the process of creating concepts. He drew a couple of weapon sketches and there were even some good weapon ideas from our Twitch viewers that we tried out. In the second part of the stream Domen showcased some early gameplay footage. Check it out! New rock concepts MITO HORVAT With the environment and the world constantly evolving we have decided that its about time we replace the old nature assets with new and improved ones. So I made a couple of new rocks for each biome, trees are next in line and to spice it all up we’ll add even more nature elements in the game to make it look more alive and less monotone. new concepts for rocks New rock and tree models ANDREJ KREBS We started reworking some assets from early development like the normal biome, since some of the assets in those biomes are still there from our prototype stage. So far we’ve modeled some new trees and some rock clutter. rendered models of new rocks and trees Light & scan radar for drone TADEJ VRANEŠIČ Wohooo, after much testing EGX Showcase build was finally ready. Few details were added on a scanning drone such as a light and a scan radar. Few new avoid manouvers will be added soon, so droid flight wont be repetitive. Compiling the game VILI VOLČINI This week was slow for me in terms of development. I was mostly smashing my head fixing various bugs. I have fixed some inventory bugs and a couple of fatal crashes. Afterwards I have successfully built the working prototype of Floatlands so we could internally test out the gameplay. I have finished junk shredder aswell which will turn useless items into useful resources. More about Floatlands: website facebook twitter instagram discord twitch
  13. Our first live Twitch stream DOMEN KONESKI Me and Andrej have 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 DOMEN KONESKI I have made some changes 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. Setting up Wiki pages ANDREJ KREBS Started setting up Floatlands Wiki and worked on the item and main page. I prepared the template for the individual item’s pages and filled out some basic resource pages. Trees for swamp biome ANDREJ KREBS Modeled some trees for the swamp biome and made LOD’s and colliders. Creating a game build for development testing TADEJ VRANEŠIČ This week was mostly about rushing to create a game build for mid-game development testing. A few changes were made in controller menu, but it still needs fine touches. New logic was implemented for drone movement, which is now completely physic based. Shotgun close encounter, adding effects VILI VOLČINI These past couple of weeks I worked on pimping up Close encounter shotgun, added ricochet particle effects and blood effect. Otherwise, I just spent my time fixing bugs for upcoming demo build. Reworking some older ideas MITO HORVAT 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.
  14. Weekly update #28

    Spartan & Roman skins I started this week by preparing a broken model of the dropship, so the players will be able to blow them up spectacularly and making collider models for the broken pieces. After that I carried on by adding more skins for the player outfits – the latest additions are Spartan and Roman like skins. Spartan and Roman like skins I prepared some more cloth outfits and a few junk armour pieces. I also added a camouflage skin for the fine metal armour. cloth outfits and camouflage skin Dropship destruction I’m still playing around with the dropship NPC, I even did some work on it through the weekend. Here are some key points: Separating single script into many separate scripts How dropship explodes Adding explosion and smoke effects Dissolve effect Collision avoidance – so dropship doesn’t bump into something This code may be used for future flying NPCs so it’s not good to spoil this fun by writing bad code. I can show you this clip of dropship destruction (stress testing): dropship_destruction_lowpoly_floatlands.mp4dropship_destruction_lowpoly_floatlands.mp4 Clouds & Flow Map Clouds are now animated/translated troughout the playable area using flowmap. A flowmap is basically a texture filled with various colors. Each pixel describes a movement vector by extracting red and green component of the pixel. The computation looks like this: We’ve used Teck’s FlowMap Painter to generate nice and smooth flowmaps which can be easily imported in your Unity project. Check his other work aswell. flowmap Cloud system is being spawned by a custom pooling solution, the only thing left is to create some weather scenarios – cloudy and less light, rain and storms. We can do this by changing the flowmap (which has more aggresive vector field) in real time. moving clouds So we can conclude that a flowmap is a vector field. Controls Menu This week my time was invested in creating Controls Menu. Finally some UI quirks that will put the whole game together nicely. First thing that comes to mind, when creating Controls Menu is KeyBinding, which lets user choose custom keys with Key Definition – KeyCode pair. We decided not too use Unity default KeyBinder-Input Manager and use our own system with .ini file that has [name, description, category, defaultKey, playerKey] connections, which gives us more freedom from the get-go. controls menu Swamp biome assets swamp assets concept With the swamp biome on the horizon, its time to spice it up and make the biome look distinguished from others. Currently I’m playing around with different color palettes to give the biome a specific atmosphere. Colors combined with all the right assets will create a really unique environment for the player to explore. Swamp biome will be littered with small ponds and tall trees. The flora will be very lush and the combination of huge trees and roots everywhere will create a very dense looking biome. We’ll also include swamp specific critters and animals, but we still have to brainstorm what would fit, any suggestions? Below is a collage of concept sketches of assets that will be added in the biome.
  15. Weekly update #27

    World map I’ve been working on a new ‘feature’ for the game – World Map. With this I have removed our initial idea of compass since you can now use your map to guide you troughout the world. The idea was to map out all islands with their positions as an icon but then noticed scaling and precision problems so I took another way of doing a world map. world map WIP The idea was to render the visible world to a rendering texture using ortographic (2D) camera. I had alot of problems zooming in, aligning the grid and moving the whole map with the mouse. The end result is great and intuitive. finished world map The map texture also has an edge detection algorithm on it for some image effects. Note that render texture can be wiped out when changing the level or programmatically pausing the whole application. Clouds everywhere Skies in the game are empty so I started working on some more details, the first was adding some splats and details to the “cloud” cubemap, the second change is a cloud system with a pooling mechanism. When a cloud prefab hits something (e.g. an island) or is out of bounds it shrinks and is then sent back to pool ready to be reused. The system needs some more prefabs and more movement logic to it – cyclones (read: vector field) anybody? More skins This week I made some more variations of armour sets that will be available as skins. I also added a clothes outfit that will be purely aesthetic. I added some paintwork to the wooden armour, some decorational bolts to the junk armour and made a coat and a hat for the aesthetical set. I also made a new, fine metal armour set, that will be available in a variety of finishes. more variations of player skins Swamp biome concept I’ve decided to take a short break from all those numerous player armour sketches and to break the monotony I’ve started researching concepts for the next biome. The next in line is a dense swamp biome. Below you can see couple of speedpaintings I did of the enviroment. I’ve also experimented with different color palletes to portray a specifit mood for the biome. greenish swamp biome concept Those type of islands will be covered in thick mist and tall and lush trees. Trees will have huge roots poking out of the ground, and long willow tree like branches. On the ground you’ll find swamp biome specific foliage and wildlife, and the landscape will be littered with ponds. dark swamp biome concept Drone movement and destruction Scouting drone has finally got its smooth flaps movement. It is correlated with its speed – at desired speed flaps are perpendicularly to the line of drone sight, with speed increase they move backwards and with speed decrease they move forward. speed correlated flaps movement Previously I showed you an example of scouting drone destruction and how it falls appart into pieces. This time you can check out the mining drone destruction – not as many destructible parts, but still pretty good. drone destruction Dropship movement I got back to working on dropship movement, since it still needed some smoothness to it. It’s almost finished, so I can show you a bit of a sneak peek. Mostly I worked on tilt movement, PID controllers (Vector3 and Quaternion PID controllers) and cleaning up the code. Remember that this is still a WIP, but here is a short animation showing how it lands on an island. dropship landing More about Floatlands: website, facebook, twitter, instagram
  • Advertisement