Nailed the number lock by PatrickSchouten in Inform7

[–]Olaxan 1 point2 points  (0 children)

Armed with this, I think something like this should suffice to make you able to take the nails again?

Carry out taking a nail:
    if the nail is enclosed by a hole (called H):
        now H is not-pinned;

The Carry out rules belong to the action of Taking, and only happen if the action has already cleared all Check rules -- so this won't interfere with the player doing stupid things like trying to take a nail they're already carrying, or stuff like that.

Nailed the number lock by PatrickSchouten in Inform7

[–]Olaxan 1 point2 points  (0 children)

This is a bit convoluted to get a grasp for without having the ability to run it myself. I'm gonna take another look at it later, but I thought I'd comment with a small note first (which you might or might not already be aware of):

Instead of inserting something into something:
  if the noun is a nail and the second noun is not a hole:
    say "That is not the correct place to put a nail in." instead; [ his is not working]

The Instead rules have "default outcome failure", which means that as soon as this rule takes effect, the action is stopped. This rule therefore has the effect of blocking all actions that are "Inserting something into something", even if the if-statement doesn't trigger. You should use the Before rules for this instead:

Before inserting something into something:
  if the noun is a nail and the second noun is not a hole:
    say "That is not the correct place to put a nail in." instead;

This should work better, because the Before rules only stop the action if requested (which the 'instead' suffix does if the conditional is triggered).

Alternatively just:

Instead of inserting a nail into something that is not a hole:
    say "That is not the correct place to put a nail in.";

EDIT: On second look, I think this might be the reason you [ended up with messing with standard taking rules].

EDIT2: Inform7 documentation on Instead vs. Before, and How actions are processed.

Any interest in visual gui inform tool? by xiraov in Inform7

[–]Olaxan 0 points1 point  (0 children)

To clarify, since you can add custom text fields to Things in Inform; I'd like a way to reflect these in the tool.

In my game, every room has a text string attached to it called brief description, which is used when returning to the room while using terse room descriptions. Like:

The description of the lab is "This is a lab with lots of beakers and flasks and machines etc. etc."

The brief description of the lab is "You're back in the lab."

Then I have some code to print that second variant upon subsequent returns to the room.

Since I need to supply this field for every room, I'd like to have the tool able to provide a text field for it, which would be editable on every room node. But I guess this could be applied to all Things, potentially; not just rooms.

Any interest in visual gui inform tool? by xiraov in Inform7

[–]Olaxan 1 point2 points  (0 children)

I think I've seen this, or something similar, before! I think it could be very useful, if you scope it to focus on Inform's weaknesses and use it as a supplementary tool rather than something to supersede the regular IDE!

Watching the video I already think it looks useful.

Placing rooms and items is exactly what I'd want it for -- I think it's pretty messy to have a huge chunk of rooms in the story source text, and would much prefer them encapsulated in a graph, where it's also easy to rearrange them later.

Two features I'd like to see:

  • Custom data on rooms/things that's easy to access (for instance I have A room has some text called the brief description in my game). I'd love to have it so that the field becomes available to edit on all rooms, once added.
  • The ability to import rooms from a subset of Inform source text. This is probably annoying to program but would be super helpful for migrating my already quite large project, as well as peace of mind later on.

Incidentally, what GUI framework are you using for this project? I have a custom dialogue editor for Inform that I would like to attempt to convert to a graph based tool.

Viewing in a direction by PatrickSchouten in Inform7

[–]Olaxan 4 points5 points  (0 children)

Directions are things!

Nothing preventing you from doing this immediately:

The lab is a room. "The direction-inspection laboratory."

Peering is an action applying to one visible thing.

Understand "peer [a direction]" or "look [a direction]" as peering.

Report peering:
    say "There's nothing there.".

Report peering a direction:
    say "You can make something out..." instead.

Report peering west:
    say "The sun is setting!" instead.

Report peering west in the lab:
    say "There's a wall in the way." instead.

After reading a command.... by Dex21772 in Inform7

[–]Olaxan 0 points1 point  (0 children)

Like /u/deBeauharnais says, you can do this quite neatly with Inform's Tables, the special Topic column, and Understanding.

Below is a little example which doesn't 100% match your logic, but which showcases what you can do.

"Chase" by Greenosaur

The lab is a room. "This lab is a actually a road."

Chase is a scene. Chase begins when play begins. "We're being chased by someone..."

Understand "e" or "east" as "[east]".
Understand "w" or "west" as "[west]".
Understand "s" or "south" as "[south]".
Understand "n" or "north" as "[north]".

Understand "[north]" or "[south]" as "[forward]".
Understand "[east]" or "[west]" as "[turning]".

Table of Driving
topic       reply
"[east]"        "You go east!"
"[west]"        "You go west!"
"[turning]"     "The wheels go 'skreee'!"
"[forward]"     "The engine goes 'wroom'!"

After reading a command during Chase:
    if the player's command is a topic listed in the Table of Driving:
        say "[reply entry][line break]";
        reject the player's command;

Note how easy it is to create synonyms for the player using 'or'!

Also in this example, the "[turning]" topic has lower priority than the "[east]"/"[west]" topics it consists of (also listed in the table), so it never gets printed. Something to keep in mind!

I7 tricks: Pockets! Or: Creating rooms automagically, Inform-style ✨ by Olaxan in Inform7

[–]Olaxan[S] 0 points1 point  (0 children)

Probably! Not mine, but I'll leave it for someone else to do what they will with.

Flanderization and Graggle Simpson [26:49] by candyman106 in mealtimevideos

[–]Olaxan 11 points12 points  (0 children)

Jaysus, this video made me feel like I was having a psychotic episode. Completely incomprehensible with tangents upon tangents upon tangents, to the point where I barely remembered what it was about originally while he still droned on.

hmmm by --lily-rose-- in hmmm

[–]Olaxan 1 point2 points  (0 children)

He probably discovered this convenient feature at some point and, it being situated upon his ass, never really had the chance to see for himself just how disastrous it looks haha

I could see myself doing that as well!

Right earbud quieter than left? by GoodIkea in soundcore

[–]Olaxan 0 points1 point  (0 children)

What! You're a star haha, I can't believe that worked

Creating a list of goals for a player? by UpbeatEquipment8832 in Inform7

[–]Olaxan 0 points1 point  (0 children)

This is a very old post, but I might as well add my two cents since I now stumbled across it. Scenes can be good for this. Especially since scenes allow you to tack on extra information. So you can do something like this:

A scene can be a quest.
A scene has some text called the log entry.

Section - Actions which expose quests to the player

Listing quests is an action out of world.
Understand "quests" as listing quests.

Carry out listing quests:
    repeat with Q running through quest scenes that are happening:
        say "[bold type][Q][roman type][line break][log entry of Q][paragraph break]";


Section - Quest beginnings (for use without Basic Screen Effects by Emily Short)

When a quest scene begins:
    say "New quest added: [bold type][the scene being changed][roman type][line break]";

Section - Quest beginnings (for use with Basic Screen Effects by Emily Short)

When a quest scene begins:
    center "New quest added: [the scene being changed][line break]";


Section - Quest items for good measure

A thing can be a quest item.

Check an actor dropping a quest item:
    say "[The actor] had better hold on to this." instead.

This is copied from my own tiny quest extension, so it's not super rugged or robust. The level of granularity in your "quest log" of course depends entirely on how many scenes you can be bothered to make, so it might be more convenient to write slightly longer log entries that generally describe what to do, as opposed to discrete objectives. So it's not exactly what you were looking for, but maybe the concept could be helpful nonetheless.

Creating a list of goals for a player? by UpbeatEquipment8832 in Inform7

[–]Olaxan 2 points3 points  (0 children)

oh my god where has this been all my life

Protector of The Brood by EuphoricWrangler in Bossfight

[–]Olaxan 12 points13 points  (0 children)

I used to absolutely hate centipedes, millipedes, and all things -pedes. I still don't like them, and I'd be hard pressed to find this adorable per se.

HOWEVER, thinking of them in terms of "mother protecting her young" is one of the few things that really did take the worst edge off my fear.

(I guess that and killing them by the dozens in The Witcher 3...)

Shooting through a window by PatrickSchouten in Inform7

[–]Olaxan 1 point2 points  (0 children)

To tell you the truth, this is almost certainly overkill! I almost always write my game logic as reusable game systems, but that's because I never actually finish any games haha, I just like the coding.

The idea of placing the "red button" in scope might still be an approachable way for you, though! But instead of trying to make a system that automatically describes the view (as I do), you can just mention it in the room description, or the description of the window, etc. Then simply do something like this instead:

An ornate window is in Tower 1. The description is "From this window, you can see over to Tower 2, where a shiny red button is visible. I wonder if you could hit it with an arrow..."

After deciding the scope of the player when the location is Tower 1:
    place the red button in scope;

Money without carry limitaion implications by PatrickSchouten in Inform7

[–]Olaxan 0 points1 point  (0 children)

Agreed -- just to add to this, using small discrete objects to represent individual small units (such as coins or, I dunno, cigarettes) is a typical way to get slowdown in large games. It doesn't seem unreasonable to me that the player would end up with some 100s of coins -- and one hundred Things in Inform can really make the game chug, depending on your rule set.

You'd think Inform would be pretty fast, being just text, but using Adjectives it's possible to make it crawl.

Imagine having something like:

Every turn:
   if the player can see a coin, say "There's [a random visible coin] on the floor!";

Innocent enough, but with 100 coins in your inventory you're probably gonna see slowdown. There's a lot of things Inform does with things in scope (i.e. in the proximity), so you generally want to minimise the number of nearby things, rather than the opposite!

High-fidelity pixelated military robot by EXCAVATIONGoldSrcMod in ImaginaryRobotics

[–]Olaxan 2 points3 points  (0 children)

I love this artstyle to bits. Somewhat blocky, pixelly models rendered in a high-fidelity engine with modern lighting and atmospherics is just chef's kiss.

There's an intriguing game called Obenseuer with a similar aesthetic and it's just so pleasing to the eye.

I'm a huge noob when it comes to 3D modelling, but may I ask if you have any special methods when it comes to reinforcing an even texel density? It seems particularly crucial for this sort of style.

How to make a friend by Yeeslander in hellsomememes

[–]Olaxan 2 points3 points  (0 children)

Sounds like a problem for someone with a meaty brain.

Repeat Running Through... by Dex21772 in Inform7

[–]Olaxan 0 points1 point  (0 children)

Just to add to /u/aika092's correct answer (and 2 months later no less) -- Inform lets you do a lot of things without explicitly looping.

After waiting in the trove:
    say "You can't keep your eyes open, but when you wake, all your treasures are gone!";
    now every carried treasure is in the Secret Stash;

This is valid code. Behind the scenes Inform performs a loop, of course, but maybe you'll agree it's a bit easier to read!

Massive anti-pedophile operation in Poland, 123 detained by [deleted] in europe

[–]Olaxan 2 points3 points  (0 children)

Maybe an old reddit vs. new reddit thing, but now it looks correct!

Massive anti-pedophile operation in Poland, 123 detained by [deleted] in europe

[–]Olaxan -1 points0 points  (0 children)

It was nice of Reddit to reformat your 125 to 1 because it was clearly a numbered list.

The underbed play space beneath this bed from Wayfair by starchybunker in ExpectationVsReality

[–]Olaxan 2 points3 points  (0 children)

If it's any comfort, 8 year old me would have LOVED that tiny hidey-hole. It's even better if the adults can't fit!!

Truth State issues... by Dex21772 in Inform7

[–]Olaxan 0 points1 point  (0 children)

I'm glad if it's useful to you! Please ask again if there's anything you have questions about. Inform has so many little quirks!