Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411490 Posts in 69371 Topics- by 58428 Members - Latest Member: shelton786

April 24, 2024, 09:24:43 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsTidal Tribe - God Game with Fluid Simulation
Pages: [1] 2
Print
Author Topic: Tidal Tribe - God Game with Fluid Simulation  (Read 4962 times)
Pit
Level 0
***


View Profile WWW
« on: May 01, 2014, 06:33:11 AM »


(click for actual video in good quality)

Description

In classical god game fashion, Tidal Tribe gives you the power to shape the terrain. Raise and lower the land to protect your village from floods and waves, all while using that very same water to build lakes and rivers, turning the desert land into a lush forest of trees and bushes.

And these plants are the key to your success: different plants provide different fruits that satisfy different needs of your NPC's. But they have different growing conditions too: some only grow close to the sea, others far away, some need a lot of sunlight, others prefer shadowy hills. Your job is to create a world that provides enough of all types to satisfy the needs of your people and make their village prosper. Oh, and make sure the paths to those trees don't pass around a dozen lakes and mountains and stuff, there's no point in having all those plantations if it takes ages to reach them...

Features

  • Completely dynamic worlds: shapeable terrain, waves flowing through said terrain (and possibly eroding it), vegetation growing depending on the terrain and water, villages expanding and shrinking.
  • NPC AI includes among others: collecting fruits, satisfying their needs, spending their free time, but also (if necessary, depending on the level and how you play): stealing to survive, guarding their plantations against thieves, fighting, waging war,...
  • Story mode with 5 main missions, over a dozen side missions, as well as several minigames and other surprises. Oh, and different endings. However you shape the world, decides what path the story takes.
  • Challenge mode (score attack & time attack) with currently 4 challenges (more to come!).
  • Free game mode: just play in a randomly generated world.


General Information

Genre: God game
Platforms: Windows (Linux and Mac may come later)
Release Date: July 18, 2019
Price: $15
Engine: Custom

Trailer





Screenshots



Links

Website
Steam

Twitter
IndieDB
Discord

« Last Edit: July 18, 2019, 09:04:22 AM by Pit » Logged
Pit
Level 0
***


View Profile WWW
« Reply #1 on: May 04, 2014, 11:23:22 AM »

Wasn't satisfied with the water effects yet so I improved them a bit:



Now I just have to do some more refactoring and next week I'll hopefully be able to start working on the vegetation.
Logged
Pit
Level 0
***


View Profile WWW
« Reply #2 on: June 15, 2014, 12:14:33 PM »

Finally done with the models of some plants.









I'm not 100% satisfied with everything, but considering it's the first time I've worked with blender, it still went better than expected.
The next step is a cellular automaton for the dynamic growth and decay of the vegetation.
Logged
Pit
Level 0
***


View Profile WWW
« Reply #3 on: August 25, 2014, 07:01:58 AM »

Unfortunately development slowed down a bit during the past weeks, but hopefully now it's gonna go better again.

I've finally completed the vegetation simulation, apart of course from adding more plants (which I'll slowly do over time) and maybe adding some more factors (if I feel that something's missing). Here are 2 fast forward gifs showing how the plants grow and spread:


To allow plants to grow (and survive) there are several conditions. The first of course being the presence of enough water. The different types of plants require different amounts of water as well as different minimal and maximal distances from water.

Then there are some factors about the terrain they grow on: the height, how close it is to the sea, does the plant grow on the sunny side of a hill or only in the shadow,...

And some plants require other plants to grow, respectively don't grow if they're close to them. Right now for example grass, fern, etc only grow if there are trees around. You can see this on the first gif where the trees grow first and after that the ground gets covered in grass.

Now to the seeds: there are two types. Random seeds and plant seeds. Random seeds are randomly placed in a confined area (which can of course also be the entire world). Plant seeds are placed in a certain radius from their parent plant. As the vegetation spreads the "random seed area" grows with it. You can see this on the second gif where plants do initially just grow on the left hand side and then spread to the right.

The final aspect is the destruction of plants by trampling. Areas where the player or NPCs walk a lot get unsuitable for plants (to keep track of the trampling I use an exponential moving average). The idea is to let paths through the forest emerge. Gotta see how this works once I add NPCs. Here's a gif showing what it looks like (after walking between the red dots):



The next step is some optimizations, refactoring, minor stuff etc. After that I'll do the NPC animation followed by their AI, i.e. the most interesting part that will hopefully give a better picture of my idea of this game Smiley
Logged
Whyman
Level 0
*


View Profile
« Reply #4 on: August 25, 2014, 07:29:54 AM »

Wow I love these type of games. Looks very good so far. What im worried about is the whole wave mechanic. Its not bad but something is missing too make it fun I think.

So brainstorming a little bit I was thinking about the player creating mountains to protect the people from the waves. Maybe this could affect the amount of rain clouds that form. Too many mountains and you will get so much rain it floods your valleys. Maybe you run the risk of these mountains turning into volcanoes. All of this making the player keep a balance.

Anyway good luck with this project. Looks awesome so far, will be interesting to see where you take it.

Edit: Also animals would be nice!
Logged
Pit
Level 0
***


View Profile WWW
« Reply #5 on: August 25, 2014, 07:51:40 AM »

Thanks for the comment Smiley

About the waves: nothing's cast in stone yet, so I might add things like what you've suggested Smiley I want to keep it as simple as possible but of course also complexe enough to be interesting for several hours.

By the way, to stick to your mountain example: that balance problem does currently exist in a different form. You have to create mountains to protect the villages (and also the plants since they die if they're underwater for too long), but at the same time you can't block off the water completely or the plants will dry out. To add some diversity the worlds will also have different properties, like how fast water seeps away, how easily the terrain is shaped by the waves, etc. But as I said, I gotta see how things work once the basic gameplay is more or less done Smiley

And animals are already on the to do list :D In general I want to make the world as lively as possible, so that you can already have fun just watching what you've created. For example if your NPCs have enough food and thus some free time, they will do things like playing tag, flying a kite, watching animals,...
Logged
Pit
Level 0
***


View Profile WWW
« Reply #6 on: November 05, 2014, 09:23:05 AM »

Implemented the animation system:


(click to enlarge)

I've also used it to add wind to the vegetation as you can see on the gif. Maybe I'll increase the wind strength if there's a big wave incoming Smiley
Logged
koiwai
Level 1
*



View Profile
« Reply #7 on: November 05, 2014, 10:19:45 AM »

The part about social conflicts in the tribe sounds fun. Even if you start with a simple society where everyone is either fishing or growing wheat, for example, then not having enough fish would mean that the farmers can lend food to the fishermen, and this is the beginning of an economic system. I remember, there was famous simple model of a society based of food production - https://en.wikipedia.org/wiki/Sugarscape - it can be useful, probably.

Vegetation simulation looks cool too.
Logged

Pit
Level 0
***


View Profile WWW
« Reply #8 on: November 06, 2014, 03:24:32 PM »

Interesting read, there are lots of ideas that I want to include too: going around looking for food, leaving pollution (a factor I plan to add in a later level), dying, reproducing and trading (although depending on how your world evolves, many people will probably not be able to sell anything but their labor power).

Disease is an interesting factor I haven't thought about yet. The only problem is that it is probably difficult to give the player a possibility to fight it with just terraforming. So I guess I'll have to leave it out. But I suppose hunger/famines will have a similar effect anyway. And possibly I'll also add fire that can break out during a conflict and spread, which might also kill entire villages and fits the theme of terraforming and controlling water. The vegetation will have diseases though in the form of parasitical plants that spread and kill trees (and can be stopped by flooding or drying them out, respectively by destroying nearby forests to prevent any further propagation).

Inheritance is one of the things I'm not entirely sure about yet. On the one hand I'd like to include it, because it might be interesting to see how a family evolves over the course of generations, but there's one big problem: I'd like the player to feel connected to his people. But "a single death is a tragedy; a million deaths is a statistic". If NPCs are constantly dying of age, it becomes something you no longer really care about, not even if they die younger because you made a mistake. Thus one level will probably be only about one or two generations. And yes, this also means that there won't be hundreds of NPCs running around, but rather enough to keep the simulation interesting while still making it possible for the player to "know" these little guys around him Smiley Of course, for this to work, I'll also have to give them individual looks (right now I'm thinking hats) and characteristics ("oh, there's the one who always whistles / to one who makes these weird noises / the one who always runs / the one who panics at every small wave...").
Logged
Pit
Level 0
***


View Profile WWW
« Reply #9 on: December 05, 2014, 10:57:28 AM »

Something I haven't showed yet is how the water carries away sand and flattens the terrain. So now that I've adjusted that system and am finally satisfied with it, here's a short gif demonstrating it:



The rate how fast (if at all) the terrain is changed can be adjusted.
Logged
Pit
Level 0
***


View Profile WWW
« Reply #10 on: January 05, 2015, 01:25:43 PM »

Quite some time since the last proper screenshots, so here are some from the current version:









Mainly I've added more plant types, changed the lighting a bit and there are now buildings. And apart from that the past weeks have been mainly about refactoring, debugging, optimizing and preparing everything for the next big step: the AI. Just some minor things left and then I should be able to start working on it Smiley
Logged
Pit
Level 0
***


View Profile WWW
« Reply #11 on: January 25, 2015, 03:39:11 PM »

Over the past days I've been working on the pathfinding and today I spent mostly with adding variable costs. So here's a brief summary of the steps I've gone through, trying to find the desired path and still keeping the number of visited cells pretty low.

Let's start with a default A*, uniform costs, euclidian distance as heuristic (moving from bottom left to top right):



Not bad, but since NPCs can only move from cell-center to cell-center it's probably better to use the Chebyshev distance with a factor sqrt(2) for the diagonals as heuristic:



Yup, that's a couple cells less to visit. Now for the interesting part: adding different costs to the cells. The idea is that cells with less vegetation and cells with a high trample value should be preferred (the trample value indicates how much NPCs walked already over that cell). On the following image the blue path has less vegetation and a higher trample value (added manually) than the orange path taken previously, so I'd like the NPC to take that one.



Now let's add some additional costs so that a cell with lots of vegetation and no trample costs twice as much:



Better path taken :D But damn, did that add a lot of cells to check. Time to optimize. A common idea here is to overestimate the heuristic, so let's try that. First we overestimate by a factor 1.2:



Doesn't help too much. Let's try 1.5:



Okay, that's looking really good. But for the sake of testing, let's also try 1.8:



Whoops, we walk right through the vegetation again, bad choice. So 1.5 seems to be a good value. I could stop here, but: What if someday I want to change the influence of the additional costs? Add some more additional costs? Every time I do that I have to balance the overestimation again, because as you can see on the pictures, a bad factor can have really bad consequences (wrong path or a lot more cells to check). So I've decided to try something different: using an exponential moving average (EMA) over the previous cells' costs to estimate the future additional costs. And here's the result:



Perfect! The desired path is taken and the amount of cells is comparable to the 1.5 overestimation. All without any need for manual balancing. Well, one thing needs to be balanced once: the alpha factor of the EMA. I've chosen 0.5 and testing showed not much of a difference with values in the area 0.3-0.7, so I'm satisfied.

Now there's just one last thing left to do: Tie-breaking. If there's a lot of equally good paths to take a lot of cells are visited pretty much unnecessarily:



To solve this I add a slight overestimation again, but this time it's really small (1.01) and only takes effect in such cases.



And that's it. I can't guarantee (yet) that using an EMA to estimate variable costs will always provide good results, but so far it seems to do a good job Smiley
Logged
~Tidal
Level 1
*


I live in Hell, with lava and stuff.


View Profile WWW
« Reply #12 on: January 26, 2015, 09:49:42 AM »

Thanks for naming a game after me.
Just kidding.
Logged

Legit like pasta al pesto in a Chinese restaurant
citizen5
Level 0
**


View Profile WWW
« Reply #13 on: January 26, 2015, 10:29:14 AM »

Looks really interesting - I'm intrigued how it will feel to modify the terrain in first person.

The AI sounds complex though!
Logged

Pit
Level 0
***


View Profile WWW
« Reply #14 on: May 19, 2015, 09:51:35 AM »

Quite some time since I've last posted here... Well, I've spent the past 4 months working on the AI, mainly planning everything and adding all the "background data stuff" to the code that I'll need when I'm now gonna implement the FSMs to execute the different actions (the basic architecture of the AI is: utility system to take decisions, FSMs to execute actions). So hopefully from now on I'll be able to show the progress more often Smiley
Anyway, here's a gif of the first action that I've added: go to a tree, take a coconut and eat it. Including some mishaps...



And here are a couple new screenshots (changed the lighting a bit)





Logged
Pit
Level 0
***


View Profile WWW
« Reply #15 on: October 27, 2015, 09:59:34 AM »

Okay, I'm just horrible with keeping this thing up to date...
Anyway, I'm currently testing the AI and all the stuff I've been working on over the past months, so hopefully I'll be able to make a trailer during the next weeks (and show some more things). Until then, here's a short preview of what the world currently looks like:

Logged
Pit
Level 0
***


View Profile WWW
« Reply #16 on: November 26, 2015, 09:54:09 AM »

Finally made the first trailer:


And if you like it you can now also vote on Greenlight Smiley (EDIT: Greenlit, thanks to everyone who voted :D )
« Last Edit: February 02, 2016, 12:03:59 PM by Pit » Logged
Pit
Level 0
***


View Profile WWW
« Reply #17 on: November 30, 2015, 05:02:53 PM »

Here a screenshot if the "ingame wiki" I'm currently working on. It's gonna have different books with all the information you need: an encyclopedia about the plants, a tourist guide that gives you information on how the people on that map behave, what you need to know about the waves etc.



I'm not quite sure yet about the childish style of the drawings, but I kinda like it.
Logged
Pit
Level 0
***


View Profile WWW
« Reply #18 on: February 02, 2016, 12:02:18 PM »

I'm currently working on the overworld, something where for a long time I couldn't decide what style I should choose. Initially I wanted something hand drawn, then I tended more towards pixel art, but in the end watching Bob Ross brought me back the to inital idea again. And it actually worked out better than I expected.





The overworld is mainly used for selecting levels and going to the minigames. There'll be some secrets too though (so all in all pretty much like in the Mario games).
« Last Edit: February 02, 2016, 12:07:25 PM by Pit » Logged
Pit
Level 0
***


View Profile WWW
« Reply #19 on: March 04, 2016, 12:06:07 PM »

Added a couple "additional structures" that NPCs can build, depending on how well their needs are satisfied. Among them are fountains/wells (allowing NPCs to get faster to water in case there's a fire in the village), a fireplace (to rest during their free time) and simple potted plants as decoration. Here's a screenshot showing how villages might look right now:



Oh, and they can build these statues Smiley (nope, I didn't cheat, they're not animated Tongue )

Logged
Pages: [1] 2
Print
Jump to:  

Theme orange-lt created by panic