Discuss the massively-multiplayer home defense game.
You are not logged in.
I was trying to tune the game so that there was more to do, moment-to-moment, and less stagnation.
Taking hourly net pay up by a factor of 6 may have been too much, though.
I just reduced that by half, so you and your spouse now get paid $70 and $140 every 10 minutes. We'll see how that goes.... may need to come down a bit more ($16K a day without the spouse is still quite a lot).
It's impossible to pick a game pace that's perfect for everyone.... some people like to check in every hour, some just once a day, and others maybe even just once a week.
Getting rid of death-pumping of tools into houses (soon!) should help some, because then the pace of the game will be more rigid... there be no way to "force" a house to become worth robbing by death-pumping lots of tools into it.
Weird that it got that empty.... there are 15 now.
Smokestorm:
Your house came back to you eventually, right?
And were you able to watch a tape and see a really long robbery?
In this game, there is no such thing as a "log out" operation.
Idle is the same as being logged out (when you're idle, no pings are sent, and any house you have checked out is revoked after 5 minutes). When you quit the game, from the server's point of view, it just looks like you went idle for a long time.
The idea would be to force-return-to-vault anyone's backpack contents who has not executed some kind of game action in the last 5 minutes (and also do the same as soon as someone views a tape---of course you can't take your backpack through the metal detector at the security office where you view the tapes).
Essentially, if you are not in your house, or browsing the to-rob list, or in the middle of a robbery, your backpack should be empty.
Oh goodness!
Seems like you may have been the one unlucky soul who was still logged into the game in the middle of the update. I thought I checked the server to make sure that no one was logged in, but I must have missed you.
Anyway, looks like you may have died right in the middle of the update, causing your house map to become corrupted.
I've rolled you back to your state from before the update (7pm Thursday night). Your account should be back in action now.
Sorry for the trouble!
Regarding making metal walls NOT conducting (so that wired wood walls must lead to electronics)... wouldn't that have the same effect as making the torch the same cost as the saw?
Also, magic dance setups need not have any electronics on the outside, so no vulnerable wooden-wall paths leading to the electronics. You know, roughly like this:
http://castlefortify.com/c/a1d1254
So only external-button setups (combo locks) would be affected.
In general, though, I decided early on to avoid "detector" type robbery tools, because I felt like it gave the game too much of a minesweeper feeling. You could imagine animal detectors, metal detectors, etc., etc.
I do really want to encourage on-the-ground cut-through scouting, instead.
This would be great as a mod (and not hard to do, as you all point out).
I'm trying to keep the game as simple as possible, however.
In terms of stagnation from various optimums, the idea is to deal with that directly in some way, not just push it off further by making houses inherently bigger or more complex.
Also, what's going on at the top isn't necessarily the interesting part of the game. Once you get rich enough, you can build something dense and "as secure as possible." That can stagnate. But what do you build with your first $2000? Or your first $5000? Those are the houses that get the most robbery action, and there's the most room down there for tricky, interesting designs.
Yeah, it actually had exactly that same dynamic. I thought I tested it enough before pulling out the back doors, but nope!
Maybe tools are only left in the house if:
A) you die in the house
or
B) you reach the vault
If you run out the door, it seems sensible that the tools would be ditched in the street, not into the vault. Combining that with a 1-hour chill only if you died in the house would both make robbing more tense AND prevent any form of fresh-start tool dumping, I think.
And yeah about the hiding tools in the backpack when you log out. That's not an intended side-effect. I'll have to think of how to fix it.
Yeah, I've learned some lessons from this.
Last time, the lesson was: always test on a clone of the database before taking changes live.
I did that this time, and it seemed to be working fine. So, then I took the changes live. Of course, I missed one test case.
New lesson: make a backup of the main database before taking changes live, after testing on a clone of the database, so if I do need to restore from a backup, it won't be such a huge leap back in time (I had to rely on the nightly backups this time).
Sorry for everyone that was affected negatively by this!
A server-side bug was causing robberies to fail starting at about 5pm Los Angeles time on Friday, June 21.
The bug has been fixed, and the database has been rolled back to the last known good backup (7pm LA time on Thursday, June 20).
This will mean that some people may have lost work, paintings, or money from activities that occurred on Friday. I'm sorry about this. But it does effect everyone evenly and fairly (it's like the whole world entered a time machine together).
Okay, this is fixed now, and the server is back online. More details in another thread.
Please keep an eye out for other weird behavior.
Wow, yeah. You know.... the one thing that I guess I forgot to test here... robbing houses. A simple typo. And worse than that, it was causing the house maps to be wiped post-robbery (which is why people couldn't get into their own houses, eventually).
Feeling really stupid right now.
Fixing it. Will have to restore from backup.
Sorry everyone!
Oh, as another example:
6800 robbery tapes are currently stored. But among those, there are only 1400 unique maps. Clearly, a lot of duplication was happening before.
I just completed a major update to the server.
Behavior of the game shouldn't change in any way.
But maps are now cached in a central table, instead of being duplicated in multiple tables, for an enormous space savings. For example, the same house map starting state is often preset for multiple robbery tapes. Before, that same house map was stored in each tape. Now, only one copy of that map is stored in the central map table, and the robbery tape simply references that map.
This takes us from 86 KiB per user down to 22 KiB per user.
I've tested it extensively, and it seems to work without any hitches. But, you know, if you see the server suddenly behaving strangely, please report it to me: jasonrohrer@fastmail.fm
Yeah, the idea is that as soon as the owner changes the house, it would come back to being available to you. And yeah, if the owner died and started a new life, their new house would be available to you, too (different character name and all).
Still.... there's something that bugs me about this idea, and zed kinda points it out here:
It does mean you're slightly penalised for making even the smallest changes to your house...
Even worse, if there aren't that many players, there's the potential for one player to become invulnerable (after EVERYONE who is active in the game has died in their house). And, of course, a player who is invulnerable will not want to change their house one bit, because it's currently giving everyone the chills.
This especially spoils the "it should still be interesting with two active players" goal that I have.
I don't think it will affect the money shortage that much, because people who DON'T die in your house can go home, commit suicide (the best place to do that, right?) and then get a new life/budget to try again.
And tool dumping works now even when you don't die in a house, so that won't be totally eliminated (step in door, dump tools, go home and kill yourself, repeat).
What will change is the general feeling of dread when you're actually trying to explore/rob a house, even if you "have nothing to lose". That part feels right (because you have so much more to lose when self-testing your own house, for example---this makes it more balanced).
However, I'm still concerned about invulnerability of the owner, general decay of a player's experience who has died a bunch, and decay of the experience for a small population of players.
Maybe a house should give you the chills for a few hours instead of forever-until-changed? And a few hours regardless of whether it is changed (unless the owner dies and starts a new character)? Maybe just one hour, to keep it simple and easy to remember/understand?
[mm, triggering the transition would be tricky you mean?
If you look at the way the engine works now, it's all VERY generalized, and it slurps the transition rules in from a text file with a simple syntax at startup time.
Essentially, all transitions work like: if this object lands on that object (potentially limited by the state of the target object), it causes that object to switch into this state.
All transitions are based on the objects being together on the same tile. Tool-triggered transitions are defined in the same file, but the engine handles them a bit differently (tools have reach, and the player gets to pick the target object for the tool).
So, the player's presence waking up a dog currently depends on the player object stepping on the dog. I'm REALLY trying to avoid special cases.... so far, the game doesn't have any (unless you count current flow).
But if you wanted to make it an explicit mechanic, you could just have a
rejection message if you try to rob the house - "Something about that house
gives you the chills... you can't bring yourself to go there" or something,
and the player can hit the 'ignore' button.
Whoa! I'm really liking the sound of that.... it's like you're being haunted by your own ghost! It also reminds me of Spelunky, in the moments before the ghost comes out to get you.... hmmm.... imagine if you could still go into the house, but there was an indestructable ghost standing where you died last time who would hunt you down and insta-kill you! Each death adds a new ghost to grapple with... oh man, I'm going way out in the weeds here, better stop.
But anyway, this does sound rather sensible, and you're right that there is quite a bit of churn these days. The server could still list the house to you and send back a simple failure message if you picked it, and the client could display a simple "Chills" type message. I think players would figure out what caused that message (and I like letting them figure it out). Then you could still watch the house rise in the list, etc, and be kicking yourself even more for dying (because now it's a top house).
The one confusing part would be the trigger for the house being clear for you again. Yeah, you could ignore it, and it would pop up later automatically after something changed (just like it does now). But if you don't ignore it, it silently becomes available to you. Almost seems like it should be a different color in the list (like, purple, or some scary color), and you could still pick it and get the message, and then it would change color back later when it was available to you again.
Probably best to keep the trigger the same as for ignored houses (as soon as ANYTHING changes in the house, through robber or owner, the "chill" wears off.
So, this just prevents you from death-grinding or death-dumping in the house in its current state, giving robbers slightly more to lose.
Oh, yeah, Sourceforge moved everything to a new system, and the repository changed addresses as a result.
Take a look back on the SF hcsoftware project page---you can find the new address and access instructions there.
Funny.... it must have seemed like I quietly removed the game from public development! You should have called me on that. :-)
Curses (the folks who run the Minecraft Wiki) have just taken over hosting the Castle Doctrine Wiki, which is REALLY exciting. Will bring more exposure to the game, etc.
Also, they were able to slurp all the existing content over there. They may have missed one or two things, but it looks pretty solid to me.
I think the authoring info and history has been lost in the process, though, and you'll need a Curses account to edit there (your old Wiki account won't work there).
Hmm... not getting too close to sleeping dogs is interesting, though it's messy to pull off in the engine as I have it working right now, so I'll think on it for a while.
You can't rob a house you've ever died in is REALLY interesting. But, is that... ever ever? Or until the owner changes it?
I also worry that it will be too hard on new players. I mean, first of all, hard to explain... just that one house disappears? But also hard, because as you're figuring out how to play the game, you die a lot. If you stumble into a top house and die, and can never try that house again later after you figure out how to play...
I've also thought about "planes of existence", where every house visible to you is from someone who has died as many times as you. So, in this life, you see a bunch of houses, but if you ever die, that's it, you never see those again, and wake up in a new world with different houses. Of course, that would fragment the player population too much at this point.
Both tapes look fine on my end, and both robbers live.
Say... is there any chance that you've "upgraded" to the v10 source by checking it out from mercurial? The game behaves differently in v10, so the v9 tapes don't play correctly there.
Indeed! When I watch these tapes through my v10 (in progress) client, I see EXACTLY the same behavior you describe.... (he dies and then uses tools after death, etc., because the dogs move differently in v10).
If you're doing this, beware! Your v10 robberies will sometimes be rejected by the v9 server.
Cheating death is impossible (since v6 or so, I think) because all robberies are test-played on the server to verify their correctness.
No, they can't be woken by brick or water anymore. Nothing wakes them except stepping on them.
They can still be shot by a gun while sleeping, but that's just a waste of good meat.
We currently have 16 listed houses. All but one is in a still-interesting state.
The rest of the list would have houses with $0, or houses that people were artificially pumping up with tools. So, I think it's good that those houses aren't available anymore. What we are seeing in the list is a more "real" portrayal of the current state of the world, free of historical baggage.
I've changed it (in v10, not released yet) so that animals only step when you step. Electricity still reacts instantly, though. So, for example, if a dog is on an electric floor and about to step off, and you throw a brick on a switch that turns the floor on, the dog remains still during this tool use and fries.
But yeah, I guess you do become a ninja with drugged meat! You could drug a whole room full of dogs by just standing there on an empty tile. This is, admittedly, a strange side-effect.
Dogs don't cross corpses or sleeping dogs because there is only one mobile object per tile. In a game where the sprites are so tiny, this is necessary to make things visually understandable. Dogs don't disappear when they die (like enemies do in DROD, as I recall), because they are there for the owner to see, and the trail of carnage that you leave (visible to yourself) is an important aesthetic in the game.
Having a free, easy route around the house to a window that looks in on the family (so they can start running and be way ahead of the robber before the robber reaches them) is a viable plan, I think.
Family picks their exit path based on the current house layout, regardless of where the robber moves. They don't route around him.
Regarding encouraging "fun" houses.... well, that's simply a different game, and this game was always and will always be about designing houses to keep people out. Of course, it's also a game about vulnerability and violation, so if you can keep people out permanently, the game is broken.
There are other games where the point is to make fun levels for your friends to enjoy (where players can rate levels, and the "best" levels rise to the top of the list, etc.) I set out to do something different with The Castle Doctrine.
Regarding starting tool packs and tools that change price dynamically....
I'd like to avoid "forcing" anything, which tool packs would. I want to keep the game organic and dynamic and very "up to you" feeling. Here are these core mechanics, and the rest is a blank slate. An empty backpack for you to fill however you want. Spend the starting money on a house, OR spend it on tools for robbery, or your own mix of both---totally your choice.
Dynamic pricing has the problem that it's hard for players to reason about. It's one more thing to explain, too. And prices jumping around is confusing to new players. I'd like to keep it so that "a saw costs X, always," and set X at whatever value is appropriate. If 20 saws is too many for a fresh-start player to get a hold of, then the price should be fixed so that the number of saws acquired is NOT too many.
In my in-progress v10, I've change it so that animals remain still while a tool is used. This changes the game in some interesting ways. Most importantly, a dog that is 2 tiles away can't be brought one tile closer simply by cutting a wall. But also using a crowbar to open a door no longer makes the dog behind the door instantly jump into crowbar-reach. So, opening a door produces a dog that is super-dangerous (two tiles away). Also, drugged dogs can no longer be clubbed, so drugged meat doesn't help as much in these situations.
In v9, people carry enough crowbars that they can pretty much feel safe against dogs. That won't be the case in v10... I think that dealing with dogs will require more tactical thinking.