Recommendations for syntax & routine to allow the player to type in…
RUN RIGHT AND JUMP
RUN RIGHT AND JUMP OVER X (X being the object you want to jump over)
RUN EAST/WEST AND JUMP
RUN EAST/WEST AND JUMP OVER X
Thanks
Adam
Recommendations for syntax & routine to allow the player to type in…
RUN RIGHT AND JUMP
RUN RIGHT AND JUMP OVER X (X being the object you want to jump over)
RUN EAST/WEST AND JUMP
RUN EAST/WEST AND JUMP OVER X
Thanks
Adam
Looking to code the parser equivalent of…
Adam
I’m not sure what you want to accomplish but in the old Infocom parser (but not in the ZILF parser) the verb RUN
is a synonym for GO
and in Zork I, for example, JUMP
and JUMP OVER
are implemented but doesn’t do anything meaningful. AND
in this context is a divider between two statements, the same as .
.
RUN EAST AND JUMP
results in the player moving E
and then JUMP
.
West of House
You are standing in an open field west of a white house, with a boarded front door.
There is a small mailbox here.
>run north and jump
North of House
You are facing the north side of a white house. There is no door here, and all the windows are boarded up. To the north a narrow path winds through the trees.
Wheeeeeeeeee!!!!!
>run east and jump over house
Behind House
You are behind the white house. A path leads into the forest to the east. In one corner of the house there is a small window which is slightly ajar.
That would be a good trick.
>
To expand JUMP
and actually be able to JUMP
over something you only need to change that routine.
I guess you want something else to happen?
Looking at your example you could code RUN RIGHT
(decouple RUN
from GO
) as HOLD STICK RIGHT
and JUMP
as PRESS JUMP BUTTON
.
Thanks Henrik.
I’m picking up on the conversation that was started on Facebook, creating a game that wouldn’t normally work in the context of a text adventure i.e Donkey Kong, Pong etc
So to enable the player to type RUN RIGHT (or maybe EAST) and JUMP OVER PIT and have the parser recognise it.
Adam
Ah, of course it does. Doh. Ok… maybe a way to only allow the jump to result in a successful outcome if run was actioned before it then; I guess?
I don’t know. I guess it’s possible to define an object with “AND” as an adjective, so that “EAST AND JUMP” is a single object. But that still leaves you with the problem of determining how many of those words were used in the command.
I know some Infocom games (e.g. the Witness) allows you to “COMPARE object AND object” by defining the command to take multiple objects. So they could presumably have used one object for the direction and one for the jump. But the trick used there was to check the number of objects (P-PRSO
) in the pre-action and I couldn’t get that to work with the ZILF standard library. Not at a quick try, at least.
But as Henrik pointed out, if I typed “RUN EAST AND JUMP” I would probably expect that to be interpreted as two separate commands.
I’d just say
STICK UDUDLRLRABAB
For Up Down Left Right buttonA buttonB
You can do SF2 combo as well. Maybe an easier propect to simulate with Inform, as opposed to something positional across rooms.
Aren’t there non-traditional programs already? Space Invader, Tetris, Snake, just to name a few.
Yes, there’s the arcade pack
This is all I was looking to do here to be honest. For fun I wanted to program a small level from the game Super Meat Boy in IF format.
Adam
My understanding is that Super MeatBoy doesn’t run left/right, but run forward and change direction. I think you needto store a state somewhere.
Walk = walk
run = run
Jump = jump
Do nothing = wait
Left/right/back = change heading w/ walking/running
Down = slide down on wall
Walk + jump = directional jump
Run + jump = leap
Some timing, such as when sticking to wall, may cause auto slide down randomly.
Something like that?
I played it a good while back, I’ll need to play it again to make sure. But yeah I’ll need to get creative with the directions. I thought maybe to substitute North for Up, South for Down, West for Left and East for Right.
Adam
If that joystick model is what you want, perhaps you could turn the RUN verb into something you can turn on or off. For instance, RUN EAST, you’ll continue running east until you STOP. While this is happening, you can JUMP.
Not ZIL-specific, but I’ve had this general idea floating around in my mind for a long time.
That’s a good idea! Thanks! I’ll have a play around with the code and see what I can come up with.
Thanks
Adam