Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Locked thread
Fuschia tude
Dec 26, 2004

THUNDERDOME LOSER 2019

Potsticker posted:

I'm trying to remember the hoops I had to go through to do something simple like keep track of the number of times a player did something and then give a different room description for each value. I do remember trying different things like attempting to just make multiple rooms to ferry the player through or using some sort of clock/timing function? All I really remember is that it was a spectacular failure.

Doing one specific thing?

code:
The jump count is a number that varies.

After jumping:
	increment the jump count;
	continue the action.

Trampoline is a room. "[if jump count is 0]Nothing happens.[otherwise if jump count is 1]This happens.[otherwise if jump count is 2]That happens.[otherwise if jump count is 3]Those happen.[otherwise]Everything happened.[end if]"

Adbot
ADBOT LOVES YOU

Fuschia tude
Dec 26, 2004

THUNDERDOME LOSER 2019

Potsticker posted:

Well, I went to check to see if I could find the code on dropbox for specifics and almost couldn't find it.

This is a Mastermind-type puzzle where you have to figure out the correct "code" via superpower usage. I have no idea if this code runs or not. I've trimmed and snipped a bit so this isn't so long

This last part here is ridiculous, since for some reason I couldn't figure out how to more gracefully detect how many chances the player had left so this code is repeated for each value of status. And then at the end it either moves the player into a room for the victory text or a different one for failure.

Um. Yeah, any* time you feel the need to end-run around the parser, you know you're heading down the wrong path in I7.

You probably want to model the superpowers as their own class of value (think enums from other languages). And then you would define a new kind of action for using them.

The rest of this is setting up the Mastermind implementation and limiting the actions in this room to only using superpowers. (Actions out-of-world like save and restore are automatically excluded from such rules, so (unless you break the parser...) you don't need to special-case them yourself.)

code:
Section 1 - Definitions

A superpower is a kind of value.
The superpowers are str-power, eye-power, fly-power, ray-power.

Understand "strength/punch/superstrength/1/one" as str-power.
Understand "heat/lazers/heatvision/eyelazers/2/two" as eye-power.
Understand "fly/flight/flying/3/three" as fly-power.
Understand "x-ray/xray/supervision/x-rayvision/xrayvision/4/Four" as ray-power.

Using power is an action applying to one value. 
Understand "use [a superpower]" as using power. Understand "[a superpower]" as using power.
	

Section 2 - Introduction

When play begins:
	say "[bold type]Introduction[line break]";
	say "[roman type]snip. [line break][line break]".

Section 3 - Challenge Room

Challenge Room is a room. [It is private.]

Instead of doing anything other than looking or using power when the location is Challenge Room:
	say "Pick a Power to Use."

The challenge list is a list of superpowers that varies.

When play begins:
	now the challenge list is the list of all superpowers;
	sort the challenge list in random order;
	say the challenge list.
	
The success count is initially 0.

Instead of using power when the location is Challenge Room:
	if the superpower understood is entry (success count + 1) of the challenge list:
		say "Succeeded!";
		increment success count;
		if success count is 4:
			end the story finally saying "You win!";
	otherwise:
		say "Failed!";
		now the success count is 0.
Now you can write rules like "Report using power eye-power:" and so on.

*Well, almost any time. Maybe not if it involves running regex on the user's command or replacing the parser with a choice-based menu system, say. But then there are probably extensions to handle that for you.

Fuschia tude fucked around with this message at 00:52 on Apr 29, 2016

Fuschia tude
Dec 26, 2004

THUNDERDOME LOSER 2019

Potsticker posted:

Yeah, I shouldn't have been using Inform for that sort of game at all, but my friend was only familiar with it and he wanted to collaborate with him doing most of the writing. It was doomed to fail.

But, it looks like here:
code:

When play begins:
	now the challenge list is the list of all superpowers;
	sort the challenge list in random order;
	say the challenge list.

Is only going to make a "code" where each power can only be the solution once each. Unless I'm misunderstanding how it works?

No, that's right. It's been like twenty years since I've played Mastermind, I forgot how it works :v:

So, to allow duplicate powers:

code:
When play begins:
	repeat with x running from 1 to 4:
		add a random superpower to the challenge list;
	say the challenge list.

Fuschia tude
Dec 26, 2004

THUNDERDOME LOSER 2019

SimonChris posted:

Unfortunately, due to the way Inform saves work, I cannot make any changes to the game logic whatsoever without breaking all existing savegames. I am obviously not willing to do that unless there is a very serious bug, so I will just have to make a note of your suggestions until then. If I ever make another Inform game, I will probably implement my own checkpoint based save system.

Oh hey, you made PataNoir? We actually played that at the local IF meetup a few months ago.

Fuschia tude
Dec 26, 2004

THUNDERDOME LOSER 2019

SimonChris posted:

Cool, what did you think? I'm still not entirely happy with all of the puzzles.

I'm really, really bad at puzzle games. Our meetup is more like a book club, we talk about what we played for the month, so I mostly read playthroughs that month. Jacq's transcript seemed to go pretty well, from what I remember? :sweatdrop:

Fuschia tude
Dec 26, 2004

THUNDERDOME LOSER 2019

Milky Moor posted:

I can't believe that they say these are the guidelines when Heroes Rise is maybe their flagship series - a game where you spend no real time superheroing, where you make choices about how you feel and not how you're going to act, and where NPCs do almost all of the heavy-lifting and where many of the choices you do make are 'gotcha' type things.

For what it's worth, you're talking about a game that's over four years old and this document was just posted. I started writing for them years ago and back then I never saw most of this.

Fuschia tude
Dec 26, 2004

THUNDERDOME LOSER 2019

Megazver posted:

The most funded work of IF, Hadean Lands by Andrew Plotkin, asked for $8k and got $31k and that was back during the early Kickstarter boom and Plotkin is, like, one of the biggest names in the hobby, has been active for two decades and spent most of them releasing games and, more importantly, creating tools that everyone else uses for free. Most other purely text-based projects got much, much less.

You're significantly understating this. He did that in 2010, 16 months before even Double Fine Adventure kickstarted the Kickstarter craze.

Fuschia tude
Dec 26, 2004

THUNDERDOME LOSER 2019

Megazver posted:

IFComp 2017 started. 80 games have been submitted, a new record for the contest; a fund has been set up for prizes and got over $6000 donations; and you can send anonymous feedback to authors this year.

Eat Me is really well-written. It's also really gross, in so many different ways. It's actually impressive in the scope of its depravity.

Adbot
ADBOT LOVES YOU

Fuschia tude
Dec 26, 2004

THUNDERDOME LOSER 2019


Oh yeah, I tested the winner. The author is part of my local IF meetup.

  • Locked thread