The Castle Doctrine Forums

Discuss the massively-multiplayer home defense game.

You are not logged in.

#1176 News » Server timeout issues fixed » 2013-04-17 14:48:51

jasonrohrer
Replies: 0

As load on the server has changed over time, and particularly with the introduction of real locks in the database (which can correctly cause some client requests to wait until other requests finish first), combined with general network flakiness, client timeouts have become a bigger issue.

The client waits 16 seconds before retrying a request.  If the first request never made it to the server (network outage), this works great:  the second request goes through, and the client's operation happens (for example, starting the robbery of a house).

However, if the client's first request actually DID go through (but maybe the server was really slow that moment, or maybe the response was lost in the network), then we have a problem.  Suddenly, the client is trying to check out a house for robbery that is already checked out (checked out by the client itself), or trying to buy a painting that has already been bought.

The server code was not expecting this to happen, so it was very strict about this.  Sometimes, double requests like this would even end up killing a player (through no fault on that player's part) and giving them a fresh start.  In other cases, there was no obvious way for the server to react to a double-request beside failure (you can't end a robbery twice, when the second end would require transferring loot that is no longer there).

In cases where double requests are clearly harmless, I've loosened up the server.  In other cases, I'm essentially logging the last server response to "replay" it to the client in case of what seems like a double-request.  If you're trying to end a robbery that the server thinks has already been ended, then it won't transfer the loot a second time, but it will tell your client how much loot was transfered last time (so the client, unaware that the first request actually went through, can display a correct robbery result to the player).

Most of this has been fixed now, to the point where you should NEVER be killed by the server because of a request retry.  Keep an eye out for that red [!] icon in the upper-right corner, though.  That means a retry has been sent.  If you see any more strange server behavior related to retries, please let me know by email (with last recordedGame and stdout.txt if you have it).

(Also, you may still see a failure message if ending a robbery times out, but it shouldn't kill you.  I'm working on fixing even that failure message.)

#1177 Re: Main Forum » Solve a house, only to stock it by killing yourself intentionally. » 2013-04-17 12:43:56

Yeah, this is a problem!

Though... when a house is bumped up to $10k, it becomes a tempting target for everyone, which means the person doing the bumping won't necessarily be the one to get all the loot.

I think that maps will change this somewhat.

Also, growing timeout after each subsequent death, as discussed in another thread, would limit this tactic.

#1178 News » Starting work on Version 6 » 2013-04-17 12:38:47

jasonrohrer
Replies: 2

During the past month, over 3000 people have tested the living daylights out of The Castle Doctrine.  Thank you all for your patience while I worked through various issues and growing pains, and thanks for all of the reports that you have sent me.  I received over 400 emails, and I have now answered each and every one of you personally.

I've fixed a bunch of server-side issues already (those that don't require a client change), and there are a few more of these to deal with.  The biggest one is server-side robbery verification, which will eliminate all problematic types of cheating.  The server will be running a copy of the client and then pass that client robbery logs to verify (this eliminates duplicating game logic in the server code).

From all of the reports, I now have a long list of things to fix that will require client changes, and that means it's time for me to get busy working on version 6.  Obviously, there are a bunch of little bugs that need fixing, but there are also some major overhauls in the works, including:

  • Improving family behavior so that it's actually possible to protect them.

  • House blueprints for robbers, to push house design away from the guessing-game realm and into the real-puzzle realm (and eliminate the viability of 24-bit combination locks).

  • Being able to watch security tapes without fixing up and re-testing your house first.

I've got a lot of work to do.

In the mean time, I'm still interested in hearing about bugs that you discover.  Check the list of known bugs in the forum first, and if you've found a new one, please email me. 

The same goes for incorrect server-side behavior.  If the server is killing you because of an error, I want to know about it by email.

In all cases for bug reporting, please include your most recent recordedGame file and (if you're on Windows) your stdout.txt file.

#1179 Re: Main Forum » More thoughts on too-hard houses » 2013-04-17 11:41:10

Oh, yeah, well, a modded client can confer all sorts of advantages (including undo, or even better, unlimited tries before submitting the "right" try to the server at the very end).  As long as the client keeps pinging the server, saying, "The player is still working on solving this house," all bets are off about what the client is ACTUALLY doing with that time!

Of course, the one thing the client CANNOT do for you is solve a really hard puzzle.

Hmm.... I'm thinking that maybe with each death, the forced timeout gets a little bit longer.  Starts at 1 second, the 2 seconds, then 4 seconds, etc.  Maybe not exponential growth, but creeping up.  So, new players can die a lot while learning (maybe even first 20 deaths have no timeout), but experienced players have to be much more careful.  Maybe it caps out, though.  24 hours sounds pretty extreme.

Combined with maps, that would be a much more interesting and careful game...

#1180 Fixed bugs » Family names incorrect after you die » 2013-04-17 10:39:59

jasonrohrer
Replies: 4

If you die while testing your own house (or perhaps while robbing another house) and then mouse over family members, their names are shown incorrectly as "%s"

#1181 Re: Main Forum » Custom Art » 2013-04-17 09:39:33

There may be some kind of contest for this in the future, probably in conjunction with promoting future releases of the game.  Maybe!

#1182 Re: Main Forum » $332 & $336 Houses?!? » 2013-04-17 09:38:20

Yep, this all sounds pretty normal to me.

There are certainly a lot of abandoned houses in the game right now, and they do all earn money at the same rate.

Not that it's ideal, mind you!  Just that it's expected behavior for right now.

#1183 Re: Main Forum » More thoughts on too-hard houses » 2013-04-17 09:34:10

Great thoughts from everyone here!

Zed:  please share whatever kind of unpreventable cheat you've discovered.  There's no sense in keeping it secret (security by obscurity).  Someone will figure it out eventually, and I'd much rather know about it now.

And yes, that is a nice side-effect of free maps (eliminating the "illegally grab the map from the protocol stream" cheat).

Regarding 32-tool scouting trips, obviously the damage would have to self repair, which really makes the whole thing messy, especially in connection with permanent family deaths.  Say during a 32-tool trip, you cut through a wall to bypass a pit bull and reach the family and kill them.  If house auto-repairs, owner returns home to find dead family behind a wall with no clear way to reach them.  Then the tapes show the wall being cut.  There's a disconnect there.  (Note that the disconnect is already present when a robber dies in the house without doing anything permanent, because the house auto-repairs, but there's still a tape.... still, you don't SEE some weird, impossible state when you return to the house as the owner in that case.)

But yes, family death causes the house state to save in v5.

Also, 32-tool scouting trips are just round-about ways of slowly, eventually finding the whole map.  In the end, I think it will be more tedious than interesting.  There are no decisions to make (assuming that you're willing to die while scouting).  Just keep griding away until you've seen the whole map.  Also, it's STILL off-limits for a rich player with a lot to lose (too risky).  With a map of the house, careful study means that a risk-free robbery is possible, so that will be more tempting for rich players.

Regarding players starting with $0 or borrowed money....  big question:  where would money come from in the game?  Imagine a world-wide restart, where every player starts $2000 in debt and needs to pay it back.  I guess it would slowly trickle in through player salaries.

I think that some players having "nothing to lose" is a nice aspect of the game.  It makes the rich more vulnerable to the masses.  And I don't see any way around it, assuming that dead players do start again with a new life of some kind----unless there was a forced hour "time out" where you couldn't play the game for an hour after dying.... hmm.....  though that's really dangerous from a critical mass point of view.... and it would also make learning the game a huge pain.

vraeden:  going to watch Star Trek is a good thing.  My goal is NOT to make a game that will hook you for hours and days and weeks non-stop, where you can't stop playing and forgo sleep and real life!  The game is always fair, never random, and when you die, it's always your fault (which makes it even more painful and frustrating and rage-quit-inducing).  This is a game that pays you for every solid hour that you stay away from it.  Rage quitting in disgust is part of that equation.

#1184 Re: Main Forum » Source code license? » 2013-04-16 14:14:49

Yes!

"Any purpose" means "any purpose," including commercial, religious, sexual, educational, political, criminal, etc.

No restrictions.  Do whatever you want with it.

(Not that I could stop you, even if I wanted to.)

#1185 Main Forum » More thoughts on too-hard houses » 2013-04-16 14:10:33

jasonrohrer
Replies: 38

Wow, we've really come full-circle here.

Yes, in my own thinking about this, I've come to the same conclusion as many of you on here:  no reasonable change to the game tiles will rule out inscrutable X-bit combination locks or other brute-force-only security (like magic dance). 

Going down the no-wires-through-walls path lead me to only one power source (to thwart inscrutable magic dances).  After realizing that one power source in the corner could be at the center of a magic-dance corner fort, I then thought about one power source right by the front door.  So then at least you could walk down the wires to see the logic.  But of course, people wouldn't use wires.  They'd use electric floors.  And if you poured water on them, that would short the whole house, opening some 9-thick powered trapdoors somewhere.  Some have suggested limited conductivity, but that makes house design that much more finicky and hard to understand.

It seems that, as soon as you lop off one "problem tile" another pops up.  And even if we roll back to a simple maze with only one wall type, there are 916 possible locations for the vault.  A dense maze could effectively make you visit every one of those.  Add in deadly stuff in the maze, and you could build a maze that requires 100s of visits to figure out.  That's really a combo lock.  Maybe even more annoying than a combo lock.

So, that brings me, like many of you, back to the idea of maps.

Thinking about it more deeply, that is really the puzzle core of this game.  Not "trying to figure out how a house works blindly," but trying to figure out how it works given knowledge about it.  A puzzle without full information is a just a guessing game.... not really a puzzle at all.  I believe that hard (and I mean really hard, like NP-hard) puzzles are still possible even when you can see the whole map.  You have to figure out how to walk your guy through this thing unscathed, for real, step-by-step.  You have to figure out the right choice of steps from trillions and trillions (way more than that, actually) of possible paths. 

That's part of the reason that the server doesn't just auto-check the houses for solvability.  It literally can't do that in polynomial time.  It forces YOU to provide a solution to your own house.

Now, there are obviously AESTHETIC reasons that the game doesn't just show you the whole map.  Sneaking around a darkened house with limited visibility creates a lot of nice tension.

What I would REALLY like is to have you sneaking around the house as a MEANS of obtaining full information about it.  That's where the "no wires through walls" idea came from. 

In v5, there's a great feeling to cutting through walls and ending up "behind the scenes" in someone's house.  Aha, here's where it all happens!  I bet they didn't want me to get back here and see these circuits.  Like breaking through the walls in Portal.

It's almost like I'd want to give you a backpack with 32 slots in it, just to allow you to get anywhere in the house and look around.  The problem is that you'd just use those slots to cut your way to the vault, trial-and-error style.  Not interesting.

Maybe a choice between two packs... one with 32 slots for scouting, but you can't carry a loot sack to take anything (reaching the vault gives you nothing, you can't even open it), and another pack with 8 slots plus a loot sack.  Maybe as simple as a "Scout House" button that's different from the "Rob House" button, because of what pack you take and whether you're allowed to open the vault.

This obviously adds extra complication to the design (and I'd also need to figure out how dead family members work with 32-deep cuts happening), and messiness to the interface (32 items is a lot to squeeze onto a sidebar).

Other ideas (both mine and other people's):

--Cutting a hole through the roof of a house to allow you to "jump in" to any walkable spot and have a look around (though you can't take tools with you)

--Various sonar-type tools used during robbery to examine a spot that is currently out of view.

--Limited maps that don't show you everything (just wiring, for example, or just electronics).


But all of these ideas are just round-about ways of getting to the inevitable conclusion:  getting the whole house map, piece by piece if necessary, so that you can get on with actually solving the puzzle!


Also, the idea of buyable maps isn't so sensible.... it's possible to make pretty extreme combo-lock/magic-dance hybrid setups with just the starting budget.  Those houses can't be solved without maps, and charging $10K for a map to a $200 house will mean that house remains unbeaten.  Granted, those cheap combo designs rely on electric floors around the front door, and adding wire-cutters to disable off electric floors will return combo locks to the domain of the wealthy.  But even with that change, I worry that there will be some other way to make a brute-force-only house for cheap.  I guess if everything has a counter-measure (off electric floors are currently the only unbypassable thing), and 9-thick versions of everything are expensive, then maybe it will remain balanced.



Given all these thoughts, the idea of "free maps" is tempting.  There's also the possibility of making maps visually distinct (blue print look and feel, flat 2D, symbols) to preserve the aesthetic experience of sneaking through the actual house.

("Brute force" here means 1000+ required guesses, and not "cutting through walls with saws".... funny.)

#1186 Fixed bugs » Wire bridge malfunction » 2013-04-16 12:48:30

jasonrohrer
Replies: 0

Wire bridges are supposed to conduct Left-Right and Top-Bottom, and not intermingle the two currents.  Wire bridges do not behave correctly when they are above voltage-triggered switches (the Left-Right current can trigger a switch connected to the Bottom output).

Will be fixed in v6.

#1187 Fixed bugs » Blocked family members don't register death correctly » 2013-04-16 12:46:19

jasonrohrer
Replies: 0

If family members are blocked in by other family bodies from a previous robbery so that they can't move, then their death status on subsequent robberies isn't registered correctly.  This results in family members that resurrect after death, and dead wives still holding money that cannot be taken.

Will be fixed in v6.

#1188 Fixed bugs » Using tools after death » 2013-04-16 12:41:33

jasonrohrer
Replies: 0

If you have tools left in your backpack, you can use them after you die during a robbery.

Will be fixed in v6.

#1189 Fixed bugs » Selling tools to buy a painting » 2013-04-16 12:40:17

jasonrohrer
Replies: 1

If you sell tools and then immediately use the money to buy a painting, the server has not yet registered the sale of the tools, so your balance doesn't reflect the extra money.  The purchase of the painting can fail due to lack of funds in this case.

The work-around is to check your house in (leave the house) after selling tools before using that money to buy a painting.

Will be fixed in v6.

#1190 Fixed bugs » Animals on the doormat » 2013-04-16 12:38:04

jasonrohrer
Replies: 1

If an animal follows a robber out the door (or the robber chases a cat onto the doormat), and the house state is saved, the house can get stuck in an uneditable state.

The server rejects the house edits after this, because no house is allowed to have an object on the doormat, and the editor doesn't let you clear the doormat, because  you can't click there.

The work-around, unfortunately, is suicide.

Will be fixed in v6.

#1191 Re: Main Forum » Spam Account List » 2013-04-16 10:30:02

Wow... after weeding through all the accounts that were created but never posted anything, we're back down to only 57.  That means that something like 900 fake accounts had been created.

Also, many of these accounts had spam links in their profiles.  Even more interesting is that filtering by recent visits, to find spam accounts that were created and then abandoned, didn't work.  Many of these "idle" accounts were being pinged regularly (by a bot, I'm guessing) to keep them alive and well-visited (and off the radar screen of admins who are purging stale accounts).

I don't think any legitimate accounts were caught in this sweep, but I could be wrong.  If so, I'm sorry!  You'll just make a new account.

#1192 Re: Main Forum » Spam Account List » 2013-04-16 09:38:05

Okay!  The game-based question (how much does the gun in the game cost) seems to have stopped spam accounts from being created.

There are still a bunch of existing accounts that will have to be weeded out, though.

Also, it remains to be seen whether REAL users are okay with answering that question!

#1193 Re: Main Forum » Source code license? » 2013-04-16 09:36:38

It's all in the public domain (not just source code, but everything).  No restrictions on use for any purpose.

There will be a "no_copyright.txt" file in v6 that explains this.

#1194 Re: Main Forum » Spam Account List » 2013-04-15 20:55:15

Yeah, I've thought about making moderators, but that's just passing the buck.

That also makes the whole thing dependent on THOSE people remaining active (and doing a lot of annoying work.... uggh).

I'm still looking for a better solution.

Right now, the spammers are answering my "really advanced" math problems with 4-digit answers.  That means these are all humans, not bots (they were also answering my questions about animal legs just fine).

There's also the idea of requiring new members to be "approved" before they can post new topics.... but again, that requires an admin headache and is harmful to the good users.

I'm about to try adding a question specific to the game itself, something that would take a human spammer a few minutes to find the answer to, making it not worth their time.

#1195 Re: Main Forum » Spam Account List » 2013-04-15 14:02:37

Are those posts still there?  Have you reported them?

I've been keeping up with the reports every few days, deleting stuff.

Even with the human test, lots of spam accounts are being made.  I just made the human test questions harder to guess (4 digit numbers as answers).  But the spam might be from human spammers.  If that's the case, then obviously some other measure will be needed.

Running a forum is a real pain!

#1196 Re: Main Forum » Spam Account List » 2013-04-12 14:33:14

Okay, finally put a test for humans in place on the registration form.  Guest posts are also disabled.

Though I wonder if all these new registrations are bots that are planning to come back later to post spam.  Maybe they know to wait 24 hours to avoid detection.

#1197 Re: Main Forum » Spam Account List » 2013-04-10 13:33:11

Ouch!  I had no idea that running a forum would be such a spam headache.

Seems like i need to put the CAPTCHA in place, at least for new accounts, and then block guests from posting entirely.

#1198 Main Forum » Dealing with too-hard houses » 2013-04-09 20:06:56

jasonrohrer
Replies: 27

Problem:

It's not hard to build a house with 9-thick walls and a must-solve 16-bit (or even 24-bit) combination lock.  Such houses are theoretically solvable (and solvable in practice by the owner with no tools), but unsolvable in practice by everyone else (except for cheaters).  A 24-bit lock requires 16 million guesses, for example.

Solutions:

--My original solution for this problem was buyable maps.  Make them expensive enough, and they won't ruin the other aspects of the game that are interesting (like sneaking though a house and trying to figure it out on your feet).  But still, they represent a major change in the game... a change for the worst in many ways (as pointed out in another thread).

--Someone also suggested larger backpacks that open up when a house becomes hard enough.  Yeah, when you can carry 32 items, you can cut all the way across the house map.  But that isn't interesting either (you can just use trial and error, cutting 32-long paths in different directions and dying, until you finally find the vault).  Backpacks are limited for a reason.

Rethink the Design Goal:

What we really want is not to solve this particular problem specifically, but make it so that all hard houses present real puzzles that are interesting to think about and solve.  Creatively-designed places that are dramatic to sneak through.

So, rolling back a bit and thinking about the core issue here, I realize that:

--A simple maze, made up of walls only, is more interesting than a combo lock.

--A room with only dogs and walls, where you have to figure out where to walk, in what order (DROD-style), is more interesting than a combo lock.


Thus, it seems clear that the solution to this problem might not involve adding anything at all.  Particularly, if we can remove the keystone of "logic hidden deep behind thick walls."  Logic itself isn't the problem.  Inaccessible logic is the problem.

The keystone seems to be "wires passing through walls".  Metal walls (that conduct) also play an important role here.  So, what if there's no way to pass current through walls, at all?  Suddenly, that hallway with 9-thick doors down it needs all the door opening logic on the OUTSIDE of the hallway.  The robber can get to it, study it, and mess with it (clip wires, etc).

With this change, you could still have timing traps and all the rest.... BUT, all the logic for those timing traps would have to be reachable by the robber.  Even if they fail the timing trap this time, they could still look at how it works, by walking around the logic, for next time.

There's still the possibility of thick fort in the center with timing logic inside it by the vault (where you have to walk around the fort in a certain pattern to open it).

Maybe there can be only one power supply in the house, in a fixed location (south east corner), and all wires need to come off of that (that makes more sense anyway, because that's the way real houses are).

Then there's the problem that players would guard their logic with long corridors containing 9+ pitbulls.  You could never get down there to examine the logic.

Anyway, there clearly is a lot more thinking to do here.

Pitbulls could kill each other if they get too close to each other...

#1199 Re: Main Forum » Matthew Frederick Waters » 2013-04-08 23:16:20

I'm pretty sure that buyable maps in v6 will fix this.

As Guest23 pointed out, the house was still fun/cool to study even with the map.  Puzzles (real puzzles) are still possible even with a map of the puzzle.

The real question is whether buyable maps will be meaningless if everyone is just sniffing the protocol to see the maps for free anyway.  Of course, most people aren't sniffing the protocol now... they're just looking at all the debug info that the game spews out.  But even if I turn that off, it will be a matter of time before some mod is widely available to sniff the protocol.

Of course, "bought map" will be attached to the security tape.  So, if you get through some really hard house without buying a map, you could still be caught at cheating.

#1200 Re: Main Forum » Idea: Highlight visited houses and watched tapes » 2013-04-08 22:59:03

Prev/Next tape buttons are a great idea!  That will be in v6.

Highlighting is great too.  Hard to track this server-side, because we'd need to map every user to all available houses (for the house highlighting).  For the tapes, it's easier, because only the owner usually sees the tapes, so flag the tape itself as "watched" is fine.

Could try to swing house highlighting locally, for the current game session only.... it would reset next time you start the game.

Board footer

Powered by FluxBB 1.5.10