Pushing a handcart


How would you expect a handcart that you can put things in and push around, but not pick up, to be implemented?

My main ideas are:

  • PUSH CART to start pushing it, then it “follows” you around wherever you go (checking it can get through doors etc) till you LET GO OF CART. (Map TAKE and DROP to PUSH/LET GO for the cat, understand START PUSHING and STOP PUSHING.)
  • PUSH CART SOUTH every time you want to move it. This is easier to implement and possibly more intuitive to the player, but a lot more typing.
  • Do both of these.

"PUSH " is certainly the traditional way of doing it, so much so that I have difficulty thinking about it in any other way. In which case “PUSH CART” should give a message hinting that it’s possible, otherwise I won’t even try it.

The first one is akin to sort of putting the cart in the player’s inventory, isn’t it? With a few checks here and there.

I would mostly use "PUSH " - I have done in many games, and I’m used to it. But I like the first idea for a larger map - PUSH to start pushing. You could even be fancy about it and disallow non-direction verbs while pushing the cart, or make it so that non-direction verbs automatically stop pushing.

If you can have both, as a rule of thumb, I’d definitely recommend doing both.

EDIT - “PUSH CART EAST” is a bit of typing, yeah. But subsequently typing “PUSH IT SE” isn’t. :slight_smile:

EDIT 2 - Another idea, I guess, would be "PUSH TO ". I’ve never actually seen that, and it may not be worth the trouble, but I thought I’d bring it up.

I’ve seen “push [object] to [location]” before, but IIRC it was a within-room location. Still, I don’t see why it can’t be implemented along the lines of “go to [location]” functionality, which has definitely been demonstrated in multiple games.

The auto-pushing method, I think, would be well served by following the driving conventions with, e.g., “Backyard (pushing the handcart)”, “Bike trail (pushing the handcart)” etc. in the room names as you go from room to room, so as to be quite in-your-face about the fact that the PC is still engaged in pushing. But I don’t know if that wouldn’t be rather difficult or tedious to do.

I would lean towards “do both,” but as lux said, if one’s hands are occupied, I’d probably want this to be noted in the location name. I’d possibly have >PUSH CART EAST lock into the “(pushing the handcart)” mode, too, as long as it’s assumed the player isn’t usually stopping in the next room over the majority of the time. The fact that the hands are occupied could also make for an interesting puzzle.

Might be a little tricky informing the player of the >PUSH CART / >LET GO system, but with the right wording, it seems doable.

The synonym “get cart” would be quite natural to start pushing it around too. That would suggest the synonym “drop cart” to let go of it.

push cart north
push cart s
push cart w
push cart n
push cart w
push cart n
push cart w

This don’t seem like much work to me. I think this has a more natural feel than letting the player enter a pushing mode which he would have to terminate when he is done pushing. The game could also recognize ‘push’ as pushing the cart, or simply ‘p’.

But of course, this is a wrong choice if a LOT of pushing is expected.

Well, it’s not just that it’s more to type. If you need to push the cart around a lot, it’s also easy to forget to bring the cart with you:

push cart n

PUSH CART DIRECTION is probably not very intuitive to parser newbies, either (if that’s something you’re worried about).

Which is best really depends on how much the player needs to push the cart. If it’s only going to be pushed a few times, PUSH CART/LET GO OF CART would be overkill, but otherwise I’d suggest implementing both.

Thanks everybody.

My current plan is to implement PUSH CART SOUTH first and lay things out so that it doesn’t need to be pushed a long way. (It’s only used in a couple or three puzzles in my current plan, and one of them doesn’t involve pushing it.) Then if there’s time and/or strong tester feedback for PUSH CART/LET GO OF CART (understanding TAKE/DROP as the same thing), I’ll add that too. And I’ll try to be nice about hinting how the commands work.

I agree with the notion of taking and dropping the cart. A daemon or before rule somewhere should catch movement and remind the player that he/she is pushing a cart.