Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(3 edits)

I think it is the theme, where I can ask development questions. To begin:

1. Is changing the TWO theme is permitted or we have to strictly use it as it is?

2. If changing is permitted, what the way to apply each treasure it's own color? Got it

3. What the right way to build conversation with an NPC?

4.  How to implement "Look around" messages?

5. How to change default messages for "Can't take", "Not here" etc.?

I've read the docs, but found nothing for this questions.

(2 edits)

1. Yes, the theme is changeable. You need to create a theme in a themes section. You MUST however use the treasure_room = your_treasure_room_id and the redescribe = auto_beta 

Beware, a bug exists that stops control + space working in a theme that uses extends = ????, so if you want to use control + space in a theme, I recommend you comment out extends = two beforehand. This bug is in the editor only, not in the game engine.

start_theme   = my_theme
treasure_room = my_treasure_room
redescribe    = auto_beta
// Game code here ......
themes {
   my_theme : theme {
      extends = two
      // Your specialisation goes here (font changes, message changes, etc) ....
    }
}

2. You can make each treasure its own colour by setting up an explicit colour for the object text per-object

gold_lamp : object "<gold lamp<#rgb>>" at="start_location";

Click this link to see  the different text formatting codes.

3. Conversations with NPCs is pretty tough in general given the constraints of the jam. One approach might be to response to TALK XXXX (where XXXX is an npc name) randomly with "ASK ....." or "TELL .....", then write ASK and TELL handlers for the with the noun representing the topic rather than the NPC name. In this case, you would struggle if the NPCs can move. This is all down to the jam constraints. You might also consider an ask_string attached to TALK XXXX (charactername), and print out TOPIC? before taking the string. That way you can make sure you are never handling more than two words.

You can find a sample use of ask_string here.

4. LOOK AROUND messages? You mean examine objects? Or responding to LOOK AROUND? If it's the latter, then I recommend not responding to that. Adventuron uses standard text adventure convention that LOOK by itself will redescribe the current location. LOOK OBJECTNAME or EXAMINE OBJECTNAME or LOOK AT OBJECTNAME or X OBJECTNAME, will map to the examine message (or handler) for the object. LOOK AROUND shouldn't really trigger anything, as most people wouldn't know to type that so if you depend on that, it might be hard.

5. Changing the system messages is a matter of pressing control + space inside a theme (see the snippet above), and there is a section called system_messages {}. By default the TWO (theme)  system messages are short. You can override the full set, or particular ones as you see fit. If you want to use CONTROL + SPACE in the theme section, make sure you don't extend the TWO theme whilst editing (due to an editor bug) - will try to get this fixed soon.

Thank you.

About "look around" - yes, I meant response to this command. I have an idea of mechanics based on “look around”, but if it is so difficult, then maybe I will have to come up with my own expression.

Thank you for the "ask_string" hint, that is exactly what I was looking for.

4. Please don't use LOOK AROUND, as this is what the basic room description gives you. The convention for two-word input is VERB NOUN and "AROUND" is not a noun, so no one will think to use it. If you want to provide more details, then use EXAMINE OBJECT or, if you insist, SEARCH OBJECT. Some authors use EXAMINE and SEARCH to mean different things, but SEARCH is usually frowned upon. For example, ignoring the two-word restriction, imagine you're in a barn with a haystack:

>EXAMINE HAYSTACK
That would be a good place to hide things.
>SEARCH HAYSTACK
You find a needle.
>SEARCH HAYSTACK
You don't find anything else.

Don't forget to prevent the second search from finding the needle again!

I personally don't recommend the use of examine and search when applied to the same object in text lite games. It's just two commands you have to try for every noun and it slows down the flow. If there is something to be discovered, then examining something should be enough to reveal it. But this is just a personal opinion.

(1 edit)

I agree. That's why I used an example without the two-word restriction. You can make SEARCH a synonym for EXAMINE, but a better way is to have a handler for SEARCH that says, "Use EXAMINE.", then there is no doubt that you don't need to use SEARCH.

Yes, I've already got it. I came up with another mechanics that fit into the story.

Why is Examine and Search not a two word restriction?  Your example only uses two words for each command. I personal have used Examine and Search like this, because I see Examine as purely a visual look at the item, where as Search is a much more detailed hands on examination of an object. I may have to re-think some of my adventure if this isn't allowed. ;)

I do think that using EXAMINE and SEARCH as separate verbs makes gameplay a bit of a chore.

Essentially examine and search play the role of revealing something hidden, and if it is clear that SEARCH needs to be used sometimes, it forces the player into EXAMINE ing and SEARCH ing for every object in the game. I think it's reasonable to examine most objects once, to get a clue, but SEARCH ing is essentially a deeper examine, that may or may not have a custom response. It places a huge burden on the player to do everything twice.

MOVE, PUSH, PULL, TALK, SWIM, THROW, LIGHT, ... all of these are individual actions, but requiring a deep examine isn't really an act of creativity by the player. It just forces the player to type EXAMINE OBJECT then SEARCH OBJECT, and with some players not expecting to search at all.

I'll write something in the rules about this, but if you have a game that absolutely requires search, then it'll be permitted.

I see what you mean... what if the first examine command reveals in its description a second potential item to examine.... for instance 
EXAMINE TABLE
THERE LOT'S OF BROKEN POTTERY HERE
EXAMINE POTTERY
YOU FOUND SOME MOLDY CHEESE!
The pottery doesn't become a found object but it is reveal as a secondary item for the player to examine? Would that be ok/better?

Yes, this approach is better. Make sure you create the pottery as a listed object too (scenery). You can also play the : success; command to give an audio clue that the player made some progress.

Actually reviewing my game. I've only got two places where the Search command is used without the back up of Examine. So a short rework will fix that, so its not a big deal for me to take Search out of the game. Makes things simpler to be honest. ;)

Separate point, but be sure to select "MENU / SAVE FILE" regularly. Also set up the game_information / game_name field as soon as you can too.