Group project

This conversation began here: http://textadventures.co.uk/forum/general/topic/il9ljpwzku6e90zqiymiwq/what-is-wrong-with-me

I think we should all get together and make one, big, awesome game.

XanMag and The Pixie may be interested, depending upon details...

Here's a snippet from the original thread:


Yes, the '70's and '80's era Infocom games were great...
But the difference is that they were professional writers, maybe several...
One wrote the parser (like Quest)...
One wrote the program that ran the story with in the parser (The Quest script)
and one wrote the story (the Quest script writer)
And several play testers that made sure the game played well, and the story flowed well...
And they were paid to do this, and the better the story, the more sales it generated, and I'm sure, the team got bonuses for good games.

I propose a massive collaboration.

We could set up:

A) A shared account on this site, where anyone in the group can log in and edit the game.

or

B) A Github repository for the game, where we can all contribute and submit pull requests. (This would probably be more efficient.)

Each author could be in charge of one room in the game, or one NPC, or...

Well, we could do it however we wished.

Who are the authors I have in mind? Hmm... right off the bat, I'm thinking:

  • you (DarkLizerd)
  • The Pixie
  • XanMag
  • HegemonKhan
  • NecroDeath
  • maybe myself?

(I know: I left many people out, but you're invited , too! (Sorry. I'm new here!))

It would be fun to do, even if the game never saw the light of day! (I think we'd finish making it, though. And, if we did, it would be GOOD!)

So, what do you think?
Let's make a GAME, people!

Who all wants to play???


XanMag Jul 20, 2017 1:40 PM (edited)


^that would be fun if for no other reason to appease my sheer curiosity. I'm game!

There are so many options for creating a game this way and I think it might be a fun attempt and worth exploring.

To quote Hedley Lemarr - "My mind is aglow with whirling, transient nodes of thought careening through a cosmic vapor of invention."


Richard Headkid Jul 20, 2017 2:44 PM


Rock and roll! (And a nice quote, by the way!)

Here's my current plan (or lack thereof):

Step 1: I'm going to play the Xanadu games. (Downloaded them earlier. I only need to STOP PLAYING AROUND ON THE FORUM, then it's game o'clock!)

Step 2: Once we've determined who all will be involved, we should probably discuss the main story-line. (I usually just get an idea of what one person is doing/has done, then create their world, then drop the protagonists in and [expletive deleted] with them. This probably wouldn't work out very well with numerous writers, but, who knows? We'll vote on it!)

Step 3: TO BE ANNOUNCED


I've got a few ideas for basic premises.

One concerns a glitch in the game.

Here's a screenshot of the first appearance of said glitch during game-play in the game I'm currently porting to Quest:

Screenshot of the glitch in action


The other idea: you die at the beginning of the game, becoming a ghost. As a ghost, you can walk through walls and doors, but you can't pick anything up. You'll need an NPC to help you out! (More than one NPC, in all probability.)

One of the items in the game could be the PLOT DEVICE.

X PLOT DEVICE
The plot device has an opening, a flashback, a big action sequence, a denouement, etc...

(Okay... neither idea is spectacular, but


I've got a lot of GLITCHED in my head already:

If you want to fix the glitch, you're gonna need a little help from an NPC. I think the NPC should be The Pixie. (Pending Pix's approval, of course.)

>ask pix about glitch
"I believe it has something to do with the servers," grumbles The Pixie. "Come on! Let's go find MANOWAR! He's our only hope!"


The Pixie Jul 20, 2017 2:45 PM (edited) new


I would be interested. How involved I got would depend on the genre.

I would suggest getting a framework worked out, with game wide commands, functions and types. At least know what they are, if not properly implemented. Github might be best for that.

Then each author can build their own part of the world in their copy of that, with its own quests. If everyone puts their initials at the start of a name, it will avoid name conflicts. Once ready (and a deadline would be good), merge all the games together (either as libraries or just one big file).

Make allowances for anyone to drop out, because some will.


This is going to be fun!

the genre

Well, I've classified my current project as 'Spaghetti Western / Comedy / Science Fiction / Fantasy', so I'll just go with whatever pleases everyone else.

I would suggest getting a framework worked out, with game wide commands, functions and types. At least know what they are, if not properly implemented. Github might be best for that.

I second this motion.

Then each author can build their own part of the world in their copy of that, with its own quests. If everyone puts their initials at the start of a name, it will avoid name conflicts. Once ready (and a deadline would be good), merge all the games together (either as libraries or just one big file).

Multiple quests. A wide variety of puzzles. Multiple layers of story. Numerous outcomes...

Programmers catching each others' mistakes. Everyone learning from each other...

(I may not sleep due to excitement!)


PS

I'm not trying to run things or be in charge or whatever, by the way.

I'm happy just being involved!


Any light-hearted, good-natured genre is perfect for me. A little adventure. A little comedy.

As far as the story line goes, I would suggest some basic goal in the beginning and a very tentative end and let the details (the good stuff) develop as we progress with our parts of the project. Also, if we get a piece of a finished section from another writer it may force us to be creative to carry the story forward - which I love by the way!

Looking forward to hearing from those interested either through this thread or a PM. Happy contacts!


Okay, XanMag and I are on the same page. (In fact, I was just saved from typing most of that!)


Ideas/Thoughts

  • The Glitch
    Maybe you find a GLITCH in the game once in a while which acts as a bridge between the different rooms/scenes/parts/story-lines...

  • The Parser
    Maybe the parser is sort of an NPC, like your guide throughout the game.
    You can always talk to the parser, and the reply is printed in the TextInputBox.
    (And MAYBE the Parser ends up being an antagonist. Maybe it WAS just an NPC, stringing you along the whole time!)

  • The Artwork
    I can't draw stick figures, so I can be excluded from this.

  • Music
    I can play a LITTLE guitar and VERY LITTLE piano. (I can also play the full-sized versions of said instruments, but not very well.)

  • My Ideas and Thoughts
    They're all hit or miss. (Except for the ones in between.)
    Know this, though: I'm not sensitive at all. If my ideas are rubbish, we shall dispose of them accordingly!


A cursor blinks.
What do you think?
If you shall play, do set the plot!
'Tis this Quest of Questers not
the very thing which you have sought?

A doorway stands just to the north,
and it is closed and locked (of course).

The only other thing you see?
A GIANT, JEWEL-ENCRUSTED TREE!

> Enter your command right here, send it on through, and more text will appear!         


You are in an undisclosed location.
You can see Rex here.

>X REX
Error running script: No more rhyming! I MEAN IT!!!

You can enter HELP at any time for a little helpful information...


I've got a shitload of original music on soundcloud. Most of it is instrumental hip-hop rap stuff but I would be very comfortable to do appropriate music scores/sound effects for other genres as well.

The idea for the game will be the tricky part. And the most important. I'll offer some general ideas for the game after I've thought a bit. Have we established a genre?


Have we established a genre?

Not as of yet. We must find something Pix wants to dabble in, though!

Hrmm...

How about HORROR, but with no supernatural elements at all (including zombies!)?

Nah... Sounds too involved...

How about each room is like its own episode in a serial? Complete with cliffhanger?

That would bump the action up a notch each time someone else took over, and we could mix genres (ever so gently) that way.

I.e., a room called Public Domain:

You are in the Public Domain.

Everything here is filthy. (It's the second dirtiest place on the internet!) Papers, scrolls, and vinyl records are strewn all over the place.
You can see Sherlock, Zorro, and Alice here.

What would you like to do? HINT: You could SPEAK to someone...

Then, depending on who you choose to interact with, yadda yadda yadda, and blah blah blah...


I've got original music* on soundcloud. Most of it is instrumental hip-hop rap stuff but I would be very comfortable to do appropriate music scores/sound effects for other genres as well.

Ah... I have a few (attempts at) rap songs, too. Switched to rock, then blues for a bit. I'm currently studying up on classical, starting with CLASSICO by Tenacious D!

I also know a couple of other people who can play various instruments.

Plus, the guy I borrow Ralph (the Nifty Penguin Character) from can draw fairly well. (The only problem is getting him in the proper drunken state to do so. Not to lucid, but not too groggy...footnote 1)


This is already fun!
(I've written and deleted at least ten rooms already, one at a time (ha!). "Oh, this one's gonna be good! Yep... yep.... ah... DELETE!")


Just got word from NecroDeath. He's down to provide some puns! (Play The Bony King of Nowhere for samples of his witticisms.)


With the player switch capabilities, maybe it would be a neat idea to swap characters as we swap authors? Writer A could write a sub-plot from person A's perspective and writer B could see the writing and the story thus provided. At this point, writer B could pick up where writer A left off but from player B's perspective. The game could progress as the player at the keyboard solved puzzles or gathered info from multiple perspectives? Or the same story could be told from different perspectives? I could see this style as a murder mystery type game (like Clue). Just my initial thought.

Tomorrow's Project: Brainstorm and share potential ideas. =)


I am a "master" of ideas, Master of BASIC, but a novice with Quest.
The first thought on this project is that we do NOT come up with a duckbilled platypus...
But, Like I said, master of idea...
Like this one...
You have the "over world" (master set of rooms that connect to everything.)
(unfortunally, I'm seeing this as a graphic game, But only as a way to put all the pieces together)
From the World Map, the player can enter any of several "worlds", (each person's own world) with any theme.
This could be a hero's quest, All the worlds of time and space are colliding and this must be stopped.
You will be tasked to enter every world, and remove the out-of-place artifacts. and only be removing ALL of them, can the universe be saved.
The player can enter any world, but only get so far before they come to a block. But, in each world, they will find a key item that is needed to solve a problem in another world. But the key needs to be something that does not fit in the world it is found in.
IE: You are in a medieval world, but find a 6 shooter. No one there can tell you anything about the object, even to the extent that some do not see it. (The 6-shooter came from the Wild West world, and is needed there to solve a problem. Maybe it belongs to Wild Bill and he needs because, according to history, it is the gun given to him which started his "claim to fame". Otherwise, he was just William Cody, farmer...)
In some worlds, the player could change. IE:
You enter through the portal and suddenly, everything towers above you. You look up at everything you used to look down on. It looks like you could be in a 1950's era kitchen. You can recognize everything, the table and chairs, the fridge and stove, even the giant yellow tabby sleeping on the pillow far across the room. Finally, your eyes complete their circuit of the room to the arched black hole you emerged from. Then your nose twitches and you recognize the unmistakable aroma of cheddar cheese! And you find yourself strolling towards the large wedge resting on a large wooden slab, ready for you to just go over and take it...
Now the player must fight the urge to go for the cheese... But, incase you missed it, the player is a mouse, hungry, and will be every time they enter this world...
Some inventory will be world dependent and cannot be removed from that world. (that will make the inventory process easer. ) Other item would be global and can enter any world.


So far, all of our ideas are very similar!

Here are 2 big questions:

  1. Can the game be rendered unwinnable? (If not, we lose challenge points, but gain... well, what would we gain? Respect? The knowledge that no one is out there, running around with no Babel fish and/or no screwdriver and/or toothbrush?)

  2. Can the player die?
    2b. If so, and since I bet there will be multiple characters to play as, will the scene simply change upon death as long as a playable character is still alive? (Will there be some sort of afterlife area? (If so, will John Belushi and Chris Farley and the gang be present and accounted for? (Fingers crossed!)))


Now, as far as the interconnectdedness of all the rooms/worlds/timelines is concerned:

Sounds like there will be time travel (at least of a sort)!

Oh... All the different ways to handle time travel!

Will there be paradoxes? Alternate 1985s? Can the player touch his or her self without negating their existences into each other's black holes or something somehow? (Like whatever the hell happened on Timecop? <shudders>)

If we know up front (or find out later) that the trip to the past is to make damn sure that a certain thing goes down (like maybe... oh, I don't know... having to kill off all the dinosaurs to secure our race's existence, maybe?), then I'd think any chance of a paradox would go right out the window. This sort of time-trip is what I think of as a 'roller-coaster' adventure. Exciting, sure, but your actions have little to no effect on anything until you do that ONE thing.

Now, if you're going back to PREVENT something from happening, here's my BASIC flow-chart:

10 EVENT A has transpired in the past.
20 EVENT B: You (somehow) go back and stop EVENT A from ever happening (for whatever reason).
30 After having stopped EVENT A from ever happening, EVENT B never took place.
40 Since EVENT B never took place, EVENT A was never stopped.
50 GOTO 10

Alternatively, I don't see going to the future being complicated at all:

10 EVENT 1: You want EVENT 2 to happen in the future.
20 You go make it happen, then return.
30 END

This is considering that your future self (or anyone else from the future) wasn't at all involved in your wanting to go to the future in the first place. E.g., your grandson comes back in time to tell you about some wild-eyed scientist that MUST BE DESTROYED. This, I believe, would fall under the first BASIC flow-chart because that's what the grandson from the future would be doing.

Also, can we have Mongols? I bet someone around here has some great Mongol side-story!


Any ideas (especially ones that seem nearly impossible to code) can be coded!

We've got the drive, the creativity, the blah blah, the other thing that makes you nod your head right now, that little voice inside your head saying, 'YEAH! YOU DAMN RIGHT!', and most importantly...

Have you all ever heard that using anti-perspirant could cause memory loss? Because...


Oh, look! A herring sandwich! I like herring sandwiches!*


What was I saying? Oh, yeah:

Good night, and have a pleasant tomorrow!


From the World Map, the player can enter any of several "worlds", (each person's own world) with any theme.

I was envisaging something like this - a hub that has gateways to each creator's world. That hub could be a magic portal, stargate command, a spaceship or spaceport, a rocket ship (for retro sci-fi), an airship (steampunk, perhaps between floating worlds), a university (Indian Jones style pulp), a bus/train/monorail station, purgatory (player is a spirit that possesses people in different worlds), a blue phonebox (different times and places). The overarching plot could be to retrieve an item from each zone, and combine into one thing (cf the Key of Time in Dr Who long ago).

I guess there are two approaches, dividing the work vertically as above with each person creating their chunk of the world, or horizontally with work divided by job function; one person to code, one to write descriptions, one to handle music, one to handle artwork. That is not to say that the two approaches are not mutually exclusive of course, but I think we need to decide the focus. Splitting vertically would allow anyone to join at any time (even after the release potentially), and indeed drop out.

ETA: Further ideas in italics. I am just brainstorming, not necessarily thinking they are good ideas, by the way.


games that might give some ideas which match up to what you guys posted so far:

(they're not text adventures, but their game features and/or puzzles are able to be done by text adventures, or they just give ideas on the idea-side of the game: time travel, worlds, etc)

The Lost Vikings (SNES), Secret of Evermore (SNES), Chrono Trigger (SNES), Myst (PC), Terranigma (SNES) (Gaia trilogy: Soul Blazer, Illusion of Gaia, Terranigma): if you don't know them, read up on them (gamefaqs dot com's guides/faqs) and/or watch youtube vids on them (people playing the game)

the ultimate/masterpiece time travel plot of all time: 7th Saga (SNES)
(if you don't know this game, don't care to play this game, and don't care to be spoiled, let me know, and I can spoil it for you, if you're interested in what it is about, why it's such a masterpiece/ultimate time travel plot)


for a very interesting (I think anyways) plot:

the mongols are the 'bad guys', they didn't decline after conquering the eastern world (asia and eastern europe), instead they found the time travel technology in one of the eastern europe countries they conquered. This is what enabled western europe to prevent them from conquering them and the entire world (including the americas, after western europe). The mongol horde went back in time, to prevent western europe from being able to stop them from conquering the world in present time, and in doing so, are conquering much of the past too. The seeming 'decline' of the mongols in present time/history weren't the true mongols that conquered the eastern world, and rumors were intentedly spread that the great mongols were killed/dead, but they're actually in the past, conquering the past world and are about to succeed in preventing western europe from stopping them in the current time, by stopping them from creating the time travel tech in the past: the entire world, past, present, and future, is about to fall to the mongol horde, and it's up to you to stop them!

The time travel tech: long before columbus, the vikings discovered north america (stopping at what is today, washington d.c., capitol of US, maryland), and that's the story told. But secretly... the vikings continued exploring further south, finding and conquering/destroying the aztecs, incas, and mayan civilizations... (the spanish only found what was left of the people of these once advanced civilizations and destroyed them almost completely), but not the advanced technology (from their contact with aliens) of these civilizations. The vikings took that technology back to europe, learning it, and using it, to protect them from the mongol horde. The time travel tech, along with advanced weaponry, and etc alien tech from the american civilizations (aztecs, mayans, incans).


also, we could have opposing/war-ing aliens/tech (and thus of earth too: western world vs eastern world):

incas, mayans, aztecs helped by one alien side: vikings gain possession of it

china, india, SE asia (angkor wat: cambodia specifically, and other countries) helped by the other alien side: mongols gain possession of it


we could also have the ability to play as either side: 'good guys / vikings' or 'bad guys / mongols', seeing the story/plot from both perspectives, maybe its the 'vikings' who're the 'bad guys' and the 'mongols' as the 'good guys'.


I'm thinking the less factually relevant the better. Perhaps a historical parody?

You start off some innocent tenderfoot (apprentice) with rudimentary skills... times "x" number of playable characters. Each character has a specifically unique "plebee-ness" and can be introduced at the start of the game. I see main characters as all different walks of life - a nerdy librarian, a body-building meathead, Napolean's hairdresser, etc... Each character could be some insignificant underling to a famous character in history (if we want to go that route). Each character will have a very specific, but limited skill set. In the intro, each character can be approached by some "being" and proposed with the task of playing a role in saving future humanity. The task is to travel from their time in history and retrieve some historically significant artifact from some other time in history. The quirkiness might arise by the "being" accidentally sending the recruits on the wrong assignment. For example, sending Napoleans hairdresser to the battlefields at Thermopylae to help Leonidas defeat Xerxes, send the nerdy librarian to the Mesozoic Era to retrieve the tooth of T-Rex, send the body-building meathead to the Elizabethan era to steal a Shakespearean work from the man himself.

Just some ideas but this allows us to write what we know best AND it sets up to be an adventure with some obvious comedic irony throughout. The items retrieved can be used together to appease/defeat some all-powerful being in mankind's future. To keep the "worlds" connected, as someone else has mentioned, certain items found in one world can be transferable to others. This transfer system could also be faulty and send items that have an obvious use in one world to another. An anthology of Shakespeare's work that the meathead could use gets transported to the dinosaur world, as an example.

Again, just some thoughts. The authors could choose their ironic couplings and for a little bit more of a challenge, the author can send their "retrieved" item to whatever other world they want and force the next author to find a use for that misplaced resource!


Can we use JS to run a game within a game?

If no (or if this would noticeably slow things down), how can we check for an existing file with JS? For instance: a Quest save file from a DIFFERENT game (or just a plain old .txt file)?

Thinking of linking games together somehow... I don't mean linking each part of the game together this way, because we couldn't keep up with that ''retrieved" item that way, but there could be a few bonus side-missions which only awarded points.

Well, that might work when playing online, but it would be a pain for offline players (just like the predominant gaming systems of today, which is why I went back to text adventures: no updates, no bonus content to download; if you have the game, then you have the damn game!).

Hmm...

(I would still like to know if we can run a Squiffy game inside of a Quest game, and how to check if an external files exists THEN run a script if it does or doesn't exist.)


The World Map

Must there be only one? What if we start off, say, in the university. Then, we go through all those doors to all of the university's connecting worlds and complete those missions, which triggers an event:

A spaceship arrives. That spaceship is the Second World Map, which leads to space-battles and such. Once you've completed all those, the spaceship goes through a black hole (or whatever) and you find yourself on prehistoric Earth (or whatever).

Or is that too much?


I have a Save and Load library that could be used to allow the player to jump between different games. This is an older version, and in fact Quest 5.7 has a feature to make it a bit easy. It would still be a bit of extra work.
https://github.com/ThePix/quest/wiki/Save-and-Load-Library

I had a think about a hub based design too:
https://github.com/ThePix/quest/wiki/Group-Project

What I like about the hub is that everyone's contribution would be equal (the save/load could be a hub too). If you have a sequence, whoever gets the last bit is going to have their game played less often.


@ Richard:
I thought about the player dying part... the player just reverts back to the hub. Altho, using this logic, the "player" himself does not travel to the worlds, but instead just "possesses" someone there. Maybe, there are a few NPCs the player can inhabit, Perhaps even someone that saw you die the time before... and when you return, you get to see your former self die...

Multiple world maps, Sure... If this is a big hit, we could call them sequels... Each one playable in it's own right... no need to finish the one before... IE: Zork, Zork 2, Zork 3...
But, have clues, hints than someone that played the earlier one, will help in the current one. But the player is still able to figure out on his own...

On changing the past paradoxes... When you change the past, you come back to a different future. (Timeline or Back to the future or Legends of Tomorrow)
Or... just one of the worlds is a time line repair story... On second thought, the over all theme of the master game needs to be consistent, otherwise, this just becomes a "game room" where someone can play any number of games under one roof. (The duckbilled platypus)

@ hegemonkhan : I like the "play the good guy or play the bad guy" idea. That make the game re-playable (and I like that), win at one side, then win for the other side. But it cannot be a case of: do A, then do B, then do C and win. each step needs a chance to win or loose, then with more wins, you win...


One thought... A game this size WILL need a load/save option!


Input by command line or hyperlinks or panes?

I vote command line.


Will there be an economy, if so what Currency?

We may need a converter function!


Is it "color" or "colour"?

msg ("Are you British, or do you misspell everything?")
get input {
   // script script script
}

(I misspell everything, by the way. So ha! The joke's on me!)


Who is the player?

???


Will the player develop (level up)?

This is probably wise. Even if some 'levels' of the game don't implement it. It wouldn't harm anything as an unused attribute, would it?


Combat? Magic? Tech level?
What player attributes will be used?

Could we set up functions to have the ability to set most of these up on the fly, but leave them nonexistent/null if no one decides to use them? Or would that be too complicated to keep up with? (Just brainstorming - not actually 'thinking'.)


What if the player dies in the opening, sending them to (whatever we call) Purgatory.

Rough sample game
<!--Saved by Quest 5.7.6404.15496-->
<asl version="550">
  <include ref="English.aslx" />
  <include ref="Core.aslx" />
  <game name="Ditched">
    <inherit name="theme_novella" />
    <gameid>1c14afb6-2b96-4b58-bcff-3c2524f5a8c8</gameid>
    <version>1.0</version>
    <firstpublished>2017</firstpublished>
    <feature_asktell />
    <multiplecommands />
    <showpanes type="boolean">false</showpanes>
    <showborder />
    <attr name="autodescription_youarein_useprefix" type="boolean">false</attr>
    <showtitle type="boolean">false</showtitle>
    <defaultwebfont>Droid Sans</defaultwebfont>
    <gridmap type="boolean">false</gridmap>
    <showlocation />
    <borderlesscursor />
    <classiclocation type="boolean">false</classiclocation>
    <customlocationcolour>Black</customlocationcolour>
    <customlocationtextcolour>White</customlocationtextcolour>
    <start type="script"><![CDATA[
      msg ("<center style=\"color:white;background:black\"><h1>LOCATION: YOUR FRONT PORCH</h1><h3>THE TIME: NOW</h3></center><hr />")
    ]]></start>
  </game>
  <object name="room">
    <inherit name="editor_room" />
    <alias>front porch</alias>
    <usedefaultprefix type="boolean">false</usedefaultprefix>
    <prefix type="string"></prefix>
    <description><![CDATA[You can see {object:something shiny1:something shiny} out in the street from here.<br/>]]></description>
    <object name="player">
      <inherit name="editor_object" />
      <inherit name="editor_player" />
      <look type="script">
        if (GetBoolean(player, "ghosted")) {
          msg ("You are slightly transparent.")
        }
        else {
          msg ("You see nothing abnormal about yourself.")
        }
      </look>
      <attr name="pov_look" type="script">
        if (GetBoolean(player, "ghosted")) {
          msg ("You are slightly transparent.")
        }
        else {
          msg ("You see nothing abnormal about yourself.")
        }
      </attr>
      <object name="house key">
        <inherit name="editor_object" />
        <feature_usegive />
        <take type="script">
          if (Got(ghost key)) {
            MoveObjectHere (house key)
            msg ("Your hand passes right through the key.")
          }
          else {
            AddToInventory (house key)
            msg ("You pick it up.")
          }
        </take>
        <useanything type="script">
        </useanything>
        <selfuseanything type="script">
        </selfuseanything>
        <use type="script">
          if (game.pov.parent = room) {
            msg ("The key no longer fits the lock.")
          }
          else {
            msg ("The key was designed to unlock the front door.")
          }
        </use>
        <ontake type="script">
        </ontake>
        <useon type="scriptdictionary" />
        <selfuseon type="scriptdictionary" />
      </object>
    </object>
    <object name="note">
      <inherit name="editor_object" />
      <look><![CDATA[You read the note:<br/><br/><i><b>Dear Adventurer,<br/><br/>I'm ditching you.<br/><br/>It's not you. It's me.<br/><br/>]]></look>
      <scenery />
      <handled type="boolean">false</handled>
      <visible />
      <take type="script">
        if (GetBoolean(player, "ghosted")) {
          msg ("Your hand passes right through the note.")
          MoveObjectHere (note)
        }
        else {
          AddToInventory (note)
          msg ("You pick it up.")
        }
      </take>
      <ontake type="script">
        SetObjectFlagOn (note, "handled")
        note.scenery = false
      </ontake>
      <ondrop type="script">
      </ondrop>
    </object>
    <exit alias="north" to="front yard">
      <inherit name="northdirection" />
    </exit>
    <object name="front door">
      <inherit name="editor_object" />
      <inherit name="container_closed" />
      <inherit name="container_lockable" />
      <feature_container />
      <keycount type="int">1</keycount>
      <drop type="boolean">false</drop>
      <usestandardverblist type="boolean">false</usestandardverblist>
      <displayverbs type="stringlist">
        <value>Look at</value>
        <value>Open</value>
        <value>Close</value>
        <value>Enter</value>
        <value>Unlock</value>
      </displayverbs>
      <usedefaultprefix type="boolean">false</usedefaultprefix>
      <prefix>the</prefix>
      <key type="object">ghost key</key>
      <enter type="script">
        if (GetBoolean(front door, "isopen")) {
          MoveObject (player, foyer)
        }
        else if (GetBoolean(player, "ghosted")) {
          msg ("You walk through the door.")
          MoveObject (player, foyer)
        }
        else {
          msg ("The door is not open.")
        }
      </enter>
      <look type="script">
        if (not GetBoolean(note, "handled")) {
          msg ("There is a {object:note} stuck to it.")
        }
        else {
          msg ("You see nothing special about the door.")
        }
      </look>
      <exit alias="out" to="room">
        <inherit name="outdirection" />
      </exit>
    </object>
    <exit alias="in" to="front door">
      <inherit name="indirection" />
      <runscript />
      <script type="script">
        if (not front door.isopen) {
          if (GetBoolean(player, "ghosted")) {
            msg ("You pass right through the door.")
            MoveObject (player, foyer)
          }
          else {
            msg ("The {object:front door:door} is closed.")
          }
        }
        else {
          MoveObject (player, foyer)
        }
      </script>
    </exit>
    <object name="something shiny1">
      <inherit name="editor_object" />
      <take type="boolean">false</take>
      <takemsg>You can't reach into the street from here.</takemsg>
      <scenery />
      <alias>something shiny</alias>
      <look>It's too far away to get a good look at it.</look>
    </object>
    <object name="lock1">
      <inherit name="editor_object" />
      <inherit name="container_open" />
      <alias>lock</alias>
      <feature_container />
      <open type="boolean">false</open>
      <close type="boolean">false</close>
      <scenery />
      <takemsg>That seems to be part of the door.</takemsg>
    </object>
  </object>
  <object name="front yard">
    <inherit name="editor_room" />
    <usedefaultprefix type="boolean">false</usedefaultprefix>
    <prefix type="string"></prefix>
    <description>You can see {object:something shiny2} out in the street from here.</description>
    <exit alias="south" to="room">
      <inherit name="southdirection" />
    </exit>
    <exit alias="east" to="driveway">
      <inherit name="eastdirection" />
    </exit>
    <exit alias="north" to="ditch">
      <inherit name="northdirection" />
    </exit>
    <object name="something shiny2">
      <inherit name="editor_object" />
      <look>It's too far away to get a good look at it.</look>
      <take type="boolean">false</take>
      <takemsg>You can't reach into the street from here.</takemsg>
      <scenery />
      <alias>something shiny</alias>
    </object>
  </object>
  <object name="foyer">
    <inherit name="editor_room" />
    <usedefaultprefix type="boolean">false</usedefaultprefix>
    <prefix type="string"></prefix>
    <exit alias="out" to="room">
      <inherit name="outdirection" />
    </exit>
    <exit alias="in" to="living room">
      <inherit name="indirection" />
    </exit>
  </object>
  <object name="living room">
    <inherit name="editor_room" />
    <usedefaultprefix type="boolean">false</usedefaultprefix>
    <prefix type="string"></prefix>
    <description>The room is completely bare.</description>
  </object>
  <object name="driveway">
    <inherit name="editor_room" />
    <usedefaultprefix type="boolean">false</usedefaultprefix>
    <prefix type="string"></prefix>
    <description><![CDATA[You can see {object:something shiny3} out in the street from here.<br/><br/>]]></description>
    <exit alias="west" to="front yard">
      <inherit name="westdirection" />
    </exit>
    <exit alias="north" to="street">
      <inherit name="northdirection" />
    </exit>
    <exit alias="out" to="foyer">
      <inherit name="outdirection" />
    </exit>
    <object name="something shiny3">
      <inherit name="editor_object" />
      <look>It's too far away to get a good look at it.</look>
      <take type="boolean">false</take>
      <takemsg>You can't reach into the street from here.</takemsg>
      <alias>something shiny</alias>
      <scenery />
    </object>
    <object name="mailbox">
      <inherit name="editor_object" />
      <inherit name="container_closed" />
      <usedefaultprefix type="boolean">false</usedefaultprefix>
      <prefix>the</prefix>
      <takemsg>That would be a federal offense.</takemsg>
      <feature_container />
      <hidechildren type="boolean">false</hidechildren>
      <alt type="stringlist">
        <value>mail box</value>
        <value>box</value>
      </alt>
      <listchildren />
      <onopen type="script">
      </onopen>
      <object name="game brochure">
        <inherit name="editor_object" />
        <take />
        <look type="script"><![CDATA[
          if (GetBoolean(Plot Device, "handled")) {
            msg ("It's a brochure for some dumb game called 'DITCHED'.<br/><br/>It reads:<br/><hr /><b><i>WELCOME TO DITCHED!</b><br/><br/>I'd be figuring out how to use that Plot Device, if I were you!</i><hr />")
          }
          else {
            msg ("It's a brochure for some dumb game called 'DITCHED'.<br/><br/>It reads:<br/><hr /><b><i>WELCOME TO DITCHED!</b><br/><br/>I'd be looking for the Plot Device, if I were you!</i><hr />")
          }
        ]]></look>
      </object>
    </object>
  </object>
  <object name="ditch">
    <inherit name="editor_room" />
    <usedefaultprefix type="boolean">false</usedefaultprefix>
    <prefix type="string"></prefix>
    <description>You can see {object:something shiny4} out in the street from here.</description>
    <exit alias="south" to="front yard">
      <inherit name="southdirection" />
    </exit>
    <exit alias="north" to="street">
      <inherit name="northdirection" />
    </exit>
    <object name="something shiny4">
      <inherit name="editor_object" />
      <look>It's too far away to get a good look at it.</look>
      <take type="boolean">false</take>
      <takemsg>You can't reach into the street from here.</takemsg>
      <scenery />
      <alias>something shiny</alias>
    </object>
  </object>
  <object name="street">
    <inherit name="editor_room" />
    <usedefaultprefix type="boolean">false</usedefaultprefix>
    <prefix type="string"></prefix>
    <beforefirstenter type="script">
    </beforefirstenter>
    <firstenter type="script"><![CDATA[
      ClearScreen
      AddToInventory (ghost key)
      msg ("<div style=\"color:white;background:black;font-famiiy:Rockwell;font-weight:bold;padding:13px\">As you step into the street, you hear a car approaching.<br/><br/>It's engine revs up just before it smashes into you, sending you flying into the ditch.<br/><br/><center><b>YOU HAVE DIED.</b></center></div><hr /><br/><center><b><i><h1 style=\"text-shadow: -2px -2px 1px white\">DITCHED</h1></b><h3>by Richard Headkid</h3></i></center><br/><br/>From here, you will find the entrance to the MAIN HUB or you death could drop you directly into Purgatory...")
      SetObjectFlagOn (street, "visited")
      SetBackgroundColour ("LightBlue")
      SetObjectFlagOn (player, "ghosted")
      if (Got(house key)) {
        MoveObject (house key, ditch)
      }
      if (Got(note)) {
        MoveObject (note, ditch)
      }
      MoveObject (Plot Device, ditch)
      MoveObject (player, ditch)
    ]]></firstenter>
    <exit alias="south" to="ditch">
      <inherit name="southdirection" />
    </exit>
    <object name="shiny stone">
      <inherit name="editor_object" />
      <look>Upon closer inspection, it appears to be some sort of crystal that's been paved into the street.</look>
      <take type="script">
        if (GetBoolean(player, "ghosted")) {
          msg ("Your hand passes right through the stone (and the street).")
        }
        else {
          msg ("That appears to be paved into the street.")
        }
      </take>
    </object>
  </object>
  <object name="ghost key">
    <inherit name="editor_object" />
    <drop type="boolean">false</drop>
    <feature_usegive />
    <look><![CDATA[It's slightly transparent, but, besides that, appears to be a perfectly normal key.<br/>(In fact, it looks just like your house key.)]]></look>
    <use type="script">
      UnlockExit (frontdoor)
      msg ("The door is now unlocked.")
      UnlockExit
    </use>
  </object>
  <verb>
    <property>enter</property>
    <pattern>enter</pattern>
    <defaultexpression>"You can't enter " + object.article + "."</defaultexpression>
  </verb>
  <object name="Plot Device">
    <inherit name="editor_object" />
    <inherit name="container_open" />
    <take />
    <feature_container />
    <open type="boolean">false</open>
    <close type="boolean">false</close>
    <hidechildren />
    <displayverbs type="stringlist">
      <value>Look at</value>
      <value>Take</value>
    </displayverbs>
    <inventoryverbs type="stringlist">
      <value>Look at</value>
      <value>Use</value>
      <value>Drop</value>
    </inventoryverbs>
    <listchildren />
    <listchildrenprefix>It has </listchildrenprefix>
    <look type="script">
    </look>
    <ontake type="script">
      SetObjectFlagOn (Plot Device, "handled")
    </ontake>
    <object name="Opening">
      <inherit name="editor_object" />
      <look>In the opening, you started off on your front porch.</look>
      <take type="boolean">false</take>
      <takemsg>That seems to be part of the Plot Device.</takemsg>
      <scenery type="boolean">false</scenery>
      <drop type="boolean">false</drop>
      <dropmsg>That seems to be part of the Plot Device.</dropmsg>
    </object>
    <object name="Flashback">
      <inherit name="editor_object" />
      <takemsg>That seems to be part of the Plot Device.</takemsg>
      <scenery type="boolean">false</scenery>
      <drop type="boolean">false</drop>
      <dropmsg>That seems to be part of the Plot Device.</dropmsg>
      <look type="script">
        MoveObject (player, Living Room)
      </look>
    </object>
    <object name="screen">
      <inherit name="editor_object" />
    </object>
    <object name="knob">
      <inherit name="editor_object" />
    </object>
    <object name="button">
      <inherit name="editor_object" />
    </object>
  </object>
  <object name="something shiny">
    <inherit name="editor_object" />
    <look>It's too far away to get a good look at it.</look>
    <take type="boolean">false</take>
    <takemsg>You can't reach into the street from here.</takemsg>
  </object>
  <object name="Living Room">
    <inherit name="editor_room" />
    <usedefaultprefix type="boolean">false</usedefaultprefix>
    <objectslistprefix>You could see</objectslistprefix>
    <description type="string"></description>
    <exitslistprefix>You could go</exitslistprefix>
    <alias>You were in the Living Room.</alias>
    <exit alias="out" to="foyer">
      <inherit name="outdirection" />
    </exit>
    <object name="couch">
      <inherit name="editor_object" />
      <inherit name="surface" />
      <usedefaultprefix type="boolean">false</usedefaultprefix>
      <prefix>the</prefix>
      <feature_container />
      <look>It's your nice, Italian leather couch.</look>
      <displayverbs type="stringlist">
        <value>Look at</value>
        <value>Take</value>
        <value>Sit on</value>
      </displayverbs>
      <sit type="script">
        msg ("You sit on the couch for a while, then get back up.")
      </sit>
    </object>
  </object>
</asl>

Then, as the game progresses, each of these hubs become available one by one (or maybe two or three at once at times):
  • a magic portal
  • stargate command
  • spaceship
  • spaceport
  • rocket ship (for retro sci-fi)
  • airship (steampunk, perhaps between floating worlds)
  • a university (Indiana Jones style pulp)
  • bus/train/monorail station
  • a blue phonebox (adventures in time and space)

I'll be going through everything at Pix's above link more thoroughly this afternoon, but, from what I've read so far, it's amazing!

Thanks Pix!


THE SAVE OPTION

Maybe keep a journal (or use the log somehow) to record key events.

Set it up to clear the screen before saving, then load the STORY SO FAR text, so each time you load it up, you'll get a nice recap.


<command name="Recap">
    <pattern>story;recap</pattern>
    <script>
      game.notarealturn = true
      msg ("Turns taken: "+game.turns+"") // <--Insert whatever other details we'd like here
      foreach (s, screenplay.scenes) {
        msg (s)
        game.turns = game.turns - 1 // This did not advance the time! (I assume there will be time?)
      }
    </script>
  </command>

Player leveling... Sounds good.
If your world uses player.level, then fine, The more experience, the better the fighter, spell caster...
But if my world does not require fights, then player.level will have no bearing on what happens.
But, instead of the generic "level", have skill sets.
like:
swordsmanship: Bonus for using a sword in battle
Bow: (same)
swimming:
Spell casting: better a spell casting, the higher level spells will be available, and lower level ones will be more effective.
Puzzle solving:... well, this is more the player than the character. (but you could trade points for hints.)

I like the "recap on reload" idea!
I like the "not all hubs (or worlds) available at the start". This could allow the game to be published as a WIP with just the first 3 accessible.
We could have a Purgatory for the ones that have failed, to be able to redeem themselves. It could also be a location where others have failed in their quest, but could provide the player with hints in different areas. Like where the "other" player died.
"The old lizerdman warns you 'When you get to the Great Chasm, over the Raging Waters, do not take the left bridge, it is trapped! The other one is only made to look rickety.' "
Death should not be terminal. No world, or hub, should have a player killer. Every kill scene needs to have a work around.
"You face off against the biggest killing robot you have ever seen. It takes notice of you and charges. (You will need to be armed with the bucket of water beforehand) You throw the water at the robot and sparks fly out of it as it charges past you smashing into the wall. after the dust settles, you notice a new passage leading off the places unknown."
If you did not have the bucket of water ready, there is a 30% chance you can evade the robot and exit the room. the robot will not follow you. But, if it kills you, in Purgatory, you could meet someone, that when you tell them how you died, they tell you... "Robots rust, you know..."
(hint, find water and a way to carry it...)


"The old lizerdman warns you 'When you get to the Great Chasm, over the Raging Waters, do not take the left bridge, it is trapped! The other one is only made to look rickety.' "

Very nice!

The details in each world world more than likely be overlooked by most people...

Of course, this should attract all sorts of testers, so their reviews will probably note the elaborately crafted locations.


This is but a seed flying round in a brainstorm:

My games have a pouch, which you can use to travel through time and space. (Well, you think you're using the pouch, but, come to find out:

Spoiler(s)the pouch is sort of like a magic feather, right? And you need the feather of a snipe to ... well, I'll keep this spoiler mild.

Anyway, I studied up on clock towers and created a puzzle where you'd have to hang the weight and all sorts of other things (which is what you'd have to do to repair the clock in real life), and you'd need help from at least two NPCs. Said NPC would need to be appeased in some way before they would help, of course.

In the end, you'd fix the clock, and time would begin, slowly, at a rate of one minute per turn, to pass again. Now, you can get on with the game, which revolves around the time.

(In the game I was designing this for, at high noon, it's time for the show-down!)

I decided to put that room on the back burner. There's already enough game in They Call Ya Mister (I think), and it's interconnected-quel to Reor's Bush-Cave. I've got a third one in me, so I saved the clock tower puzzle for something else.

Sounds like this may be the something else!


But, instead of the generic "level", have skill sets.
like:
swordsmanship: Bonus for using a sword in battle
Bow: (same)
swimming:

I think this is a good of doing character progression. If we could agree among otherselves that only a couple of zones you can learn swimming in, and a couple you can learn sword master, etc. it would give the player reason to explore them all in a more natural way. I think it would be easier to scale a combat if it is just player has weapon skill or not.

Skill progression tree, maybe?

I like the "not all hubs (or worlds) available at the start". This could allow the game to be published as a WIP with just the first 3 accessible.

Hmm... The default game save system would not allow a player who started a game when only three were available to continue the same game with any more available.

Death should not be terminal. No world, or hub, should have a player killer. Every kill scene needs to have a work around.

A work-around yes. I disagree about death not being terminal (unless it is integral to the game; the hub is purgatory, and you start off dead). There is an undo command so the player can do that if she dies, and there is save too.


Death should not be terminal. No world, or hub, should have a player killer. Every kill scene needs to have a work around.

Precisely! (But only because most reviewers (here and on other sites) complain when they can die. I don't really find the game that challenging if you can't die, but some games are enough fun that it makes up for that. (I am old, though. Every time I've ever beat Steve Meretzky, I felt like I'd REALLY accomplished something. Plus, that guy entertains the heck out of me!))

Can we at least fake one death though???

Print the GAME OVER message and everything, but just implement a pause command whilst removing the text input field and all the panels? (I know this is feasible, it's already written in one of my testing_42.aslx games. I'm asking if it sounds too confusing. Some would probably just close out the game rather than pressing a key to continue and never know they missed out. (Of course, if they knew other text adventurers who asked them if they liked the 'fake death part', they'd dive back in, searching for Easter eggs beneath every rock and pile of leaves. (By the way: can we have some poisonous Easter eggs? 'You have picked up a bad egg.' Your health decreases by 1 every turn for 5 turns. BUT a GOOD Easter egg awards you status points/money/other.))) <!-- I lost track of how many parentheses deep I went. Was it 69,105? -->


I disagree about death not being terminal

Wait... what? Is it still acceptable to kill the player?

Everything I've played recently:

  • Could not be rendered unwinnable

  • Never killed you

  • Generally didn't allow access to the majority of the areas where there was nothing to do yet (I enjoyed wandering around aimlessly with Floyd in Planetfall... (Some locations were blocked off, I know... But you felt lost in a huge place, which was the whole point, right?))

Everything I've read concerning text adventures recently goes along these lines:
'I don't miss Infocom's style at all! It seemed like they were just out to frustrate the player, and/or kill the player at every other turn!'

Which I heartily disagree with. (The part about not missing it. They were definitely into infuriating people! Bureaucracy... aargh!!!)

I LIKE the game frustrating me. I LOVE the funny responses when trying to do stupid things.

If I say, 'damn and blast! I should have SAVED before I tried that!' That usually means the game is on (or afoot, if you prefer the popular paraphrasing)!


What I mean by "player killer" is a room that kills the player without some kind of warning...
You enter the room and the door to the west is giving off a lot of heat.
"> go west
You reach for the handle and burn you hand on the red hot knob. Are you sure you want to go that way?
"> go west
You open the door and the fires of hell envelop you are you are burned to a crisp... OOPS!!!"
... Game over...
With the warning of the hot door, then the warning about burning your hand, but going that way anyway should result in terminal death...
But, if there was no warning of the hot door, then you open it and get fried... That would not be fair...

Starting in purgatory would make for an interesting start...
You stand before the Guardian of Death to answer for the deeds you have done in your life. You have not done "well" but you weren't "too bad", so, you will be given a second chance to redeem yourself...
(Then you are told what needs to be done to "fix" things...)
Altho, the game could start like any other game, then the player is killed off and sent to purgatory where the "real" game starts...
The intro game and dying does not count for a task.
Altho, that could be the first point.

@ Richard: yes, you can kill the player and send them to purgatory... but just not with a warning of some kind.
Fighting a creature and it kills you would be OK... After all, we want the player to die at least once to find out about some hints.
Altho, if we use some kind of scoring method, winning the game without dying at least once should count as a bonus...
And, on scoring, at Game Over, show the player his score, and number of tasks completed...
IE: You got a score of 315 and completed 43 of 50 tasks... Post and brag in the comment section!
But, if dying once is one of the tasks, then the "perfect" score without dying would be 49 out of 50.
Unless, Not dying is a task, then we could get 50 of 50.

@ Richard:
What player attributes will be used?
Could we set up functions to have the ability to set most of these up on the fly, but leave them nonexistent/null if no one decides to use them? Or would that be too complicated to keep up with? (Just brainstorming - not actually 'thinking'.)
All values would be set-up in the master code section, DnD stats could be randomized or pre-set at default values then have the values increase as the player plays. All skills will default a 0. If a stat is not required or used in a world, then it would not matter.


What I mean by "player killer" is a room that kills the player without some kind of warning...
...
But, if there was no warning of the hot door, then you open it and get fried... That would not be fair...

Ah! Gotcha!

(I made what exists of that game sample I attached a few weeks ago, but it goes like this:

  1. You're locked out of your own house. The key no longer fits the locks, and there's a note saying 'You've been DITCHED' on your door. Eventually you end up in the street, either to investigate the SHINY OBJECT or to check the mail.

  2. Upon stepping into the street, you're hit by a car and knocked into the ditch. This is where the title is displayed: DITCHED. (So you immediately know you haven't lost.)

  3. You're a ghost, so you can walk through doors but can't handle items. You need help from an NPC, or to enter CONCENTRATE - which gives you two to three turns of the ability to handle things (but you can't walk through walls while concentrated).

  4. This is where I stopped writing, so I'll ditch the ordered list...

  • I could put a brochure in the mailbox, which LOOK AT would trigger a link to view the (always updated) game guide in-browser. This explains that you have found yourself in the granddaddy of all Quests, and how the whole general mish-mash works.

  • Upon handling said brochure, the Grim Reaper (or some parallelism thereof) shows up and presents you with a riddle, which, upon having solved, you get the MASTER KEY (but not the GRAND-MASTER KEY, mind you!) to open a now visible BLACK DOOR, which leads you to the HUB.

  • This idea may or may not suck.

  • Also, I've already crafted a PLOT DEVICE, complete with an opening, a flashback, etc... I could add a RECAP button to that , too... And it could hold maps to the different worlds you've been to, maybe? And possibly grant you access to some of the previously visited main areas?

  • Just thinking aloud...

What player attributes will be used?
Could we set up functions to have the ability to set most of these up on the fly, but leave them nonexistent/null if no one decides to use them? Or would that be too complicated to keep up with? (Just brainstorming - not actually 'thinking'.)
All values would be set-up in the master code section, DnD stats could be randomized or pre-set at default values then have the values increase as the player plays. All skills will default a 0. If a stat is not required or used in a world, then it would not matter.

That's what I've been rolling over in my mind. Pixie has brought it up a couple of times, as well.

It SOUNDS like:

  • We'll be contributing our 'worlds' as libraries by submitting those files to a GitHub repository.

I KNOW for SURE The Pixie wants us to:

  • Put our initials in front of each (object? library name?) that we create to keep it all straight. (I'm not certain exactly where we need to put it, but I'm sure I'll be enlightened soon enough.)

  • Decide on a main hub because adding worlds as we go won't cut the proverbial mustard. (The given example: if the main file has three worlds when the player saves the game, any worlds we add on after that save would be rubbish.
    -- I deduce this means we can add on to OUR 'worlds' as much as we like (hopefully adapting to each other's additions as we go), but I'm still confused as to how that would effect the game picking up on any changes... unless attributes are involved.

Back to ATTRIBUTES:

Are the number of blank attributes we can create for the main game file limited? Or could we just set up, say custom_att_0001 through custom_att_1000 without slowing down the game?

<insert the same questions about objects/rooms here>


Also, we could have a link pop up upon game completion (or saving):
Would you like to post your stats as a review/comment on this game's main page?
1 Yes (I'm one bad MO-FO!)
2 No (I still need more practice.)

And, on scoring, at Game Over, show the player his score, and number of tasks completed...
IE: You got a score of 315 and completed 43 of 50 tasks... Post and brag in the comment section!
But, if dying once is one of the tasks, then the "perfect" score without dying would be 49 out of 50.
Unless, Not dying is a task, then we could get 50 of 50.

Yep, yep! (Sorry, I was responding to each section of your post, then brainstorming in between!)


We'll eventually have to set up some sort of private thread, or correspond via group messages, or keep up with comments in the GitHub repo...

If we don't, I fear we'll be giving way too many details away.


Can we have a private thread here???
Custom_att_#### will require names, otherwise numbers could get crossed.
But, if a custom_att is needed in a world, the custom_att_DL_lying is a skill only used in my world, and would not be confused with custom_att_RH_lying skill.
As for naming...
Programmer's initals_room name or function...
DL_Kitchen1
DL_add(2 numbers)
All rooms of a programmer could be under 1 "master room", then, if an update to their world is made, just delete DL_Master and drop in the new DL_Master with the new rooms and scripts.
And if a function is updated, the old function is deleted, and the new one dropped in...
One thought, someone will need to be in control of the master game that will receive the updates and updating this. then updating the link to the new version so everyone can playtest and make suggestions...


And, there will need to be a note for which is the entrance room for your world. just incase it is changed.
I just tested the room of rooms idea, and deleting the master room in the UI, then adding the new room of rooms in code view and it works... I just lost the exit to the first room in my new rooms... Hence the exit note.
But all the functions are listed under functions...


I don't know of any private threads, per se... Just wishful thinking, I guess.

We'll probably be too busy writing, submitting, reading everyone else's submissions, then re-submitting our updated worlds to be posting any major spoilers here before too long, anyway.


Our initials - Okay, I see. We'll just use an alias for the objects.
The update method sounds efficient, too.


One thought, someone will need to be in control of the master game that will receive the updates and updating this. then updating the link to the new version so everyone can playtest and make suggestions...

Er...

Have I mentioned that I didn't start learning about computer programming until the beginning of this year? And that I couldn't get jack squat out of Quest less than a month ago?

I mean, I'm much better now, and I'm all about researching for hours on end until I get the computer to do what I want. I also keep pretty good notes. (I still remember everything I read, but retrieving the information on demand has been touch and go since I turned 30.)

Also, if none of my ideas are used in the end result, that's fine with me!

Heck, I'll be happy proofreading, testing, working out bugs, and doing whatever else will help out. (I'll be submitting something. I'm just putting it out there: there will be no hard feelings if my pieces don't fit into the puzzle.)


First thing in the morning (it's 1:17 AM in my neck of the woods right now), I'm planning on reading EVERYTHING The Pixie has posted regarding this project on GitHub. (I fear this may be more work for Pix than anyone else. I am ready and willing to do whatever can lighten everyone's workload, though!)


hadn't read through all the new posts yet... obviously got to decide if it's going to have rpg stuff (or if it's just going to be a puzzle game mainly with no or little rpg stuff, like Myst/Maniac Mansion/Shadowgate/7th Guest/old indiana jones/etc, and many other various games), and if so, how much and what.


And, there will need to be a note for which is the entrance room for your world. just incase it is changed.
I just tested the room of rooms idea, and deleting the master room in the UI, then adding the new room of rooms in code view and it works... I just lost the exit to the first room in my new rooms... Hence the exit note.
But all the functions are listed under functions...

Like just adding it in the name:
RH-Room_name-MAINEXIT ?
Or just:

<object name="RH The Barn"> <!--SET AS EXIT !IMPORTANT-->
    <inherit name="editor_room" />

Or is it whatever's behind door number 3?


While we're creating worlds, have you checked out https://github.com/ThePix/quest/wiki/YAML-to-Quest-(using-Ruby) ?

It simplifies it a lot!


In my opinion...

Death

No sudden death, agreed.

If you have combat, you should have real death, otherwise there is no risk, and it is just a case of type ATTACK TITAN enough times.

If combat is a case of checking if you have the skill, and if you do, you are successful, and if not you are told not to because you will die, then no death. And I think that would be a reasonable approach for a puzzle-based game.

Attributes

Could we set up functions to have the ability to set most of these up on the fly, but leave them nonexistent/null if no one decides to use them? Or would that be too complicated to keep up with? (Just brainstorming - not actually 'thinking'.)

If necessary, we could have a function that adds them at the start so your game can be sure they exist, but I do not think you need anything beyond that. And you could do that in the on first enter script of your first location (just check if it exists already first).

There is no limit to the number of attributes. I think they should be accessible across all zones, and as people add them, just alert everyone else so we all use the same name (and a naming convention would be good too, eg, all lowercase, words joined with underscores; a document with conventions and attributes should be written).

Adding more

There is essentially no difference between a game saved in the editor with the publish tool and a game saved by the player. The entire world gets saved, including functions, libraries, the lot. What this means is that when the player loads the game, it is exactly the same as when she saved, even if a new version has been uploaded, because the load process does not look at the game file at all.

Adding more is fine, and we could leave this project open for years to come, inviting new bits to be added, but we have to be aware that saved games will have no access to those zones.

With regards to updating your section, if we go for the hub system, the master file would be just the hub and game setting. The zones would each be a library, so just a case of replacing the library file (I am pushing the hub because it is "fair" in that all zones are equal and workable as a group project; feel free to push other systems).

Tracking tasks and score

I do have a library for this (may need tweaking, and could have a score added):
https://github.com/ThePix/quest/wiki/Quest-Library

Each zone would need to note its "out of" number, and these get totalled at the start. Or have Quest count the number of quest objects if we use the library; that might be easier and safer.


It may be wise to set up some sort of polling system on IFDB to vote on all this stuff.

(I can't remember if you can set up an unlisted page on IFDB, but I shall investigate.)

I vote for including every little thing we can, though.
Sort of like a tent-pole game, but, instead of pandering to the masses while marketing our sponsors products like the movie industry does, we'll be seriously trying to make a game that 90% of the IF community can enjoy the hell out of at least PART of (while still being entertained enough by the whole thing to warrant at least an overall three to four stars), ourselves included.


Will we have a command to exit to the HUB WORLD at any time? Just in case the player would rather ignore certain worlds?


Everything The Pixie just posted

I second the motions. (Especially the hub.)


The exit to HUB WORLD will be located where the player entered that world.
"> enter DL_World
You are in DL_World, the exit back is the dark black circle to the west.
"> west
You have returned to the HUB WORLD. Where would you like to go from here?
The exception would be purgatory, there is no exit to there, you die to get in, and you must do a task to get out.
Adding more: Just re-release the updated version V1.6 and have the warning that previous advancements will be lost.
Unless there is a way for Quest to save a text file, and read it back, then the same save file could be used over several versions.


Just perused the template Pixie posted:

Use the TRAVEL command to travel to and from the hub.

To add an item to another creator's zone (or an NPC or, if using ConvLib, a conversation topic), put the object in a room your game (not in the hub, it will get deleted, but you might want to have a room dedicated to this purpose). Go to its "Features" tab, and tick "Run an initialisation script". Go to the "Initialisation script", tab and paste in this script.

Sounds groovy.

I must sleep now, but rubber baby buggy bumpers! (Ha! You thought I was going to say, 'I'll be back,' didn't ya'?)

(That was a LAST ACTION HERO reference. I'm bad about quoting (or misquoting) obscure movies/films/books at random. All apologies!)


I am going away middle of next week, and will be away for pretty much all August. I might get the chance to post here a bit, but will not have access to Quest, so will not be able to contibute until September.

I would suggest someone start a Github repository for the project, and give access to anyone interested. Create a docs folder, and the a document that defines the conventions:

  • Everything in your zone needs your initials as a prefix
  • How player and game attributes will be named, what they are, what values they can take, and whose zone will change them.
  • What libraries are being used

Github supports markdown, like the forum, by the way.

You could use the "Issues" feature as a forum.

What I would like settled soon rather than later is the genre and basic premise, so I can start thinking about what I will put in my zone (and to a lesser extent, how combat and magic will be handled, if at all). If you are happy with the hub idea, you should be able to use it straight away; I wrote it to allow the hub itself to get updated later.

Once the genre is set, you can start writing stuff, and if you come to something that might be contentious, start an issue on github.


@The Pixie
Wow, I just emailed you, asking about most of these things.

I would suggest someone start a Github repository for the project

I've set one up, but it's public. (I don't know if that's good or bad. If it's good, PM me for the link, everyone!)

I'll set up a bare-bones wiki that links to the Pixie's files, as well.

I'm about to test out embedding a Gist script into a post, too. So forgive the next post if it's blank.

What I would like settled soon rather than later is the genre and basic premise, so I can start thinking about what I will put in my zone (and to a lesser extent, how combat and magic will be handled, if at all). If you are happy with the hub idea, you should be able to use it straight away; I wrote it to allow the hub itself to get updated later.

Once the genre is set, you can start writing stuff, and if you come to something that might be contentious, start an issue on github.

I'd like to include magic, and I'm sure there are many who'd vote for combat.

I'm torn between Purgatory and the Blue Phonebooth, but either would be fitting.

(Flips coin.)
My nickel says I vote for Purgatory.

PURGATORY
A dreadful place, the floor of which is covered in the bones of the unfortunate adventurers who came before you.

You can see the Boatman here.

// Something to this effect, maybe
// I'll work up a template on the morrow

The genre:

Mostly pulpy but a little campy?

The player is (initially) a magician-in-training, but truly aspires to be like Indiana Jones - going on all sorts of different Quests.

Any good magician should have some basic combat training, too!
After all, what if you lost your powers for some reason while stranded in some backwater dimension, and the inhabitants of said dimension has burned you at the stake / stoned you / hung you...

(This could be revealed in an early flashback...)

All this would tie in well with:

Starting in purgatory would make for an interesting start...
You stand before the Guardian of Death to answer for the deeds you have done in your life. You have not done "well" but you weren't "too bad", so, you will be given a second chance to redeem yourself...
(Then you are told what needs to be done to "fix" things...)

Then, you could take it anywhere from there, as long as it wasn't too over the top.

Maybe the NPC that runs Purgatory ends up being the big bad guy?

Maybe a shop-keeper, who you've unwittingly sold you soul to while agreeing to all those terms and conditions. You know... the ones you had to agree to in order to purchase the items you'll need to survive! (What a twist! (Not really...))


start a Github repository for the project, and give access to anyone interested

Sounds like it should be private, and my account isn't paid (sorry!), so somebody PM me the link once set up, please and thank ya'.


Concerning magic:

Can we include FROTZ, GNUSTO, and the like as alternate commands?

I'm all for coming up with new euphemisms (for lack of a better term), but I like being able to use the old-school commands, too.

Would this be appropriate? Or should we stay completely original?


The side-panes and links:

It's lot of extra work to ensure the displayed options are complete and operational...

We could also put them all in a big drop-down, which could be opened or closed at any point; correct?


The player is (initially) a magician-in-training, but truly aspires to be like Indiana Jones - going on all sorts of different Quests.

How does that fit with him being in purgatory and dead? I.e., being dead tends to crush any aspirations. And what have you done that is so bad if you are still an apprentice?

Could it be that you are trapped somewhere like purgatory? You are an apprentice, you made a bad decision (spell back-fires sort of thing, or the trader thing you mentioned - perhaps when installing software?), and are trapped in limbo. The guardian requires items, information, deed done from these realms, so off you trot.

This does give a lot of freedom to authors, and you could do sci-fi or steampunk or fantasy. We could have some realms where magic does not work, for example.

ETA: I would like to see some development of the player's background as a way to bring it all together. I think there is a risk that we create N separent and independant adventures that the player picks from at the hub. The more coupling between zones, the more it will feel like one game - and the more hassle for authors.

Can we include FROTZ, GNUSTO, and the like as alternate commands?

I had to look that up, but found list here. I would be interested in seeing how many of them we can implement.
http://www.ifwiki.org/index.php/Spells

We would need to agree on spells, name and effect, so that is a start. Also, can the player cast unlimited spells, cast each once then relearn, use mana (which comes back when)? My combat library has spells cast generally in the room, rather than at a target (partly so you can cast with two clicks in the left pane), but I have been looking at targeting them, and would prefer to go that route, especially if this is command-line based.

It's lot of extra work to ensure the displayed options are complete and operational...

Are you wanting command line only? I get the impression you want to follow the Inform format. I think that would be my choice (personally I would aim to just have one way for the player to interact).

We could also put them all in a big drop-down, which could be opened or closed at any point; correct?

What?


You are an apprentice, you made a bad decision (spell back-fires sort of thing, or the traitor thing you mentioned - perhaps when installing software?), and are trapped in limbo. The guardian requires items, information, deed done from these realms, so off you trot.

Sounds solid to me.

Also sound as if you have a 'death while installing software' scenario in mind? Sounds interesting...

I would like to see some development of the player's background as a way to bring it all together. I think there is a risk that we create N separate and independent adventures that the player picks from at the hub. The more coupling between zones, the more it will feel like one game - and the more hassle for authors.

Maybe there's a 'major' attribute to be acquired upon completing each zone, and you can only enter the FINAL ZONE once you've gained all (or most) of the major attributes.

can the player cast unlimited spells

I have a SPELL READER object in the Mister game.
You start off with 2 or 3 spells in it. When you find a scroll, you scan it with the reader, the scroll disappears (of course), and you have the spell forever.

I don't make the player memorize anything, If the spell's in the reader and the reader is touchable, you can cast the spell.
(Having to memorize the spells always seemed a bit taxing to me.)

Again, I'm with the popular opinion on this one.

THE SPELL NAMES AND EFFECTS:
I can set up every spell on the list as a command or function in a library (combining the ones that have the same effect, of course). From there, we'd just need to add having learned/used each spell in the RECAP (or a log, maybe), and the possibilities would be nearly endless, while retaining rhyme and reason.

Can we set up a dictionary list type attribute on the player for the default responses (spellcasting_msg) to allow each creator to easily alter whatever replies/scripts they'd like in their zone(s)?

Each spell would have a default for USE on it's own and USE ON something. Then we could set up a command pattern for each spell and use invoke (ScriptDictionaryItem(object1.selfuseon, object2.name)) as the script.

>FROTZ ME
Sorry, but the 'F'-word is frowned upon in this dimension. (Perhaps you should just GET THE LAMP...)

Are you wanting command line only? I get the impression you want to follow the Inform format. I think that would be my choice (personally I would aim to just have one way for the player to interact).

I prefer command line because it's much more immersive. (I'd probably still be having a good old time playing Draculaland if it weren't for the different options constantly being displayed in the side pane for each item. Don't get me wrong, I liked it, but it made it to easy to get through it.)

And I don't mind putting in all the work to have our displayverbs all in order, but it may prove daunting for others. Having to make sure each object was set up correctly would most definitely slow overall progress.

I vote no panes or links, but I'm easily swayed on this one if the general consensus disagrees.


NOTE: No need to read this part; just explaining what I meant in my previous post.

We could also put them all in a big drop-down, which could be opened or closed at any point; correct?

What?

CLICK HERE TO OPEN THE PANES ACCORDION
Inventoryobject1
StatusDoing fine so far!

NOTE: This is moot. Offering only one way to interact throughout would probably be the best way to go.


The GitHub repository-

I'm gonna swallow my pride here and admit that I don't have $7 to update my account so I can set up a private repo.

I'm pretty sure a public repo is okay, but I'm not 100% on that one.

I say: if someone's willing to read all the source code we have posted to serve whatever purpose, more power to 'em! It's not like we're planning on selling anything, and we'd have documented proof that we owned the copyright if someone were to steal any ideas or something of that nature. (Not that I'm worried about any of that. Just trying to cover all possible bases)


I don't make the player memorize anything, If the spell's in the reader and the reader is touchable, you can cast the spell.
(Having to memorize the spells always seemed a bit taxing to me.)

Not sure if I was clear, but it would be the character memorising it, not the player!

Tabletop RPGs usually limit spell casting in two ways. The DnD way is Vancian magic, where a spell is forgotten after being cast. The alternative is spending power points. Computer RPGs usually have a cool down, but that does not work in turn based combat (cast firestorm, z, z, z, cast firestorm, z, z, z, etc.).

I would handle spells as objects. Move the object to the spell book when learnt, each spell can have a script attribute that does the work when cast, plus a description. You could have other attributes for when the spell is augmented or inverted. It is a lot more flexible. Have a spell type to handle the basics:

http://docs.textadventures.co.uk/quest/using_inherited_types.html

And this is what I used for Deeper:

https://github.com/ThePix/quest/wiki/CombatLib

I have no problem using a public repo


it would be the character memorising it, not the player!

Ha-ha! Yeah, I know! (Although the door swings both ways... I retained way too much from the Enchanter trilogy!)

Having to enter the command LEARN SO-and-SO was the thing that annoyed me the most, and that covers all of the Infocom games.

That's like having to drink, eat, and sleep. I don't think that makes the game seem more realistic or epic or whatever they were going for... It's just a big pain in the butt. (Which, I know: that was the whole point. To seem realistic, every little thing you try to do is complicated sometimes!)

>BLORPLE THIS THEN BLORPLE THAT THEN BLORPLE SOMETHING ELSE THEN LEARN BLORPLE THEN BLORPLE THE LAST THING

Aaargh!!!


I've never been an RPG guy, so I'll be no help at all there, but most everybody here seems to enjoy them, so it's probably a good idea to implement the required commands, functions, attributes, etc...


I've got the GitHub repository (sort of) set up now.

I still need to set everything up, but I saw the instructions somewhere on Pix's wiki page, possibly in the template notes...
I'll get on that shortly.

We can at least submit an issue regarding each topic to lay out the ground rules:

  • Genre
  • Main goal/objective
  • Magic mechanics
  • Combat
  • Time (game time? real world time? both? neither?)
  • NPCs -
    -- Commanding them to do things
    --- Will they follow the player and/or other NPCs?
    ---- Conversations
  • Whatever else we can think of (Pixie listed off the things we need to focus on right now in this very thread)

Since I'm not quite certain which links I should and shouldn't post on the forum, PM me for the link to the repo.

Let's build off of what The Pixie's already provided us with (all the links are on the repo's wiki home page)!


I just tried to edit my post above because a sentence was in hge font, and the forum kept saying I could not post it, so I removed the top bit, and now it does. This is the bit I removed:

Also sound as if you have a 'death while installing software' scenario in mind? Sounds interesting...

It was based on this:

Maybe a shop-keeper, who you've unwittingly sold you soul to while agreeing to all those terms and conditions.

...plus not bothering to actually read the license agreement when you install software. It is no more thought out than that.


@The Pixie

Death while installing software

a shop-keeper, who you've unwittingly sold your soul to while agreeing to all those terms and conditions.

...plus not bothering to actually read the license agreement when you install software.

I can definitely see this as the opening.


THIS CONCEPT IS BASED ON A TRUE STORY

Search terms and conditions immortal soul online if you're unfamiliar.


Your Consent

By using our site, you consent to our privacy policy.

Changes to our Privacy Policy

If we decide to change our privacy policy, we will post that we've made those changes on this page.

View the Privacy Policy

The Privacy Policy is on display in the bottom of a locked filing cabinet stuck in a disused lavatory with a sign on the door saying 'Beware of the Leopard'.


Here's the link to the GitHub repository:

https://github.com/rheadkid/Quest-Group_Project/wiki


Anyone who'd like to collaborate without setting up a GitHub account can get their code to me, and I'll submit it to the GitHub repository, by the way.


Can't...

Edit...

Post...

Sorry, you can't post that here.


Log in to post a reply.

Support

Forums