The Castle Doctrine Forums

Discuss the massively-multiplayer home defense game.

You are not logged in.

#1 2014-02-16 19:09:10

crousti
Member
Registered: 2014-02-16
Posts: 3

Stranger things happened... or do they ?

Sometimes i really don't understand what happens in this game. As a noob i will get flagged as just ranting, but seriously ...

In my previous house, i had some grids toggled by a fleeing wife and panic buttons, with some timing.

First, one guy went in, numerous times, did various stuff, learnt the timing, and died because of another trap.
Then a new one comes, right after, and goes straight through the timed trap, with the perfect timing. Then he also had to get the right path out of 4 to get to the safe.
1/4, he gets lucky, i get it. But getting the timing right, on its first try ? That cannot be luck.
That timing was not hard to beat, provided you came ONCE already in the house before. You could then safely exit and come back, but there is no way someone could get it right on his first try.

Now this is not the first time it happened.

So, some players have multiple accounts. Seriously, is that allowed ? It defeats the purpose of death - die and lose everything. Have one guy die all the time by checking houses with 2K worth of tools, kills animals, disable traps, then get the other one to rob.

If multiple accounts is allowed, charge twice more for the game, give 2 accounts, and write it on the wiki ...

So that was the first rant.

Second one is ... well either there is a bug, or some people use bots. I just saw someone defeat some simple traps, drug a dog, find my safe that had not been emptied... and then started going left and right. Then suicided in front of the safe. If that is not botting, i don't know what it is (i can't believe it was some santa, he had no tool left and no bounty)

Offline

#2 2014-02-16 19:30:52

iceman
Member
Registered: 2013-11-09
Posts: 687
Website

Re: Stranger things happened... or do they ?

Yes, some people use multiple accounts.  However, (a) they pay twice as much, and (b)you can't do lasting damage with one account and benefit from it with the other.  Pretty much the ONLY cross-account use for a second account is safe scouting (stuff like dumping money from one into the other has been dealth with fairly well).

As for your second rant, I tend to do that quite often.  When I have a few minutes, I'll log on to rob a few houses just to get notes on them for when I have time to build a house.  If I actually reach the safe, I usually won't rob it, because I won't be able to use that money.  Instead, I "dance", to gloat to the owner that I reached their safe, then suicide - much faster than leaving through the front door, and I get 2k back.

It's actually become sort of a daily ritual between me and colorfusion's house wink

Trust me, there is NO chance of botting happening.  I'm pretty sure it's impossible to get a bot to be able to use the limited information they have to make even near the smart, tactical decisions made by humans (and human's decisions rarely actually make it to the safe).  If the bot had a whole map to play with, why would they even bother with a bot?  You risk permadeath from some error in your code, and it's trivial just to safely rob it anyways since you have the map.

Last edited by iceman (2014-02-16 20:28:46)


Fortress Theory Mod - New objects, tools, and paintings!

I keep dying of a natural cause - Stupidity
The biggest thing that Castle Doctrine has taught me is that the price of your house is proportional to the stupidity of the mistake that kills you.

Offline

#3 2014-02-16 19:32:59

Blip
Member
Registered: 2013-05-07
Posts: 505

Re: Stranger things happened... or do they ?

First one was probably dual accounts, or just somebody getting really lucky. Second one was probably also secondary account, saving the safe for the main account once the secondary account knows the way.

However, you seem to be voicing a common concern amount the community as a whole, and definitely aren't just ranting. Nevertheless, dual accounts are part of the game, and there's really no way to stop it. Even if Jason goes all-out and checks IP addresses, somebody (herb, I'm looking at you) will probably just use TOR to get around it anyway. Instead, the game has mechanics like chills that serve to make having a second account less useful, and its worked pretty well; it used to be that you could just dump guns to get rich. I know it's not perfect, but attempting to thwart this too much might break the game. For example, nobody wants week-long chills!


Current life: Not dead, but I have no clue who I am
The Life and Times of Christopher Alvin Harris
Record: 149 Paintings!

Offline

#4 2014-02-16 19:37:12

Pandamonium
Member
Registered: 2014-02-10
Posts: 123

Re: Stranger things happened... or do they ?

crousti wrote:

I just saw someone defeat some simple traps, drug a dog, find my safe that had not been emptied... and then started going left and right. Then suicided in front of the safe. If that is not botting, i don't know what it is (i can't believe it was some santa, he had no tool left and no bounty)

You have been visited by one of the many "Santa" run players smile

Offline

#5 2014-02-17 03:40:59

MMaster
Member
Registered: 2014-02-12
Posts: 325

Re: Stranger things happened... or do they ?

iceman wrote:

Trust me, there is NO chance of botting happening.  I'm pretty sure it's impossible to get a bot to be able to use the limited information they have to make even near the smart, tactical decisions made by humans (and human's decisions rarely actually make it to the safe).  If the bot had a whole map to play with, why would they even bother with a bot?  You risk permadeath from some error in your code, and it's trivial just to safely rob it anyways since you have the map.

I was just thinking about making a bot that would solve the houses and believe me - it's doable. The houses are not so big for it to be too much of a computational problem and bot could see your whole house so it's basically just maze solving with more variables than just walls (think of it as a chess with mazes :-) ). It's certainly not an easy task, but it took me just few hours to figure out an algorithm that would be able to solve any house (given the bot sees whole map, which is the case now).
Unfortunately I don't have time to do something like that. But I'm currently thinking about more complicated problem - bot that can build houses :-)


...

Offline

#6 2014-02-17 03:49:57

colorfusion
Member
Registered: 2013-04-02
Posts: 537

Re: Stranger things happened... or do they ?

MMaster wrote:
iceman wrote:

Trust me, there is NO chance of botting happening.  I'm pretty sure it's impossible to get a bot to be able to use the limited information they have to make even near the smart, tactical decisions made by humans (and human's decisions rarely actually make it to the safe).  If the bot had a whole map to play with, why would they even bother with a bot?  You risk permadeath from some error in your code, and it's trivial just to safely rob it anyways since you have the map.

I was just thinking about making a bot that would solve the houses and believe me - it's doable. The houses are not so big for it to be too much of a computational problem and bot could see your whole house so it's basically just maze solving with more variables than just walls (think of it as a chess with mazes :-) ). It's certainly not an easy task, but it took me just few hours to figure out an algorithm that would be able to solve any house (given the bot sees whole map, which is the case now).
Unfortunately I don't have time to do something like that. But I'm currently thinking about more complicated problem - bot that can build houses :-)

jasonrohrer wrote:

Any suitably-powerful formal system can be used to encode expressions from other formal systems.  Thus, provably hard-to-solve problems (from logic, for example) could be encoded into Castle Doctrine maps in a way such that reaching the vault on the map would provide a solution to the encoded problem.  Essentially, there was no limit to how hard a Castle Doctrine puzzle could be, even with no hidden information.

Have you actually "figured out an algorithm" that can solve houses with electronics and pets?

Offline

#7 2014-02-17 06:04:31

MMaster
Member
Registered: 2014-02-12
Posts: 325

Re: Stranger things happened... or do they ?

colorfusion wrote:
MMaster wrote:
iceman wrote:

Trust me, there is NO chance of botting happening.  I'm pretty sure it's impossible to get a bot to be able to use the limited information they have to make even near the smart, tactical decisions made by humans (and human's decisions rarely actually make it to the safe).  If the bot had a whole map to play with, why would they even bother with a bot?  You risk permadeath from some error in your code, and it's trivial just to safely rob it anyways since you have the map.

I was just thinking about making a bot that would solve the houses and believe me - it's doable. The houses are not so big for it to be too much of a computational problem and bot could see your whole house so it's basically just maze solving with more variables than just walls (think of it as a chess with mazes :-) ). It's certainly not an easy task, but it took me just few hours to figure out an algorithm that would be able to solve any house (given the bot sees whole map, which is the case now).
Unfortunately I don't have time to do something like that. But I'm currently thinking about more complicated problem - bot that can build houses :-)

jasonrohrer wrote:

Any suitably-powerful formal system can be used to encode expressions from other formal systems.  Thus, provably hard-to-solve problems (from logic, for example) could be encoded into Castle Doctrine maps in a way such that reaching the vault on the map would provide a solution to the encoded problem.  Essentially, there was no limit to how hard a Castle Doctrine puzzle could be, even with no hidden information.

Have you actually "figured out an algorithm" that can solve houses with electronics and pets?

Yep. The statement from Jason is actually true, but the space for electronics/traps is very limited which also limits the possibilities. Even chess has a lot of possible moves and still there are computer programs that can win against any human in real time. Regardless of that - there is already headless client which is part of the source code and which can simulate provided moves on provided house map and figure out an outcome. So the only thing you need is to provide it with list of moves and check if you died or not. The simplest and most brutal way how to do this is just brute force every possible move until you reach the vault (you are bot - you don't have to die - just simulate). So let's say each house can be solved in 2000 moves and possible moves are: left,right,up,down (no tools as each house can be solved without tools). So you first try to go up, store whether you did die, go right store if you died, down, left in the same way and then take the steps where you didn't die and try to go up/right/left/down from there again in the same way - eventually you will find single path that leads to vault without dying (you can loop this way so that's why I said 2000 moves as when you go into depth 2000 you can say that it was not the right way as the constrain is 2000 moves, the constrain can be increased if somebody comes up with house where the only solution needs more than 2000 moves) Jason is right that trying all the combinations this way would be time consuming, but when you improve it with weighted graphs, minmax algorithm,.. etc it is definitely possible to implement bot that can solve basically any house in relatively short time.

It's just a theory, I didn't implement it, but I implemented bots for other games and I think it is entirely possible to build bot that can solve houses. As I already said the harder challenge would be to build bot that can build houses smile


...

Offline

#8 2014-02-17 06:23:12

jere
Member
Registered: 2013-05-31
Posts: 540

Re: Stranger things happened... or do they ?

So you first try to go up, store whether you did die, go right store if you died, down, left in the same way and then take the steps where you didn't die and try to go up/right/left/down from there again in the same way - eventually you will find single path that leads to vault without dying (you can loop this way so that's why I said 2000 moves as when you go into depth 2000 you can say that it was not the right way as the constrain is 2000 moves, the constrain can be increased if somebody comes up with house where the only solution needs more than 2000 moves) Jason is right that trying all the combinations this way would be time consuming, but when you improve it with weighted graphs, minmax algorithm,.. etc it is definitely possible to implement bot that can solve basically any house in relatively short time.

Been a couple years since I took AI but I'm going to have to say I disagree. IIRC, minmax and similar algorithms are something you would apply when you can estimate a score/heuristic like how many chess pieces do you still control. There's no analogy in TCD. You've either gotten the safe or not. You might say the heuristic is how close to the safe you've gotten, but the safe could be 2 spaces next to the front door behind a powered door and the solution involves traversing the entire house. Just look at the numbers. 4^2000 is a decimal number with 1200+ digits. Even if you constrained it to ~2 moves per turn (lots of time spent in hallways) and limited the depth to 400 moves, you're still talking about a search space larger than the number of particles in the observable universe. And remember: for each of those possibilities, you have to simulate the whole run through the house. Sure, some of that space will be pruned by illegal moves, but you can't easily say how much.

Take my house as a low bar. 150 moves to solve. Most of it is a hallway, so I'll grant you 2 moves each turn. 2^150 = 1.4^45. So even if you could test each simulation in a nanosecond, you're still talking orders of magnitude longer than the age of the universe for the bot to solve my house.

When you say building a bot to build a house is much more difficult, I think you've underestimated the difficulty of a bot to solve a house. In fact, a maze like house is incredibly easy to generate with a bot. That's how roguelikes have been written for 30+ years.

Last edited by jere (2014-02-17 06:29:40)


Golden Krone Hotel - a vampire roguelike

Offline

#9 2014-02-17 06:25:30

redxaxder
Member
Registered: 2014-02-08
Posts: 96

Re: Stranger things happened... or do they ?

it is definitely possible to implement bot that can solve basically any house in relatively short time.

If you're assuming the bot has full information of the house layout you're assuming you already have something that extracts the full map data from the game. This by itself is an enormous advantage. Enough to render a bot moot.

A bot that deals with limited information would have to guess about unrevealed areas of the house; there's no guarantee that every house will leak solution info without tool use. Designing a bot that plays in this manner seems like a really hard problem.

Also, the way you are throwing words around is extremely suspicious. A depth limit won't matter for the breadth-first approach you spelled out. Minmax is completely irrelevant to this problem; you don't have any unknowns to simulate.

Last edited by redxaxder (2014-02-17 06:26:12)

Offline

#10 2014-02-17 07:01:52

MMaster
Member
Registered: 2014-02-12
Posts: 325

Re: Stranger things happened... or do they ?

jere wrote:

So you first try to go up, store whether you did die, go right store if you died, down, left in the same way and then take the steps where you didn't die and try to go up/right/left/down from there again in the same way - eventually you will find single path that leads to vault without dying (you can loop this way so that's why I said 2000 moves as when you go into depth 2000 you can say that it was not the right way as the constrain is 2000 moves, the constrain can be increased if somebody comes up with house where the only solution needs more than 2000 moves) Jason is right that trying all the combinations this way would be time consuming, but when you improve it with weighted graphs, minmax algorithm,.. etc it is definitely possible to implement bot that can solve basically any house in relatively short time.

Been a couple years since I took AI but I'm going to have to say I disagree. IIRC, minmax and similar algorithms are something you would apply when you can estimate a score/heuristic like how many chess pieces do you still control. There's no analogy in TCD. You've either gotten the safe or not. You might say the heuristic is how close to the safe you've gotten, but the safe could be 2 spaces next to the front door behind a powered door and the solution involves traversing the entire house. Just look at the numbers. 4^2000 is a decimal number with 1200+ digits. Even if you constrained it to ~2 moves per turn (lots of time spent in hallways) and limited the depth to 400 moves, you're still talking about a search space larger than the number of particles in the observable universe. And remember: for each of those possibilities, you have to simulate the whole run through the house. Sure, some of that space will be pruned by illegal moves, but you can't easily say how much.

Take my house as a low bar. 150 moves to solve. Most of it is a hallway, so I'll grant you 2 moves each turn. 2^150 = 1.4^45. So even if you could test each simulation in a nanosecond, you're still talking orders of magnitude longer than the age of the universe for the bot to solve my house.

When you say building a bot to build a house is much more difficult, I think you've underestimated the difficulty of a bot to solve a house. In fact, a maze like house is incredibly easy to generate with a bot. That's how roguelikes have been written for 30+ years.

I have to agree. This was just an example of very brute force solution (like guessing a password by trying all combinations), simulation can be improved so you don't need to calculate everything from beginning and just take a state from the previous move, when you do move and nothing in the house changes (you see whole house) there is no reason to try to go back and forth so you can drastically reduce number of possible steps, also when dog moves, but doesn't press any button or move to the path where it cannot get back you don't need to go back and forth (left,right,left,right), etc. It can also find out dead ends that don't change any electronics state and don't lead to the vault and exclude them from the map. You can even teach the AI to track the wires of button it is going to step onto, calculate the state of electronics to find out which buttons need to be pressed in what order and then just solve the maze problem of getting to those buttons in that order, etc. By "teaching" the AI some of the things that are obvious to human you can get to numbers that are more realistic.

As I said it was just a theory and I completely agree with what you said - it is not viable to implement such brute forcing AI as I described smile I just wanted to quickly describe that AI does not need to understand electronics, because it just sees <=4 possible moves at each square.


...

Offline

#11 2014-02-17 07:11:51

colorfusion
Member
Registered: 2013-04-02
Posts: 537

Re: Stranger things happened... or do they ?

MMaster wrote:

I have to agree. This was just an example of very brute force solution (like guessing a password by trying all combinations), simulation can be improved so you don't need to calculate everything from beginning and just take a state from the previous move, when you do move and nothing in the house changes (you see whole house) there is no reason to try to go back and forth so you can drastically reduce number of possible steps, also when dog moves, but doesn't press any button or move to the path where it cannot get back you don't need to go back and forth (left,right,left,right), etc. It can also find out dead ends that don't change any electronics state and don't lead to the vault and exclude them from the map. You can even teach the AI to track the wires of button it is going to step onto, calculate the state of electronics to find out which buttons need to be pressed in what order and then just solve the maze problem of getting to those buttons in that order, etc. By "teaching" the AI some of the things that are obvious to human you can get to numbers that are more realistic.

As I said it was just a theory and I completely agree with what you said - it is not viable to implement such brute forcing AI as I described smile I just wanted to quickly describe that AI does not need to understand electronics, because it just sees <=4 possible moves at each square.

Reasonably, we can conclude that nobody has coded some kind of house-solving bot, the AI required would be way too complicated and require too much computational power. OP seemed to see walking back and forth as a definite sign of botting, which is completely untrue.

Last edited by colorfusion (2014-02-17 07:12:57)

Offline

#12 2014-02-17 07:50:58

jere
Member
Registered: 2013-05-31
Posts: 540

Re: Stranger things happened... or do they ?

^, ^^

Yes, it seems like an NP-C problem. In theory, it can be solved with infinite time, but that's kind of irrelevant. So I would say no bots are in existence or probably will be. All the things you could do to bring a bot into scope like writing clever rules having to do with animal vision, wiring, etc. would be way more complex than writing a brute force guesser. And definitely not worth it when you could just look at the map....


Golden Krone Hotel - a vampire roguelike

Offline

#13 2014-02-17 07:52:20

MMaster
Member
Registered: 2014-02-12
Posts: 325

Re: Stranger things happened... or do they ?

redxaxder wrote:

it is definitely possible to implement bot that can solve basically any house in relatively short time.

If you're assuming the bot has full information of the house layout you're assuming you already have something that extracts the full map data from the game. This by itself is an enormous advantage. Enough to render a bot moot.

A bot that deals with limited information would have to guess about unrevealed areas of the house; there's no guarantee that every house will leak solution info without tool use. Designing a bot that plays in this manner seems like a really hard problem.

Also, the way you are throwing words around is extremely suspicious. A depth limit won't matter for the breadth-first approach you spelled out. Minmax is completely irrelevant to this problem; you don't have any unknowns to simulate.

I'm sorry for sounding suspicious. I'm not English native speaker and some terms just don't come to my head sometimes. I thought about backtracking when I wrote about depth limit and described "searching to width?" instead of "searching to depth?". Sorry about that. MinMax is not relevant as you said and I wrote it without too much thinking.

Bot would have whole map - even your client has whole map, but you don't see it. Solving the problem with limited visibility would be much more difficult, but it is not necessary for this game unless Jason implements some kind of occlusion culling which is such drastic change to the architecture that I don't think that would happen.

I didn't want to sound like super duper professional AI coder even though it may have looked that way because of my english "skills". I like solving problems and discussing it so sometimes I just throw my ideas at forums for brainstorming and sometimes they are fine and other times they are complete nonsense smile I really have coded AIs for other games and I studied IT, mathematics and physics at college, but I'm definitely not a pro at AI coding smile So once again sorry for sounding like a douchebag wink

colorfusion wrote:

Reasonably, we can conclude that nobody has coded some kind of house-solving bot, the AI required would be way too complicated and require too much computational power. OP seemed to see walking back and forth as a definite sign of botting, which is completely untrue.

Agreed.


...

Offline

#14 2014-02-17 11:43:32

iceman
Member
Registered: 2013-11-09
Posts: 687
Website

Re: Stranger things happened... or do they ?

No worries - I'd say it's good to have a discussion on whether the game is able to be broken or not - in this case, by bots.


Fortress Theory Mod - New objects, tools, and paintings!

I keep dying of a natural cause - Stupidity
The biggest thing that Castle Doctrine has taught me is that the price of your house is proportional to the stupidity of the mistake that kills you.

Offline

#15 2014-02-17 14:36:13

largestherb
Member
From: england
Registered: 2013-05-27
Posts: 381

Re: Stranger things happened... or do they ?

iceman wrote:

Trust me, there is NO chance of botting happening.  I'm pretty sure it's impossible to get a bot to be able to use the limited information they have to make even near the smart, tactical decisions made by humans (and human's decisions rarely actually make it to the safe).  If the bot had a whole map to play with, why would they even bother with a bot?  You risk permadeath from some error in your code, and it's trivial just to safely rob it anyways since you have the map.

i actually did make a macro to complete one of my very old magic dances because nobody had figured it out for weeks and weeks and it was really cheap and i kept pooping myself when i had to do it over and over because i had it memorised but was so scared of messing it up still.

of course, making a macro for your own house is super easy. making a bot that has to survey the map and make a decision is something else...... but it actually sounds like a really fun challenge....

Offline

#16 2014-02-17 14:50:44

iceman
Member
Registered: 2013-11-09
Posts: 687
Website

Re: Stranger things happened... or do they ?

Yeah, I was just trying to make the point that if the bot had access to a whole map, what's the point of making a bot?  Very, very few houses are going to be hard to figure out if you have the whole map and a couple of minute.  Making a bot would take a LOT of time (I think - I'm not an AI programmer, but I have some experience and I can imagine how it would be), and you risk dying to some bug. If your bot doesn't have access to the whole map, *then* it's pretty much impossible to make a useful bot.


Fortress Theory Mod - New objects, tools, and paintings!

I keep dying of a natural cause - Stupidity
The biggest thing that Castle Doctrine has taught me is that the price of your house is proportional to the stupidity of the mistake that kills you.

Offline

#17 2014-02-17 16:41:06

PlasmaChroma
Member
Registered: 2014-02-01
Posts: 39

Re: Stranger things happened... or do they ?

This actually raises a really interesting idea (to me anyway).  I wonder if enough people would even be interested in trying to compete on a "bot only" server setup.  This would essentially be a server only for programmers to realistically play on.

--- Extra Rules ---
* Exiting the house via entry way results in death
* Wife and kids removed from game
* No tools purchases allowed ever
* Timeout on check-outs is set to some very short time (something near human-impossible), no active pinging is allowed, only a completed house check-in

Somehow I doubt there would be enough interest in doing it, but if there was enough people who wanted it, I would consider setting up or collaborating on a server config for this.

Last edited by PlasmaChroma (2014-02-17 16:42:14)

Offline

#18 2014-02-17 16:48:21

Pandamonium
Member
Registered: 2014-02-10
Posts: 123

Re: Stranger things happened... or do they ?

PlasmaChroma wrote:

Exiting the house via entry way results in death

You'd have to turn off the "Chills" timer?
OR you'd have to turn "visibility" on?

Offline

#19 2014-02-17 16:52:41

PlasmaChroma
Member
Registered: 2014-02-01
Posts: 39

Re: Stranger things happened... or do they ?

Pandamonium wrote:
PlasmaChroma wrote:

Exiting the house via entry way results in death

You'd have to turn off the "Chills" timer?
OR you'd have to turn "visibility" on?

I think chills could stay on (in fact, it would have to so people don't slow solve and come back with a cached solution), but I am assuming here people let their bots access the complete map (a mandatory cheat server).  Basically it's your AI against a short clock, pure and simple.

Essentially create a scenario where bots are the only thing which could compete.  It's not expected for people to play on manual control except for maybe the build-phase.

Granted, the performance of your machine and the amount of memory could play into exactly how short you could chop the timer down to, so even hardware could give an advantage.

Last edited by PlasmaChroma (2014-02-17 17:01:50)

Offline

Board footer

Powered by FluxBB 1.5.8