The Castle Doctrine Forums

Discuss the massively-multiplayer home defense game.

You are not logged in.

#1 Re: Main Forum » New "cheatproof" test server » 2019-02-18 14:50:29


The "upkeep" or "reserve" is an amount of money you have to keep in your
house. You can't spend it, but robbers can steal it.

As you spend more on your house, the upkeep increases. I recently changed the
details of how upkeep is calculated. Now, it starts at $200 for a new house,
and then every time you spend money (real money, not the fake initial $2000)
on house objects, half of the cost isn't actually spent but goes to increasing
the upkeep instead.

One intended effect is that if you have an expensive house and get fully
robbed, you'll be so far from being able to pay the upkeep from competition
winnings that you might as well just start over - which means your house gets
added to the pool of competition maps.

#2 Re: Main Forum » New "cheatproof" test server » 2019-02-16 07:19:19


New client version (35006) up at .
There are now a couple of convenience features to make competitions ("jobs")
smoother: all possible tools are now shown in your "backpack", so you don't
need to use the tool picker, and I've implemented a primitive undo feature.

#3 Re: Main Forum » New "cheatproof" test server » 2019-02-11 13:22:45


Yes, I had worried that removing permadeath would dampen the brutal core of
the game - but the painful violation of having your vault robbed remains
intact, and in fact the reserves and backpacks make it even harsher, as you
can easily be left in serious debt with little chance to recover.

#4 Re: Main Forum » New "cheatproof" test server » 2019-02-10 00:24:25


Excellent. Any house which cost over 10000 will go into the pool of 'job'
houses if the owner suicides.

There shouldn't be any chills. Did you see chills?
EDIT: ah, but "force ignore" was still enabled, which is another way you can
be prevented from robbing (or even seeing) a house. I've disabled that now.

EDIT: I also decided it was pretty unfair that I could steal your 'job' prizes
from your vault while you were away, before you'd had a chance to make use of
them... I've just changed it so winnings get added to your vault only when you
visit, or after 24 hours if you stay away.

#5 Re: Main Forum » New "cheatproof" test server » 2019-02-09 04:31:48


"Chills" are disabled - you can try again to rob a house immediately after
"dying". You keep any tools you walk out with, including the backpack. There's
no point in taking two backpacks.

I've just enabled flushing on client calls, which means competition money
should now be distributed within 2m of the competition ending.

#6 Re: Main Forum » New "cheatproof" test server » 2019-02-09 02:43:24


1.The house is on the move to the safe after design and modification. It is not initialized even if it dies
(unlimited challenge)
2.Does death occur in other people's homes?
3'view job' is a random problem, and the person who reaches the safe with the least amount gets the prize
4.exactly how long does it take for the prize money of 'view job' to arrive?
5.How long does it take for someone else's home to be re-try?
6.(Personal Opinion) Too many accounts per person are likely to cut half the fun.

1. Correct.
2. Instead of dying you are "injured", meaning you leave your backpack and
contents. This is autosold and added to the vault, in place of bounty.
3. Correct.
4. I think there's currently a delay of up to 6 minutes, because it's only
processed on server flush. I might be able to fix that.
5. Could you rephrase that question? I don't understand.
6. The idea is that although you can have multiple accounts, it doesn't bring
you any advantage.

#7 Re: Main Forum » New "cheatproof" test server » 2019-02-07 22:41:19


Sorry about that, I accidentally broke the server. Fixed now.

#8 Re: Main Forum » New "cheatproof" test server » 2019-02-07 12:40:46


Can you explain what it is you don't understand, or understood only with
difficulty? I can believe that some things need better signaling.

As for the "jobs" - each has a timeout, displayed on the list, and when it
runs out the money goes straight into the vault of whoever submitted the
cheapest plan. If no-one submitted a plan, the prize "rolls over" and is added
to the prize money for the next job.

It would be great to have some more players. I'd be interested to see how well
it works.

#9 Re: Main Forum » New "cheatproof" test server » 2019-02-05 11:41:27


The initial $2000 is your building budget; you don't get to keep what's left
over. You need to leave some money in your vault (how much depends on the
value of your house, i.e. how much you've spent on it), and can only spend
excess beyond that; that's why you appear to start in debt. To rob other
players, you need to buy a backpack. You can fund this by winning a
competition or two ("View jobs" on the house list page).

The game is otherwise like vanilla, except that there's no permadeath (you
just lose your tools, backpack included, if you "die" while robbing, and
there's no penalty for "dying" in a self-test).

#11 Re: Main Forum » Problems with setting up server » 2017-12-11 12:34:22


Hmm sorry, don't think I had any problems with the ticketServer.
It's part of minorGems, which is actively maintained.

#13 Re: Main Forum » New "cheatproof" test server » 2017-12-07 11:45:06


Thanks for your thoughts. I think you're right to identify the problem that
players who can afford enough backpacks to bruteforce their way through a
house in the end don't risk anything, because they get all the backpacks they
spent along the way back when they finally get to the vault.

I've just implemented a simple fix for this: now when you die in a house, your
backpack and its contents are auto-sold and the proceeds go into the house's
vault. So a proportion of their value disappears and can't be won back.

Chills don't work if we assume players have sockpuppets.

Forcing players to leave some money in their vaults is a good idea. It's
actually already part of the system I implemented on this server. You have to
leave 200+(0.1*houseValue) in your vault before you can buy anything.

#14 Re: Main Forum » New "cheatproof" test server » 2017-12-06 11:12:30


If you die you just lose tools. That necessarily includes the backpack, which is quite expensive. Permadeath doesn't make sense as a penalty, because we're assuming everyone can have sockpuppet accounts to risk rather than their main account; losing the backpack is the substitute.

#15 Re: Main Forum » New "cheatproof" test server » 2017-12-05 12:39:37


The competition houses have some random noise applied to make finding an optimal solution difficult even if you're familiar with the base house.

How did you find robbing others' houses? Any annoying lag?

#16 Re: Main Forum » Improved Chill Timeouts for smaller populations » 2017-11-14 13:44:46


Amazing what a huge effect such a tiny tweak can generate...
Good thinking, jere and jasonrohrer.
And the "squatter" theming is perfect.

#17 Re: Main Forum » Improved Chill Timeouts for smaller populations » 2017-11-13 00:02:09


Looking forward to trying this out...
as for the previous game-breaking strategy - yes, it wasn't just a matter of
getting down to $0, you also need to be robbed once. Sticking the vault by
the door has worked for me.

#18 Re: Main Forum » Improved Chill Timeouts for smaller populations » 2017-11-12 02:20:52


Making abandoned houses (intermittently) robbable like this actually solves
another problem with the game: currently, if you take seriously the goal of
trying to keep your family alive, the surest way to do it is to get down to $0
and drop off the list. Then as long as you don't do anything more in the game,
your family is safe.

#19 Re: Main Forum » Improved Chill Timeouts for smaller populations » 2017-10-28 07:02:20


I still quite like the "competitions" I implemented for the cheatproof server
as a way of using old maps and preventing the game seizing up when there are
few players. Details are in another thread, but basically they work like this:
you see the blueprint of the map, and try to get to the vault in as few moves
and using as few tools as possible. A competition is open for a certain length
of time, and at the end whoever found the best solution wins some prize money
(the idea being that you're developing the plan for your local crime
syndicate, and the prize money is your cut).

So competitions are clearly differentiated from the rest of the game, and the
amount of money they inject into the economy is easy to control. Because of
the blueprints and the optimisation aspect, the original owner doesn't have
much of an advantage. In my implementation, the maps also had some random
noise applied to keep things interesting.

#20 Re: Main Forum » New "cheatproof" test server » 2017-02-23 12:46:36


I've just put up a new version ("35002"), source and windows binaries
available from .
The main change is the addition of competitions, essentially as described in
this thread.

I found a nice way to thematicise them: your "friends" in more-organised crime
are planning jobs on rich houses, for which they have blueprints, and will
give a cut to whoever can find the cheapest plan for a robbery.

Currently the base maps are some old ones of mine I found on my hard-drive.
Many of them are from old versions of the game and don't really work anymore,
but the random noise means they still kind of do the job. Any house worth at
least $4000 whose owner suicides will get added to the pool.

I'm hoping the competitions will suffice to deal with the problem of getting
things going.

So anyone lurking on this thread - now would be a good time to give this
version a go!

#21 Re: Main Forum » New "cheatproof" test server » 2017-02-19 03:37:51


I see no wall.

The important thing is to have activity in the game, which in economic terms
means circulation of the money. There's no reason in principle that this
should require money creation - even in a completely closed system, there can
still be flow of money between players. Think not of a pool being splashed by
a fountain, but of a roiling pot of water on the boil. The players generate
the movement themselves.

The one problem with this is that sometimes in the course of this activity, a
player can end up with no money at all. What happens then depends on the
details of the dynamics, but let's say first that a player with no money is
ignored by the system - they end up at the edge where the waters are still.
This is also how a new player starts, hence your inductive arguments. So
there should be a way to push such a player back in to the turbulent region,
i.e. for them to obtain some money. Money creation of the kind we've been
discussing can be a means of doing that - a targetted jet to push a player in.

So what I'm seeing as the key point is that the system doesn't have to be
*driven* by money creation. Money creation can still be used as a tool to
prevent pathological behaviour, but it need play no more than a supporting
role. The players drive the system, by identifying and enacting opportunities
for gain. Make sense?

Probably further tweaks would help, measures to try to keep players away from
the edge so the jet is needed less. The minivaults helped with this, giving a
backup to make destitution less likely. Making the rescaling redistributive
might also help.

#22 Re: Main Forum » New "cheatproof" test server » 2017-02-18 14:31:19


> Unless players are offered an infinite load-out budget at the start of the
> puzzle house.  Then you CAN use loads of tools, without paying for them, but
> the goal is to use the fewest.

Yes, that's exactly what I had in mind. And actually there's no need to have a
buying stage at all - 8 tool types can be chosen when the map is generated,
and competitors just automatically enter the map with an inexhaustible supply
of each.

> Still seems like it would take too long to bootstrap people.  You need to
> have a time window and a contest deadline.  In the N=2 case, this really
> doesn't work well.  After someone submits their best try, they're
> essentially sitting around waiting for the results to come in.

Well, they can work on improving their best try, knowing that the other player
may be doing the same. This may not be all that much fun, and I hope people
won't spend much time on it when the main game is functioning properly. But I
don't think we need the game to be massively fun to play in these extreme
situations, as long as they don't last for long.

> For the same reason, we cannot allow other players to design the "state"
> houses for us, because we can't make sure the people robbing those houses
> are not the designers.

If you mean the houses for the competition: I think it makes sense to provide
blueprints - and then given blueprints, the random noise, and the rather
different aim from normal, the advantage of already being familiar with the
house fairly small. So using old houses as the base should be ok.

> Anyway, I think there needs to be a way for money to enter the game that has
> no timer or waiting period attached to it.
> On the other hand, it also needs to have some skill or difficulty attached
> to it, or else it will be subject to grinding as a replacement for robbing
> and other activities.

If it's possible to get enough from that kind of mining, without going insane,
to be able to take on a player who has all the money, then it will have to be
rather lucrative. So then mining will often make more sense than playing the
main game. Even if it's fun and engaging, so not grinding in the usual sense,
it would be a single-player activity which distracts from the main game.

The advantage of using a competition or a lottery is that it can be not very
lucrative for a competitor on average, while still providing enough to whoever
wins that they can challenge a dominant player. But then you do have to have a

#23 Re: Main Forum » New "cheatproof" test server » 2017-02-18 10:14:25


Or maybe better actually: get rid of the minivaults, but have the list give
*no* information about the value or contents of a house. Then every house is a
potential competition winner, so worth a look.

#24 Re: Main Forum » New "cheatproof" test server » 2017-02-18 10:08:30


Hmm... I was thinking of the competitions as a means of kicking the system
away from the pathological fixed points, rather than as a replacement for the

On a theoretical level, I agree that they suffice on their own to fix the
problems we identified. But if they're really the only way for a new spawn to
get in to the game, they're going to be a major focus of play. One severe
problem with that is that an actually new player who isn't familiar with the
game is unlikely to win a competition, so the competitions will form the
entirety of their play experience until they learn the game sufficiently well
to compete with the experts. During that time they're seeing nothing of the
game TCD is meant to be, and I doubt the competitions would be engaging enough
for them to stick with it long enough ever to see the real game.

So no, I think it's still important that new players can get money from Main
Game sources - which means toolless robberies and luring antes. Competition
wins have to be reasonably large if they're to do the job of kicking the
system away from a "won" state, so they're not likely to help much with the
problem of making starting houses seem worth robbing. So if the minivaults
were ever necessary, I think they still are.

#25 Re: Main Forum » New "cheatproof" test server » 2017-02-18 06:30:40


Developing a CAPTCHA of the traditional kind, one based on current holes in
machine perception, seems increasingly difficult as those holes are filled.
Anything we came up with would probably need replacing in a few years.

Optimisation problems, on the other hand, should remain hard forever. By using
the same problem domain as the main game, we make sure that if someone does
manage to develop an algorithm to break it, then also the main game is broken
- and then we can stop worrying altogether. Alternatively, general AI might
well get to the point that it's better at this sort of thing than humans, but
then hopefully it'll also enjoy the game as much as humans!

So. It looks like we actually have a complete solution without any known
holes! To summarise the changes required:

* locked doors
* "mini-vaults" (TODO: proper thematicisation);
* competitions;
* reduction of loot value on a successful robbery;
* multiple simultaneous robbery checkouts.

Some details not yet decided:

Should minivaults be implemented just like vaults, so you start with one in
the initial layout and must always place it somewhere? I think yes, for
neatness and to teach the player about it from the start. It can start by the

If you enter a house as a robber, i.e. with a lockpick, should you still be
able to rob the minivault? Or should robbing the main vault also loot the
minivault? I think no to both, because I like the idea of having a pure-puzzle
element to a house which can only be robbed toollessly, and because it gives
players a secondary backup in addition to the wife to help them keep afloat
after a robbery.

Do we still need reserves? I think so, for the same reasons as always - the
competitions don't change the situation that much. Can we make reserves be
exactly what goes in the minivault, as I suggested in another post? Actually
no, as reserves are meant to encourage putting up an ante.

How exactly should the reduction of loot value work? To recall, this had two
purposes: to punish using a sock puppet to clear out your minivault, and to
punish rapidly cycling all loot between two accounts, using simultaneous
robbery to take it from under the nose of a genuine robber. For the former a
big penalty is needed, but only a small one is needed for the latter. So
something like 20% for the minivault and 2% for the main vault should do it.
Or if it's decided that the minivault is robbed along with the main vault,
just 20% for the minivault.

How does adding competitions as a money source affect the economy design? Can
we use it in place of rescaling to handle deflation due to the various sinks?
Having the prize pool be filled directly from the sinks is no good, because a
purpose of the competitions is to shake up what would be a static game with no
activity, as in the case that one player has all the money and just sits on
it. That doesn't rule out having the pool be filled first from the sinks, then
adding extra only when needed. But there are so many sinks in the course of
the main game that I fear the pool would grow too big, and the competition
would end up overshadowing the main game. So I'm thinking that rescaling
to a fixed global value should stay. The prize pool should be part of that
calculation, fixing the problem of 'winning' - it's then never true that you
and your puppets have all the money, because there's always some in the prize
pool, so sinking money into building and tools always comes at a cost.

That still leaves the question of how to automatically vary the size of the
economy to cope with fluctuations in the number of players. Something based on
the amount of money disappearing into sinks each time period could work as a
non-abusable proxy for how much money is needed in the economy. We can
estimate what a healthy economy looks like - maybe that 20% of the money goes
into sinks each day - and adjust the total money when it doesn't match,
something like:

    adjustmentRate = 0.3;
    newTotal = max (minTotal,
        oldTotal * (1 - adjustmentRate*(0.2 - sunk/oldTotal)));


Finally, there's still some room for abuse in the checkout system. You can
prevent someone editing by constantly robbing them, and you can camp inside
your house, keeping an edit session alive and never letting it be robbed.
These problems have always been there, and were sometimes annoying but never a
huge problem. Simultaneous robberies do make the first problem worse, though.
I'm sure they can be fixed without serious changes to the design, though I'm
not sure what's best. Maybe just a queueing system which gives priority to the
house owner, and a (lengthy) time-limit on editing combined with a way to save
half-finished designs (which I think Frosty may have implemented).

Then, I think that's it! Will it work? Will anyone actually play it?

Board footer

Powered by FluxBB 1.5.8