Naming the character?

AlDaBeast
Notes
Player - Refers to the person playing the text adventure.
Character - The 'player' object in the text adventure.

Question
Is the player able to change the character's name in-game?

Support
With Notepad++, with the .bat language, you are able to use the code below to name your character.

:naming
echo Hello.
echo.
echo What is your name?
echo.
set /p input0=Enter:
goto next

After this is done, then whenever you insert a %name% it will display whatever name you've entered. An example is shown below.

echo Hello, %name%!

So I was wondering if this feature is available in Quest

Cryophile
Relatively easy process in Quest, yes: http://docs.textadventures.co.uk/quest/ ... input.html

The root documentation is also here: http://docs.textadventures.co.uk/quest/

Just store the input in a variable or something. You can change or modify it whenever you feel like.

Silver
Was a lot simpler in basic

10 print "What is your name?"
20 Input A$
30 print "Hello" A$

I have no idea how to do it in Quest. Seems to be a common request. I'm more tyrannical about it nowadays. This is your name, deal with it.

Marzipan
I've never actually done it with Quest but it's easy in theory, just stash the player's input in a variable.

Now whether it should be done is another question. In an RPG style game sure, go for it, but I've always thought that letting the player choose things such as a name and gender takes something away from the IF experience. The player is at that point playing a generic stand in for themselves instead of an actual developed character with a background and 'voice' of their own.

jaynabonne
Since you were defining things up front, it might help to know what the official common term is, for future reference: player character.

http://ifwiki.org/index.php/Player_character

The thing about assigning a name to a player is that, unless you explicitly do something with it, the player will never see the name again. If you assign the name to an attribute of the player object - and it can't be "name", sadly, since that is an internal Quest attribute, but "alias" is the Quest term for the player-facing name - then you can use the text processor to output it:

msg("Hello, {player.alias}!")

AlDaBeast
@Marzipan, It would be for letting the 'player' play as their own character, in a make-your-own adventure text adventure. Thank you for the help, @Cryophile, @Silver, and @Marzipan.

Marzipan
AlDaBeast wrote:@Marzipan, It would be for letting the 'player' play as their own character, in a make-your-own adventure text adventure. Thank you for the help, @Cryophile, @Silver, and @Marzipan.


Which only works in games where the player character is written to be an incredibly generic cardboard cutout. My point was for most IF and even a lot of CYOAs that would be pretty limiting.

jaynabonne
Marzipan wrote:Which only works in games where the player character is written to be an incredibly generic cardboard cutout.


There's an acronym for that:

http://ifwiki.org/index.php/AFGNCAAP

:lol:

jaynabonne
Although, to be fair, naming the PC doesn't require it to be generic in any way. You would hope that anything interesting about a character (back story, capabilities, etc) would have no connection to what the name is. I know I was going to establish a name for a character in a game once, just so that in conversation, the player would know when they were being addressed by an NPC. But that name choice up front had no bearing whatsoever on who the character was.

In fact, I had an option to select a random name. It didn't matter what the name was as long as the player knew who they were, so that it would help the player to keep track of conversation later. Now, the author could pick an arbitrary name as well, but I doubt that that name choice has any bearing on how generic or not the PC is.

HegemonKhan
in command line language, your variables are done via:

(I'm actually struggling with understanding it, so forgive me if I got it wrong below, lol. For me, quest is much easier to understand)

Variable Syntax: variable_string_name = Value_or_Expression
Value_Old: %variable_string_name%
Value_New: !variable_string_name!

in quest:

VARIABLES:
-> Variables (local: only for that specific script block you create~set it within)
-> Attributes (global: can be used anywhere in the game, as it's attached~saved to an Object, so long as that Object exists, of course)

Variables: variable_string_name = Value_or_Expression
Attributes: Object_name.Attribute_name = Value_or_Expression

and, as for already mentioning, for telling the quest engine that you want to get a typed-in input by the person playing the game, it's the:

'get input' Script

in code:

msg ("What is your name?")
get input {
// the quest engine automatically hidden from you, sets a local variable, a built-in Variable (result): result = your_typed_in_input
// which you can then set to a global variable, an attribute:
player.alias = result
// conceptually: player.alias = result = your_typed_in_input -> player.alias = your_typed_in_input
}


----

and in command line language, it looks like this:

set /p variable_string_name =
// you then can type in your input, which will be attached to that variable_string_name, and the value gotten via using %variable_string_name% or !variable_string_name!

----

and the other way to get inputs, is with Commands, but let's not get into this, as it's a different beast than just simply getting an input during game play.

-----------

the 'NAME' Attribute is the ID in~for quest engine, whereas a 'name' as we associate with would be the built-in 'ALIAS' Attribute (or a custom Attribute, for example: player.first_name_string)

Marzipan
jaynabonne wrote:
There's an acronym for that:

http://ifwiki.org/index.php/AFGNCAAP

:lol:


:lol: I'd never seen that term, pretty amazing though.

Anyway, letting the player name the character makes sense in your example, but I'd still be careful about letting the player make the assumption that they are the character. At that point immersion and a lot of good will goes out the window the moment the game has them do, say, or think something they'd never do IRL.

Avraleon the Hand of Shadows, master assassin of the House of Kherlel is by necessity going to have different opinions about their surroundings and the events of the game than Bob Smith, slightly nerdy IF aficionado, and that's a good thing. :D

Silver
My PC has a name. I just used my son's name, rather predictably. The name will be repeated perhaps twice in the game. I don't see any need for it to be some kind of choice. People will only be inventive and call themselves tw*thead or something anyway. I would.

jaynabonne
Yes, it's good to keep a level of distance between the identities of the player and player character, for the reasons you describe. It's bad enough that IF uses "you" for everything. They even say it's best not to get into emotions. If the game says, "You get angry thinking about what just happened", the player might think, "Well, no I don't." :)

It definitely needs to be one way. The player needs to identify with the PC such that they feel they are the PC (inside the PC's head) without believing the PC is actually them. It's role playing, man. lol

Silver
Do they say not to get into emotions? That's an angle I hadn't thought of, tbh. I suppose it's best just to paint the picture in such a way that the player gets the emotion you're trying to illustrate?

jaynabonne
That's usually better, yes. "Show, don't tell." (I seem to be link happy today: http://en.wikipedia.org/wiki/Show,_don%27t_tell)

Silver
Cheers. I did envisage me saying "You walk into such-and-such and you feel it's reminiscent of blah blah.." but tht's not strictly an emotion though is it? It's more another way of saying 'thought about'. I'll check that link out.

jaynabonne
Here's a better link: http://penultimateword.com/editing-blog ... n-writing/

(Don't trust the title. It gives a good balanced look.)

Silver
Cheers.

Silver
I don't think I'm straying too far from the advice there in the little bit I have written. By accident rather than design though. Gonna read that everytime I need to edit. :)

AlDaBeast
But in an RPG game introducing an renown (Known by others) attribute, such as in Mount & Blade: Warband, in which you are recognized by lords, counts, kings (authority figures) by the tasks you've completed, the bandits you've slain, etc.. So the name would be added to give others the if script, and based on your renown, you will either be adressed by your character's name, or whoever the person you speaking to precives you as (Peasant, Blacksmith, Merchant, etc.). As an in-depth text adventure would try to include. The player being immersed with the game would be achievable by having the game record what you've done, and having other characters tell you what they know about you when you ask them. (I love the discussion so far, and I've been taking all your points and seeing a new way this topic is viewed).

Marzipan
Silver wrote:My PC has a name. I just used my son's name, rather predictably. The name will be repeated perhaps twice in the game. I don't see any need for it to be some kind of choice. People will only be inventive and call themselves tw*thead or something anyway. I would.


Hehe, I clearly remember myself playing all those old Final Fantasy games and calling my character 'F*** you', just so other characters would say things like, 'Hey, F*** you!' and then I could giggle. Children are so easily amused. ;)

AlDaBeast wrote:But in an RPG game...


Well, that was actually the exception I mentioned in my first post. I think it definitely is preferable there to give the player as much control in shaping their character as possible, but RPG-styled games aren't really the norm for CYOAs or IF and not what most of the community thinks of when hearing the term 'text adventure'. They're certainly doable though, and if you can pull off everything you mentioned I'd be the first one to play. I'm a huge fan of open ended games like Mount and Blade and the Elder Scrolls series. :)

jaynabonne wrote:Yes, it's good to keep a level of distance between the identities of the player and player character, for the reasons you describe. It's bad enough that IF uses "you" for everything. They even say it's best not to get into emotions. If the game says, "You get angry thinking about what just happened", the player might think, "Well, no I don't." :)


This right here is why I prefer to see a clearly defined role for the character. I've never bought into the whole 'no emotions' argument; if the player character is a vampire, you can bet I'm going to make it clear they have strong feelings about the sun! If their best friend was murdered, they're going to have opinions about that too.

But then again puzzle-driven IF and narrative-driven are too very different beasts, and I definitely trend toward the latter. As far as I'm concerned the player is just riding around in the character's head a little while to help them solve whatever arbitrary puzzles are needed to get to the next part of the plot. If they could hop from the hero's head to the antagonist's and look at the exact same rooms, the descriptions would be completely different based on the different ways they perceive the world around them, which is just another way of saying how they feel about the world around them.

Though whether we're talking about strong emotions or controversial actions, I think the player is more likely to just roll with it if 'you' obviously doesn't represent them and was obviously never meant to. (Play Varicella sometime for an example of a game that'd be hard to stomach without that clear distance between you and the character.)

And I know 'You' is a staple of the genre, but sometimes I wish it wasn't. In particular I'd think I'd resent certain kinds of CYOAs less if they would only be written in third person. I played one not too long ago (on a different site) that was supposed to be a horror story, but I got annoyed enough to quit early on when "I" was walking down the street, saw a spooky old house, and immediately started doing everything possible to break into it, with no other options. 1) Why would I break into that house, it's obviously haunted! 2) Why would I just randomly break into any house, that's a good way to get a load of buckshot directly to the face!

Now on the other hand if it had been the story of an idiot trespasser who bled to death trying to climb through a broken window or went through the front door and immediately got shanked by a ghost, I might have had a lot more patience with it! :P

jaynabonne
I must say, I pretty much agree with you about everything in your post. :)

Silver
Railroading a player into an action they wouldn't choose to do exposes an issue at the design level. I'm sure we all face situations like that (reminds me of an earlier discussion where the only way I could get a TA game to funcion like a CYOA would be to enforce inventory drops) and I'm sure can be made to work if done discretely (and well)!

Marzipan
Oh good I didn't kill the thread after all.

I'm going to level with you guys, I was a little drunk when I wrote all that.

Silver
I've had a complete about turn on this now. Thinking on from people saying that the games industry (like the Western film industry) is dominated by white male heroes I decided to implement character naming. My PC is gender/race neutral anyway; the name only serves as a reference point in the game. So it makes absolutely no odds to me if they're Joe Bloggs, Sarah Smith or Gurpreet Singh. If they call themselves Shit Head that's fine too. It's not for me to dictate what they identify with. :lol:

Plus I got to play with get input; I programmed the entire thing in code so was quite proud of myself.

HegemonKhan
it's really awesome when you get coding to work, get to see~play it out in a game, you get such a high from seeing the correct action outputed or occuring within your game, hehe. You're like 'wow, that is so cool, it's, for example, displaying whatever name I gave to my character in these different messages', and I did it, I made it do this, that is so cool!' (I wish I got to do robotics or engineering, this must be what it feels like to build a robot or whatever thing, such as a tall skyscrapper building that survives wind and~or earthquakes, that works, hehe).

just wait for when you get a simple physical (attack~defend) combat scripting working... you just might react as I did: VENI VIDI VICI !!!, hehe ;)

(though... it's UBER frustrating getting it to work... but that's probably why you get such a high, when you do, well if you~I can lol, finally get it to work)

that 'proud' feeling is really awesome, but you experience the complete opposite until (or if) you (even) get to that point of success... laughs. Extreme Pain~Frustration~HopeLESSness to (hopefully) Extreme Pleasure, lol.

-------

I was so mesmerized fascinated with doing my 'combat scripting', seeing the damage occuring (+ the critical hits, misses, blocks, dodges, and etc), and the orc finally dying, when playing my test game... just watching the things popping up on the screen... made me excited, but the other person I was showing it to, was like... big deal... there's not much I'm seeing... you're just doing damage... and messages show on the screen showing the damage and life remaining ... and I'm like trying to explain how much work it took me to get it to do this... they just didn't understand... all they saw was simple boring stuff happening... well for me... it wasn't so simple... and it's not boring at all, as it was I who made it, hehe.

Silver
What I did was pretty simplistic. Most of it is in one of the more advanced tutorials. I basically ask what their forename is and then what their surname is. But they might make a spelling mistake or change their mind. So I repeat back to them yes/no? That's when I realised that the only way I could create a loop (if they were unhappy and said no) was to create a function that would repeat the sequence. Then once it all worked, I wondered why I'd been avoiding functions.

HegemonKhan
yep, functions are very nice, and I forgot that the 'looping' is one of the Functions best (most important) features, lol. HK forgets one of the most useful uses of a Function, typical (of) HK (sighs), laughs.

----

you can actually do it (looping) with Script Attributes (Verbs) too... but it's a bit more complex (well, not really, lol) than just using Functions...

'invoke' or 'do'

http://docs.textadventures.co.uk/quest/ ... nvoke.html

invoke (Object_name.Script_Attribute_name)
~OR~
invoke (Object_name.Script_Attribute_name, dictionary parameters)

if interested, an example (a very bad one, as I'm too lazy to make a non-endless looping code, lol):

// invoke example:
<object name="orc">
<hit type="script">
msg ("You hit the orc")
invoke (orc.hit)
</hit>
</object>


http://docs.textadventures.co.uk/quest/scripts/do.html

(too lazy to show do)

Silver
Well I'd been separating my code by using rooms. When one bit of code is over I would move the player object to the next room which would trigger the next script. I still quite like that way of working as it means if I want to change an aspect of the code I don't have a wall of it to deal with, I can just make an incision at the right section. But functions serve that purpose too lol it's just less visible to a novice.

HegemonKhan
Rooms~Objects are a good method too, as they provide some features~uses~functionality that Functions don't~can't (as Rooms~Objects holds Objects+Attributes, Functions don't), especially for doing events~actions (such as with your case~example).

Silver
I just mean as places for holding code lol.

Room 1 - title screen - click a link >
Room 2 - jquery title image - click a link >
Room 3 - what is your name? - get input etc >
Room 4 - Game starts.

I do all of that by moving the player object between rooms. None of the rooms can be explored. Each room just serves a purpose with code.

Silver
If I did all of that in one function I'd be crying. I could have used one room and three functions I suppose. Rooms are a visual thing though.

This topic is now closed. Topics are closed after 60 days of inactivity.

Support

Forums