Uh oh!
There was an error while loading. Please reload this page.
Spaceship - #190
Conversation
Marc-Alexandre Côté (MarcCote)
commented
Oct 29, 2019
HakiRose the current version doesn't work for me. I can't run Also, it seems to be missing the logic for the type |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
HakiRose
commented
Oct 29, 2019
The first comment is exactly the issue I have, and I wanna to talk with you. |
You might have forgotten to |
Marc-Alexandre Côté (MarcCote)
left a comment
There was a problem hiding this comment.
Here are a few comments.
| if mode == 'ansi': | ||
| return outfile | ||
| def seed(self, seed=4567, init_seed=None): |
There was a problem hiding this comment.
The signature of the seed method should be the same as in textworld.core.Environment.seed (https://github.com/microsoft/TextWorld/blob/master/textworld/core.py#L204)
There was a problem hiding this comment.
This function should simply set the in-game rng seed with the seed passed in argument.
There was a problem hiding this comment.
Changing the seed between the episode should be handled by the agent's code.
There was a problem hiding this comment.
I need to discuss this comment with you.
| @@ -0,0 +1,964 @@ | |||
| #---------------------------------------------------------------------------------------------------------------------------------- | |||
There was a problem hiding this comment.
This file should not be in textworld/data/text_grammars/. Remove this one and keep, only the one in challenges.
| quests.append(Quest(win_events=[win_quest], fail_events=[])) | ||
| # fail_quest = Event(conditions={game.new_fact("unread/e", game._named_entities['laptop']), | ||
| # game.new_fact("open", game._named_entities['door A'])}) | ||
| fail_quest = Event(conditions={game.new_fact("unread/e", game._entities['cpu_0']), |
There was a problem hiding this comment.
I think the losing condition should be "unread email" and "the player has left the room" instead of the door being open.
There was a problem hiding this comment.
By this: "the player has left the room", do you mean the return msg from Inform7?
There was a problem hiding this comment.
No. More like at(P, new_room) & unread(email) or something like that.
| checking email is an action applying to nothing. | ||
| Carry out checking email: | ||
| if a CPU-like (called pc) is unread: |
There was a problem hiding this comment.
It's better to also say something when the email is read. Maybe something like "You've already read all today's emails."
| if a CPU-like (called pc) is unread: | ||
| if a random chance of 1 in 4 succeeds: | ||
| Now the pc is read; | ||
| Say "Email: Your mission is started."; |
There was a problem hiding this comment.
Ideally, we want to describe the mission here.
There was a problem hiding this comment.
ohoom! I'll consider a good description for this part.
Anyways, I'd like to discuss another topic, but relevant to this, with you.
| } | ||
| code :: """ | ||
| Understand "tw-set seed [a number]" as updating the new seed. |
There was a problem hiding this comment.
That seems to work great!
There was a problem hiding this comment.
Yes! But there is a minor thing I'd like to share with you and have your opinion :
@ git_glulx_ml.py:
GitGlulxMLEnvironment.seed()
The increment is not 1, rather it is a random int. What do you think?
| } | ||
| reverse_rules { | ||
| check/e :: check/e; |
There was a problem hiding this comment.
Those are not valid reverse rules. You can't uncheck email nor unexamine cpu. Not all actions have a way to reverse their effects.
There was a problem hiding this comment.
Well my understanding about this was a bit different! Let me describe it, & pls correct me if I'm wrong:
I assumed that the reverse actions provides the return to previous state as ell as repetition of an action (e.g. examine/door :: examine/door). Since we need to have check email in the "available actions" array whenever the player is in Sleeping Station, I decided to have return rule for check/e. What do you think?
| commands { | ||
| check/e :: "check email" :: "checking email"; | ||
| examine/cpu :: "examine {cpu}" :: "examining the {cpu}"; |
There was a problem hiding this comment.
I don't think you need examine/cpu because it is inherited from examine/o.
There was a problem hiding this comment.
Oh! so if I don't mention it, still it will be there in "action array"? Like inheritance in classes...?!
| code :: """ | ||
| Understand the command "check" as something new. | ||
| Understand "check email" as checking email. | ||
| checking email is an action applying to nothing. |
There was a problem hiding this comment.
Because "checking email" is an action that applies to nothing, it means that Inform/the game will understand the command "check email" everywhere in the game (i.e. not necessarily in front of the laptop).
There was a problem hiding this comment.
I think it would be better if "email" is an entity in the game that we can interact with. Or even better, maybe we should support a command like: "check laptop for email", "check email on/using laptop". It's not clear to me how we can do it though.
…- Push_button and Cloth are assumed simply as key and object, respectively.
…l) is implemented, revisions on FW for stochastic commands, some minor changes on a few other files.
… and refactoring, game files(json, ni, ulx), updated logic files, ...
f71aa01 to
b49f035Compare6ae5159 to
9b08db7Compare5edccd6 to
9fce9eeCompare
The design of mid-level game is finalized.