Re: [Audyssey] Pausing the Screen in Console Programs

2014-04-17 Thread dark

Hi Tom.

Funnily enough, Your  glass example is exactly what I experienced myself 
with Andrew plotkin's game shade, in which the first task is to fill a glass 
of water in order to drink. put glass in sink, put glass under faucet, fill 
glass I tried everything I could think of and finished up getting frustrated 
with the game.


This is also why I would like to see more rpg elements in interactive 
fiction games sinse to me those are much more interesting challenges.


Funnily enough a new version of kerkerkruip came out the other day which is 
about the best rpg I know in an if language and some of the mechanics there 
are awsome, it is now possible for example to roll when an enemy attacks you 
putting you in a much better position to hit them back, but giving you less 
chance of dodging the attack. There are also for example situations where 
you wouldn't want to try dodging, say because your enemy has a far longer 
reach than you as happened when I fought the chain golem monster, and 
situations where parrying is a bad idea, eg, if you have a small dagger and 
are fighting someone with a large sword. There are even areas in the game 
that affect your combat, for example a narrow bridge where dodging is 
disabled.


All in all the game is great precisely because! it's challenges are all of 
this nature, challenges to your judgement of a given situation not 
unguessable puzzles.


Oh, and to anticipate questions, Kerkerkruip can be found 
http://kerkerkruip.org/ you will need a glulx interpreter to play it such as 
winglulx or gargoil, but I'd highgly recommend it as it's an awsome game and 
the new up[dates have just made it even better.


All the best,

Dark. 



---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.


Re: [Audyssey] Pausing the Screen in Console Programs

2014-04-17 Thread Thomas Ward
Hi Dark,

Sure. I understand exactly where you are coming from. I agree if I did
write interactive fiction the game should be based on player judgment
not how well someone can solve a puzzle or spend a lot of time
guessing the correct verb.

That said, right now everything is experimental and I may not even use
this for interactive fiction so to speak. I may use these functions in
a text based sports game like Football or Baseball, a text based card
game like Uno, or whatever. Basically, I can't promise anything too
complex like an RPG game right now, because I am just free coding. A
lot like free writing only coding for the fun of it, and if the tool
is useful may use it in a few free projects such as a text based
sports game, perhaps an interactive fiction title, whatever. Haven't
yet decided where I am taking this project.

HTH


On 4/17/14, dark d...@xgam.org wrote:
 Hi Tom.

 Funnily enough, Your  glass example is exactly what I experienced myself
 with Andrew plotkin's game shade, in which the first task is to fill a glass

 of water in order to drink. put glass in sink, put glass under faucet, fill

 glass I tried everything I could think of and finished up getting frustrated

 with the game.

 This is also why I would like to see more rpg elements in interactive
 fiction games sinse to me those are much more interesting challenges.

 Funnily enough a new version of kerkerkruip came out the other day which is

 about the best rpg I know in an if language and some of the mechanics there

 are awsome, it is now possible for example to roll when an enemy attacks you

 putting you in a much better position to hit them back, but giving you less

 chance of dodging the attack. There are also for example situations where
 you wouldn't want to try dodging, say because your enemy has a far longer
 reach than you as happened when I fought the chain golem monster, and
 situations where parrying is a bad idea, eg, if you have a small dagger and

 are fighting someone with a large sword. There are even areas in the game
 that affect your combat, for example a narrow bridge where dodging is
 disabled.

 All in all the game is great precisely because! it's challenges are all of
 this nature, challenges to your judgement of a given situation not
 unguessable puzzles.

 Oh, and to anticipate questions, Kerkerkruip can be found
 http://kerkerkruip.org/ you will need a glulx interpreter to play it such as

 winglulx or gargoil, but I'd highgly recommend it as it's an awsome game and

 the new up[dates have just made it even better.

 All the best,

 Dark.

---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.


Re: [Audyssey] Pausing the Screen in Console Programs

2014-04-17 Thread Thomas Ward
Hi Philip,

That is absolutely true. The getchar function is about as basic and
standard as one can possibly get, and I am beginning to think it might
be the best solution for the problem. I have done some research on
writing custom getch functions and like you said they tend to be
platform specific or behave differently from system to system. So a
pseudo getch hack probably won't work.

Regarding SDL I was unaware SDL 2.0 had been released but that is nice
to know. Especially, since I just spent two years of my life writing
my game engine with SDL 1.2 support, and now am aware SDL 2.0 is out
and I need to update the engine. I see from information on the SDL
website there are some cool advantages to updating to SDL 2 such as
force feedback support for joysticks, a new audio wrapper for XAudio2,
added support for XInput, and a bunch of other goodies. So thanks for
the tip.

However, to answer your immediate question I was under the impression
the only way I could initialize keyboard support in SDL was if I
created a window and assigned keyboard events to it. I wasn't aware
you could poll keyboard events using SDL in a console window. I was
pretty certain I had to initialize a window which is why I hadn't
considered SDL for this console project. It would be nice if I I can
use he keyboard in SDL without initializing the video components and
draw a graphical window as that would make my life a whole lot easier.

Cheers!


On 4/16/14, Philip Bennefall phi...@blastbay.com wrote:
 Hi Thomas,

 getchar is, as you know, about as basic as you can get but at least it is
 standardized. getch is not, nor would a custom pseudo getch hack be. It's
 bound to exhibit different behavior on various platforms and you'd have to
 have access to all of them to verify. If you want immediate reactions
 without the need to wait for a return keypress, have you considered using
 something basic such as the keyboard handling in SDL in your console window?

 Then you can suddenly treat the keyboard in a similar fashion to what you
 would do in a regular non-console game, but do it portably. SDL has received

 a major rewrite in version 2.0 and is now under the Zlib/Libpng license
 which is very commercial friendly.

 Kind regards,

 Philip Bennefall

---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.


Re: [Audyssey] Pausing the Screen in Console Programs

2014-04-17 Thread dark

Hi Tom.

Fair enough on the coding front. It was just that after you bought up this 
discussion the other day I went and looked up that massive debate we had on 
the audiogames.net forum about the nature of Parza in I believe 2011, and 
there you mentioned an rpg, and as you have gathered I have a bit of a thing 
for text rpgs.


I do hope this results in something finished though, sinse it'd be great to 
see a fully completed game of any type from usa games.


All the best,

Dark. 



---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.


Re: [Audyssey] Pausing the Screen in Console Programs

2014-04-16 Thread Thomas Ward
Hi Dark,

Well, I am not actually creating a custom text adventure language. The
games will still be written in C++ and compiled using a C++ compiler.
What I am doing here is basically creating a framework so I can
quickly put a text game together without having to rewrite some of
this stuff from scratch. Basically building common classes and modules
that I'd need for a basic text adventure or text based game.

To give you an example in text adventure languages like Inform they
come with a number of built-in types such as Man, Woman, Animal,
Thing, Room, Door, etc. Basically, all the common things you'd expect
to find in a basic text adventure.

Well, I am doing essentially the same thing but in C++. I am creating
a basic framework for creating rooms, doors, people, creatures, etc by
developing a number of generic classes that do the same thing as what
the basic types in Inform do. In addition to that I am adding some
special classes such as an audio class that wraps FMOD Ex allowing the
developer to add sounds and music to the text adventure, and probably
an input/output module that prints text and can query the keyboard for
input.

As far as RPG mechanics etc goes I haven't done anything in that
direction yet. I think you are putting the cart before the horse so to
speak. I can certainly add RPG mechanics, skill levels, and experience
to the games if I chose but that belongs to a specific type of game.
What I am doing here really isn't designed for any specific game so to
speak. Merely a framework to quickly get up and running with some text
based games.

To give you a quick example in the early 90's there were a number of
Indiana Jones games created by Lucas Arts for Dos. As it happens they
had plenty of text so were fairly accessible with a screen reader.
Unfortunately, they will not run on newer flavors of Windows, and can
only be enjoyed using a Dos emulator. Its a case of either rewrite
them for a newer platform or keep a virtual machine around for the
express purposes of playing those games.

Since I am a skilled programmer I have considered rewriting some of
those Dos games, and making them available for people who are running
a newer flavor of Windows, Mac OSX, or Linux. It really isn't that
hard to do, and could be done with minor effort. So at this point I
haven't decided on weather or not I am going to create some roll
playing adventure like Sryth etc since that is, for the moment,
probably a lot more than I had planned on doing with this project.

Of course, I need not necessarily use text as my primary output. I
have considered using Sapi to read the text, and have menus where you
can perform the basic commands like get, put, examine, look, etc. Part
of me thinks that would be the better way to do it since one reason
text adventures put people off playing them is because the parsers
tend to be unwieldy to use. If someone is a poor speller, doesn't know
how to spell something, do not enter the proper command, etc they'll
get the typical I don't know what you are talking about type
message. A menu would resolve that problem because all they would
have to do is scroll to the proper menu item and press enter.

The problem with menus is depending on how big the game gets it would
take forever to code a complex menu that has dozens of items to choose
from that may or may not be available at the time. Call me a lazy
coder, but I don't really want to have to spend a week writing a bunch
of if statements which checks if the item is visible, in inventory, is
in the room, etc and then add it to the proper menu. I can save myself
a lot of work by using strictly a text input system that checks if the
item is available and just do the action rather than putting it in an
ordered list.

Cheers!


On 4/16/14, dark d...@xgam.org wrote:
 Hi Tom.

 I'm personally happy with that sort of thing and have seen some games that
 do it.

 One more general question however. If your developing your own text game
 creation language had you considder rpg mechanics such as combat,
 experience, levelling etc.

 As we have discussed before, the majority of if games are very heavily
 puzzle based and actively discourage having rpg features in favour of often

 very obscure puzzles, often with weerder linguistic elements or guess the
 verb situations.

 If your developing your own language therefore, it might be nice to include

 some things that  standard if such as inform  does not do. That and of
 course while we're inundated with  standard zork style interactive fiction,

 rpg text games are rather thin on the ground.

 All the best,

 Dark.

---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or 

Re: [Audyssey] Pausing the Screen in Console Programs

2014-04-16 Thread dark

Hi Tom.
Fair enough, though i do remember you discussing writing an rpg previously 
which is why I mentioned it.


I personally have no overbaring preference between text or sapi as output 
method, though regarding the parza I myself would be in favour of a limited 
parza like the on Eamon has, where the player is told exactly what verbs 
he/she has to play with at the start of the game.


That way if you say had found a guitar string and a guitar with no strings, 
you wouldn't have to worry  if the developer wanted you to use string 
guitar with string, fix guitar with string, tune guitar with string 
etc, and could just use use string with guitar or put string on guitar


This goes directly against standard zork style convention, but to be honest 
I'd always myself rather have an explorable world with objects who's uses I 
can identify than running around constantly seeing I don't know how to put 
or similar.


this is why I pretty much don't play interactive fiction anymore.

Beware the grue!

Dark. 



---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.


Re: [Audyssey] Pausing the Screen in Console Programs

2014-04-16 Thread Philip Bennefall

Hi Thomas,

I tend to find that getchar suits my needs perfectly. Making a call to 
getchar and ignoring the return value does exactly what you describe, and in 
a portable way. getch is non-standard as you know so may or may not be 
present on any given target.


Kind regards,

Philip Bennefall
- Original Message - 
From: Thomas Ward thomasward1...@gmail.com

To: Gamers Discussion list gamers@audyssey.org
Sent: Wednesday, April 16, 2014 5:32 AM
Subject: [Audyssey] Pausing the Screen in Console Programs


Hi all,

This question is mostly for developer's but any thoughts from
non-developers are welcome as well.

At the moment I am working on a quick and dirty text adventure system
written in C++ suitable for developing classic interactive fiction
games similar to games like the Infocom text adventures like Zork,
Arthur, Hitch Hikers Guide to the Galaxy, and so forth. Since I am not
really a fan of the text adventure languages like Inform and AGT I
have decided to create my own system in C++, but have run into a
slight problem with the text adventure system.

In Dos/Windows if one wants to pause a screen of text all he or she
has to do is call the _getch() function which will pause the out put
until the enter or space key is pressed. Mac OSX and Linux have no
such function and similar functionality has to be accessed through
ncurses or another library like that. I am trying to come up with a
pause function that will be completely cross-platform and will compile
on any platform without having to involve ncurses or some other
third-party solution. So what I have done in the meantime is use the
standard cin input stream with a prompt that says, press c to
continue or q to quit. I am wondering if people are okay with this
method of pausing the screen, or if some of you  developers knows of a
better way to go about pausing the text  on screen let me know.

Thanks.

---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to 
gamers-unsubscr...@audyssey.org.

You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.


---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.


Re: [Audyssey] Pausing the Screen in Console Programs

2014-04-16 Thread Charles Rivard
I'm OK with a prompt to continue, save game, quit, and so on.  If I can 
review the current screen using, for example, the jaws cursor, that will 
work.


I've looked at other posts regarding this and other stuff has been mentioned 
such as whether to be able to choose from a menu or whether to have to type 
your commands.  On this, I think that having to type your commands was one 
of the challenges of the text adventure games, and would prefer this method 
of control over what happens next.


Also, I prefer no music during game play, as I feel that it gets in the way 
of reading through the use of a screen reader.  I want to hear the text, not 
the music.  Event sounds, though, are OK, as long as the text can still be 
accessed.


---
Be positive!  When it comes to being defeated, if you think you're finished, 
you! really! are! finished!
- Original Message - 
From: Thomas Ward thomasward1...@gmail.com

To: Gamers Discussion list gamers@audyssey.org
Sent: Tuesday, April 15, 2014 10:32 PM
Subject: [Audyssey] Pausing the Screen in Console Programs



Hi all,

This question is mostly for developer's but any thoughts from
non-developers are welcome as well.

At the moment I am working on a quick and dirty text adventure system
written in C++ suitable for developing classic interactive fiction
games similar to games like the Infocom text adventures like Zork,
Arthur, Hitch Hikers Guide to the Galaxy, and so forth. Since I am not
really a fan of the text adventure languages like Inform and AGT I
have decided to create my own system in C++, but have run into a
slight problem with the text adventure system.

In Dos/Windows if one wants to pause a screen of text all he or she
has to do is call the _getch() function which will pause the out put
until the enter or space key is pressed. Mac OSX and Linux have no
such function and similar functionality has to be accessed through
ncurses or another library like that. I am trying to come up with a
pause function that will be completely cross-platform and will compile
on any platform without having to involve ncurses or some other
third-party solution. So what I have done in the meantime is use the
standard cin input stream with a prompt that says, press c to
continue or q to quit. I am wondering if people are okay with this
method of pausing the screen, or if some of you  developers knows of a
better way to go about pausing the text  on screen let me know.

Thanks.

---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to 
gamers-unsubscr...@audyssey.org.

You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the 
list,
please send E-mail to gamers-ow...@audyssey.org. 



---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.


Re: [Audyssey] Pausing the Screen in Console Programs

2014-04-16 Thread Zachary Kline
Thomas,

I believe there are character input functions in the standard C library, at 
least on Mac OS X. Look into getchar() and other variants which take streams 
other than standard input. THis isn’t a C++-specific mechanism, but should 
still work if you’re just doing console IO. I have manual pages for getchar on 
my mac. These are prototyped in stdio.h in C, but I believe there’s a way to 
use them in C++ too.
I disagree with your dislike of IF-specific languages, but that’s a topic for 
another day. Hope this helps a bit. For the record, your approach seems fine 
too.
Best,
Zack.

On Apr 15, 2014, at 8:32 PM, Thomas Ward thomasward1...@gmail.com wrote:

 Hi all,
 
 This question is mostly for developer's but any thoughts from
 non-developers are welcome as well.
 
 At the moment I am working on a quick and dirty text adventure system
 written in C++ suitable for developing classic interactive fiction
 games similar to games like the Infocom text adventures like Zork,
 Arthur, Hitch Hikers Guide to the Galaxy, and so forth. Since I am not
 really a fan of the text adventure languages like Inform and AGT I
 have decided to create my own system in C++, but have run into a
 slight problem with the text adventure system.
 
 In Dos/Windows if one wants to pause a screen of text all he or she
 has to do is call the _getch() function which will pause the out put
 until the enter or space key is pressed. Mac OSX and Linux have no
 such function and similar functionality has to be accessed through
 ncurses or another library like that. I am trying to come up with a
 pause function that will be completely cross-platform and will compile
 on any platform without having to involve ncurses or some other
 third-party solution. So what I have done in the meantime is use the
 standard cin input stream with a prompt that says, press c to
 continue or q to quit. I am wondering if people are okay with this
 method of pausing the screen, or if some of you  developers knows of a
 better way to go about pausing the text  on screen let me know.
 
 Thanks.
 
 ---
 Gamers mailing list __ Gamers@audyssey.org
 If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
 You can make changes or update your subscription via the web, at
 http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
 All messages are archived and can be searched and read at
 http://www.mail-archive.com/gamers@audyssey.org.
 If you have any questions or concerns regarding the management of the list,
 please send E-mail to gamers-ow...@audyssey.org.


---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.


Re: [Audyssey] Pausing the Screen in Console Programs

2014-04-16 Thread Thomas Ward
Hi Dark,

Well, I was pretty much considering a limited parser system anyway.
For one thing I don't like the complexity of the parser systems in the
Inform based interactive fiction games, and hate guessing the verb
myself. I'd prefer just having a very basic list of commands like get,
drop, open, close, wear, equip, etc and then listing them in the
game's manual or help screens. Plus if a game doesn't have a need for
a certain command I won't use it.

For instance, if there is nothing to smell in the game I don't see
adding a smell command to the parser as being worth my time. There is
no sense in typing a command like smell door only to get back a
response like you don't smell anything unusual. That's a waste of my
time and everyone else's.

Of course, I understand why games written in Inform, AGT, etc have so
many commands and the reason is that the parsers were written to
attempt to cover every and all possibilities. The commands are not
customized for one specific game, nor were they necessarily designed
for ease of use. As you yourself said a lot of interactive fiction was
puzzle based so the author's would inevitably come up with some
wording that kept you guessing rather than something obvious. I
frequently get frustrated with interactive fiction for those reasons,
and hopefully plan to write my own with a bit more logic and
simplicity involved.

For example, in traditional interactive fiction games often times
doing something as taking a empty glass and filling it with water can
end up being more complicated than it needs to be. You can be standing
there at the kitchen sink typing commands like get water or fill
glass or use faucet all you want but the parser will give you the
typical you can't use that or fill is not a command. In my text
adventure system I am hoping to design something almost everyone
should be able to figure out without too much guesswork involved such
as use faucet to fill a glass of water.


Cheers!


On 4/16/14, dark d...@xgam.org wrote:
 Hi Tom.
 Fair enough, though i do remember you discussing writing an rpg previously
 which is why I mentioned it.

 I personally have no overbaring preference between text or sapi as output
 method, though regarding the parza I myself would be in favour of a limited

 parza like the on Eamon has, where the player is told exactly what verbs
 he/she has to play with at the start of the game.

 That way if you say had found a guitar string and a guitar with no strings,

 you wouldn't have to worry  if the developer wanted you to use string
 guitar with string, fix guitar with string, tune guitar with string
 etc, and could just use use string with guitar or put string on guitar

 This goes directly against standard zork style convention, but to be honest

 I'd always myself rather have an explorable world with objects who's uses I

 can identify than running around constantly seeing I don't know how to put

 or similar.

 this is why I pretty much don't play interactive fiction anymore.

 Beware the grue!

 Dark.


 ---
 Gamers mailing list __ Gamers@audyssey.org
 If you want to leave the list, send E-mail to
 gamers-unsubscr...@audyssey.org.
 You can make changes or update your subscription via the web, at
 http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
 All messages are archived and can be searched and read at
 http://www.mail-archive.com/gamers@audyssey.org.
 If you have any questions or concerns regarding the management of the list,
 please send E-mail to gamers-ow...@audyssey.org.


---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.


Re: [Audyssey] Pausing the Screen in Console Programs

2014-04-16 Thread Thomas Ward
Hi Zachary,

I am well aware of getchar, but that isn't quite what I am looking
for. Sure a person could use getchar to pause the screen, but getchar
doesn't provide the exact same functionality as getch in terms of
processing keyboard input without waiting for the enter key to be
pressed. So I don't consider it a valid replacement.

I think what eventually will have to happen is I will end up having to
write my own cross-platform implementation of getch in dependant of
ncurses or the Windows conio.h header file. Basically, I want a
function that does everything getch does, but be cross-platform and
not require some third-party library etc. That is why a solution like
getchar doesn't really fit the bill.

Cheers!


On 4/15/14, Zachary Kline zkl...@speedpost.net wrote:
 Thomas,

 I believe there are character input functions in the standard C library, at
 least on Mac OS X. Look into getchar() and other variants which take streams
 other than standard input. THis isn't a C++-specific mechanism, but should
 still work if you're just doing console IO. I have manual pages for getchar
 on my mac. These are prototyped in stdio.h in C, but I believe there's a way
 to use them in C++ too.
 I disagree with your dislike of IF-specific languages, but that's a topic
 for another day. Hope this helps a bit. For the record, your approach seems
 fine too.
 Best,
 Zack.

---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.


Re: [Audyssey] Pausing the Screen in Console Programs

2014-04-16 Thread Thomas Ward
Hi Charles,

What I am in visioning is just a standard text based program using the
Windows command prompt so obviously you could use the Jaws Cursor etc
to review the screen if needed. That is in fact one reason I want to
use a text based interface as it will work with just about any screen
reader without having to access them directly through their individual
APIs, and if someone wants to use a braille display that would be
possible as well. Therefore making them deaf-blind accessible as well
as blind accessible.

As far as sounds, music, etc goes it would be easy to add a setting to
turn that stuff on and off. In fact, I was planning on having a
settings screen where you could enable and disable background sounds,
music, and any other settings you might want to customize for that
game. So no big deal there.

Cheers!


On 4/16/14, Charles Rivard wee1s...@fidnet.com wrote:
 I'm OK with a prompt to continue, save game, quit, and so on.  If I can
 review the current screen using, for example, the jaws cursor, that will
 work.

 I've looked at other posts regarding this and other stuff has been mentioned

 such as whether to be able to choose from a menu or whether to have to type

 your commands.  On this, I think that having to type your commands was one
 of the challenges of the text adventure games, and would prefer this method

 of control over what happens next.

 Also, I prefer no music during game play, as I feel that it gets in the way

 of reading through the use of a screen reader.  I want to hear the text, not

 the music.  Event sounds, though, are OK, as long as the text can still be
 accessed.

 ---
 Be positive!  When it comes to being defeated, if you think you're finished,

 you! really! are! finished!

---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.


Re: [Audyssey] Pausing the Screen in Console Programs

2014-04-16 Thread Thomas Ward
Hi Philip,

Well, as I explained in a previous post I know about getchar, and
unfortunately it isn't quite what I am looking for. Besides pausing
the screen I want a function that will act upon a key immediately
rather than waiting for the enter key which getch does and getchar
won't.

However, I have found getchar doesn't always work when pausing the
screen anyway. I have written the following function in C++, and it
fails to do what I want which is to pause until the enter key is
pressed.

void WaitKey()
{
std::cout  Press enter to continue:\n;
std::getchar();
}

Now, in theory that function should prompt the user to press the enter
key and pause the game until the enter key is pressed. Sometimes it
does and sometimes it doesn't. I have written a test program using
getchar as written above and there are cases where the program ignores
the WaitKey() function I wrote and goes and executes the next function
regardless of my instruction to wait. So I don't think pausing the
screen with getchar is necessarily a valid method for cross-platform
pausing the screen. Of course, there may be a difference between the C
implementation of getchar in stdio.h and the C++ implementation in
cstdio. Not sure if that is a difference or not.

Cheers!


On 4/16/14, Philip Bennefall phi...@blastbay.com wrote:
 Hi Thomas,

 I tend to find that getchar suits my needs perfectly. Making a call to
 getchar and ignoring the return value does exactly what you describe, and in

 a portable way. getch is non-standard as you know so may or may not be
 present on any given target.

 Kind regards,

 Philip Bennefall

---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.


Re: [Audyssey] Pausing the Screen in Console Programs

2014-04-16 Thread Philip Bennefall

Hi Thomas,

getchar is, as you know, about as basic as you can get but at least it is 
standardized. getch is not, nor would a custom pseudo getch hack be. It's 
bound to exhibit different behavior on various platforms and you'd have to 
have access to all of them to verify. If you want immediate reactions 
without the need to wait for a return keypress, have you considered using 
something basic such as the keyboard handling in SDL in your console window? 
Then you can suddenly treat the keyboard in a similar fashion to what you 
would do in a regular non-console game, but do it portably. SDL has received 
a major rewrite in version 2.0 and is now under the Zlib/Libpng license 
which is very commercial friendly.


Kind regards,

Philip Bennefall
- Original Message - 
From: Thomas Ward thomasward1...@gmail.com
To: Philip Bennefall phi...@blastbay.com; Gamers Discussion list 
gamers@audyssey.org

Sent: Thursday, April 17, 2014 1:30 AM
Subject: Re: [Audyssey] Pausing the Screen in Console Programs


Hi Philip,

Well, as I explained in a previous post I know about getchar, and
unfortunately it isn't quite what I am looking for. Besides pausing
the screen I want a function that will act upon a key immediately
rather than waiting for the enter key which getch does and getchar
won't.

However, I have found getchar doesn't always work when pausing the
screen anyway. I have written the following function in C++, and it
fails to do what I want which is to pause until the enter key is
pressed.

void WaitKey()
{
   std::cout  Press enter to continue:\n;
   std::getchar();
}

Now, in theory that function should prompt the user to press the enter
key and pause the game until the enter key is pressed. Sometimes it
does and sometimes it doesn't. I have written a test program using
getchar as written above and there are cases where the program ignores
the WaitKey() function I wrote and goes and executes the next function
regardless of my instruction to wait. So I don't think pausing the
screen with getchar is necessarily a valid method for cross-platform
pausing the screen. Of course, there may be a difference between the C
implementation of getchar in stdio.h and the C++ implementation in
cstdio. Not sure if that is a difference or not.

Cheers!


On 4/16/14, Philip Bennefall phi...@blastbay.com wrote:

Hi Thomas,

I tend to find that getchar suits my needs perfectly. Making a call to
getchar and ignoring the return value does exactly what you describe, and 
in


a portable way. getch is non-standard as you know so may or may not be
present on any given target.

Kind regards,

Philip Bennefall 



---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.


[Audyssey] Pausing the Screen in Console Programs

2014-04-15 Thread Thomas Ward
Hi all,

This question is mostly for developer's but any thoughts from
non-developers are welcome as well.

At the moment I am working on a quick and dirty text adventure system
written in C++ suitable for developing classic interactive fiction
games similar to games like the Infocom text adventures like Zork,
Arthur, Hitch Hikers Guide to the Galaxy, and so forth. Since I am not
really a fan of the text adventure languages like Inform and AGT I
have decided to create my own system in C++, but have run into a
slight problem with the text adventure system.

In Dos/Windows if one wants to pause a screen of text all he or she
has to do is call the _getch() function which will pause the out put
until the enter or space key is pressed. Mac OSX and Linux have no
such function and similar functionality has to be accessed through
ncurses or another library like that. I am trying to come up with a
pause function that will be completely cross-platform and will compile
on any platform without having to involve ncurses or some other
third-party solution. So what I have done in the meantime is use the
standard cin input stream with a prompt that says, press c to
continue or q to quit. I am wondering if people are okay with this
method of pausing the screen, or if some of you  developers knows of a
better way to go about pausing the text  on screen let me know.

Thanks.

---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.


Re: [Audyssey] Pausing the Screen in Console Programs

2014-04-15 Thread dark

Hi Tom.

I'm personally happy with that sort of thing and have seen some games that 
do it.


One more general question however. If your developing your own text game 
creation language had you considder rpg mechanics such as combat, 
experience, levelling etc.


As we have discussed before, the majority of if games are very heavily 
puzzle based and actively discourage having rpg features in favour of often 
very obscure puzzles, often with weerder linguistic elements or guess the 
verb situations.


If your developing your own language therefore, it might be nice to include 
some things that  standard if such as inform  does not do. That and of 
course while we're inundated with  standard zork style interactive fiction, 
rpg text games are rather thin on the ground.


All the best,

Dark.
- Original Message - 
From: Thomas Ward thomasward1...@gmail.com

To: Gamers Discussion list gamers@audyssey.org
Sent: Wednesday, April 16, 2014 4:32 AM
Subject: [Audyssey] Pausing the Screen in Console Programs



Hi all,

This question is mostly for developer's but any thoughts from
non-developers are welcome as well.

At the moment I am working on a quick and dirty text adventure system
written in C++ suitable for developing classic interactive fiction
games similar to games like the Infocom text adventures like Zork,
Arthur, Hitch Hikers Guide to the Galaxy, and so forth. Since I am not
really a fan of the text adventure languages like Inform and AGT I
have decided to create my own system in C++, but have run into a
slight problem with the text adventure system.

In Dos/Windows if one wants to pause a screen of text all he or she
has to do is call the _getch() function which will pause the out put
until the enter or space key is pressed. Mac OSX and Linux have no
such function and similar functionality has to be accessed through
ncurses or another library like that. I am trying to come up with a
pause function that will be completely cross-platform and will compile
on any platform without having to involve ncurses or some other
third-party solution. So what I have done in the meantime is use the
standard cin input stream with a prompt that says, press c to
continue or q to quit. I am wondering if people are okay with this
method of pausing the screen, or if some of you  developers knows of a
better way to go about pausing the text  on screen let me know.

Thanks.

---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to 
gamers-unsubscr...@audyssey.org.

You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the 
list,

please send E-mail to gamers-ow...@audyssey.org.




---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.