Having Trouble with creating Multiple Scene Endings

I think that if I can figure out the fix for the instant changes, then the same fix will work for all three versions. Glad you’re keeping copies!

1 Like

ok, good to hear. So, I assume you probobly don’t need me to post the updated code then, right?

Also, with the respawning stuff, do you think I should (after we get this scene problem fixed lol) start a new topic about how to get the respawning thing working?

Do you think I should start looking for a collaborater instead of doing the whole game myself? (and if so, any recommendations? by any chance would you be interested?)

Is it right to assume that if this game gets done (and gets done right) I no longer a noob at Inform 7? possibly advanced?

1 Like

Yes, don’t worry about the updated code for now. Also don’t worry about being a “noob.” No matter how good you get, what you want to do will always exceed your reach, and require you to scratch your head and think of ten different ways to try and solve the problem. That’s what coding is, really: its own puzzle. It’s why it’s so addictive a pastime, I think.

I was looking at the problematic scene switching just now, and realized that I don’t know what the player is supposed to be able to do during a scene. Is the setup supposed to be one hit/one action, and then the next player gets a turn?

2 Likes

Thanks for asking! What I have the prototype set up for is so each player gets to do (can’t remember without looking lol) I think it’s 5 actions, then its the next player’s turn. In the full game that I am creating (It’s called Explorus) it will be different because it will be set up for 5 players instead of 3 and each player will have a longer turn/get more actions each turn then in the prototype. Does that make any sense?

@Dizzydonut @HanonO And please, if you have any more questions about either the code, Explorus, or both-I’m very happy to elaborate. Explorus will hopefully be a very great game (and partly because of you!)

1 Like

Got it. Hmmm. Just a thought, but how about giving each player a certain number of “action points” to spend? Different actions have different costs, and once the player reaches 0 (or hasn’t enough points to attempt any action) then their turn’s over? Action points can’t be saved from turn to turn, you get a new “allowance” at your next turn. (Leveling up could mean access to more action points per turn, and/or more expensive actions.)

The thing about making a game enjoyable is to present the player with choices, but to limit those choices via costs.

1 Like

Hi, I just wanted to add a note about Playfic (though this might be a needless complication); Playfic uses the 6G60 version of Inform, which is a few years old. If you want to use the latest version of Inform online, there’s a new site called Borogove which has the 6M62 version, which is a couple of years more recent than 6G60 and has some relatively big new features (in particular, a way of making it easier to change default messages). There’s a thread on it here. It would also make it easier for you to use extensions if you want.

As for the scene change machinery getting stuck… one thing I thought of was using past tense as documented in §9.13 of the documentation. If you say “If X was Y” that checks whether “X was Y” was true at the beginning of the most recent action. So if you say “…when P1 was happening” that will check whether P1 was happening at the beginning of the turn. You can make that change to P2, and when the scene change machinery checks “…when P2 was happening” that won’t be true, so you get to stay on P2 instead of going into a loop.

Here’s a short example:

P1 is a recurring scene. P1 begins when play begins. P1 ends happily when P1 was happening and the location is not Dead. P1 ends tragically when P1 was happening and the location is Dead.

P2 is a recurring scene. P2 begins when P1 ends happily. P2 ends happily when P2 was happening and the location is not Dead. P2 ends tragically when P2 was happening and the location is Dead.

P3 is a recurring scene. P3 begins when P2 ends happily. P3 ends happily when P3 was happening and the location is not Dead. P3 ends tragically when P3 was happening and the location is Dead. 

P1 begins when P3 ends happily.

When P1 ends tragically:
	say "P1 carked it.";
	end the story.
	
When P2 ends tragically:
	say "P2 carked it.";
	end the story.
	
When P3 ends tragically:
	say "P3 carked it.";
	end the story.
	
When P1 begins:
	say "Starting P1."
	
When P2 begins:
	say "Starting P2."
	
When P3 begins:
	say "Starting P3."

Lab is a room. Dead is north of Lab. 

This particular solution only would work for scenes that change every turn, but it sounds like that’s what you want!

1 Like

So like an experiance system? I like that-sounds super mega awesome! Although, I might need help setting that up. Would it replace scenes or be in addition to them/ a varaible that would help with all the endings?

@matt_weiner Thanks for the note on Playfic. I was completely unaware of that lol and that’s wonderful to know. I have recently tried to use Borogove a couple days ago, but it only seems to let me export Gluxx and I want Parchment. I do like that it lets you do transcripts, though. Part of what makes this game even more of a challange (maybe too much of a challenge, idk) is I want to create my first “big” game with no extensions and see the limits of Inform. On future projects however, I may want Extensions, so thank you a lot for mentioning Borogove.

That looks great! I will test it ASAP. I don’t want the scenes to change every turn, but perhaps it’s what is needed to happen. Or maybe there’s a way to modify the code something like “when P1 was happening for turns” (or maybe minutes?). Idk if what I just said is any good or not lol. But thank you, I will definetly try your suggestion out when I get a chance.

Okay, fixed the stuck machinery - by adding an action points allowance! The initial round of scene changes work, but as I’m not sure what the “survival” scenes etc are for, I didn’t mess with them. But you could make them a fixed length by noting the turn count, I guess.

Anyway, I’ve added suggestions as comments in the code, so have a look around, mess around with it and see what ideas pop into your head. Above all, have fun!

"rpg scenes" by "Testa"

The arena is a room. "Sand covers the floor, but the bleachers stand empty.[first time][paragraph break]Or you could add extra text here if you like.[only]". [text between "first time" and "only" is only shown the first time the player is in the room.]

Every person has a number called AP. The AP of a person is usually 5.
After doing something:
	decrease the AP of the player by 1;
	[let the AP of the player be points remaining;]
	
[I've added some details just to give the player something to do]	

Joku is a man in the arena. The player is Joku. 
Joku is wearing leather sandals and a metal breastplate.


Sally is a woman in the arena.
Sally is wearing fishscale armor.

Bob is a man in the arena.
Bob is wearing a robe of many colors.

Tokens are in the arena.

Some sand is scenery in the arena.
The bleachers are scenery in the arena.

[When play begins:
	now the player is Joku;
	now yourself is nowhere;]
	
[Intro is a scene.][The problem with the Intro scene was that the player had to do something, anything, in order to make the game start. So I've taken it out. If you want to add any scene setting, dialogue or whatever, just add another say statement to when play begins.]

When play begins:
	say “This was made with [bold type]No Extensions[roman type], only [italic type]Inform 7[roman type].”;
	say "You could put some explanatory text or instructions here.";
	now the command prompt is "You are [the printed name of the player] ([the AP of the player]  actions remaining) > ";
	

[When Intro ends:		
	say “You are standing in the lobby of a building.”.]

[Intro begins when play begins. Intro ends when the time since Intro began is 1 minute.]

FirstPlayer is a recurring scene. FirstPlayer begins when play begins.

[He starts off with one ap extra because the game does an automatic "look" on move one]
When FirstPlayer begins:
	Now the player is Joku;
	if the turn count is 1:
		now the ap of joku is 6;
	else:
		now the ap of joku is 5;

When FirstPlayer ends:
	say “[italic type]Player 2 turn[roman type]”.

[FirstPlayer begins when Intro ends.]

FirstPlayer ends happily when FirstPlayer is happening and location is not Death and the ap of Joku is less than 1.
[FirstPlayer ends happily when the AP of the player is less than 1.]
FirstPlayer ends sadly when FirstPlayer is happening and location is Death and the player does not carry Tokens.


SecondPlayer is a recurring scene.
SecondPlayer begins when FirstPlayer ends happily.
SecondPlayer ends happily when SecondPlayer is happening and location is not Death and the ap of the player is less than 1. [less than 1 is safer than "is 0" because if we start applying different costs to different actions, the player's AP might be say 2, s/he does an action costing 3, and the AP total skips right past zero.]
SecondPlayer ends sadly when SecondPlayer is happening and location is Death and the player does not carry Tokens.

When SecondPlayer begins:
	Now the player is Sally;
	now the ap of sally is 5;

When SecondPlayer ends:
	say “[italic type]Player 3 turn[roman type]”.


ThirdPlayer is a recurring scene.
ThirdPlayer begins when SecondPlayer ends happily.
ThirdPlayer ends happily when ThirdPlayer is happening and location is not Death and the ap of the player is less than 1.
ThirdPlayer ends sadly when ThirdPlayer is happening and location is Death and the player does not carry Tokens.

When ThirdPlayer begins:
	Now the player is Bob;
	Now the ap of bob is 5;

When ThirdPlayer ends:
	say “[italic type]Player 1 turn[roman type]”.
	
FirstPlayer begins when ThirdPlayer ends happily. [This was the problem line. If you put it right up at the top with the rest of the instructions about the First player, then because it refers to "Third Player" which you haven't told Inform about yet, Inform gets confused.]

[You flip between calling a scene "Survival P1" and "P1Survival". An easy mistake to make in a long coding session, but compilers are notoriously unforgiving. If it was not a mistake, then I urge you to change the name of one or the other so that they are less easily confused with one another.]
P1Survival is a recurring scene.
P1Survival ends happily when P1Survival is happening and location is not Death.
P1Survival ends sadly when P1Survival is happening and location is Death and the player does not carry Tokens.

When P1Survival begins:
	Now the player is Joku.

When P1Survival ends:
	say “[italic type]Player 3 turn[roman type]”.


[no "P2Survival?]

P3Survival is a recurring scene.
P3Survival begins when SecondPlayer ends sadly.
P3Survival begins when P1Survival ends happily.
P3Survival ends happily when P3Survival is happening and location is not Death.
P3Survival ends sadly when P3Survival is happening and location is Death and the player does not carry Tokens.

When P3Survival begins:
	Now the player is Bob.

When P3Survival ends:
	say “[italic type]Player 1 turn[roman type]”.

SurvivalP1 is a recurring scene.
[SurvivalP1 begins when SurvivalP2 ends happily.][No such scene declared.]
SurvivalP1 begins when ThirdPlayer ends sadly.
SurvivalP1 ends happily when SurvivalP1 is happening and location is not Death.
SurvivalP1 ends sadly when SurvivalP1 is happening and location is Death and the player does not carry Tokens.

When SurvivalP1 begins:
	Now the player is Joku.

When SurvivalP1 ends:
	say “[italic type]Player 2 turn[roman type]”.


SurvivalP2 is a recurring scene.
SurvivalP2 begins when SurvivalP1 ends happily.
SurvivalP2 ends happily when SurvivalP2 is happening and location is not Death.
SurvivalP2 ends sadly when SurvivalP2 is happening and location is Death and the player does not carry Tokens.

When SurvivalP2 begins:
	Now the player is Bob.

When SurvivalP2 ends:
	say “[italic type]Player 1 turn[roman type]”.
    

SurvivalPL2 is a recurring scene.
SurvivalPL2 begins when FirstPlayer ends sadly.
SurvivalPL2 ends happily when P1Survival is happening and location is not Death.
SurvivalPL2 ends sadly when P1Survival is happening and location is Death and the player does not carry Tokens.

When SurvivalPL2 begins:
	Now the player is Joku.

When SurvivalPL2 ends:
	say “[italic type]Player 3 turn[roman type]”.

SurvivalPL3 is a recurring scene.
SurvivalPL3 begins when SurvivalPL2 ends happily.
SurvivalPL3 ends happily when SurvivalPL3 is happening and location is not Death.
SurvivalPL3 ends sadly when SurvivalPL3 is happening and location is Death and the player does not carry Tokens.

When SurvivalPL3 begins:
	Now the player is Bob.

When SurvivalPL3 ends:
	say “[italic type]Player 2 turn[roman type]”.
	

[Again, these two lines below have to be down here so that the scenes to which they refer have already been declared.]
P1Survival begins when P3Survival ends happily.
SurvivalPL2 begins when SurvivalPL3 ends happily.



P1Alive is a scene.
P1Alive begins when SurvivalP2 ends sadly.
P1Alive begins when P3Survival ends sadly.
P1Alive ends happily when P1Alive is happening and location is not Death.
P1Alive ends sadly when P1Alive is happening and location is Death and the player does not carry Tokens.

When P1Alive begins:
	Now the player is Joku.

When P1Alive ends:
	say “[italic type]Last surviving team member![roman type]”.


P2Alive is a scene.
P2Alive begins when SurvivalPL3 ends sadly.
P2Alive begins when SurvivalP1 ends sadly.
P2Alive ends happily when P2Alive is happening and location is not Death. [typo corrected]
P2Alive ends sadly when P2Alive is happening and location is Death and the player does not carry Tokens.

When P2Alive begins:
	Now the player is Sally.

When P2Alive ends:
	say “[italic type]Last surviving team member![roman type]”.


P3Alive is a scene.
P3Alive begins when P1Survival ends sadly.
P3Alive begins when SurvivalPL2 ends sadly.
P3Alive ends happily when P3Alive is happening and location is not Death.
P3Alive ends sadly when P3Alive is happening and location is Death and the player does not carry Tokens.

When P3Alive begins:
	Now the player is Bob.

When P3Alive ends:
	say “[italic type]Last surviving team member![roman type]”.
	


Death is a room. [I'm pretty sure this isn't what you meant, unless they're going to be moved here when hp are zero, or something. But this is the only way you can have a location of "Death" in the game.]

Sure. To add experience points to the game, all you need to do is add a rule to each action, in the exact same way we’re using for action points. At the moment all actions have the same cost, because we’re only adding one rule (“after doing something…”)

e.g.

after taking the golden idol:
    increase the player's xp by 50;
    say "Your score just went up by 50 points!";

or

after reading the scroll of speed:
    increase the player's max-ap by 2;
    say "You feel a shiver run through your body. All at once you feel sharper, more alert, as though you could do things faster.";

Of course you could just have said “your ap goes up by 2” but that’s a boring way to say it. Players don’t want to feel they’re battling an interactive spreadsheet; they want to be transported to another world.

@Dizzydonut I have not tried anything yet-but upon reading

I was wondering: since this is multiplayer, would it be possible/work better to have the individual PC’s gain xp instead of the “player”, so each player has their own xp? If not, it’ll be ok just sticking with the AP then.

Speaking about AP…

I got an idea: maybe the first scene could be the first player and give him 6 AP, but then when it cycles back to P1, it goes to a different scene which gives P1 5 AP for the turn? Would that work or would it be better to just keep it simply as you have posted it?

@Dizzydonut @matt_weiner @HanonO This will make it easier for me to copy/paste/test your suggestions, if we all use the same testing world. You do not have to use this, you can totally ignore it if you want. I just think it might be easier to format stuff if we’re all using the same example to tinker and play around with. Again, if you don’t want to use this and you’d rather use your own, go ahead and do what’s easiest for you :smile: You’ve all given great suggestions.

For Future Examples

"True Multiplayer".  The story headline is "A game that truly needs candy Peeps.". use no scoring. use undo prevention.  use brief room descriptions. 

When play begins: now the command prompt is "Action:";
now the left hand status line is "Time:[time of day]";
now the right hand status line is "Actions taken:[turn count]".

Check saving the game: say "That's not a verb I recognise."; stop the action.

Check restoring the game: say "[line break][italic type][bold type]Finding Checkpoint...[roman type][line break]"; now the player is in Vault; stop the action.

Check restoring the game when the location is Death: say "[line break][line break][bold type]HINT  [roman type]Eat a Token to use a life.[line break][line break]"; stop the action.

A Token is a kind of thing. Tokens are edible. 
After eating a Token in Death:  say "[line break][bold type][italic type]Respawning...[roman type][line break]"; move the player to a random room in Gameworld.
Before eating a Token in Gameworld: say "Not a wise time to eat this It'd be a waste of your life."; stop the action.
Check taking a Token: say "[bold type]You gained a life![roman type]".

Every turn, if somebody is in an adjacent room (called the Hiding Place), say "You hear distant breathing from the [the Hiding Place]."

Ready? is a room.  description is  "Welcome to the game. Before you play, it is recommended to find  two friends to play alongside you. RESTORE has been reprogrammed to allow for checkpoints. When ready, climb down into the game world." 

Gameworld is a region. Basement, Lobby, Room B, Room C, Room 1, Vault, and Secret Room are in Gameworld.

When play begins:
    choose row with a final response rule of immediately undo rule in the Table of Final Question Options;
    blank out the final question wording entry.

every turn when the location is Death: if three people are visible, end the story saying "Game Over".

Extra is a room. 
Instead of looking in Extra: say "[line break][line break][bold type]ALERT [roman type]      The game is about to start.[line break][line break]".
Instead of eating in Extra: say "[line break][line break][bold type]ALERT [roman type]      The game is about to start.[line break][line break]".
Instead of jumping in Extra: say "[line break][line break][bold type]ALERT [roman type]      The game is about to start.[line break][line break]".
Instead of thinking in Extra: say "[line break][line break][bold type]ALERT [roman type]      The game is about to start.[line break][line break]".
Instead of waiting in Extra: say "[line break][line break][bold type]ALERT [roman type]      The game is about to start.[line break][line break]".
Instead of going nowhere in Extra: say "[line break][line break][bold type]ALERT [roman type]      The game is about to start.[line break][line break]".
Instead of taking inventory in Extra: say "[line break][line break][bold type]ALERT [roman type]      The game is about to start.[line break][line break]".

Dude is a person. Girl is a person. Boy is a person.
Dude is in Extra. Girl is in Extra. Boy is in Extra.

Intro is a scene. 
When Intro begins:
say "This was made with [bold type]No Extensions[roman type], only [italic type]Inform 7[roman type]."
When Intro ends:
say "You are standing in the lobby of a building.".
Intro begins when play begins. Intro ends when the time since Intro began is 1 minute.

FirstPlayer is a recurring scene. 
When FirstPlayer begins:
Now the player is Joku.
When FirstPlayer ends:
say "[italic type]Player 2 turn[roman type]".
FirstPlayer begins when Intro ends. 
FirstPlayer ends happily when FirstPlayer is happening and location is not Death.
FirstPlayer ends deadly when FirstPlayer is happening and  location is Death and the player does carry Tokens.
FirstPlayer ends sadly when FirstPlayer is happening and  location is Death and the player does not carry Tokens.

SecondPlayer is a recurring scene. 
SecondPlayer begins when FirstPlayer ends happily. 
SecondPlayer begins when FirstPlayer ends deadly.
SecondPlayer ends happily when SecondPlayer is happening and location is not Death.
SecondPlayer ends deadly when SecondPlayer is happening and  location is Death and the player does carry Tokens.
SecondPlayer ends sadly when SecondPlayer is happening and location is Death and the player does not carry Tokens.
When SecondPlayer begins:
Now the player is Sally.
When SecondPlayer ends:
say "[italic type]Player 3 turn[roman type]".

ThirdPlayer is a recurring scene. 
ThirdPlayer begins when SecondPlayer ends happily. 
ThirdPlayer begins when SecondPlayer ends deadly.
ThirdPlayer ends happily when ThirdPlayer is happening and location is not Death.
ThirdPlayer ends deadly when ThirdPlayer is happening and  location is Death and the player does carry Tokens.
ThirdPlayer ends sadly when ThirdPlayer is happening and location is Death and the player does not carry Tokens.
When ThirdPlayer begins:
Now the player is Bob.
When ThirdPlayer ends:
say "[italic type]Player 1 turn[roman type]".

FirstPlayer begins when ThirdPlayer ends happily.
FirstPlayer begins when ThirdPlayer ends deadly.

P1Survival is a recurring scene. 
P1Survival ends happily when P1Survival is happening and location is not Death.
P1Survival ends deadly when P1Survival is happening and  location is Death and the player does carry Tokens.
P1Survival ends sadly when P1Survival is happening and location is Death and the player does not carry Tokens.
When P1Survival begins:
Now the player is Joku.
When P1Survival ends:
say "[italic type]Player 3 turn[roman type]".

P3Survival is a recurring scene. 
P3Survival begins when SecondPlayer ends sadly.
P3Survival begins when P1Survival ends happily. 
P3Survival begins when P1Survival ends deadly.
P3Survival ends happily when P3Survival is happening and location is not Death.
P3Survival ends deadly when P3Survival is happening and  location is Death and the player does carry Tokens.
P3Survival ends sadly when P3Survival is happening and location is Death and the player does not carry Tokens.
When P3Survival begins:
Now the player is Bob.
When P3Survival ends:
say "[italic type]Player 1 turn[roman type]".

P1Survival begins when P3Survival ends happily.
P1Survival begins when P3Survival ends deadly. 

UNOLIVES is a recurring scene. 
UNOLIVES begins when ThirdPlayer ends sadly.
UNOLIVES ends happily when UNOLIVES is happening and location is not Death.
UNOLIVES ends deadly when UNOLIVES is happening and  location is Death and the player does carry Tokens.
UNOLIVES ends sadly when UNOLIVES is happening and location is Death and the player does not carry Tokens.
When UNOLIVES begins:
Now the player is Joku.
When UNOLIVES ends:
say "[italic type]Player 2 turn[roman type]".

P2Survival is a recurring scene. 
P2Survival begins when UNOLIVES ends happily. 
P2Survival begins when UNOLIVES ends deadly.
P2Survival ends happily when P2Survival is happening and location is not Death.
P2Survival ends deadly when P2Survival is happening and  location is Death and the player does carry Tokens.
P2Survival ends sadly when P2Survival is happening and location is Death and the player does not carry Tokens.
When P2Survival begins:
Now the player is Bob.
When P2Survival ends:
say "[italic type]Player 1 turn[roman type]".

UNOLIVES begins when P2Survival ends happily. 
UNOLIVES begins when P2Survival ends deadly.

DOSLIVES is a recurring scene. 
DOSLIVES begins when FirstPlayer ends sadly.
DOSLIVES ends happily when DOSLIVES is happening and location is not Death.
DOSLIVES ends deadly when DOSLIVES is happening and  location is Death and the player does carry Tokens.
DOSLIVES ends sadly when DOSLIVES is happening and location is Death and the player does not carry Tokens.
When DOSLIVES begins:
Now the player is Joku.
When DOSLIVES ends:
say "[italic type]Player 3 turn[roman type]".

TRESLIVES is a recurring scene.
TRESLIVES begins when DOSLIVES ends happily. 
TRESLIVES begins when DOSLIVES ends deadly.
TRESLIVES ends happily when TRESLIVES is happening and location is not Death.
TRESLIVES ends deadly when TRESLIVES is happening and  location is Death and the player does carry Tokens.
TRESLIVES ends sadly when TRESLIVES is happening and location is Death and the player does not carry Tokens.
When TRESLIVES begins:
Now the player is Bob.
When TRESLIVES ends:
say "[italic type]Player 2 turn[roman type]".

DOSLIVES begins when TRESLIVES ends happily. 
DOSLIVES begins when TRESLIVES ends deadly.

P1Alive is a scene. 
P1Alive begins when P2Survival ends sadly.
P1Alive begins when P3Survival ends sadly.
P1Alive ends happily when P1Alive is happening and location is not Death.
P1Alive ends deadly when P1Alive is happening and  location is Death and the player does carry Tokens.
P1Alive ends sadly when P1Alive is happening and  location is Death and the player does not carry Tokens.
When P1Alive begins:
Now the player is Joku.
When P1Alive ends:
say "[italic type]Last surviving team member![roman type]".

P2Alive is a scene. 
P2Alive begins when TRESLIVES ends sadly. 
P2Alive begins when UNOLIVES ends sadly. 
P2Alive ends happily when P2Alive is happening and location is not Death.
P2Alive ends deadly when P2Alive is happening and  location is Death and the player does carry Tokens.
P2Alive ends sadly when P2Alive is happening and location is Death and the player does not carry Tokens.
When P2Alive begins:
Now the player is Sally.
When P2Alive ends:
say "[italic type]Last surviving team member![roman type]"

P3Alive is a scene. 
P3Alive begins when P1Survival ends sadly. 
P3Alive begins when DOSLIVES ends sadly. 
P3Alive ends happily when P3Alive is happening and location is not Death.
P3Alive ends deadly when P3Alive is happening and  location is Death and the player does carry Tokens.
P3Alive ends sadly when P3Alive is happening and location is Death and the player does not carry Tokens.
When P3Alive begins:
Now the player is Bob.
When P3Alive ends:
say "[italic type]Last surviving team member![roman type]".

Checkpoint is a room.
Joku is in Lobby. Joku is carrying a blue sword and a Token.
Sally is in Attic. Sally is carrying a green sword, the orange shield, and a Token.
Bob is in Basement.  Bob is carrying a notebook, a pencil, an eraser, and a Token.

Lobby is south of Main Hall. "The building entrance. There is an exit to the north".
Start is down from Ready?. "Remember, work together! This is a co-op game.".
Main Hall is a room. "Nobody here but you. You notice an exit in all directions, but the only unlocked exits are east and south...".
Eastern Hallway is east of Main Hall. "You think this room is familiar, but don't know why. ".
Stair Flight is north of Eastern Hallway.
Attic is up from Stair Flight. "A dusty old attic.".
Basement is down from Stair Flight. "The lights flicker, and you can't help but notice the sickening smell.".
Vault is south of Basement. "Congratulations, you have reached the vault! But alas, part of the southern wall has crumbled away, revealing yet another room.". There are seven Tokens in the Vault.
Secret Room is south of Vault. "[if unvisited]You step cautiously into what seems to be a completely hidden room.  The Killer narrows his eyes and snarls at you. 'What do you want?' as he whips out his sword, ready for a fight. You respond, defensively lifting the shield, 'I am charged with protecting this. All I am doing is my duty.' The Killer stomps out and mutters, 'Just this once, I let you live. If you follow me, I won't make that mistake a second time.' You gasp as you realize that you just faced a member of the Katana-and lived to tell the tale. You look around and tremble at thinking of following the member into the western corridor.[end if]".
Ancient Corridor is west of Secret Room. "You muster up your courage and decide to pursue the evildoer anyway. You must get the Emerald back, even if it costs you your life."
Ancient Ruins is west of Ancient Corridor.
Pathway is north of Ancient Ruins.
Katana Headquarters is north of Pathway.
Storage Room is north of Basement. "You notice a ladder in a hole in the middle of the floor."
Makeshift Passage is down from Storage Room.
Death is a room. 

Killer is in the Katana headquarters. Killer is carrying a yellow glowing sword and a silver shield.

Instead of going south from the Vault while the orange shield is not carried:
		say "The Killer begins to growl.
		 Suddenly, he swipes his sword and cuts you in half. [line break][line break][line break][line break][bold type]   *** You have died ***[roman type][line break][line break][line break]";
move the player to Death, without printing a room description.

Instead of going nowhere from Death :
             say "Who do you think you are, a zombie?".

Rule for printing the name of Joku: say "Joku".
Rule for printing the name of Sally: say "Sally".
Rule for printing the name of Bob: say "Bob".

Yes, this is possible! What I tried was “has happened for three turns,” which turned out to give everyone two turns, for reasons that I don’t quite know.

If you want something more flexible you might well want to do something like Dizzydonut’s action points scheme though! The main thing is to make sure that your conditions won’t all be true at once, to keep the game from cycling through every scene at once.

(Sorry I didn’t see your shared example before I tried this!)

P1 is a recurring scene. P1 begins when play begins. P1 ends happily when P1 has happened for three turns and the location is not Dead. P1 ends tragically when P1 was happening and the location is Dead.

P2 is a recurring scene. P2 begins when P1 ends happily. P2 ends happily when P2 has happened for three turns and the location is not Dead. P2 ends tragically when P2 was happening and the location is Dead.

P3 is a recurring scene. P3 begins when P2 ends happily. P3 ends happily when P3 has happened for three turns and the location is not Dead. P3 ends tragically when P3 was happening and the location is Dead. 

P1 begins when P3 ends happily.

When P1 ends tragically:
	say "P1 carked it.";
	end the story.
	
When P2 ends tragically:
	say "P2 carked it.";
	end the story.
	
When P3 ends tragically:
	say "P3 carked it.";
	end the story.
	
When P1 begins:
	say "Starting P1."
	
When P2 begins:
	say "Starting P2."
	
When P3 begins:
	say "Starting P3."

Lab is a room. Dead is north of Lab. 

This will actually work the way that dizzydonut has it set up. “The player” isn’t a fixed object–it refers to whichever person in the game world is the player at that moment. Since this code is switching the player with “now the player is Bob” etc., when it adds 50 to the xp of the player, that 50 will get added to Bob’s xp; the other players won’t get it.

I edited the code tags into your post–you can put ``` on separate lines before or after the post to make a code block.

It looks like you have “does carry” in a few places and the compiler doesn’t like that–you have to change those to “carries.”

1 Like

Yes, I’ve been meaning to ask you how you’re actually making this a multiplayer game. At the moment I’ve been assuming that you’re talking about a “hot seat” arrangement, with each of the the three people grouped around the same pc, and the other two looking over the current player’s shoulders while s/he plays.

So in that case it’s ok to just say “increase the player’s xp by…” because each person in turn becomes “the player.”

If the system you’re using has the debugging tools installed, then one of them is a command called “showme”. If you type “showme jonus” then the game will print to screen a list of the settings, variables and so on attached to the object “jonus”. If you do that then you’ll see that the code I posted does actually change the AP of Jonus, Sally and Bob when each of them becomes the current player.

Yes, the first time the player is Jonus, he gets 6AP (because we can’t stop Inform from making that first “look” and it’s unfair to penalise that player for something not under his control. But the second and subsequent times it cycles around to that player, he’ll only get 5AP the same as everyone else.

I couldn’t get your “For Future Examples” code to compile. Are you able to have multiple stories in progress at the same time on Playfic? If you are, then I’d start a new story and try to fix that code using the code posted here as exemplars.

Don’t be worried about taking some time to sit back, think things out and decide how you want your game to work. Have a look at the code that’s been posted and mess around with it. Change some things in it and see how it breaks it, so that you can understand why, for example “when play begins” works, but “when play began” doesn’t. Change the things you don’t like, and try to add things you do like.

There’s no point us rushing ahead posting code and leaving you behind. That’s not the idea here. Coding is not some period of drudgery intervening between you now, and your awesome game in the future. Coding is challenging, frustrating (God! Now there’s an understatement!) and the passport to many a lost weekend, but above all, it’s FUN.

The idea is to help you make your game. So learn things at your own pace, and don’t worry – when you get stuck, we’ll be here. When you seem to be going round and round in circles, we’ll sympathise. When you tell us about sitting bolt upright in bed with a good idea, we’ll chuckle, and know what you mean. Making a game is a labor of love, and the more you do yourself, the more you’ll love it.

1 Like

@Dizzydonut @matt_weiner I am leaning toward combining both of those, perhaps, but i’m not for sure. I’ve had a lot of schoolwork to get done (still not done, but at least a lot of it is), so that’s why I have not had any time yet to test anything. As for not seeing the example I posted, thanks for the formatting and honestly, like I mentioned earlier, you don’t have to use it if you don’t want to. But if it helps that we’re using the same one, go ahead and use it. It’s actually going to be the template that I release when I release the game so people have a file they can edit instead of tinkering with Explorus, even though Explorus will be open source.

That’s good to know. Makes things easier lol

Is it ok when the code is “does not carry”?

Yeah, pretty much. Feel free to ask me anything :smile: :smiley: The command “showme” does work, so i’m assuming debugging tools are installed but idk for sure. So will a new scene need to be made for the first player’s turn or does it automatically correct itself in that aspect?

That’s odd. It compiles on Playfic-but then again, you guys mentioned it’s a little outdated there. Go ahead and modify your copy so it compiles if you want. You don’t have to if you don’t want, just to whatever’s easiest for you. And yes, I can have several stories. In fact, I originally was going to release a “Basic” and an “Advanced” templates, but now I changed my mind to only releasing one. So I could easily change one of them for this.

If you guys at any point in time want to use any of the code I’ve posted or ideas or anything in your games, please don’t think about it-just go ahead and DO IT! Lol I don’t care whether my stuff gets used by someone reading this or posting a reply to it. After all, if and when Explorus gets finished, It’s going to be released (along with the template we are making right now!) open source. I’ll get back to you guys hopefully in the next few days. My internet just went down and came back up, so I think I’m going to try to back off of the Interwebs for just a day or two.

I will let you know what happens when I test out the code, any new ideas I may have gotten, and I’ll try to test the ideas out before posting, but no gaurentee.

Until I come back, Fare Thee Well, Shoveled Knights!

:forehead smack: Of course, that’s why.

Glad you’re thinking of the hot-seat system; I’m not sure it would be possible to hack inform to manage any other way.

Okay, well I’ll leave you to your studies.

Catch you later.

1 Like

It is in fact possible! Look at Guncho, which is basically a multiplayer I7 platform (which runs the story file on every player’s computer simultaneously, with a custom interpreter that sends the actions of one player to be executed by NPCs for the others).

Hmmm, perhaps the sequel game could made in this be. But first, I shall finish schoolwork and beating Shovel Knight: Shovel of Hope before investigating. I have 1 and 1/2 levels left! I’m planning on soon creating a new topic that will be for all areas of development of Explorus-but that won’t be created until after we get this scene thing fixed-which we may or may not have figured out. I have not yet tested the code, so we might have it fixed. I’ll give an update in a few days. Until then,
Fare Thee Well, Shoveled Knights!

Hi everyone! I’m back, refreshed, and superexcited to tell you what is about to happen!
@Draconis @Dizzydonut @matt_weiner @HanonO
I am back but alas sadly the order of No Quarter is still at large! I made it to the boss rush and have beaten 5 of them with 6 hits left on the 6th… and died. So close!
Ok, now back to what we’ve been posting like crazy about! I have tested the solutions, and guess what?! Let’s celeberate, cause not only have we, ladies and gentlemen, have found a solution but I also found a cool way to add the Experiance and Action Point count on the status bar as well as the list of living teammembers aka all alive players. I may or may not change my mind and add health in/replace the teammember list with health-but that is a topic for some other time. Side Note I’ve noticed an unusal side effect that has happened, the term that comes to my mind is “sticky”. Idk if that’ the right term but the side effect does not break the game and I think makes the game even more interesting. Ask me if you want to know what this “side effect” I’ve discovered is.

It has been fun and wonderful to work with y’all to figure this problem out. In case you were wondering what I’ve done, I’ll go ahead and give ya the code! And although this template doesn’t include it, be rest assured the Fishscale Armor (if you’re fine with it) will return in Explorus. It gave me some really great ideas, so thank you for that! After I looked at Kerkerkruip, it has also given me some cool ideas for potential ways to set up some boss fights (whether or not I choose to give players health). After reading this, please post your “Vote” of sorts on what course of action you personally would like to see Explorus go. That will be something I will start doing whenever I start the new topic/thread as well, is voting posts lol.

"The Emerald and the Katana" by Darth Sauron

The story headline is "A multiplayer interactive fiction "

use no scoring. use undo prevention.  use brief room descriptions. 

Every person has a number called XP. The XP of a person is usually 0.
After entering the Vault: increase the XP of the player by 50.

Every person has a number called AP. The AP of a person is usually 5.
After doing something:
	decrease the AP of the player by 1.

When play begins: now the command prompt is "Action:";
now the left hand status line is "Action Points:[the AP of the player]    
Team {Joku Sally Bob}  Experience:[the XP of the player]";
now the right hand status line is "Time:[time of day]";
say “This was made using [italic type]Inform 7[roman type], without needing any extensions. [bold type]No extensions[roman type] have been used to create this game.”.

Check saving the game: say "That's not a verb I recognise."; stop the action.

Check restoring the game: say "[line break][italic type][bold type]Finding Checkpoint...[roman type][line break]"; now the player is in Vault; stop the action.

Check restoring the game when the location is Death: say "[line break][line break][bold type]HINT  [roman type]Eat a Token to use a life.[line break][line break]"; stop the action.

A Token is a kind of thing. Tokens are edible. 
After eating a Token in Death:  say "[line break][bold type][italic type]Respawning...[roman type][line break]"; move the player to a random room in Gameworld.
Before eating a Token in Gameworld: say "Not a wise time to eat this It'd be a waste of your life."; stop the action.
Check taking a Token: say "[bold type]You gained a life![roman type]".

Every turn, if somebody is in an adjacent room (called the Hiding Place), say "You hear distant breathing from the [the Hiding Place]."

Ready? is a room.  description is  "Welcome to the game. Before you play, it is recommended to find  two friends to play alongside you. RESTORE has been reprogrammed to allow for checkpoints. When ready, climb down into the game world." 

Gameworld is a region. Basement, Lobby, Room B, Room C, Room 1, Vault, and Secret Room are in Gameworld.

When play begins:
    choose row with a final response rule of immediately restore saved game rule in the Table of Final Question Options; 
    blank out the final question wording entry;
    choose row with a final response rule of immediately undo rule in the Table of Final Question Options; 
    blank out the final question wording entry.

every turn when the location is Death: if three people are visible, end the story saying "Game Over".

FirstPlayer is a recurring scene. FirstPlayer begins when play begins.

[He starts off with one ap extra because the game does an automatic "look" on move one]
When FirstPlayer begins:
	Now the player is Joku;
	if the turn count is 1:
		now the ap of joku is 6;
	else:
		now the ap of joku is 5;

When FirstPlayer ends:
	say “[italic type]Player 2 turn[roman type]”.

FirstPlayer ends happily when FirstPlayer is happening and location is not Death and the ap of Joku is less than 1.
FirstPlayer ends sadly when FirstPlayer is happening and location is Death and the player does not carry Tokens.
FirstPlayer ends deadly when FirstPlayer is happening and  location is Death and the player does carry Tokens and the ap of Joku is less than 1.

SecondPlayer is a recurring scene. 
SecondPlayer begins when FirstPlayer ends happily. 
SecondPlayer begins when FirstPlayer ends deadly.
SecondPlayer ends happily when SecondPlayer is happening and location is not Death and the ap of Sally is less than 1.
SecondPlayer ends deadly when SecondPlayer is happening and  location is Death and the player does carry Tokens and the ap of Sally is less than 1.
SecondPlayer ends sadly when SecondPlayer is happening and location is Death and the player does not carry Tokens.
When SecondPlayer begins:
Now the player is Sally;
	now the ap of sally is 5.
When SecondPlayer ends:
say "[italic type]Player 3 turn[roman type]".

ThirdPlayer is a recurring scene. 
ThirdPlayer begins when SecondPlayer ends happily. 
ThirdPlayer begins when SecondPlayer ends deadly.
ThirdPlayer ends happily when ThirdPlayer is happening and location is not Death and the ap of Bob is less than 1.
ThirdPlayer ends deadly when ThirdPlayer is happening and  location is Death and the player does carry Tokens and the ap of Bob is less than 1.
ThirdPlayer ends sadly when ThirdPlayer is happening and location is Death and the player does not carry Tokens.
When ThirdPlayer begins:
Now the player is Bob;
	Now the ap of bob is 5.
When ThirdPlayer ends:
say "[italic type]Player 1 turn[roman type]".

FirstPlayer begins when ThirdPlayer ends happily.
FirstPlayer begins when ThirdPlayer ends deadly.

P1Survival is a recurring scene. 
P1Survival ends happily when P1Survival is happening and location is not Death and the ap of Joku is less than 1.
P1Survival ends deadly when P1Survival is happening and  location is Death and the player does carry Tokens and the ap of Joku is less than 1.
P1Survival ends sadly when P1Survival is happening and location is Death and the player does not carry Tokens.
When P1Survival begins:
Now the player is Joku;
now the ap of joku is 5.
When P1Survival ends:
say "[italic type]Player 3 turn[roman type]".

P3Survival is a recurring scene. 
P3Survival begins when SecondPlayer ends sadly.
P3Survival begins when P1Survival ends happily. 
P3Survival begins when P1Survival ends deadly.
P3Survival ends happily when P3Survival is happening and location is not Death and the ap of Bob is less than 1.
P3Survival ends deadly when P3Survival is happening and  location is Death and the player carries Tokens and location is not Death and the ap of Bob is less than 1.
P3Survival ends sadly when P3Survival is happening and location is Death and the player does not carry Tokens.
When P3Survival begins:
Now the player is Bob;
	Now the ap of bob is 5;
now the left hand status line is "Action Points:[the AP of the player]    
Team {Joku Bob}  Experience:[the XP of the player]".
When P3Survival ends:
say "[italic type]Player 1 turn[roman type]".

P1Survival begins when P3Survival ends happily.
P1Survival begins when P3Survival ends deadly. 

UNOLIVES is a recurring scene. 
UNOLIVES begins when ThirdPlayer ends sadly.
UNOLIVES ends happily when UNOLIVES is happening and location is not Death and the ap of Joku is less than 1.
UNOLIVES ends deadly when UNOLIVES is happening and  location is Death and the player does carry Tokens and the ap of Joku is less than 1.
UNOLIVES ends sadly when UNOLIVES is happening and location is Death and the player does not carry Tokens.
When UNOLIVES begins:
Now the player is Joku;
now the ap of joku is 5;
now the left hand status line is "Action Points:[the AP of the player]    
Team {Joku Sally}  Experience:[the XP of the player]".
When UNOLIVES ends:
say "[italic type]Player 2 turn[roman type]".

P2Survival is a recurring scene. 
P2Survival begins when UNOLIVES ends happily. 
P2Survival begins when UNOLIVES ends deadly.
P2Survival ends happily when P2Survival is happening and location is not Death and the ap of Sally is less than 1.
P2Survival ends deadly when P2Survival is happening and  location is Death and the player does carry Tokens and the ap of Sally is less than 1.
P2Survival ends sadly when P2Survival is happening and location is Death and the player does not carry Tokens.
When P2Survival begins:
Now the player is Sally;
now the ap of sally is 5;

When P2Survival ends:
say "[italic type]Player 1 turn[roman type]".

UNOLIVES begins when P2Survival ends happily. 
UNOLIVES begins when P2Survival ends deadly.

DOSLIVES is a recurring scene. 
DOSLIVES begins when FirstPlayer ends sadly.
DOSLIVES ends happily when DOSLIVES is happening and location is not Death and the ap of Sally is less than 1.
DOSLIVES ends deadly when DOSLIVES is happening and  location is Death and the player does carry Tokens and the ap of Sally is less than 1.
DOSLIVES ends sadly when DOSLIVES is happening and location is Death and the player does not carry Tokens.
When DOSLIVES begins:
Now the player is Sally;
now the ap of sally is 5;
now the left hand status line is "Action Points:[the AP of the player]    
Team {Sally Bob}  Experience:[the XP of the player]".
When DOSLIVES ends:
say "[italic type]Player 3 turn[roman type]".

TRESLIVES is a recurring scene.
TRESLIVES begins when DOSLIVES ends happily. 
TRESLIVES begins when DOSLIVES ends deadly.
TRESLIVES ends happily when TRESLIVES is happening and location is not Death and the ap of Bob is less than 1.
TRESLIVES ends deadly when TRESLIVES is happening and  location is Death and the player does carry Tokens and the ap of Bob is less than 1.
TRESLIVES ends sadly when TRESLIVES is happening and location is Death and the player does not carry Tokens.
When TRESLIVES begins:
Now the player is Bob;
	Now the ap of bob is 5.
When TRESLIVES ends:
say "[italic type]Player 2 turn[roman type]".

DOSLIVES begins when TRESLIVES ends happily. 
DOSLIVES begins when TRESLIVES ends deadly.

P1Alive is a scene. 
P1Alive begins when P2Survival ends sadly.
P1Alive begins when P3Survival ends sadly.
P1Alive ends happily when P1Alive is happening and location is not Death and the ap of Joku is less than 1.
P1Alive ends deadly when P1Alive is happening and  location is Death and the player does carry Tokens and the ap of Joku is less than 1.
P1Alive ends sadly when P1Alive is happening and  location is Death and the player does not carry Tokens.
When P1Alive begins:
Now the player is Joku;
now the ap of Joku is 5;
now the left hand status line is "Action Points:Infinite            
Team {Joku}  Experience:[the XP of the player]".
When P1Alive ends:
say "[italic type]Last surviving team member![roman type]".

P2Alive is a scene. 
P2Alive begins when TRESLIVES ends sadly. 
P2Alive begins when UNOLIVES ends sadly. 
P2Alive ends happily when P2Alive is happening and location is not Death and the ap of Sally is less than 1.
P2Alive ends deadly when P2Alive is happening and  location is Death and the player does carry Tokens and the ap of Sally is less than 1.
P2Alive ends sadly when P2Alive is happening and location is Death and the player does not carry Tokens.
When P2Alive begins:
Now the player is Sally;
now the ap of sally is 5;
now the left hand status line is "Action Points:Infinite          
Team {Sally}  Experience:[the XP of the player]".
When P2Alive ends:
say "[italic type]Last surviving team member![roman type]"

P3Alive is a scene. 
P3Alive begins when P1Survival ends sadly. 
P3Alive begins when DOSLIVES ends sadly. 
P3Alive ends happily when P3Alive is happening and location is not Death and the ap of Bob is less than 1.
P3Alive ends deadly when P3Alive is happening and  location is Death and the player does carry Tokens and the ap of Bob is less than 1.
P3Alive ends sadly when P3Alive is happening and location is Death and the player does not carry Tokens.
When P3Alive begins:
Now the player is Bob;
	Now the ap of bob is 5;
now the left hand status line is "Action Points:Infinite                  
Team {Bob}  Experience:[the XP of the player]".
When P3Alive ends:
say "[italic type]Last surviving team member![roman type]".

Checkpoint is a room.
Joku is in Lobby. Joku is carrying a blue sword and a Token.
Sally is in Attic. Sally is carrying a green sword, the orange shield, and a Token.
Bob is in Basement.  Bob is carrying a notebook, a pencil, an eraser, and a Token.

Lobby is south of Main Hall. "The building entrance. There is an exit to the north".
Start is down from Ready?. "Remember, work together! This is a co-op game.".
Main Hall is a room. "Nobody here but you. You notice an exit in all directions, but the only unlocked exits are east and south...".
Eastern Hallway is east of Main Hall. "You think this room is familiar, but don't know why. ".
Stair Flight is north of Eastern Hallway.
Attic is up from Stair Flight. "A dusty old attic.".
Basement is down from Stair Flight. "The lights flicker, and you can't help but notice the sickening smell.".
Vault is south of Basement. "Congratulations, you have reached the vault! But alas, part of the southern wall has crumbled away, revealing yet another room.". There are seven Tokens in the Vault.
Secret Room is south of Vault. "[if unvisited]You step cautiously into what seems to be a completely hidden room.  The Killer narrows his eyes and snarls at you. 'What do you want?' as he whips out his sword, ready for a fight. You respond, defensively lifting the shield, 'I am charged with protecting this. All I am doing is my duty.' The Killer stomps out and mutters, 'Just this once, I let you live. If you follow me, I won't make that mistake a second time.' You gasp as you realize that you just faced a member of the Katana-and lived to tell the tale. You look around and tremble at thinking of following the member into the western corridor.[end if]".
Ancient Corridor is west of Secret Room. "You muster up your courage and decide to pursue the evildoer anyway. You must get the Emerald back, even if it costs you your life."
Ancient Ruins is west of Ancient Corridor.
Pathway is north of Ancient Ruins.
Katana Headquarters is north of Pathway.
Storage Room is north of Basement. "You notice a ladder in a hole in the middle of the floor."
Makeshift Passage is down from Storage Room.
Death is a room. 

Killer is in the Katana headquarters. Killer is carrying a yellow glowing sword and a silver shield.

Instead of going south from the Vault while the orange shield is not carried:
		say "The Killer begins to growl.
		 Suddenly, he swipes his sword and cuts you in half. [line break][line break][line break][line break][bold type]   *** You have died ***[roman type][line break][line break][line break]";
move the player to Death, without printing a room description.

Instead of going nowhere from Death :
             say "Who do you think you are, a zombie?".

Rule for printing the name of Joku: say "Joku".
Rule for printing the name of Sally: say "Sally".
Rule for printing the name of Bob: say "Bob".

Considering replacing the 3 visible in death rule with adding if any of the last scenes end in death and player has no tokens ending the story with game over. possibly have the scene end when play ends or something, idk.
I won’t be on for awhile, because I will making the official GDD for the game before I continue coding it. The GDD may take awhile, so I don’t know when I will be back. But rest assured, You’ll all know when I return because I will start my third (and possibly final) Topic people can post on: Explorus Development Problems. Most likely what it will start out with is trying to figure out how to add more checkpoints to the game and get RESTORE to work with them, but I can’t guarantee much of anything at this point. As for when a player respawning after using a life, I decided to keep it random to scatter the players a little and introduce a little more variety in gameplay.

So in case you weren’t sure what you were voting on (I know, I gave a gigantic post but it’s probably my 2nd to last one of this thread), I would like to know your opinions on:
A) Should I take some time to figure out how to implement Player Health?
B) What should XP leveling up give players? (more AP, inventory space, health, another life token, a stat system combining all or some of those, etc. whatever you come with!)
C) Keep the team member list on status line or get rid of it?
D) What other features would you like to see?

Hi there Darth Sauron :slight_smile:

Looks like you’ve done a great job putting it all together. I did have a couple of thoughts:

  • you said you intended to make the final game a 5 player affair. I wondered if 3 players might not actually be better. Firstly it’s much easier to get two buddies to come visit at the same time than it is four buddies. (Not that anyone’s going visiting for a while, but anyhow.) Second, it means that the wait for any player between turns is only two, rather than four people. Less chance of people getting bored waiting for their turn.

  • if the players are going to end up scattered after one of them dies (because they’ll respawn in a semi-random location) then it would make sense for them all to make an automatic “look” at the beginning of their turn. (Which would be no biggie; just give them all 6 action points at the start rather than 5.)

Some things to think about:

At the moment, all actions cost the same amount of action points. Do you want to make some actions more “expensive” than others?

At the moment, the current player can do five things (if they attempt something and the action fails, then it doesn’t get subtracted from their action points.) Do you want to offer the current player the option of ending their turn before they’ve spent all their action points?

When the players are exploring separately, this works quite nicely: when a player finds some loot, he must choose between putting it on and exploring in the hope of finding better stuff. Would it be worth making that more marked, so that the first time a player picks up a new weapon she must practice with it? (in other words, new weapons have a malus that reduces with usage.)

When players meet, must they fight? Or may the “discovered” player flee at the cost of allowing the other player a free hit?

I remember playing a strategy game which distinguished between moving and attacking. A player might move twice, or move and attack, or simply attack, but attacking ended their turn. It was a graphical (hex based) game, so (this being a text game, and text not being particularly good at the niceties of distance and orientation) you’d have to simplify: attacking head on, or attempting to flank the other player and then attacking would probably be as complex as you could get. But you might be able to vary the locations – narrow passages would prevent flanking, or climbing onto a table would cost action points but offer a bonus, or something.

How about starting the game off with the Boss telling them that “Any may pass this portal to the lands of the living, provided they can pay me. The cost is two of these gold tokens.” And he then hands the player one token each. Now the players have a reason to kill each other – to take their token. By requiring only two tokens as the payment, maybe the players will try two of them teaming up to take down the third. But that would still mean that only one of them can leave…

The game then distributes the loot randomly in the dungeon, and the Boss teleports each player to a separate random spot.

Just some thoughts.

I think that player health is going to be necessary; I can’t think of another mechanic for allowing a player to sustain a hit or hits long enough for there to be an interesting fight. But it’s just another number attached to a player and a bit more book-keeping. If the gold token heals the player once then it also makes for another dilemma – does an injured player use it (and thereby have to take the token from BOTH the other players) or hold on to it so they only have to win one fight?

If you don’t want to set up an XP system, you might simply build the advantages into the loot: some armor is good against swords but not spears, while other armor is good against both but is very heavy (movement/AP penalty.) The throwing ax means you can attack from a distance (i.e. a free attack) but once you’ve used it you’re unarmed, so you’ll be in trouble unless you can escape somehow. Always try to balance an advantage with a disadvantage so that there’s no automatic “win all” strategy. If you can, try to arrange things like the “rock paper scissors” game, so that the “best choice” varies depending on what the other players choose to do.

But most of all: Have fun!

1 Like