1. Colony Survival
  2. News

Colony Survival News

Friday Blog 210 - Formula 1 & Colony Survival

The jobblock maker in the internal 0.9.0 dev branch. We're considering to allow an increased heigth for jobblocks.

Progress in the past week has been fairly steady and predictable. The refactoring of NPC movement has been completed, and caltrop traps actually slow down enemies now. The final items without icons or meshes have received the attention they needed. Instead of boring you with all the technical details, we’d like to bore you with philosophical details!

We’ll start with a story about Formula 1. Zun, Vobbert and I watch most races, certainly now that a Dutchman is leading the championship. When I was young, in the Schumacher-era, I thought Formula 1 was a competition between the fastest cars we could build.

Michael Schumacher at the 2004 United States Grand Prix, all F1 images from Wikipedia

When I grew older, I learned F1 has an enormous rulebook. There are all kinds of technical specifications the carmakers have to follow. The car must fit very specific dimensions, it has to be a certain weight, it has to use a specific kind of engine, they can’t exceed a certain fuel use, the aerodynamics are limited, assists like traction control are outlawed.

This means Formula 1 cars aren’t the fastest cars in the world. They’re not optimized for speed, nor are they optimized for beating the competition. They’re limited by all kinds of constraints, and could quite easily be much faster without them.

When I learned about that, I was quite disappointed. Formula 1 is exciting because the cars are so extremely fast and the technology is so advanced! Why would you limit that? Architects, musicians and writers don’t deliberately reduce the quality of their output by 30% because of arbitrary rules. Why does F1?!

A Mercedez-Benz W196, participated in the 1954 and 1955 F1 seasons

Nowadays, the F1 rulebook might actually be one of the things I appreciate the most about the sport. I wish the ‘real world’ was regulated that well! It turns out that although “a competition about designing and driving the fastest possible cars” does result in “exciting competitions to watch” to a degree, the correlation is far from 100%. Back in the 1950s, the rulebook might have been quite thin, resulting in a competition that largely did concern the fastest cars they could build.

But as technology advanced, speed and cost went up. This has all kinds of detrimental effects if you want a competition that is actually fun to watch. You don’t want crashes to regularly severely harm or kill drivers. You want to watch humans drive, not all kinds of onboard electronics. You don’t want one super-wealthy team to make a car that extremely outperforms all others which just wins championship after championship without competition.

A BRM P133 in 1968

The difference between #1 and #2 in a F1 race is regularly only a fraction of a second. Being able to lose 100 grams of weight can thus make or break your race, because the lower weight will give you increased speed. Without strict rules, this would mean starved drivers and no safety features.

The teams are continuously trying to find loopholes in the rules. If they can find a semi-legal way to improve their lap times even a tiny bit, they’ll do so. If you follow F1 for a while, you’ll be confronted with all kinds of discussions about flexible wings, novel steering methods and other weird rule-bending technology. At a certain moment McLaren introduced the F-Duct system, where the driver had to close off holes in the body of the car to change the aerodynamics - an unexpected way to circumvent the ban on movable aerodynamic devices.

To summarize:
  • The Formula 1 organization wants to organize safe, exciting and relatively affordable races
  • The teams and drivers are focused on winning those races, and they’re constantly in a very intense competition with others who try to achieve the same thing
  • These goals are quite at odds with each other and this results in a continuous cat-and-mouse game between the organization and the teams, which throughout the decades has produced a rather massive rulebook. This is quite inevitable.
Fictional Red Bull X1 prototype: a racing car unconstrained by rules and regulations

This cat-and-mouse game can be observed in a lot of places. Big companies can profit by disregarding the environment, the government implements rules to prevent this, companies find a loophole, etcetera.

Here in the Netherlands, the government tried to reduce COVID infections by closing down pubs and restaurants. To circumvent these bans, people just started socializing with others at home. To prevent this, the government implemented a curfew: you weren’t allowed to walk the streets after 9PM. This ‘problem’ was also solved quickly: many just started hosting sleepovers.

We’re noticing the same pattern in Colony Survival over and over again. We want to generate interesting challenges for players. A pressure to improve their defenses, or their food production, or their mining operation. Players want to overcome these challenges, but that means that we as developers have pretty much completely opposed incentives, compared to players. Players often want powerful melee guards that can stab to death monsters with spears - we don’t want to add strong guards that don’t consume ammo, because that would make so many other guards useless.

Many players, myself included, build colonies with “bed-seas”. Rooms fully covered with beds, from wall to wall. We’ve regularly been asked to introduce measures to prevent or at least disincentivize this. But how do we do that in a way that’s intuitive for players, that doesn’t result in an infinite cat-and-mouse game, and that is not too costly too program? We could demand that players leave one block of free space between beds, but that would result in similar “bed warehouses”, just with a slightly less optimal pattern. There’s no easy way to add constraints that would result in ‘realistic’, cosy, good-looking bedrooms.

Another example. It’s currently quite easy to “guide” the monsters to a certain entrance - often a big maze. Players mention they would like to see monsters that can break or scale your walls. We do see the appeal, but widely distributing such an ability would quickly lead to a new dominant strategy: just place guards along your entire wall, because you need to be able to defend from all angles. That seems more boring to me than fighting ‘dumb’ monsters that can be guided along certain paths.

Trapmaker and goldsmith, internal 0.9.0 dev build

Last example: we want to offer better items to advanced colonies. Your reward for expansion and progress in the tech tree should be stronger weapons, better foods, and more valuable luxury items. But if they’re superior in all dimensions, players are pushed to replace the production chains of previous items, and it gets boring and annoying to continuously place and replace production chains. That’s why we’re striving to keep older items relevant later in the game, to make sure the optimal strategy isn’t frustrating. But finding ways to offer continuous improvement without outdating earlier items is very hard!

It feels a bit like we’re trying to stop water from flowing downhill. Every time we put a barrier in its path, it just finds the easiest way to flow around it. This is a persistent issue that returns again and again, both in Colony Survival and outside of it. Problems seem like they have an easy solution, but each solution has its own side-effects, often convincing us to choose to just tolerate the original problem.

We hope this helps you understand that we do recognize quite a lot of problems and potential solutions, and why we chose not to implement certain apparently ‘easy’ solutions. Things are complex, puzzle-designers and puzzle-solvers have quite conflicting goals, and we’d like to prevent infinite cat-and-mouse games.

We don’t want to discourage offering suggestions! They’ve been very valuable in the past, and even if we can’t directly implement them, they at least tell us where the bottlenecks are. Please keep doing so. And if the suggestions help deal with the dynamics above, they are extra useful.

If you find these concepts interesting, you might want to read Why the tails come apart
and Meditations on Moloch. If you're still interested after these walls of texts, jump into #serious on our Discord!

Bedankt voor het lezen :D

Reddit // Twitter // YouTube // Website // Discord

Friday Blog 209 - Iron Progress

All mentioned changes concern the internal, unreleased dev build

Last Friday Blog mentioned the idea of ‘outposts’. This resulted in massive support: lots of you shared their enthusiasm! That was great to see, and it strengthens our dedication to this plan.

Since then, progress has been good. In the image above, a trap can be seen. Traps were very much work-in-progress two weeks ago, and they’re a lot more finished in our current internal dev build. They are properly reloaded by special colonists, and there are now also variants of traps that can drop items on monsters that pass below them. They’ve also received their own, new 3D model. We’re still planning to update it though.

Zun is now working on a new effect: slowdown. We’re planning to add traps that can drop caltrops, which would slow down monsters. This requires new info to be saved for each monster though. We’re also planning to have other things that can affect monsters for a longer time, like poison. Properly saving these statuses for each and every monster and sending them to each connected player in multiplayer requires a minor technical overhaul, which is happening right now.

A trap from below

The last two weeks also saw the addition of many new icons for 0.9.0-items, and 3D-models for new jobs. We’ve also redone certain old icons that didn’t fit the new style and standards. Here are two screenshots of some of the new content:



Another project was updating the ‘spreadsheet calculator’. Since 0.7.0, we’ve got an internal system that can ‘print’ a spreadsheet with all kinds of data, especially data regarding the total labor cost of items. How many seconds of work are required to make an anvil and all of its ingredients?

0.9.0 adds some major new changes to this process. Some items can’t simply be crafted by a colonist, and have to be purchased from the trader with currency. And the crafting time isn’t static: it decreases when you use better tools. This makes calculating the total cost of a product significantly more complex.

With the new spreadsheet calculator, we now have access to a lot of new data. We’re going to use it to rebalance the costs of in-game items. Until now, it has been the result of ‘guesswork’. That has resulted in some weird things. The Golden Shield costs a lot of time to craft, but it can be sold for 250 coins. But the calculator concluded that the ingredients of the Golden Shield cost 230 coins already! All the work crafting the shield and its ingredients are better spent crafting linen, which can be sold for more coins with less work. Weird things like that will be fixed.

One of the results of the calculator. Spot the problems!

Bedankt voor het lezen :D

Reddit // Twitter // YouTube // Website // Discord

Friday Blog 208 - A Network of Outposts



As promised last week, the dev build now has a functional Iron Age! Playtesting it has legitimately been a lot of fun. Currently, the Iron Age is also the first time players are able to unlock and use traps. We’re seriously considering introducing this new feature earlier in the game.

The Iron Age is now the most advanced age in 0.9.0. It’s the hardest to unlock, and producing enough iron to unlock traps and to craft a bunch of them is relatively difficult. I was surprised by the amount of miners and smelters I had to unlock. At first, I wanted to ‘fix’ that, to reduce the costs of the crafting recipes. But then I realized that this is exactly what we want to encourage. We want players to build big colonies and to recruit a large number of colonists, and these accomplishments should be meaningful.

[h3]Outposts
[/h3]

With the Iron Age unlocked and many dozens of colonists working on trap-production, I now had an overcrowded fort with many beds crammed into underground rooms. I barely had space left above ground to place new jobs. But while looking at the surrounding area from the walls of my fort, I felt a strong desire to “make it habitable”. Why should I build such a crowded place for the colonists when there is so much empty space around me?

...because that’s how the game works. You’ve got one banner, and you stick with it until you’re pretty much at the endgame, and then you can start over in a very distant location. But then I remembered the server that I shared with Vobbert and Zun many years ago, in a certain other voxel game. We did explore that world and we spread out our buildings, but our settlements were all connected by roads and bridges and pretty much within viewing distance of other settlements. We didn’t concentrate everything in a 200x200 area (the current core CS gameplay), nor did we go 10 miles in a random direction and build a new settlement in a fully isolated area (what 0.7.0 adds to CS).



At the start of this year, we did consider making CS more like that, with multiple settlements relatively nearby. We considered semi-realistic logistics to be a core part of that, and we couldn’t think of a system that we could both A.) develop in an acceptable timescale, and B.) make fun and intuitive to use for players.

But… is semi-realistic logistics actually a core requirement for ‘outposts’ gameplay? Imagine you’re able to build outposts with their own ‘secondary banners’, their own jobs, their own colonists and their own beds, in viewing range of your first and main colony. A small village focused on mining next to the mountain, a fishing town next to the sea, a farming outpost in the middle of a plain. But the tech tree and stockpile are completely, automatically connected to your main colony. The iron ingots of the mining village are instantly usable at your main colony, and the same is true for the wheat harvest of the farming outpost. Sure, it wouldn’t be very realistic, but wouldn’t it be a lot more fun than being forced to stay within a small safe zone in a nearly infinite world, or to be forced to use complex, tedious trading/logistics UIs to connect multiple colonies?

We’ve discussed it and we’re highly enthusiastic about the “outpost-plan”. We’ve already got support for multiple colonies, so it wouldn’t require enormous amounts of development time. But we do expect the results of it to be pretty enormous. Using the resources of your main colony to transform an empty patch of nature into a new settlement seems like very fun and satisfying gameplay. We’ve noticed that a lot of longtime players already used mods or cheats to achieve something like this; they dislike being constrained to a relatively small area, and want to spread their mini-civilization over a larger area.



But we’re not instantly going to develop this feature, so this is your chance to give us your feedback! Are you highly enthusiastic about this, and do you totally not mind us expanding 0.9.0 a bit further with this? Do you believe this new feature won’t be very helpful? Or are you sick and tired of us constantly moving the goalposts and do you just want 0.9.0 to be released yesterday? Let us know and we’ll consider your input!

During the next week, we're probably busy working on refining the content that was recently added. The traps are still work-in-progress, and a part of the new 0.9.0 content is still lacking icons, models and balance.

Bedankt voor het lezen :D

Reddit // Twitter // YouTube // Website // Discord

Friday Blog 207 - Functional Traps!

Image from Wikipedia

In our last blog, we suggested traps as the solution to a myriad of problems. The general response was enthusiastic, so we’ve been working on implementing it. Zun worked on the technical side of things, and things went very well there.

I had to work on integrating the new jobs and recipes properly in the 0.9.0 tech tree. And I struggled quite a bit with that. It felt like the keystone that completes an arch. We stacked up features on the left, we stacked up features on the right, and traps were the last feature needed to complete the system. And that last step is the most difficult one, because it has to make sure everything is properly ‘balanced’. An issue comparable to this one, 140 blogs ago. It took a while, but we’ve figured it out and things are moving forward again!

In the meanwhile, Zun tested prototype-traps. Here’s an image of such a trap defeating monsters!

Loaded traps are temporarily using the stove mesh, empty traps use the writer's desk mesh

We ran into a new technical problem that had some interesting visualizations. Blocks like crates and jobblocks have “access points”. These are places right next to the crate where colonists can stand to use these blocks. In 0.8.0, that’s only right next to the block.

...crates like here are visualized as… ....green = crate, red = “access point”

This is problematic for certain new traps. Some traps can only be aimed upwards, others can only be aimed downwards. It makes sense to reload these traps when standing on top of them, or below them. It also makes sense to integrate traps in walls at the height of the torso instead of on the floor - these should also be able to be reloaded by colonists standing next to them. So Zun improved the “access points system” to be able to deal with these new situations.



So we’ve now got an internal dev build with functional prototype traps, and a detailed path on how to integrate them in the tech tree. We expect to have pretty functional 0.9.0 gameplay, from the Stone Age to the Iron Age, by this time next week!

Bedankt voor het lezen :D

Reddit // Twitter // YouTube // Website // Discord

Friday Blog 206 - A Potential Solution: Traps!



We’ve been having a lot of debates about how to implement monster&guards in 0.9.0. We wanted more options, more variety and more challenge. We made some significant steps, for example by connecting the size of the monster threat to the tech tree as well, instead of solely to the amount of colonists. But now we had to turn our general ideas into specific guards/monsters/weapons/ammo, and that turned out to be pretty hard to do right.

We kept running into some problems:
  • How do guards select which monsters they attack / prioritize? Do players have control over this?
  • How do we prevent the gameplay from becoming repetitive “unlock stronger guard”-cycles?
  • How do we give players a fail-safe system that saves the colony if guards can’t handle a new, stronger wave?
  • How to differentiate heavy damage early game weapons from middle game medium damage weapons?
  • If we provide more guard-options, how do we prevent the guard-menu from becoming too cluttered?
Just today, Zun suggested an idea that I had rejected in the past, but which does seem to solve quite a lot of the problems we encountered. Traps! Disclaimers: we’re not 100% sure about this, it’s a very new idea. We’re going to think about it during the weekend, and we’ll read your responses here under the blog, and we’re open to discuss it on Discord. No guarantees it'll get implemented! But it does seem rather promising at the moment.

Early game traps could be placeable items that get triggered when monsters pass over them. These could be "damage-weapons" like bombs, but also things like caltrops or poison devices, to slow monsters down or to damage them over time. We're considering a dedicated "trapman"-job - a colonist who maintains and re-arms the traps.

Later in the game, the trigger could be a separate item from the weapon, something like a pressure plate. You would be able to configure the pressure plate to only be sensitive towards certain enemies, and you'd have to connect it to a specific weapon.

Traps enable a lot of new strategies. For example, at the very start of your monster funnel, you could have traps that poison and slow down the strongest monsters. At the end of your funnel, right before your banner, you could place a bunch of explosives. If your guards fail to kill any monsters, they’ll be defeated by the bombs and you will be clearly notified that you’ll need to upgrade your defenses!

It solves the player-control-over-prioritization problem in a relatively intuitive way, it prevents the guard menu from becoming too cluttered - it would be helpful in a myriad of ways! But is it the right solution? Should we keep exploring alternatives? Should we release 0.9.0 without traps and without trying to find an elegant solution for the problems mentioned above? We’re probably going to make a definitive decision at the start of next week, so this is the right moment to give us some input. Let us know your opinion, it’s sincerely appreciated!

Bedankt voor het lezen :D

Reddit // Twitter // YouTube // Website // Discord