Discuss the massively-multiplayer home defense game.
You are not logged in.
Thanks for the mySQL pitch, that's really interesting.
Maybe it's time I actually finally learnt how to use it...
I wasn't able to assign true values for existing backpacks because I did the update with a MySQL query in one fell swoop [...]
Bit off-topic, but I'd like to ask - how have you found using a mySQL database
has worked out for this project?
I'd have been tempted to just use flat files and a directory structure, with
hand-rolled indices where necessary, and flock() or whatever for locking.
Would you estimate that using mySQL instead has, on balance, increased or
decreased pain over such an ad hoc approach?
Not a bad idea... with multiple floors, you could reduce the size of each floor - which would make hidden logic harder to pull off both because you have less room for walls and because you have to guard it on both levels...
Well it wouldn't make trapdoors useless - once the wires are sawed through, the trapdoors aren't going to get powered... I was thinking more that it would just make scouting out the logic easier.
With one power supply and a wiring-analysis tool, you've basically just got a complicated interface to wiring-only purchasable blueprints. Seems a bit blunt.
"relays would work like transistors" was a bit cryptic ![]()
I guess what I should have meant is that any complete circuit including the north side triggers the switch on/off.
But anyway, after thinking a bit about the consequences, I've decided this 'complete circuit' idea is a stupid one after all.
Hmm. Actually, what about bringing back the idea of stopping metal walls being
conducting? Then any hidden logic would have to have a vulnerable path of
wooden walls leading to it.
That wouldn't help with the classic "magic dance on entrance" setups where the
logic is behind a row of trapdoors / electric floors, though.
Which leads me to an idea which is probably stupid, but just might not be:
require complete circuits for power. So wiring would be single-strand rather
than the current double-strand, and a tile gets power iff it is contained in a
complete non-self-intersecting loop of conductive tiles starting at a power
source. Relays would work like transistors.
That way, you couldn't have rows of trapdoors with the electrics hidden
behind.
Could this work? Would it be far too complicated?
Well I think we should avoid forking until well after the proper release, but eventually I think it would be good to have a second server exploring v8-style CD. I wouldn't mind hosting it. But I think we shouldn't split the already undersized community any time soon...
Right; really I meant that jere's first reaction, which would also have been mine - to think of ways of designing which would defeat this kind of tool - isn't necessarily the end of it. As long as it's expensive to do, the tool would still serve a purpose.
I don't really know whether I like the idea of these scouting tools or not... if things can be balanced such that properly hiding your logic is too expensive, so just cutting through walls is all you need to scout, then that would be neater. I'd say sort the economic problems first (including the abuse of initial money), then think again.
My thoughts on this: if we're to take seriously the idea that this is Not A
Puzzle Game, then we shouldn't be worrying too much about making optimal
houses fun to break in to. They won't be.
Instead, we should try to make them a nigh-unattainable goal - have money so
limited that you always need to cut corners, with robbers motivated by their
own poverty to look out for those vulnerabilities.
With good balancing, I hope this could be fun and continuously interesting.
Optimisation shouldn't just be about making the hardest-to-crack house - it
should be about balancing cost and difficulty, doing the most with least.
Bonus I forgot to mention: this would foil death-dumping nicely.
And as Jason said, if you don't kill yourself in the houses but
in your own home, this wouldn't be hindered by the timeout on entering houses.
Aargh yes, it wouldn't do anything to prevent death-dumping after all.
Maybe tools should only go in the vault if you die, and are otherwise just
lost? Would that be too much of a bleed on the economy?
Good points Jason wrt scaling down to few players. Although wouldn't making
this a configurable option on the server deal with that?
And yes, hiding tools in your backpack while you're not playing does seem like
an exploit. It was a nice little insurance mechanism when the best you could
stash was $1680 worth of guns, but now it's ridiculous. Automatically emptying
the backpack into the vault after a period of inactivity would deal with it -
and also with the problem of forgetting your backpack is full and wasting your
tools on what you meant to be a toolless scouting trip.
zed wrote:[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.
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).
Right, that's why I was suggesting having the sleeping dog "wake up" only if
it can move directly on to the player. So the only change would be in the AI
code, making sleeping dogs move iff they can move onto the player. Then the
(already existing) dog transition would be triggered by the dog being on the
same square as the player, transitioning from the sleeping state directly to
the jugular-munching state.
Odd consequence: you could walk next to a drugged pitbull without waking it up
- but only if you approach it from the south or east and have a chihuahua at
your heels.
But would it really be so bad to add a new transition trigger, like 'power'
and 'powerNorth', for 'playerAdjacent'? I know it's a special case, but it
seems a fairly natural one...
zed wrote:"Something about that house gives you the chills... you can't bring yourself to go there"
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.
Ha, nice idea! More like nethack's ghosts than spelunky's, actually. But yes,
probably no need to complicate the design that way, in reality.
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.
Yep, all sounds good!
It does mean you're slightly penalised for making even the smallest changes to
your house... but probably that's better than locking people out of the house
forever. Probably.
You're still using hg? The repository I know hasn't been updated since v8...
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.
Hmm, triggering the transition would be tricky you mean? I guess you could
make it that they only wake up if they can move directly on to the player -
then you just need a player-triggered transition from sleeping to eating.
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...
Well... if you make it just for the current version of the house then as long
as there's enough churn (which there seems to be at the moment), it shouldn't
be much of a problem and doesn't even need explaining. i.e. yes, it just
disappears from the list.
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.
Bonus I forgot to mention: this would foil death-dumping nicely.
I've changed it (in v10, not released yet) so that animals
only step when you step.
I was sceptical at first, but now I think this might work.
It doesn't make much sense though that the robber would refrain from clubbing
a sleeping dog, when they're happy to batter defenseless women and children.
How about making it that a sleeping dog wakes up if the robber walks next to
it, and it immediately gets a move? That would nerf drugged meat even further,
which I think might be a good thing, and would make more sense.
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.
(I feel compelled to reiterate that having mobiles swap positions with corpses
would preserve all that - but I hope that v10's changes will make magically
safe corpses less of a problem anyway)
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.
Kind of. This would be much easier if the way scrolling worked were tweaked
slightly, so you can predict for sure from what positions the family will be
visible. Currently it's too easy for the robber to be able to break any
windows between him and the family before actually getting the family in
sight. It seems only the corners of the map are really safe in this respect.
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.
Agreed. The builder shouldn't be trying to please robbers, he should be scared
of them.
It's true that death-traps are more interesting than thick walls, though, so
perhaps it's worth considering promoting them without changing the fundamental
theme of the game.
Currently there are a few reasons for wanting to robbers to die in your house
rather than just leave:
(i) Assuming your house is only vulnerable to the rich, a good way to stop
them cracking in is to kill them on their scouting trips.
(ii) Having a high death rate might put the rich off risking your house.
(iii) You just have a (probably hypocritical) murderous hatred for robbers.
These aren't all that strong, though.
In v9, we lost
(iv) Having the robber die was the only way to get their tools.
Meanwhile there's actually a very good reason to *avoid* killing robbers -
they tend to get annoyed and come back for vengeance in their next lives.
I do often find myself deliberately trying not to kill or piss off my
intruders for that reason (as long as they keep away from the family), which
probably isn't how the game is intended to be played.
I think the change I'd like to see (not an original suggestion) is to make it
that you can't rob a house you've died in. That would give death-traps a real
motivation, deal with vengeful reincarnations, and make permadeath more
important.
Interesting that they both had similar tool counts - 40 explosives, 36 ladders... are those hardwired caps, or is this evidence that they're the same person? If so, I guess they must have found some get-rich-quick exploit... maybe scripted high-frequency death-pumping?
In general, though, if there's SOME way to set up tactical situations with dogs that require a gun to pass, the crowbar stops being overpowered against them. I'm not worried if the "line of dogs" is easy to pass, or if the "room packed with dogs" is easy to pass. In fact, if the design DISCOURAGES those layouts, that's a good thing.
Agreed. I think it's fine that lines of dogs do nothing more than force the
robber to use that many crowbars, I'd just like that not to be the optimal
strategy for protecting the family.
My thinking was to make viable traps which involve releasing dogs on the
robber, which currently are pointless because the robber can just club them
all (or fewer), using corpses to stay safe.
Maybe it's worth comparing with DROD, actually - imagine how boring a game
that would be if you could use corpses the way you can in CD!
The dogs-at-two-paces technique doesn't really scale up, though, because once
the robber has dealt with one he has a corpse to fall back to for any more.
largestherb: have you really found a way to set things up protecting the
family which is more cost-effective than the dog-filled corridor? I have tried
extensively, but I don't see that it can be possible. The robber can basically
just follow in reverse the exit path of the family, filling it with corpses
wherever dogs threaten, falling back to the last corpse where necessary.
Occasionally with a lot of effort it can be possible, using powered doors
and/or carefully arranged cats, to force the robber to deviate from that path.
But you're not going to kill a robber who's paying attention that way, so you
can get the same effect for less by just adding another pitbull to a
corridor...
Having dogs switch positions with corpses rather than double up with them
would deal with UI issues. I agree it's tactically interesting to use corpses
as blockades, but as it is currently it makes dealing with pitbulls almost
entirely just a matter of packing enough crowbars.
To preserve some tactical element, here are a couple of suggestions:
(i) rather than switch places with corpses, pitbulls (and I'd say only
pitbulls) are able to push a corpse off to one side if there's nothing in the
way. So e.g. if a pitbull wants to move right but there's a corpse in the way,
it will push the corpse down if the tile is free, else up if that's free, else
the dog will be blocked in that direction (and will consider going a different
way instead). Here 'free' means 'passable under current rules' (so in
particular containing no corpse). So you'd still be able to use corpses as a
blockade, you'd just have to be more clever about the use of space.
(ii) use the 'swap positions' version for moving past corpses, but introduce a
new tool: caltrops. These can be placed on an adjacent passable position; they
then block any pets from moving past them (could be implemented by counting
them as mobiles which happen not to move). The player can move past - but only
by clearing away the caltrops, removing them from play. I think this would be
an interesting tool anyway - I can imagine strategic use, blocking off
unexplored corridors to protect against traps which release hounds behind you.
Oh, yeah, in your house, on the first big dog-killing trip, Grayson used bricks to kill the cats, which gave him a safe place to stand to club the dogs. After that, it was an easy club-walk through the rest.
Yes, corpses providing safe ground, like some grisly scroll of Elbereth, is
what renders futile any attempt to do anything cleverer with dogs than just
lining them up along a corridor. The knock-on effect of that is that
protecting the family is really dull - other than just trying to hide them,
which isn't going to keep them alive very long, your best bet really does seem
to be to make such a corridor and protect it as well as you can afford, hoping
that you can make it expensive enough that no-one will decide to spend the
tools to get through. This isn't interesting at all, and no cost-tweaks are
going to make it more interesting.
Getting a dog at distance 2 is rarely helpful for multiple reasons - even if
the drug+club approach were ruled out and there's no corpse to fall back to,
you only have to find somewhere to use a single tool to switch the parity and
get the dog in clubbing-range.
So how about letting pets walk past corpses? I suspect this would be enough to
make protecting the family interesting, since it would really open the
possibility for pitbull-based deathtraps to be tripped by anyone going for
the family.
I know there are sound game-architecture reasons for not wanting to just let a
pet occupy the same tile as a corpse, so how about having them swap positions?
Not particularly realistic (particularly in the case of pit-crippled pets),
but I don't think that matters.
This loophole has been around since v5 though, right?
Starting with a 'Starter' set of tools and a 'Materials' voucher seems like the cleanest fix.
Yes, it's an old problem. Infinite backpacks make it a bit more annoying,
though - you now really don't want your house value to be pumped up too far,
because even if the pumper can't take it back someone else will, and will
wreck your house in the process.
Having the starter money be usable only for house-building seems a decent fix,
agreed, and starting with a few sundry tools in your vault is probably ok.
As far as the UI goes: just having a message at the top when you're first
building ("Design your house - leftover money will be wasted" or similar) and
disabling tool buying should be enough.
I think this is probably neater than the respawn limits we discussed earlier.
Another reason to do something about people getting $2000 worth of tools every
time they die - I just saw the following loophole being exploited:
If you can find a house which (perhaps after breaking into it and leaving it
in an appropriate state) you know how to solve with $2000 of tools, you can
then pump it up by repeatedly dying in it with, say, a couple of guns each
time, and then steal them all back.
This is not the kind of thing the game should be encouraging.
Toppled Leif Peter Hibbard. That was a lot of fun -- really good house.
Hey, well done! That was me. I think you're the first person to actually
figure out the paired trapdoor puzzle - I've been incorporating that into my
houses for months, and have racked up many hundreds of deaths with it...
The "intended" solution involved not releasing the pitbulls at all, but using
them to flip the rotary works too.
I'll have to steal some money back later and see if I can't make it a bit
harder...
Worth thinking what the new "optimal" house will be in the v9 jason has described. Without meaning to sound pessimistic for the sake of it, I suspect the answer is: a vault behind as long a line of trapdoors and steel walls as can fit, opened by a pet-mediated magic-dance bitlock, with the pets and logic being distributed around the sides of the map so that finding out the logic would cost as much in tools as bruteforcing to the vault.
I hope things can be tweaked such that this isn't how it turns out, but I'm not currently seeing how.
Well I'll be interested to see what happens with this. I'd be worried that such a concentration on tools would lead to a scramble to keep the amount of money in your vault down at all times, since if ever it gets beyond a certain amount it will be worth someone's time to ignore all your traps and just cut and club through the whole map.
Even if you ax the animals completely (or implement them only moving if they can see you), that 20x30 space could still have a hairy nest of wires that lead to 15 or so buttons that the robber needs to press in the right order and exactly the right way. I.e., my argument about NP-Hard houses and 3SAT encodings has nothing to do with moving animals or magic dances.
It's drastic, but a hard cap on the number of relays allowed in a house would deal with that. I'd say something like 20-30, to leave room for plenty of electricity-using puzzles.
Oh sorry, I mean that the distance from the previous position is used to resolve tie-breaks - it still tries to maximise the distance from the robber's new position, but when there are multiple directions to choose from which are equal from that point of view, it goes for the one which is furthest from the previous position (resolving any ties in that in the usual way).
I find myself leaning more and more on the "animals move on sight" suggestion, it's probably the only way forward. All this would mean is that tricky dances would require windows and thus be a lot easier to figure out without replicating (which is what anyone will do to solve them...). And, beautifully enough, this would also mean that houses with dog switches would have to allow for walking around in.
Seconded. Herding pets you can't even see isn't much fun.
However this would only lead to further painful calculations if vision is
based on the details of when the game decides to scroll the window. It would
have to be changed to scroll with every step, keeping the robber at the
centre.