ID:153768
 
I was thinking of making a game which creates a story..

Actions and so on are perceived as past-tense.. Such as;
Volte walked through the gate. Volte soon encountered an enemy.. A giant rat, that had two razor sharp fangs. Volte unsheathed his sword, awaiting the incomming attack from the hidious beast. The rat lunged at Volte!

And so on.. And after certain points, it exports them to a text file to read as a story. Sound interesting to anyone?

~>Volte
Sounds interesting. If the storys dont get to rediculous that could be very entertaining(even if they did get to rediculous).
Volte wrote:<code> > Volte unsheathed his sword, awaiting the incomming attack from the hidious beast. </code>
I'd advise the use of a spellchecker =P

Does it just generate a story, or is it interactive?
This would be great! But to make it fun, you might want to stay away from fighting "scenes", for they would be boring unless there is actual commands and such and variables, it's not all prewritten. You gotta make sure it's an actual story game and doesn't turn into a text MUD.

How I see the best way to do this would be this:


You see a small latch on the ground, which looks to be attached to a trap door!

(ask the player what to do(input))

You thinks about it, and grabs the latch to open the door.

It's stuck!

You see some matches in the corner of the room.

(input)

You try to burn the trap door up so you can smash through, but the floor next to it catches on fire! Smart thinking!

(input)

You run out of the house.

You watch as the house you were raiding burns to the ground.

You really wern't planning to burn your grandmother's house down were you...

If only you had asked her to get the apple pie for you when she got home! Shame on you!

(input)

And so on...


I got that way of making a "story game" from a website I once visited.
Excellent idea. I think some of us talked about this possibility on the forums a while back, as a way of making game logging interesting, but none of us have actually acted on it. If you decide to give it a try, more power to you!
In response to Jotdaniel
One thing, make sure the battles are short and have a few phrases that won't repeat right next to each other. It would kinda kill the whole story if you saw

"[Bob] slashed at the [orc]s throat, but his [dagger] was defelected."
"[Bob] slashed at the [orc]s throat, but his [dagger] was defelected."

I just added the brackets for an idea of how lines could be assembled, obviously.
In response to Gughunter
I think I remember that thread. Someone brought up the idea of making the action in present tense, but logging everything in past tense. It could be a lot of fun to read.

I agree with Krosse that you'll want to keep battle messages down. I'd recommend only logging who was fighting and the outcome of the battle. Amother alternative could be an adlib engine to generate semi-unique messages each time.

An attack and miss message might be generated like so:
switch(rand(1,50)) // select a message template.
if(1)
message = "[attacker] [pick(attacker.weapon.attack_words)] at the [target]'s [pick(target.body_parts)], but the [pick(attacker.weapon.synonyms)] [pick(attacker.weapon.miss_messages)]."

... multiple alternate templates ...

if(50)
message = "[attacker]'s [pick(attacker.weapon.synonyms)] [pick(attacker.weapon.miss_messages)]."

The templates can be as complex or simple as you like, and don't always have to provide every detail of the attack.
In response to Krosse
"[Bob] slashed at the [orc]s throat, but his [dagger] was defelected."
"[Bob] slashed at the [orc]s throat, but his [dagger] was defelected."

Spelling "deflected" as "defelected" would also kill the story. ;-)
In response to Shadowdarke
Was that the thread where people were discussing how to vary the same message repeated the same time to be done in a direct versus an indirect manner? That is, passive voice versus active voice.

For example,

Bob killed Gareth.
Gareth was killed by Bob.


(Incidentally, I found a *very* good cheat-sheet/presentation for those interested in doing natural language systems for their projects: http://www.cs.utah.edu/classes/cs5340/slides/ syntax-basics.4ps.pdf)
A game with a sort of type of... story log. I'd like that for roleplaying uses.

<Font color=red>"Nothing is ambiguous as 'memory'"</font>
- Asguard
That's a great idea.

If I can offer any advice, it'd be to vary up your prose a little bit; if every sentence starts with your name it could get boring, but \He would be useful there. Of course that should also be checked against previous sentences to make sure "he" (or "she") clearly refers to the player, and not to a monster.

It couldn't hurt to describe your environment in richer detail too.

Volte crept through the dark forest. His leg hurt less now, but he was starting to get hungry. There was no sign of any animal nearby. The only sound he could hear was the noise of crickets.

Of course the code you'd need to produce something like that is a tad more sophisticated than what you were talking about, but it could be worth the effort. Particularly I don't think the health/food line would be terribly hard to set up, using conjunctions like "and", "although", "but"....

Lummox JR
In response to Lummox JR
Volte crept through the dark forest. His leg hurt less now, but he was starting to get hungry. There was no sign of any animal nearby. The only sound he could hear was the noise of crickets.

Of course the code you'd need to produce something like that is a tad more sophisticated than what you were talking about, but it could be worth the effort. Particularly I don't think the health/food line would be terribly hard to set up, using conjunctions like "and", "although", "but"....

The natural language cheatsheet I posted on this thread would probably help there. Only problem is that natural language parsers are still a grey area to this very day -- none of them can understand the meaning of every English sentence (let alone attempt to decipher sentences made with improper grammar).
In response to Spuzzum
Spuzzum wrote:
(Incidentally, I found a *very* good cheat-sheet/presentation for those interested in doing natural language systems for their projects: http://www.cs.utah.edu/classes/cs5340/slides/ syntax-basics.4ps.pdf)


Just comes up blank for me. (Yes, I have acrobat installed.)

~>Volte
In response to Volte
Just comes up blank for me. (Yes, I have acrobat installed.)

~>Volte

Well, it works for me, so I dunno what's wrong. You might want to try downloading a later version of Acrobat Reader.
In response to Spuzzum
Spuzzum wrote:
The natural language cheatsheet I posted on this thread would probably help there. Only problem is that natural language parsers are still a grey area to this very day -- none of them can understand the meaning of every English sentence (let alone attempt to decipher sentences made with improper grammar).

Natural language parsing needn't be necessary for the game unless that's what Volte had in mind. I was thinking more of structuring game output in a way that flowed like a story.

Lummox JR
In response to Lummox JR
Lummox JR wrote:

Natural language parsing needn't be necessary for the game unless that's what Volte had in mind. I was thinking more of structuring game output in a way that flowed like a story.

Lummox JR

Bingo.

I just want the output to...Well...Flow like a story. Perhaps with emotes, I could randomize how it was done.. Sometimes use \he, sometimes use their name.. I'm still not sure about a free-emote verb, where you type in your own emote. If I did that, I'd have to parse the emotes, and replace all words with their past-tense word.

~>Volte
In response to Volte
Volte wrote:
I just want the output to...Well...Flow like a story. Perhaps with emotes, I could randomize how it was done.. Sometimes use \he, sometimes use their name.. I'm still not sure about a free-emote verb, where you type in your own emote. If I did that, I'd have to parse the emotes, and replace all words with their past-tense word.

I think that level of parsing is too complex to get into. Better is to allow a limited choice of verbs to choose for such an emote. Dialogue will be easier.



The chamber was dark when Volte entered. It was a small and had a low ceiling. In the dust on the cavern floor, he could see footprints. "I guess I've got company nearby," he said. All was quiet except for the sound of dripping water.


Lummox JR
In response to Lummox JR
Lummox JR wrote:
I think that level of parsing is too complex to get into. Better is to allow a limited choice of verbs to choose for such an emote. Dialogue will be easier.



The chamber was dark when Volte entered. It was a small and had a low ceiling. In the dust on the cavern floor, he could see footprints. "I guess I've got company nearby," he said. All was quiet except for the sound of dripping water.


Lummox JR

But what exactly do you mean, and how would I handle such thing?

~>Volte
In response to Lummox JR
Lummox JR wrote:
Spuzzum wrote:
The natural language cheatsheet I posted on this thread would probably help there. Only problem is that natural language parsers are still a grey area to this very day -- none of them can understand the meaning of every English sentence (let alone attempt to decipher sentences made with improper grammar).

Natural language parsing needn't be necessary for the game unless that's what Volte had in mind. I was thinking more of structuring game output in a way that flowed like a story.

But that's not all that the sheet is good for; plus, you don't catch my meaning.

Essentially, the sheet stands as a quick guide to all of the grammatical rules and structures of English.

The meaning I had, aside from that, is that you would only have to represent a single internal structure in the code, and then that structure would be parsed, identified, and modified to appear different. For example:

"He entered the wet cave and saw a generic monster."

...could be parsed and reinterpreted to read...

"Entering the wet cave, he encountered a generic monster."


But, like I said, that's a fairly large level of natural-language capability.
In response to Spuzzum
Spuzzum wrote:
But that's not all that the sheet is good for; plus, you don't catch my meaning.

Essentially, the sheet stands as a quick guide to all of the grammatical rules and structures of English.

The meaning I had, aside from that, is that you would only have to represent a single internal structure in the code, and then that structure would be parsed, identified, and modified to appear different. For example:

"He entered the wet cave and saw a generic monster."

...could be parsed and reinterpreted to read...

"Entering the wet cave, he encountered a generic monster."


But, like I said, that's a fairly large level of natural-language capability.

That's exactly what I had in mind, until I realized that the programming abilities needed to go through such an advanced level of parsing, easily exceed my own.

The most I could be able to do, is replace words from present, to past tense. I could by no means re-arrange them, depending on the grammatical structure of the actual sentence. But perhaps, with the help of many people, I could pull it off. If not, I'll just go with designing the output to flow like a story, as LummoxJR said.

~>Volte
Page: 1 2