Why no non-keyboard characters?

G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

I've noticed that in most roguelikes, all the characters used as
graphics are those that appear on keyboards. There are no ASCII
characters like the hearts, diamonds, smiley faces, etc, nor any
extended ASCII characters.

Is this for portability reasons? Tradition? I can't think of any other
reason not to use these, as it seems if your only graphics are text
characters, the more variety you have available, the better.

Just curious.
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

"J. W. McCall" <jmccall@houston.rr.com> wrote in message
news:vzRge.81996$hu5.27948@tornado.texas.rr.com...
> I've noticed that in most roguelikes, all the characters used as
> graphics are those that appear on keyboards. There are no ASCII
> characters like the hearts, diamonds, smiley faces, etc, nor any
> extended ASCII characters.
>
> Is this for portability reasons? Tradition? I can't think of any other
> reason not to use these, as it seems if your only graphics are text
> characters, the more variety you have available, the better.
>
> Just curious.

In most Roguelikes, yes, and this is because of portability. Linux, Macs,
etc. don't have those funky DOS characters. Certain ones that are made only
for DOS/Windows use these characters. Also, with different definitions you
can have one OS display a specific set of chars and another OS another-- I'm
not sure of which RL has taken this approach, but I'm sure some have.

Cheers, Nolithius.
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

Nolithius wrote:
> In most Roguelikes, yes, and this is because of portability. Linux, Macs,
> etc. don't have those funky DOS characters. Certain ones that are made only
> for DOS/Windows use these characters. Also, with different definitions you
> can have one OS display a specific set of chars and another OS another-- I'm
> not sure of which RL has taken this approach, but I'm sure some have.

With unicode, and given the system specs considered even "low end"
nowadays, it's increasingly viable to have a reasonably portable
roguelike using extended characters and more than 16 colors. NPPAngband
now has 32 colors or some such, and there's another *band with a patch
available for using unicode characters to render trees and other
terrain. The major issue that remains is that using untypable characters
for monsters will make looking them up in monster memory nontrivial. :)
Creating a special monster memory category browsed with some typable key
for collecting all of the "miscellaneous untypable character monsters"
can be done though.

A variant of that idea is to use accented characters for unique
critters, e.g. 'o' umlaut for an orc unique, or just for a powerful orc
type. An 'o' with a '^' over it would nicely convey an orc wizard. All
of them would show up under a query for just plain 'o' in monster
memory, of course, to make sure you could look up these orcs even if you
aren't a resident of Europe.

--
http://www.gnu.org/philosophy/right-to-read.html
Palladium? Trusted Computing? DRM? Microsoft? Sauron.
"One ring to rule them all, one ring to find them
One ring to bring them all, and in the darkness bind them."
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

Twisted One wrote:

> A variant of that idea is to use accented characters for unique
> critters, e.g. 'o' umlaut for an orc unique, or just for a powerful
> orc type. An 'o' with a '^' over it would nicely convey an orc
> wizard. All of them would show up under a query for just plain 'o' in
> monster memory, of course, to make sure you could look up these orcs
> even if you aren't a resident of Europe.

I'm using unicode and not yet even thought about this, great idea!
*take note*
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

Twisted One wrote:
[...]
> A variant of that idea is to use accented characters for unique
> critters, e.g. 'o' umlaut for an orc unique, or just for a powerful
orc
> type. An 'o' with a '^' over it would nicely convey an orc wizard.
All
> of them would show up under a query for just plain 'o' in monster
> memory, of course, to make sure you could look up these orcs even if
you
> aren't a resident of Europe.

This idea could be implemented, assuming they are supported by fonts
and rendering libraries, with combining diacritical marks
(http://www.unicode.org/charts/PDF/U0300.pdf
http://www.unicode.org/charts/PDF/U20D0.pdf
http://www.unicode.org/charts/PDF/U1DC0.pdf
http://www.unicode.org/charts/PDF/UFE20.pdf ): juxtaposing the plain
letter and the combining mark automatically produces a single marked
letter, with the two advantages of not enumerating thousands of
combinations in the game and not being restricted to ready made
accented letters.

Unicode has many useful symbols
(http://www.unicode.org/charts/symbols.html ):
the box-drawing set (http://www.unicode.org/charts/PDF/U2500.pdf ) has
single, double and thick walls; the block set
(http://www.unicode.org/charts/PDF/U2580.pdf ) has stippled blocks and
all combinations of block quadrants; the geometrical shape set
(http://www.unicode.org/charts/PDF/U25A0.pdf) has a variety of oriented
triangles and other figures. There are also hundreds of arrows
(http://www.unicode.org/charts/PDF/U2190.pdf
http://www.unicode.org/charts/PDF/U27f0.pdf
http://www.unicode.org/charts/PDF/U2900.pdf
http://www.unicode.org/charts/PDF/U2190.pdf
http://www.unicode.org/charts/PDF/U2B00.pdf ).

Another way to adopt Unicode is drawing monster letters from various
alphabets (http://www.unicode.org/charts/index.html ) beyond ASCII.
There is a set of scripts from the phoenician group that should be
graphically coherent in most fonts and (for most players) easily
readable and not too exotic: Latin and extensions thereof, Greek,
Cyrillic, IPA, Runic (Futhark), Cherokee and a few others.

For cryptograms and flavour there are a lot of dead language scripts;
Ogham (http://www.unicode.org/charts/PDF/U1680.pdf ) is particularly
cool.
Tolkien's Cirth and Tengwar and Egyptian hierogliphs are proposed but
not yet approved; Klingon has been rejected.

Lorenzo Gatti
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

Twisted One wrote:
> gatti@dsdata.it wrote:
> > Tolkien's Cirth and Tengwar and Egyptian hierogliphs are proposed
but
> > not yet approved; Klingon has been rejected.
>
> Rejected? On what grounds?

The Unicode consortium has strict rules
(http://www.unicode.org/standard/stability_policy.html ) about changes,
which is understandable since once a code point is assigned to a
character moving the character is very expensive and recycling the code
is unacceptable.

The main criteria are actual usage and importance (dead languages are
encoded because scholars use them), economy of code points, good
proposal quality.
Motivations aren't public: Klingon is probably too frivolous or maybe
it can be treated as a variant of ASCII (letters correspond directly to
English ones), while Tolkien's scripts are used in many publications
and by many reputable people and more complex.

> There's plenty of room, especially if they do go 32-bit.

Unicode is already 32 bit.

Lorenzo Gatti
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

gatti@dsdata.it wrote:
> Tolkien's Cirth and Tengwar and Egyptian hierogliphs are proposed but
> not yet approved; Klingon has been rejected.

Rejected? On what grounds? There's plenty of room, especially if they do
go 32-bit.

More unicode possibilities:
* Storing a plain-ASCII char as well as a possibly-fancy char for each
type of monster, feature, item, etc. enables not only using the plain,
typable-anywhere char at lookup prompts but also gracefully degrading
on unicode-unavailable platforms. This can be as simple as defining or
undefining USE_UNICODE in various ports' makefiles, which affects
everything else via conditional compilation.
* Greek letters have possibilities. Capital theta can be an orb or stone
of power. Pi can be a dolmen (a trio of stones like at stonehenge) and
a circle of them could represent stonehenge. Some of the odder ones
can represent snakes or various demons by resemblance rather than
name.
* Ancient/runic/exotic-looking character sets make great scroll labels.
* Likewise if the PC can encounter unknown languages and have to get a
method of magical translation for the player to see them rendered as
plain English. (It should be gibberish with plausible letter
frequency, rather than actually readable foreign-language text,
though, or players that actually know that language will have an
unfair advantage in not needing to get the PC that babelfish amulet or
whatever. :))

--
http://www.gnu.org/philosophy/right-to-read.html
Palladium? Trusted Computing? DRM? Microsoft? Sauron.
"One ring to rule them all, one ring to find them
One ring to bring them all, and in the darkness bind them."
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

How hard is it to design the cursor/map selected query, as in crawl,
NH?
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

J. W. McCall wrote:
> I've noticed that in most roguelikes, all the characters used as
> graphics are those that appear on keyboards. There are no ASCII
> characters like the hearts, diamonds, smiley faces, etc, nor any
> extended ASCII characters.

Probably because ASCII doesn't include any hearts, diamonds and smiley
faces and that extended ASCII doesn't exist. You've got codepages
instead and the ( probably ) most used codepage doesn't include hearts,
diamonds or smiley faces.
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

On Thu, 12 May 2005, J. W. McCall wrote:
>
> I've noticed that in most roguelikes, all the characters used as graphics
> are those that appear on keyboards.

Better: The characters which appear on common keyboards are also
the characters that appear in all common character encodings. And
the characters that appear in all common character encodings are
precisely the characters you want to use in a game intended to be
played on all common platforms. :)

> There are no ASCII characters like
> the hearts, diamonds, smiley faces, etc, nor any extended ASCII
> characters.

(Because they don't exist, as already remarked elsethread.) But
this isn't quite true. In fact, it's not true at all, on WinDOS
platforms at least. Every roguelike I've ever played (not counting
The Tombs) uses at least one of the non-ASCII characters encoded
decimally as 176, 177, 178, 219, 249, and 250 (a range of four
shaded gray blocks and two centered dots, in that order).
NetHack uses many more "non-keyboard" characters in its Windows
command-prompt interface: fountains and the Rogue level come to
mind immediately.

> Is this for portability reasons? Tradition? I can't think of any
> other reason not to use these, as it seems if your only graphics
> are text characters, the more variety you have available, the better.

Excessive use of non-portable character sets seems to have gone
out of fashion. If you want to see what a semi-RL looks like with
extended characters, download ZZT. :)

-Arthur
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

jasonnorthrup@yahoo.com wrote:
> How hard is it to design the cursor/map selected query, as in crawl,
> NH?

What do you mean, exactly? (No context save subject line...not very
clear language...sorry!)

--
http://www.gnu.org/philosophy/right-to-read.html
Palladium? Trusted Computing? DRM? Microsoft? Sauron.
"One ring to rule them all, one ring to find them
One ring to bring them all, and in the darkness bind them."
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

so to conclude..

how do i use unicode chars with c++ and pdcurses?

thanx


vooood
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

vooood a écrit :
> Christophe wrote:
>
>> vooood a écrit :
>>
>>> so to conclude..
>>>
>>> how do i use unicode chars with c++ and pdcurses?
>>>
>>> thanx
>>>
>>>
>>> vooood
>>
>>
>>
>> http://www.mail-archive.com/pdcurses-l@lightlink.com/msg00071.html
>
>
> not much helpful.. i learned that the person does not know how to use
> the windows api functions.. :)

What was writen was that the windows API and the windows console don't
play well with unicode. Maybe it can work on Windows XP ( look at the
msdn, there are 2 new events you can catch on XP which are Unicode key
down and Unicode key up more or less ) but then, the code wouldn't work
on an older version of windows.

You'll have more luck if you look for a complete console rewrite for
windows. Most people here suggest already to do that on top of SDL for
example :)
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

"vooood" <vooood@IHATESPAMgmail.com> wrote in message
news:d628qg$aso$1@ss405.t-com.hr...
> so to conclude..
>
> how do i use unicode chars with c++ and pdcurses?
>
> thanx
>
>
> vooood

Use the string "\x00" where 00 can be any hex number up to FF. This will
give you the IBM extended ASCII charset, which works on DOS. YMMV ;)

There is a partial chart of the higher chars at
http://telecom.tbi.net/asc-ibm.html , although there are some interesting
chars at the lower levels (such as "\x01" for happy face and "\x07" for
system beep! ;).

Just experiment with them.

--Nolithius
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

Nolithius wrote:
> There is a partial chart of the higher chars at
> http://telecom.tbi.net/asc-ibm.html , although there are some interesting
> chars at the lower levels (such as "\x01" for happy face and "\x07" for
> system beep! ;).

And among these, \x07 is actually standards-compliant! ;)

--
http://www.gnu.org/philosophy/right-to-read.html
Palladium? Trusted Computing? DRM? Microsoft? Sauron.
"One ring to rule them all, one ring to find them
One ring to bring them all, and in the darkness bind them."
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

[Crossposted to the ToME list on Yahoogroups]

> Twisted One wrote:
> [...]
>> A variant of that idea is to use accented characters for unique
>> critters, e.g. 'o' umlaut for an orc unique, or just for a powerful
> orc
>> type. An 'o' with a '^' over it would nicely convey an orc wizard.
> All
>> of them would show up under a query for just plain 'o' in monster
>> memory, of course, to make sure you could look up these orcs even if
> you
>> aren't a resident of Europe.


Hmmm. If T-Engine 3 allowed monster symbols to go Unicode, I can see my
modules using "å" for a lesser celestial and "Å" for a greater one...that
would free up plain "A" for use with another monster category. It would
also form a good parallel to other "lowercase = lesser/upper case = greater"
pairs (especially demons). Finally, the "ring as halo" is a memorable
graphic touch which corresponds nicely to your "ô for wizard Orc"
example.Only trouble is, few non-Scandinavians would be able to look up the
monster memory for celestials if I used the marked letter
consistently...*shrug*


--
----
Ingeborg S. Nordén
(runelady@chorus.net)
Ek Ingwibergô stabaz fahiðô
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

"Ingeborg S. Nordén" <runelady@chorus.net> wrote in message
news:42862330_3@newspeer2.tds.net...
[...]
> Hmmm. If T-Engine 3 allowed monster symbols to go Unicode, I can see my
> modules using "å" for a lesser celestial and "Å" for a greater one...that
> would free up plain "A" for use with another monster category. It would
> also form a good parallel to other "lowercase = lesser/upper case =
greater"

I associate a with ants, so å to me is like a holy ant or something, lol.
But Å for celestial is a good idea.

> pairs (especially demons).

What's the lower case of '&' ? ;)


> Finally, the "ring as halo" is a memorable
> graphic touch which corresponds nicely to your "ô for wizard Orc"
> example.Only trouble is, few non-Scandinavians would be able to look up
the
> monster memory for celestials if I used the marked letter
> consistently...*shrug*
[...]

You can have the following feature for monster memory, then: The same way
that you'd have to scroll through different color monsters, scroll through
the different modified versions of the letters. (You can have a 'search
results' page or a key such as PgDown that shows the next monster depicted
by that letter).

--Nolithius
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

"Nolithius" <Nolithius@hotmail.com> wrote in message
news:Ayshe.1096$M36.880@newsread1.news.atl.earthlink.net...
>
> I associate a with ants, so å to me is like a holy ant or something, lol.
> But Å for celestial is a good idea.
>
>> pairs (especially demons).
>
> What's the lower case of '&' ? ;)

The roguelikes I play (Angband and its derivatives) have used 'U' for
greater demon, 'u' for lesser demon for years; I haven't seen '&' for demons
since the late 80s/early 90s. Since ToME is an Angband derivative, it too
has 'U/u' for the demon pairs; 'Å/å' for celestials of varying strength
would make sense there (especially with some weak ones existing in my T-Plus
module already).

> You can have the following feature for monster memory, then: The same way
> that you'd have to scroll through different color monsters, scroll through
> the different modified versions of the letters. (You can have a 'search
> results' page or a key such as PgDown that shows the next monster depicted
> by that letter).

Ooooh, cool idea. :) I swear, if I had the technical ability to code a
whole variant...that feature would be in it.



--
----
Ingeborg S. Nordén
(runelady@chorus.net)
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

Ingeborg S. Nordén wrote:
> Only trouble is, few non-Scandinavians would be able to look up the
> monster memory for celestials if I used the marked letter
> consistently...*shrug*

You'll want to separate the display character from the lookup character
(isn't that done anyway in *bands, also affecting genocide?) ... use
plain a and A. Of course, your A and A-halo monsters will then appear in
monster memory together in one unit, with all monsters in both
categories being stepped through by using /A to do lookup. That's better
than some of them being accessible only in certain countries. ;)

--
http://www.gnu.org/philosophy/right-to-read.html
Palladium? Trusted Computing? DRM? Microsoft? Sauron.
"One ring to rule them all, one ring to find them
One ring to bring them all, and in the darkness bind them."
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

Nolithius wrote:
> What's the lower case of '&' ? ;)

*band demons are u and U -- horns, get it? & makes more sense as a snake
or some other weird coiled-up thing. Even a drake perhaps.

--
http://www.gnu.org/philosophy/right-to-read.html
Palladium? Trusted Computing? DRM? Microsoft? Sauron.
"One ring to rule them all, one ring to find them
One ring to bring them all, and in the darkness bind them."
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

"Twisted One" <twisted0n3@gmail.invalid> wrote in message
news:Wd2dnXqhr8XwbBvfRVn-hw@rogers.com...
> Ingeborg S. Nordén wrote:
>> Only trouble is, few non-Scandinavians would be able to look up the
>> monster memory for celestials if I used the marked letter
>> consistently...*shrug*
>
> You'll want to separate the display character from the lookup character
> (isn't that done anyway in *bands, also affecting genocide?) ... use plain
> a and A. Of course, your A and A-halo monsters will then appear in monster
> memory together in one unit, with all monsters in both categories being
> stepped through by using /A to do lookup. That's better than some of them
> being accessible only in certain countries. ;)


T-Engine (the basic code for ToME and its modules) currently doesn't require
typing a character to genocide monsters: the player just clicks on a square
occupied by a monster of an appropriate type, which is a blessing for those
of us who prefer tiles to ASCII mode. Since my modules will use T-Engine,
the only time that new symbols would cause problems is when the player
accesses monster memory. And if some "base" monster category gets assigned
to a modified letter, then perhaps Nolithius' suggestion for handling them
might work best.



--
----
Ingeborg S. Nordén
(runelady@chorus.net)
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

Ingeborg S. Nordén wrote:
> T-Engine (the basic code for ToME and its modules) currently doesn't require
> typing a character to genocide monsters: the player just clicks on a square
> occupied by a monster of an appropriate type, which is a blessing for those
> of us who prefer tiles to ASCII mode. Since my modules will use T-Engine,
> the only time that new symbols would cause problems is when the player
> accesses monster memory.

Of course, the most common situation for accessing a monster in monster
memory is when there's an example on the screen, too -- and I guess
'l'ook and then 'r'ecall will still work. :)

--
http://www.gnu.org/philosophy/right-to-read.html
Palladium? Trusted Computing? DRM? Microsoft? Sauron.
"One ring to rule them all, one ring to find them
One ring to bring them all, and in the darkness bind them."
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

Twisted One wrote:
>The major issue that remains is that using untypable characters
>for monsters will make looking them up in monster memory nontrivial.

How hard is it to design the cursor or map directed lookup, as in
crawl,
NH (rather than relying on ability to type the same symbol displayed as
the creature)?
 

TRENDING THREADS