Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

How trap _ ALL

A topic by auraes created Sep 16, 2019 Views: 171 Replies: 14
Viewing posts 1 to 5
Submitted

I don't like the use of _ All. I don't know how to disable it.

Does not work:
on_command {
     : match "_ all"  {
          : print "One thing after another." ;
          : done ;
   }
}
"All" is complicated to manage in the game loop and may cause problems (this is also the case with Inform 6). We should be able to disable it.

(1 edit)

Just do matches for the commands that use all, e.g. DROP ALL, GET ALL, WEAR ALL, REMOVE ALL,

"It's best if you try to do things one at a time."

(1 edit)

Oh! That no longer works! I previously had it set up in my game, and working, but now it doesn't work.... Perhaps due to the recent ALL changes that were implemented to ignore the scenery objects?

: match "get all;drop all" {      
    : print "Your father always used to tell you to concentrate on one thing at a time.";      
: done;}

No longer working.

Submitted

Please don't change this. I like ALL. It saves a lot of time.

I like AGAIN (or G) too, but you can't do it in Adventuron.

I've never really understood AGAIN... I can't really think of occasion in any of my games where it'd be useful... except for those times where I've done something really annoying like require multiple examines or searches of an item... And I look back at that sort of thing as a horrible phase that should be avoided these days! :) 

I tend not to have an inventory limit or item weight, so GET ALL really isn't that useful in my games. I don't particularly want it in this game, so I would like to have the option to code around it... like I had previously. (I think anyway... I'm pretty sure it worked before the recent ALL changes)

Submitted

There are probably four scenarios where AGAIN (or G) comes in useful:

  1. Old school text adventures where typing LOOK or EXAMINE or DIG would reveal something, but if you repeated the same command, it would reveal something else. Once you realised, this, you would get in the habit of repeating the command as a matter of course - just in case. It's so much easier if the game allows G.
  2. Those bloody awful adventures with role-playing elements where you have to fight a monster or something and the outcome is random, so you have to keep repeating it over and over and over again until you win or die. It's so much easier if the game allows G.
  3. Any game where you have to do something repetetive. There's a lot of these around.
  4. Most importantly, and this is where I use it A LOT, is testing. For example:

>OPEN CLOSET
You open the closet to reveal some clothes.
>G
You open the closet to reveal some clothes. [Whoops! Bug there. It should have said "The closet is already open."]

Infocom probably set the trend and all modern adventures have it. Hey, I even included it my old Atari BASIC adventures back in the 1980s. It's really easy to implement. You just remember the command and if the next command is AGAIN, you just replace this with the saved command.

Now if Adventuron allowed me read/write access to the verb and noun, I could implement this myself. Maybe. Nothing in Adventuron is easy.

Regarding having an inventory limit, I think this adds to the realism of the game. Let's face it, in real life you can't walk around carrying a pair of oars, a treasure chest, a Masai warrior's shield, a letter from your sweetheart, a gun belt, a tobacco pouch, a lion-skin cloak, a large bronze key, a lamp shade and a rolled-up carpet, so why should you be able to do it in an adventure? If done correctly, an inventory limit adds to the puzzle element by forcing you to think about inventory management: which items you've used, which ones you're likely to use and which ones are probably red herrings. It also adds to the challenge of finishing the game in the minimum number of moves once you know what to do (which is something I always do prior to writing up solutions for CASA).

Anyway, just my two bob's worth from a seasoned old adventurer.

It's just a personal preference, I think.

I'm fine with games being 'games' rather than 'simulations', and taking liberties with realism... object management is something I can usually happily do without... which is why I'm usually okay having an unlimited inventory. What you can walk around with, in most games, is pretty impossible, even with an inventory limit! :) 

However... there have been occasions when I've implemented an inventory limit, or when I've though they particularly worked well in a game... If the limit is there as part of the puzzles... perhaps requiring clever ways of porting objects between locations... then I think that's fine.

The majority of games I've played, during my almost forty years of adventure playing, have had inventory limits. They've never put me off a game.

Host

The AGAIN (or G) feature is kind of redundant (on desktop) but I'll probably add them anyway (for mobile). 

There are a couple of shortcuts you can use on desktop.

  • Cursor UP and DOWN will move through the command buffer, then just press ENTER.
  • Pressing tab will help you with known verbs and nouns currently (nouns are built automatically).
  • Holding SHIFT then tapping a cursor key will move you NORTH, SOUTH, EAST, and WEST.
"Nothing in Adventuron is easy."

Constructive criticisms always welcome.

Submitted

I discovered the cursor up by accident. This is very handy, but there's nothing equivalent on mobile, as they don't have arrow keys.

I've just been experimenting with the Tab key. Very clever. You have to type a verb first, then use Tab and it seems to cycle through all the nouns encountered so far. In my game, the list gets pretty long by the time you get to the end of the game. :-)

Host

if you type a few letters in the verb or join position it narrows down the items that are cycled.

Host(+1)

It's hidden in the bowels of the settings ...

Trapping it doesn't work Gareth because the standard all behaviour pre-empts everything. Technically, you can use the : do_all; command manually even when the standard all behaviour is disabled. 

start_at                 = village
locations {
   village : location "You are in a village" ;
} objects {
   lamp    : object "a lamp"    start_at = "village" ;
   toaster : object "a toaster" start_at = "village"  ;
} settings {
   enable_standard_all_behaviour = false
}
Submitted

What does do_all do?

Host (1 edit)

This is all technically out of the scope of "classroom:, and these features were hidden away so as not to overwhelm beginners. 

Anyway, essentially, do_all will explode out the current sentence and replace the "ALL" part by the contents of some location (such as the inventory, the current player location, some other location, some container), and it will also stop downstream ticks.

There is an ongoing bug (mentioned in another thread) that the "ALL" tick is being counted as a tick when it should not be. I advise strongly against using do_all. The "enable_standard_all_behaviour " which defaults to true, will handle alls without having to use do_all. do_all is a very advanced command, and easy to misuse.

Submitted

Adventuron doesn't recognize 'enable_standard_all_behaviour'. It doesn't want that.

It does. It's in my game, fine. Needs to go in the settings section, not the theme setting section.