Last week's Friday Blog was written right before the new Steam Library UI dropped. I'm pretty sure we haven't added all the new assets yet, but we did quickly make a design for the new 'card' in the library. The new UI looks pretty good! A change with major impact is the new 'review-request' in the Steam Library. Players get more encouragement to write a review now. This was very noticeable in our review rate. Normally, we hover somewhere between 25-50 reviews per month, with 80-90% of them positive. We're now at 95 reviews in the last 30 days, with a 95% positive review rate! We're very grateful.
Since Zun's return from Japan, he has mostly focused on the "input" part of mods - for example, the ability to select which mods you want to use per savegame, instead of mods affecting the entire game. This week, he has switched to the "output" part. How can players put mods on the Steam Workshop? How can worlds be saved on the Steam Cloud automatically? Apparently, mods can't just be uploaded to the Steam Workshop directly, we've got to make an in-game menu.
The things Zun is correctly working on don't require new models or textures - my specialization. So I've been working on improving my skills with Unity and programming, allowing me to eventually support Colony Survival in more ways. Two weeks ago I wrote something about my own little project, a simple simulated ecosystem with growing grass and cube-rabbits that eat it.
The basics functioned pretty well, but there was a big problem. After ~5 minutes, all of the cube-rabbits started dying rapidly. I struggled for a while to solve the problem and could not find it. Even Zun could not identify the bug. I pondered about it some more (while lying in bed at 1:30AM) and thought of a solution that could help identify the bug.
It did help to find bugs - we discovered that the NavMeshAgent failed right before the cube-rabbits started dying. So we fixed that - and the cube-rabbits still died. We thought the female rabbits might be inheriting the age of their mother - making them incapable of having long lives. We changed the procreation-code, but the same issue kept happening.
Eventually, Zun spotted a very very simple and silly mistake in the code. The only thing I had to do solve the problem, was change this:
if (thisgrass.isProtected == false)
...to...
if (thatgrass.isProtected == false)
That simple error meant the cube-rabbits failed to check properly whether grass still had "foodvalue" left. After fixing that, the simulation (sped up 2000%) looks like this!
The three blue spots on the ground are meant to be infinite sources of water. The grass is their food source. Over time, it grows, but it shrinks when rabbits eat it.
The cube-rabbits are divided into two genders. They both have increasing hunger, thirst and age. When hunger and/or thirst exceed a certain limit, their HP starts dropping. Eating increases the scale of the rabbit to a certain degree, and it restores damaged HP.
When rabbits reach maturity, they get the ability to procreate. Female rabbits can get pregnant and after a couple of moments they give birth to a male or female rabbit. Above a certain age, their HP starts dropping. The color of the 'main cube' is determined by gender+HP, and the color of the tail-cube is determined by age.
It results in a pretty interesting simulation, and it has teached me a lot abouty programming and Unity! It's not relevant to Colony Survival at the moment, but that should change in the future.
A word of our own creation that Zun and I throw around pretty often is "the Day of Defeat - effect". Day of Defeat: Source was the first Steam-game Zun and I owned and we played it quite a lot. Here's some random footage from YouTube. In contrast to many modern shooters with pretty round, open maps and fluctuating spawn points, DoD's maps were pretty lineair and static. While these words often denote something that's negative, it actually had a pretty positive effect.
If your team was doing well, the battle started happening at a larger distance from your spawn. But if you were on the losing side, the reverse happened of course: the battle got closer to your spawn. Which made it easier for you to get there, and harder for the enemy - lessening the consequences of your death, and increasing the consequences of your enemy's death.
This made the battles in the game pretty balanced, even if the teams were not. But it didn't feel like a 'fake' mechanic, some artificial limit like increasing the HP of the losing team. It was a very natural and organic balance. If your team was on a succesful offensive, your weapons were still equally powerful, the stakes were just a bit higher.
The reverse is true in quite a lot of RTS-games, like for example Supreme Commander (a brilliant game that we played again very recently). A player that is marginally better than another player, let's say 5%, sees that same boost everywhere. 5% more resources, 5% quicker development, 5% less losses in battles. These improvements stack on top of each other, and can of course be used to destroy for example the resource gathering units of the other player, completely hamstringing them.
Marginal differences in skill cause exponential differences in base growth, amount of resources and amount of units. Of course, that is fun in some ways, but it also causes massive balance issues.
Of course, Colony Survival is not a competitive multiplayer game. But we believe the same effects are still very relevant. On one hand, players need to see that their choices have impact, and it's fun when things stack and increase and cause massive advantages. On the other hand, players also want a challenge - when they have 10 colonists, when they have 100 colonists, and also when they have 1000 colonists. To continuously keep providing overcomeable challenges, for new players and for experts, for small colonies and for large colonies; that's pretty difficult.
We often had this discussion in regards to the happiness system. Of course, players need to be 'punished' when they fail to keep their colonists happy. But a failure to provide enough happiness items is probably also proof that the colony isn't doing too well. We could easily make it so that colonists start crafting less and less when they're unhappy, but that would result in even less ammo/food/happiness items, causing an inevitable collapse. That's why we decided to mainly penalize progress: make science slower and the recruitment of new colonists more expensive.
To us, "the Day of Defeat - effect" means a game should become a bit easier when you're on the brink of collapse, and it should become more difficult when you're doing very well, without giving players the impression that their choices don't matter (your weapon does more damage? Nice, we're going to add an equal amount of extra HP to enemies). It's a difficult balance to strike, but a highly important one!
Bedankt voor het lezen :D
Reddit // Twitter // YouTube // Website // Discord
[ 2019-11-08 14:03:01 CET ] [ Original post ]
- Linux 32-bit [97.57 M]
- Linux 64-bit [96.17 M]
- Multiplayer support: play with friends and strangers!
- Advanced pathfinding: colonists and zombies will find their way in the world you've build. They will dynamically navigate stairs, bridges and tunnels.
- Explore a world with realistically placed biomes. A giant jungle in the center of the world, surrounded by savannas, deserts and temperate biomes. Two polar regions in the far north and south.
- Support for textures and language packs created by players
- Dynamic lighting and eye adaptation
- Voice your suggestions and be part of the development of Colony Survival!
- OS: Ubuntu 12.04+. SteamOS+; 64-bit
- Processor: Intel Pentium G620 (2.5 Ghz dual core) or equivalentMemory: 2 GB RAM
- Memory: 2 GB RAM
- Graphics: Intel HD Graphics 5000. 1280x720 display
- Storage: 300 MB available spaceAdditional Notes: Work in progress: new features may raise the bar. optimizations may lower the bar
- OS: Ubuntu 12.04+. SteamOS+; 64-bit
- Processor: Intel i5-2300 (2.8 GHz quad core) or equivalentMemory: 4 GB RAM
- Memory: 4 GB RAM
- Graphics: Nvidia GTX 750 or equivalent. 1920x1080 display. supporting openGL 4.2+Network: Broadband Internet connection
- Storage: 1 GB available spaceAdditional Notes: Work in progress: new features may raise the bar. optimizations may lower the bar
[ 6089 ]
[ 3241 ]