More AGT Modifications

Hello, everyone.

Still working on both an AGT game while modifying the engine itself.

Here is a list of previous modifications:

  1. AGT can itself change text colors. This is good for “SanctuaryRPG Black” visuals. It is done by the game itself.
  2. AGT can now handle three or more same-nouns in one place. So you can have a puzzle involving three or more cubes for example, where stacking them has different effects. This was done by allowing AGT to recognize different objects.
  3. Worn items now count towards weight.
  4. Worn items can now act as light sources.
  5. Creatures can now act as light sources.
  6. The quirk where a box can hold any number of items as long as none of them are too big is no more.
  7. A trick where you can carry more weight than you should no longer works.
  8. A new verb, Situate, to be used with ON only. This was an early effort to require specific prepositions.
  9. AGT can now filter prepositions. If you have a solid bronze block pushed against a smooth wall on a marble floor you can have it so nothing can be put UNDER or BEHIND it. This can also be used to require a specific action, like putting a bob of bronze UNDER the stamp.
  10. The ability for AGT to put something UNDER, ON, BEHIND, etc. something. This can be done by default but this also allows AGT to move something around in this way.
  11. Fixing sloppy-looking text. This may have been because the programmers figured people were using 40-column screens.
  12. A number of techniques enabling AGT to do more than the instructions indicate. For example, detailed descriptions of creatures are possible.

Among the new modifications are those which do not require removing existing ones.

  1. This was an obvious one: the meta-command TimePasses now requires a number. If you use “0” then it acts as it did before- it just puts “Time passes…” on the screen- but now you can actually add turns to the total. This is very useful for acts like sleeping or being held in some way.

  2. Counters can now start from anywhere, not just “0.”

  3. AGT itself can turn things on and off. This means if you enter an anti-magic room a magic lamp goes out. It does not require noun-switching. Indirectly this allows just one noun to be used for lit, dark, and dimming.

All of this allows AGT to do things it could not do normally. Now puzzles involving three or now same-nouns directly interacting are possible. I’m wondering if AGT can handle that “Translucent Rooms” puzzle from “Enchanter,” my problem is that I could never move a monster through a maze.

5 Likes

We will discuss after the IFComp, when, hopefully, you will see actual Magx source code, but, albeit I concur and agree on some of your ideas, I still consider a massive mistake improving the AGT codebase without consideration for the substantial improvment in the Magx codebase.

Best regards from Italy,
dott. Piergiorgio.

Is there a web site or something with more about AGT? Tried google, but all I get is videos to America’s Got Talent. Just interested as a coder of another system.

1 Like

https://www.ifwiki.org/AGT

3 Likes

AGT is within my abilities and overall plans. It is also clearly something I can modify. Since I’ve written down how I modified the engine, I can pick and choose, so if another game does not require certain modifications but would others, I can decide how to modify it for each game. That is a big advantage.

The ability for AGT to now change text colors in-game based on game code is a terrific addition if one wants to draw keyboard images (ASCII all is a pain). I can do it. Different color text for specific things like being in a volcano or forest? Done. Can MagX or even TADS 2 do this?

ISTR to recall that you know pascal but not C. Is this that you mean by “within my abilities” ?

In this case, ISTR that you plan to use a legacy, albeit excellet compiler, that is Turbo Pascal, the same compiler used for the original AGT. but this led to a 'terp whose require a legacy environment (MSDOG emulation, e.g. dosbox), and this defy the very same logic of the VM based IF story files (the 'terp taking care of the hardware/OS differences & divergences…)

so, I ask if you have considered the free pascal compiler, whose not only IS compatible with Turbo Pascal, but also has an IDE mimicking the old Turbo IDE and, most important, can generate binaries for all modern 64 (and 32) bit OS & hardware, allowing porting 'terp to practically all machines, the main requirement for a modern IF language & story file format.

Best regards from Italy,
dott. Piergiorgio.

1 Like

The games created by AGT run on DOSBox, which runs on just about anything. Even the crummy little CE netbook had DOS emulators which run those games.

Puppy Linux has a version of DOSBox which runs them nicely.

So those games run on just about anything. As is.

I made another modification yesterday- this requires “SendToRoom” to use a variable so instead of sending a player to Room 16 like this:

SendToRoom 16

it must be

SetVariableTo 46 16
SendToRoom #VAR46#

This enables one to be sent to a random room, or to a room based on some other circumstance. It can also save some commands for other use.

ok. seems that you have done your choice, whose seems justified by your, uh, linguistic ? limits, as seems. I have pointed to a pascal compiler whose can compile legacy TP code, so let’s see what happens.

When you release your new compiler & 'terp, I’ll be happy to recompile it on said compiler, but I will point that you should try that compiler.

oh, personally I think that requiring variables, and not variables AND constants for SendtoRoom is a wrong choice, the most used case of sending to room is to a specific room, and variables, by their nature, can, and will, be changed into wrong values, that is, bugs.

dott. Piergiorgio.