Zoo Economy (Strategy-puzzle)

#1

Hello everyone. I’m finally ready to share some info about my game which i was working on for a while. Link to the demo version in the end.

What is it about

Elevator pitch

Zoo Economy - strategy-puzzle game where you exchange animals. Animals are you currency. Complete historic based story missions or play in sandbox. Get animals, breed them, attract visitors, sponsor expeditions for unique animals, upgrade zoo and much more.

More detailed

It is a game where you exchange animals. Main problem is that not every zoo wants your zebra or tiger, they want python and red panda. So you have to find zoo which have python and red panda, but it might also do not want you zebra and you will continue your search. Finally you have found red panda but your zebra compared to red panda is not so valuable and now you need to offer something else in addition. On one hand you can breed more zebras if you have female and male zebras and they are in mating period or you can exchange some unique and expensive animal to exchange them again on so desirable red panda. So this is a puzzle part.

Also you need to keep your eye on your animals, they can become ill and die, and that’s all. Maybe it was the last kangaroo in your world and now it is dead. Also you do not have infinite space and you need to build new aviaries, aquariums etc. You build them using money, which you get from visitors paying for tickets. Additionally you can spend money on rescue missions or expeditions. This is a strategic part.

There are two game modes: Campaign and Sandbox. In sandbox you can customize game rules (not so many right now) and select starting zoo. Tasks are generated automatically.

In campaign mode you need to complete historic based missions. Starting zoo and tasks a predetermined.

The world map is inspired by Plague Inc. Zoo Economy is not a zoo tycoon, it won’t have any small and detailed management.

Idea
My girlfriend once told me about one of the podcasts episode about zoos and how do they deal with getting new animals. After some time she send me a link with this episode. And it was quite interesting: you can’t sell or buy the animals. It’s unethical and illegal to put a price tag on an elephant’s head. So, how zoos get new animals? Simple. By exchanging.

You can listen to this episode if you like, it is only 17 minutes long.

What’s next
Right now game is in between alpha and beta stages. A lot of things needs to be done and improved. I hope to released the game in early access in summer and make full-release around half a year later. If everything will go well, port game to tablets ( no phones i’m afraid). And after that port it to Nintendo Switch :wink: :wink:. If you want to help in some way or collaborate feel free to dm me. No steam page yet, cause i don’t know if i will do it myself or via publisher. Game structure allows to add more content pretty easily, so new missions will added during early-access and maybe after release. In game events also planned, wouldn’t you be happy to fill entire world with platypuses?)

If you know any publisher which might be interested in such game, also dm me)

Screenshots





Links
You can download and play demo via this link (outdated). It’s available in english and russian. You can drop your feedback in this thread. Complete tutorial missions in campaign otherwise it will hard to understand whats going on.
You can follow on me twitter (eng) or on vk (rus) and some news will be also posted on this forum.

Note
As the game is still in development, demo can have some (or many) bugs. They can be graphical or gameplay related. Music currently used in the game is just for reference only and will be replaced to original one when officially released. Also some images and icons are used under attributions license and will be credited in author section on release. Artwork in the demo is subject to change and do not represent final quality.

Real zoos help preserve animal species all around the world and maintain diverse animal population. They are really good way to see animals from other parts of the world. Many zoos have big spacious aviaries for their animals or even zones for several animals at once with appropriated fauna. Unfortunately, some zoos have very small aviaries or treat their animals bad, so actions needs to be done only against this zoos, not to the zoos as a whole.

28 Likes

#2

If you have any technical questions about how i did something, feel free to leave them here.

2 Likes

#3

Wow, really impressive game. Well done!

2 Likes

#4

Thanks)

0 Likes

#5

That’s great ! i like it

1 Like

#6

I will do weekly posts: a mix of developments insights and what have been done so far.

Cloud loading screen basically has no other purpose than esthetic one. I really hated how abruptly game loads world map and wanted to make transition more smoothly. And as it is a world map, there can be :cloud: and also i remembered playing Two Point Hospital, where they same idea applied. And that’s why i made this cloud\transition\loading. On a side note, with game getting bigger, maybe in a future it will be used to load assets during transition, who knows :slight_smile:

giphy

I was tired from programming and took some time to test and implement animals avatar animation this week. One of the most used assets in the game are animal avatars. They are used almost everywhere. While 2d artist continues to draw avatars for remaining animals i tried to animate one of them. For animation i used Spine and it was pretty straightforward. Here you can see the “final” version of Golden Eagle animation, but i am 100% sure that i will tweak it at least several times :expressionless:

4x2

And this is timeline from Spine:

I’m not sure yet if animations will be used instead of all static avatars, but probably only in some parts. One reason is that it won’t be nice to see several golden eagles with the same animation in animals list. Of course i can make several animation for each animal, but it takes a lot of time to do only one animation. Second reason that the avatars size is not so big in the game, and it probably won’t be so noticeable if avatar is animated or not. But we’ll see, everything changes so quickly) In the end, the test was successful and probably in one future build you will see animated avatars.

Thanks again for interest in my game. And once again you can play demo via this link. Next time i will tell about scroll panel nodes management and round progress bars. Stay tuned.

14 Likes

#7

oh man, that is such a great eagle!!! i have to investigate spine, that looks so good

3 Likes

#8

Thanks)
You can download and try Spine for free, but you won’t be able to export anything from it without a license. It comes with many samples, so you can see what you can do with it and even try it yourself with samples or with your imported files.

0 Likes

#9

they have a sale on at the moment… I will have to get it, i think. It’s a good price and i’ve been looking for some software like that for a while!

0 Likes

#10

Really nice demo… the music animations and graphics… go together really well.

1 Like

#11

@Tremor_Blue thank you, but unfortunately current music is just for reference and will be replaced before release. Hopefully it will in the same style)

This week was focused on gui “quality”, as i recently discovered that almost all scaled down images were blurry, as well as world map with zoos on different zoom levels. World map i have already fixed several weeks ago and started digging into shaders stuff (resolved problem). Approach was pretty much the same with gui. With it i also updated some icons.

Meanwhile i worked on news and events systems. News will be used to create “live” world around the player, reflecting player’s actions like upgrading zoo’s capacity or exchanging animals. Additionally it will just show world news, for example:

Bear the dog saves more than 100 injured koalas. A koala-detecting dog has come to the rescue in the aftermath of Australia’s fires.

Main problem is that this news are created manually and as a player i would like to see unique news every time i play. One approach is to create hundreds or thousand small news. It’s very time consuming and not practical. So this lead me to idea to use neural networks to create news headlines. I would also need to collect many real news headlines to train neural network, but after that it will generate unique headlines every time i play. I’m not sure yet if i would implement this, but it is cool thing to try. Right now i’m tuning frequency of news. You do not want to show something every second, but also do not want to show something every 10 or so minutes. Basically i would track when last time news was shown to the player in in game days and in real time.

Events will affect gameplay and offer player a choice, for example: one animals has escaped and you have to do something about it or there are forest fires and you can temporally hold animals at your zoo. It will have some advantages and disadvantages. News will also support these events, like news about some spotted fires, and your decision to hold animals or not.

First version of news system is almost ready while events system will take some time to tweak and fully implement. Here is WIP screenshot:


Image used from www.freepik.com/

This post is already big, so i will tell about node management next week ( i promise) :neutral_face:

But before you go:

Only five animals left to draw from the initial group of animals!

7 Likes

#12

Hello everyone and welcome to another friday progress post.

On the last week topic, i have finished first simple news system. At this stage it works good, but newsline speed probably needs tweaking. Newsline works okay with different languages correctly calculating end of the localized text.


Note: gif is trimmed

Event system in the end will affect a lot of things, so i will do it in a small iterations with focus on one event type at a time.

And finally promised things about node management.

I really can’t recall why i come to this solution in a first place. Problem was that at big number of animals nodes (more than 30 animals), some of them was disappearing with warning, that max number of nodes was exceeded. I tryied to optimize nodes, putting everything in different layers and so on. I managed to increase this fallout number up to 40 animals, but it was still not good. In the end i decided to just “draw” nodes that fits in current scroll view. I wrote a simple function (which was rewritten several times), that checks if nodes “ends” are in the view. If it is - draw it, otherwise do not draw. Here is the example:

I am sure there are different ways to overcome my problem, which are probably much simpler and easier, but in my case, this system helped me later, when i encountered Stencil buffer exceeded, clipping will not work as expected warning. I wanted to create round progress bars, so i used several stencil mask to achieve it, but when there is a big node with several progress bars they all fill stencil buffer. And as node is drawn as one entity, progress bars which are not visible still are drawn. So i started to draw “subtasks” with the system which i used for nodes: if this bar visible draw. Here is the how player see it:

Task%20or

And how system draw subtasks with progress bars:

Task%20view

Progress bars are not visible on this gif, sorry

And that’s it for today. Thank you for your attention. See you next week.

5 Likes

#13

It’s friday again, so welcome to another blogpost. It will be a short one.

We have finished with animals avatars (at least with starting animals):

Meanwhile i started working on save\load system. It uses DefSave for saving and loading, but right now i only made a gui for it, which saves only some basic information about current game state. It will definitely take some time to implement correct loading procedure.

First events for Event system are almost working and i hope to finish them next week. Also i found screenshots of first prototype and several iterations of the UI, so it looks very different right now, but some basic concepts are still there. Everything was White and Blue back there)

That’s all for today. See you next week.

8 Likes

#14

This looks like a lot of fun! I love the animal icons. Will giant pandas be as rare to have at your zoo as in real life? If so, it seems like it’d be a fun challenge to try to get them! :panda_face:

Are you using a UI component library like dirtylarry or gooey, or is the UI system/scrolling/etc completely from scratch? I’m pretty new to Defold so I’m interested how people architect complex UIs. Either way it looks really nice!

2 Likes

#15

Thanks )
In campaign mode all animals will be determined and will be the same all the time, so if i put one panda in mission it will be hard to get it :smiling_imp:. I’am trying to do missions as real as possible, so they will mostly be in Asia. But in sandbox game, every new game you play, they will be different random set of animals. Previously i just random select animals, but now it is more complex and i use conservation status to generate set of animals. So if animals is rare i will generate 1 or 2 animals, if it’s more widespread - more animals of this type. And yes it will be a fun challenge to get them).
I will probably made a post about generation and other stuff.

I am using dirtylarry for the gui, but i made small modifications to the original files. And if i recall correctly in dirtylarry you can scroll by dragging only, so i add mouse wheel scroll as well. Basically, i just detect if mouse wheel was used and replace action_id to “touch” and set some scroll speed.

action.dy = -scroll_speed
action_id = hash(“touch”)

2 Likes

#16

That’s a cool system! I like that animal rarity and real-world location will affect things like that – it could be a cool chance to learn some new things about different animals, too!

Thanks for sharing some info about the UI, too, that’s really helpful to know!

1 Like

#17

Welcome back to another blogpost. Today we have some polls and development progress.

First two events are finally done: animal escape and epidemic. I think that you can figure out what happens in them). When animal escapes, you can’t exchange it and breed, so you have to find it somewhere in the city. Right now it happens in the background, so animal is just unavailable for one
month.

During epidemic animals just can get ill with higher chances. And it lasts from 1 to 2 month.

During testing, numbers will probably be changed. Also both events are just “information” for the player, because player can’t influence on them. In other events there will be an option to make decision.

And now a big topic for today - Tutorials. Usually tutorials are made in the end of the development cycle, but as i was showcasing Zoo Economy at DevGamm Minsk 2019 i needed a simple tutorial for the showcase and for the initial review. It was very simple system and with lot of text.

I consider my game a bit complex for just sit and play, so it turned out that these genre in particular is very bad for offline showcasing: people do no want to spend 10-15 minutes just understanding what is going on. So compared to other booths less people was playing then watching. That’s why gameplay video was playing on separate device.

But during playtest with my friends, i notice that only 1 of 10 people read the tutorial! :rage:It happened in nice environment with no rush and any distraction. They just skipped all messages and then asked tons of question about how to do something. Even when the same players tried next build, they still skipped them all. And on my question why? They said that they already know how to play :neutral_face:. And they game should be understandable from UX point of view.

Of course any game must be as easy to enter as possible. In some genres it is very easy, in some more difficult to do. If you never played Civilization, i doubt that you will play the game without the tutorial. Almost in every game i play, i read tutorial if present (except for general controls, like walking etc).

There are 4 tutorial missions in the game, in which gradually new mechanics are introduced:

  1. Animals exchange
  2. Money und upgrades
  3. Animal breeding
  4. Animal illness

So with all this tutorial skipping, i remade tutorial system) Initially it was designed to just show what to do in the game. Now it is partly animated, with more text spacing. Maybe in the future i will add some other things to it, but for now it’s looking way better.

Before:

After:

And do you read tutorials in games or skip them?

  • Yes (Almost in every game)
  • Yes (When i interested in the game or like it)
  • Yes (Only in some genres)
  • No (I will figure it out myself)
  • No (I do not like them)
  • No (They are useless)

0 voters

4 Likes

#18

Looking good! I think it’s really important to have tutorials in games (and apps) with non-trivial complexity, even if they might get skipped. Implementing them is usually a hassle, but I like that it forces me to think about how the use flow is designed and sometimes presents opportunities to simplify/streamline some elements.

To avoid people just skipping messages, I find it useful to only explain a UI element when the player actually needs it – for example: don’t explain the date/fast forward UI, actually require the player to fast forward as part of the tutorial; don’t explain the money balance display, ask them to buy an animal that’s too expensive then highlight the money display when it doesn’t work; etc. And then, if I never find myself explaining that element for the tutorial, I start to question why it’s there in the first place!

2 Likes

#19

Great idea! I will try to move some tutorials to places where they “needed”.

And you also right about opportunities to simplify some things. Every feedback from players is valuable, especially negative or strange.

1 Like

#20

You can make as a start level of the campaign that he must do two three things basic and easy. Just for see how is done. I think does nt need much detail. Or you can put two tutorial one very detailed and one simple. Keep up the good work… me still trying do defsave lol :smile:

2 Likes