Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411541 Posts in 69383 Topics- by 58442 Members - Latest Member: vicemask

May 03, 2024, 02:17:14 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsBonsai Worlds - a zen game/toy about nature and civilization
Pages: [1] 2
Print
Author Topic: Bonsai Worlds - a zen game/toy about nature and civilization  (Read 1995 times)
grama
Level 0
*


Oh, the humanity!


View Profile WWW
« on: June 07, 2015, 05:28:12 AM »

Hello everybody!

My name is Enric Llagostera, I'm a game maker and lecturer from Brazil, nice to meet you all. First post on the forum! Smiley

On 2012, I finished my masters thesis and started working on a game, Bonsai Worlds, to relax after that. I finished and released it on 2013. Here you can find the link to that version on GameJolt. It had a good reception and I enjoyed seeing what people thought of it. However, there were quite a lot of things in it I was unsatisfied with.

Recently, I rebooted the project, using Unity as my tool instead of Flash + Flixel. It has been fun to do it, but I'm one of those people that really needs dialogue and conversation in order to keep motivated. So, that's why I'm starting this devlog!

Enough of context, let's talk about the game.

---

What is Bonsai Worlds?

It is a zen game/toy about creating little worlds and caring for them, watching them change and making them grow. You control nature (wind, land, mountains). After a while, humans start populating your world and using the resources in it, and you can't control them. Their cities grow and expand and, if they exhaust resources, wither and die. Nature might carrie on and regenerate and there is no losing / winning right now.


I like the idea of indirect control and free-form play, letting players come up with their own goals and experiments. My vision when I started making this game was something like: "You wake up at night, with insomnia, and decides to go take a look at your bonsai plants, but they are worlds floating in space". My goal is that people feel these little worlds like a place of their own and imagine stories, names, people. The simulations it features are there to evoke, not to feel realistic at all. No violence too, humans do not fight wars in the game.

In the "pragmatic" sense, I would like to try and take this project to Steam (not sure it it fits there or if people will like it enough to greenlight it), mostly because I never did and it might reach more people that way. I'll also put it up on **itch.io**, like I did the older version (itch.io page). I'm not that focused on making it a financial success, but it'd be really nice to be able to have money to compensate my friend Inés, who'll make the music and sounds. Also, in the earlier verion, I made almost no effort to spread the world about it or to send the game to festivals, and I want to change that in this reboot.

Current stage

I've just finished a first version of the nature system, with terraforming and dynamic biomes, clouds and rivers. Also, some art is in place, just to give a sense of the atmosphere of the game. I moved away from the hard geometric style of the old version to a more organic pixel art (comparison below).


There aren't many animations on it, just water for now, mostly because I'm a crappy and slow artist, but I'll try to finds ways to make it all look more alive.


I've also came up with the base classes and data structures for my economic simulation. Currently, I've started work on the AI for the humans, and the next updates will be mostly about that for a while. Lots of work to do there.

I hope to write at least one medium update post per week and to post questions and doubts all the time. I'm also posting stuff on Twitter and Tumblr, if you want to talk to me there.

I'm very happy to answer any questions and hear suggestions and critiques! Let's get this devlog started.

Cheers! :D

« Last Edit: June 10, 2015, 06:48:58 AM by grama » Logged

Game dev working on Bonsai Worlds - Twitter
dhondon
Level 1
*



View Profile WWW
« Reply #1 on: June 07, 2015, 07:50:25 AM »

Nice stuff Smiley Love the wave effect of the sea.
Logged

TonyManfredonia
Level 6
*



View Profile WWW
« Reply #2 on: June 07, 2015, 08:09:22 AM »

I agree with the above poster! The sea effect is something I've never seen before :O
Logged

Composer | Orchestrator
Website
Twitter

Soundtracks include:
Kharon's Crypt
Call of Saregnar
grama
Level 0
*


Oh, the humanity!


View Profile WWW
« Reply #3 on: June 07, 2015, 08:15:03 AM »

Thank you! Smiley It is quite simple actually: basically, I move the sprites up and down according to a senoid-like animation. The trick to make it all look more organic is to give the animation random starting points.

BTW, what do you think of the water color? The lighter one is fresh water and the darker, salty. Do you think that is easy to read/deduce?
Logged

Game dev working on Bonsai Worlds - Twitter
dhondon
Level 1
*



View Profile WWW
« Reply #4 on: June 07, 2015, 08:29:04 AM »

Ah, I thought the light blue was shallow water. But fresh water makes more sense.
Are you looking for a an artist for collaboration on this project? Looks like fun.
Logged

grama
Level 0
*


Oh, the humanity!


View Profile WWW
« Reply #5 on: June 07, 2015, 08:44:12 AM »

It'd be nice to have some art collaboration (especially for isometric buildings and animations  Wink ), but unfortunately I really don't have any funds to properly pay anybody as they deserve. The best I could offer is some sort of revenue share, but I know that is quite a complex issue and I can't make promises about how much this game could make or how much effort I'll be able to make to promote / market it.

So, right now I'm not looking for collabs, but it's definitely something that might happen later on. Thanks a lot for your interest and I'll let you know if that changes. Grin

Cheers!
Logged

Game dev working on Bonsai Worlds - Twitter
Greipur
Level 6
*



View Profile WWW
« Reply #6 on: June 07, 2015, 11:56:14 AM »

I love the idea. I'd like to try the new version if you upload it soon.

The interaction reminds me of how we're doing it at ECS with our own game, Crest. A god game with indirect control, in our game you can't affect nature but only the humans. But we also focus heavily on nature simulation. So our projects are sort of the direct opposites of each other, but still very much alike. Smiley I can recommend to connect with Playful Oasis, you'd fit right in with us!

How do you model water and rainfall? Is it affected by mountains/high ground and whatnot?
Logged

grama
Level 0
*


Oh, the humanity!


View Profile WWW
« Reply #7 on: June 07, 2015, 01:15:54 PM »

Hi greipur! Thanks for the feedback.

I checked your game and, yeah, sure it feels related, as if distant cousins! Pretty cool to find out about it. Looks great and I like the African influence in it, great to see something more diverse than the usual. Smiley I'll definitely contact Playful Oasis, the website looks great and it makes total sense for Bonsai Worlds to be there.

Biomes in the game are dependent on 2 factors: humidity and "density". "Density" factor is about neighbourhood: if a forest tile has too many water neighbours, it becomes a swamp, or if it has a lot of other forests as neighbours, it becomes a jungle. Not that realistic, but interesting to play around, I hope. Humidity comes from water tiles (humidity = 1) and spreads around through an average of its neighbours' humidity, so water in the ground moves by dispersion.

Clouds appear randomly from tiles with high humidity and have a health attribute which goes down every turn. They follow the wind (with some random deviation to make it more varied) until their health hits 0. Then, rain! It increases the humidity of a tile and its neighbours. Clouds can't cross high mountains: their health goes to zero instantly. Mountains also are the source for rivers: you can only create springs near mountains. The river is then "carved" trying to move away from the mountain close to its spring.

I have no real height in the tiles, just this very simplified hill/mountain system. I think height would overcomplicate the game (especially art-wise) but I'm always tempted to put it in there.

I hope to post a prototype soon. Smiley


Logged

Game dev working on Bonsai Worlds - Twitter
ashtonmorris
Level 2
**


View Profile WWW
« Reply #8 on: June 07, 2015, 02:47:10 PM »

I like the simplicity of this game. It seems that it would be great for mobile platforms.

For my personality type it would be more fun to have it peacefully slowly growing and evolving over a period of time.  Rather that more hectic changes in expansion, like a real Bonzai. But again that is just my view.

I think the idea and simplicity is very nice though.

Logged

Ashton Morris - Composer & Sound Designer

Roah * Bomblsinger * Goliath * Wings of Vi * Lemma * Bit Heroes * Star Command Galaxies


http://www.ashtonmorris.com

Twitter: https://twitter.com/ashtonmorris
tupikp (Studio5113)
Level 0
**

Personal Text?


View Profile
« Reply #9 on: June 07, 2015, 10:29:01 PM »

Cool idea! Cant wait to try the prototype!
Logged
slarti88
Level 0
***


View Profile
« Reply #10 on: June 07, 2015, 11:21:35 PM »

Wow really love this idea. I can even se it becoming addictive, in a relaxed kind of way where you keep checking in every once in a while and make a few changes here and there.
Does the game progress in real time.. as in do the changes to the world happen only when you're active playing the game? Or is it possible to make the game follow real-world time so that I play for a while and come back to it after a few hours and many things have changed based on how I played it earlier etc, that might have an element of surprise for players (or so I think, and I'm no great game designer). Also this feels like it might have a nice educational ring to it about global warming and greedy consumption of natural resources etc.
Logged

Working on 'The Light Inside Us'
Twitter - http://twitter.com/slarti
Devlog - http://bit.ly/1JPumh4
Greipur
Level 6
*



View Profile WWW
« Reply #11 on: June 08, 2015, 04:18:13 AM »

Hi greipur! Thanks for the feedback.

I checked your game and, yeah, sure it feels related, as if distant cousins! Pretty cool to find out about it. Looks great and I like the African influence in it, great to see something more diverse than the usual. Smiley I'll definitely contact Playful Oasis, the website looks great and it makes total sense for Bonsai Worlds to be there.


Thanks for the kind words. I hope to see you there soon.


Biomes in the game are dependent on 2 factors: humidity and "density". "Density" factor is about neighbourhood: if a forest tile has too many water neighbours, it becomes a swamp, or if it has a lot of other forests as neighbours, it becomes a jungle. Not that realistic, but interesting to play around, I hope. Humidity comes from water tiles (humidity = 1) and spreads around through an average of its neighbours' humidity, so water in the ground moves by dispersion.

Clouds appear randomly from tiles with high humidity and have a health attribute which goes down every turn. They follow the wind (with some random deviation to make it more varied) until their health hits 0. Then, rain! It increases the humidity of a tile and its neighbours. Clouds can't cross high mountains: their health goes to zero instantly. Mountains also are the source for rivers: you can only create springs near mountains. The river is then "carved" trying to move away from the mountain close to its spring.

I have no real height in the tiles, just this very simplified hill/mountain system. I think height would overcomplicate the game (especially art-wise) but I'm always tempted to put it in there.

I hope to post a prototype soon. Smiley

Fascinating! That's close to how we model our rain/river system as well. Though, we've both probably looked at the source so it's no wonder.  Wink
Logged

mk
Level 1
*



View Profile WWW
« Reply #12 on: June 08, 2015, 04:38:31 AM »

This is awesome! I made a prototype somehow similar to that a few years ago, but never made actual game from it.
Can't wait to see how you'll progress.

The waves are great!
Logged

lobstersteve
Guest
« Reply #13 on: June 08, 2015, 04:39:32 AM »

love the artstyle and the idea of watching the world unfold
Logged
grama
Level 0
*


Oh, the humanity!


View Profile WWW
« Reply #14 on: June 08, 2015, 05:25:42 AM »

Thank you all for the encouragement!


Does the game progress in real time.. as in do the changes to the world happen only when you're active playing the game? Or is it possible to make the game follow real-world time so that I play for a while and come back to it after a few hours and many things have changed based on how I played it earlier etc, that might have an element of surprise for players (or so I think, and I'm no great game designer).

This is something I will try out. I quite like the idea of going away from the game, coming back and seeing it has evolved (or ruined itseld, maybe). As soon as I implement saving, I'll start experimenting with this.

I like the simplicity of this game. It seems that it would be great for mobile platforms.

For my personality type it would be more fun to have it peacefully slowly growing and evolving over a period of time.  Rather that more hectic changes in expansion, like a real Bonzai. But again that is just my view.

The mobile idea is quite cool ,I keep thinking about it, but I'll only try porting it later on. The question of how the turns will progress and the game's timescale is central. I experimented with the "pause/play/fast-forward, but I'm still not satisfied. The problem of maing things much slower is that it might give the players the impression that their actions aren't impacting the world much. Quite a dilemma there.

This is awesome! I made a prototype somehow similar to that a few years ago, but never made actual game from it.

Maxim, your prototype is great! Looks like a very detailed simulation. It has a very continental feel, which is very interesting. Did you use noise for the world generation?
Logged

Game dev working on Bonsai Worlds - Twitter
gereon
Level 1
*



View Profile WWW
« Reply #15 on: June 08, 2015, 05:49:01 AM »

Very promising game!
I always loved these kind of strategy games, where you aren't forced to continuous take action.
The new art style is looking much better than the old one.
Logged

Currently working on...
grama
Level 0
*


Oh, the humanity!


View Profile WWW
« Reply #16 on: June 08, 2015, 12:33:04 PM »

Devlog #2

I spent yesterday and the day before changing the code that controls the economic simulation of the game. I want to go for a very data-oriented approach, so I changed my building and biome data to be imported directly from a spreadsheet on Google Drive. I used the Google2u plugin, quite handy, but a bit slow sometimes. I like being able to edit the game balance on a good interface like Google's without having to make it myself. Tooling FTW! Later on, it might also help to support modding, collaboration and patches. Smiley

I created some colored cubes as placeholders to represent the different types of buildings. In the gif below, you can see a timelapse with 3 of them: houses (red), farms (blue) and lumber mills (green). Right now, I tried to balance the simualtion in order to have some small towns that last long.


The economic flow in there is really simple:

1. Nature tiles have local stocks of resources that regenerate over time.
2. Cities have stocks of all kings of resources.
3. Buildings have setup costs (start), inputs and outputs (every update). The buildings extract any input marked as LOCAL from the nature tiles and GLOBAL from the city stocks. Its output goes to the city stocks.
4. If a building can't produce for a number of turns, it is razed and its tile turns into desert.

Here is an example table with buildings' economic data:


Every turn, each city calculates its needs, based on consumption and production aggregates, and then scores all possible actions according to them. Right now, it is more of a hard-coded solution, but that is the algorithm I want to implement. What do you think?

The idea of using this resource-based system is that I can create both very concrete and very abstract resources and then use the same rules to find viable spots or to calculate production for all of them. Smiley In the gif above there are only 3 types of building and only 3 resources, but the idea is to make a few more, like culture, stone and metal.

Next steps

I hope to fix some bugs with this simulation, it's still very brittle, and then move forward to improve usability and prepare a prototype for you to try out.

Cheers!
Logged

Game dev working on Bonsai Worlds - Twitter
mk
Level 1
*



View Profile WWW
« Reply #17 on: June 09, 2015, 05:58:01 AM »

Maxim, your prototype is great! Looks like a very detailed simulation. It has a very continental feel, which is very interesting. Did you use noise for the world generation?
Thank you. Yeah, it's actually just a perlin noise. The trick was in a few images with hand-drawn edges for the map, which I add to generated noise. Worked really well for creating islands/continents.
Logged

grama
Level 0
*


Oh, the humanity!


View Profile WWW
« Reply #18 on: June 10, 2015, 06:48:39 AM »

Devlog #3

Yesterday and today I had to take a few steps back. The Google spreadsheet solution I had tried was great, but had a drawback: it needs constant internet connection. I decided to remove it from the project, so I had to import a library to read local CSV files and change some code. It's ok now, and it didn't take thaaaat long.

After those changes, I started working on improving my economic decision algorithms. I want it to be somewhat predictable, but also scalable. Also, it must have ways for me to control its pace. So, I settled on an action point-based system, that grows with the size of the cities. The basic flow for each city goes:

while (HasActionsLeft)
{
   PickPriorityResource(); // (high consumption, low stock and production);
   bool created = TryToCreateBuilding(); // Try to increase its production by creating a new building.
   if (created)
   {
      GoToNextAction();
   }
   else
   {
      if (stock is critical) // quantity lower than consumption
      {
         DestroyBuilding(); // Try to reduce consumption by destroying a building.
         GoToNextAction();
      }
   }
   actionsLeft--;
}

It sort of works. In the timelapse below you can see a very long-lasting town to the left and another one which goes on for a while and then fade to the right. The algorithm is not super-optimized for now, I'll worry about that later on. In the future, the PickPriorityResource() part will take into account each city's preferences and character, but I haven't figured out how yet.


Next steps

I'm thinking about working on improving the way resources add up. I want to use the same metaphor of "resources" to account for more abstract things, like culture and technology, but I need to find a way to express them properly. Also, I'll start creating more building types and sketching the tech tier system, so that different buildings appear as a city grows older / wiser.

Cheers!
Logged

Game dev working on Bonsai Worlds - Twitter
grama
Level 0
*


Oh, the humanity!


View Profile WWW
« Reply #19 on: June 11, 2015, 01:39:11 PM »

I'm experimenting with some tweening to make thinhs pop-out a bit. What do you think? Too frantic?

Logged

Game dev working on Bonsai Worlds - Twitter
Pages: [1] 2
Print
Jump to:  

Theme orange-lt created by panic