[comp.windows.ms] nethack and mswindows

ant@brolga.cc.uq.oz.au (Anthony Murdoch) (08/08/90)

Hi nethackers,

Has anyone out there thought of makeing a mswindows version of nethack ?
This would be especially great for windows 3 as the program could then
have access to extended memory (no need for overlays).  Is anyone interested
in doing the work for this ?  I have never used MS C and have never programmed
MS Windows before (I'm just the ideas man here ;-)

thanx for listening
ant

-- 
  V   ant                       "It's great to be young and insane"
 \o/  ant@brolga.cc.uq.oz.au                    - Dream Team
 -O-  Anthony Murdoch           Prentice Computer Centre
 /0\  Phone (07) 3774078        University of Qld

patrickd@chinet.chi.il.us (Patrick Deupree) (08/10/90)

In article <1990Aug8.070110.245@brolga.cc.uq.oz.au> ant@brolga.cc.uq.oz.au (Anthony Murdoch) writes:
>Has anyone out there thought of makeing a mswindows version of nethack ?
>This would be especially great for windows 3 as the program could then
>have access to extended memory (no need for overlays).  Is anyone interested
>in doing the work for this ?  I have never used MS C and have never programmed
>MS Windows before (I'm just the ideas man here ;-)

Hey, if anyone could tell me where to get the source code for the current
nethack (and moria while we're at it) I could easily create a Windows version
of the program in C.  Of course, I would convert all the code to C++.  @:)

Anyone know where the code is?
-- 
"Organized fandom is composed of a bunch of nitpickers with a thing for
 trivial pursuit."  -Harlan Ellison

Patrick Deupree ->	patrickd@chinet.chi.il.us

mcjilton@handel.CS.ColoState.Edu (charles mar mcjilton) (08/13/90)

In article <1990Aug10.142805.7157@chinet.chi.il.us> patrickd@chinet.chi.il.us (Patrick Deupree) writes:
>In article <1990Aug8.070110.245@brolga.cc.uq.oz.au> ant@brolga.cc.uq.oz.au (Anthony Murdoch) writes:
>>Has anyone out there thought of makeing a mswindows version of nethack ?
>Hey, if anyone could tell me where to get the source code for the current

You could try 128.214.7.5, 129.65.17.1, 130.237.216.2, or 128.252.135.4.

I'll be expecting to see the nethack version soon ;-).  It's no small task,
I'll warn you.

<Using a friends account>
Sean

patrickd@chinet.chi.il.us (Patrick Deupree) (08/13/90)

In article <8433@ccncsu.ColoState.EDU> mcjilton@handel.UUCP (charles mar mcjilton) writes:
>I'll be expecting to see the nethack version soon ;-).  It's no small task,
>I'll warn you.

Being that I've never seen the code, I guess I can't be sure how difficult
it would be.  Provided it's all in C, however, I should only have to change
the GUI and possible take care of some addressing issues in some of the
processing code.  Then again, if the code has anything really wild in it,
I may have to do some redesign, eh?  @:(
-- 
"Organized fandom is composed of a bunch of nitpickers with a thing for
 trivial pursuit."  -Harlan Ellison

Patrick Deupree ->	patrickd@chinet.chi.il.us

seanr@ncuug.UUCP (Sean Reifschneider) (08/14/90)

In article <1990Aug13.152015.1105@chinet.chi.il.us> patrickd@chinet.chi.il.us (Patrick Deupree) writes:
>In article <8433@ccncsu.ColoState.EDU> mcjilton@handel.UUCP (charles mar mcjilton) writes:
>>I'll be expecting to see the nethack version soon ;-).  It's no small task,
>>I'll warn you.
>
>Being that I've never seen the code, I guess I can't be sure how difficult
>it would be.  Provided it's all in C, however, I should only have to change
>the GUI and possible take care of some addressing issues in some of the
>processing code.  Then again, if the code has anything really wild in it,
>I may have to do some redesign, eh?  @:(

You would have to redesign the code completely for MS Windows.  The way that
you write programs is completely opposite of most systems (because Windows
has to call your program when you get a message, and you have to return
from that function when you're done, otherwise, windows won't multitask).
Try picking up a book on MS Windows, and check out how you have to do the
work. 

Sean

goodearl@world.std.com (Robert Goodearl) (08/15/90)

In article <14@ncuug.UUCP> seanr@ncuug.UUCP (Sean Reifschneider) writes:
>In article <1990Aug13.152015.1105@chinet.chi.il.us> patrickd@chinet.chi.il.us (Patrick Deupree) writes:
>>In article <8433@ccncsu.ColoState.EDU> mcjilton@handel.UUCP (charles mar mcjilton) writes:
>>>I'll be expecting to see the nethack version soon ;-).  ...
>>
>>Being that I've never seen the code, I guess I can't be sure how difficult
>>it would be.   ...
>
>You would have to redesign the code completely for MS Windows.  ...

I suspect that Patrick is aware of the structure of windows programs.  ;-)

-- 
Bob Goodearl -- goodearl@world.std.com

jonb@specialix.co.uk (Jon Brawn) (08/15/90)

goodearl@world.std.com (Robert Goodearl) writes:
>In article <14@ncuug.UUCP> seanr@ncuug.UUCP (Sean Reifschneider) writes:
>>In article <1990Aug13.152015.1105@chinet.chi.il.us> patrickd@chinet.chi.il.us (Patrick Deupree) writes:
>>>In article <8433@ccncsu.ColoState.EDU> mcjilton@handel.UUCP (charles mar mcjilton) writes:
>>>>I'll be expecting to see the nethack version soon ;-).  ...
>>>
>>>Being that I've never seen the code, I guess I can't be sure how difficult
>>>it would be.   ...
>>
>>You would have to redesign the code completely for MS Windows.  ...

>I suspect that Patrick is aware of the structure of windows programs.  ;-)
Not if he's assuming all he's going to change is the GUI.

HOWEVER having said which, it would be possible to flatten out MS Windows
programs so that the application once more thought it was in control by
adding in yet another layer of functions that interface the application
to the windows, but it wouldn't be quick & would probably be dastardly
to debug, and certainly wouldn't be in the MS Windows style of doing
things. But don't let me put you off.....

FYI, nethack is at least 1.8Mb of C source, with a bit of lex and yacc
thrown in for light entertainment. I doubt anyone would stop you from
trying the conversion. It might take a day or two to complete.
-- 
     "These opinions are made up on the spur of the moment, and bare no
      relationship to my actual beliefs, let alone those of Specialix"

Jon Brawn, jonb@specialix.co.uk  (or for you bangers: ..!mcsun!ukc!slxsys!jonb)

peter@hari.VIEWlogic.com (Peter Colby) (08/15/90)

In article <1990Aug14.200428.18097@world.std.com>,
goodearl@world.std.com (Robert Goodearl) writes:
|> In article <14@ncuug.UUCP> seanr@ncuug.UUCP (Sean Reifschneider) writes:
|> >In article <1990Aug13.152015.1105@chinet.chi.il.us>
patrickd@chinet.chi.il.us (Patrick Deupree) writes:
|> >>In article <8433@ccncsu.ColoState.EDU> mcjilton@handel.UUCP
(charles mar mcjilton) writes:
|> >>>I'll be expecting to see the nethack version soon ;-).  ...
|> >>
|> >>Being that I've never seen the code, I guess I can't be sure how difficult
|> >>it would be.   ...
|> >
|> >You would have to redesign the code completely for MS Windows.  ...
|> 
|> I suspect that Patrick is aware of the structure of windows programs.  ;-)
|> 
|> -- 
|> Bob Goodearl -- goodearl@world.std.com

Note that the latest (and several patches back) version of nethack has a
version that compiles and runs on the Macintosh under MacOS. Unless Windows 3.0
is every bit as bad as Mac fans say it is, it shouldn't be that big a job
to convert the relevant code!

Disclaimer: I hate PC's and would only use one under extreme duress. I believe
that qualifies me to make such statements as the one above.

      (O)(O)(O)(O)(O)(O)(O)(O)(O)     (O)(O)(O)(O)(O)(O)(O)(O)(O)
      (O) !the doctor is out! (O)     (0) peter@viewlogic.com (0)
      (O)(O)(O)(O)(O)(O)(O)(O)(O)     (O)(O)(O)(O)(O)(O)(O)(O)(O)

t-jlee@microsoft.UUCP (Johnny LEE) (08/17/90)

In article <14@ncuug.UUCP> seanr@ncuug.UUCP (Sean Reifschneider) writes:
>In article <1990Aug13.152015.1105@chinet.chi.il.us> patrickd@chinet.chi.il.us (Patrick Deupree) writes:
>>In article <8433@ccncsu.ColoState.EDU> mcjilton@handel.UUCP (charles mar mcjilton) writes:
>>>I'll be expecting to see the nethack version soon ;-).  It's no small task,
>>>I'll warn you.
>>
>>Being that I've never seen the code, I guess I can't be sure how difficult
>>it would be.  Provided it's all in C, however, I should only have to change
>>the GUI and possible take care of some addressing issues in some of the
>>processing code.  Then again, if the code has anything really wild in it,
>>I may have to do some redesign, eh?  @:(
>
>You would have to redesign the code completely for MS Windows.  The way that
>you write programs is completely opposite of most systems (because Windows
>has to call your program when you get a message, and you have to return
>from that function when you're done, otherwise, windows won't multitask).
>Try picking up a book on MS Windows, and check out how you have to do the
>work. 
>
>Sean

I'd expect that he'd have to change very little of the core Nethack
code in order to make it work under Windows. The Mac port handles
events very nicely and you'll find very few references to
the Mac event-handling code in the core Nethack code. It supports
the mouse, menus, colour, and a custom font for display purposes.
Most of this is hidden in the code for inputting a character.

An MS Windows version is going to need more than 640K of memory,
easily. The overlay team went thru ulcer-inducing contortions
to make Nethack fit in under 640K.

All I can say is good luck. :-)


Johnny Lee
t-jlee@microsoft.UUCP
...!uunet!microsoft!t-jlee
For one more month: Standard Disclaimer

goings@felix.UUCP (David Goings) (08/17/90)

Please define "easily".

Your friendly neighborhood windows programmer.

strobl@gmdzi.UUCP (Wolfgang Strobl) (08/17/90)

peter@hari.VIEWlogic.com (Peter Colby) writes:

>Note that the latest (and several patches back) version of nethack has a
>version that compiles and runs on the Macintosh under MacOS. Unless Windows 3.0
>is every bit as bad as Mac fans say it is, it shouldn't be that big a job
>to convert the relevant code!

The ability to convert a big, old character based application quickly
discriminates the Macintosh architecture from the Windows architecture,
right? 

>Disclaimer: I hate PC's and would only use one under extreme duress. I believe
>that qualifies me to make such statements as the one above.

Sure it does.

Wolfgang Strobl
#include <std.disclaimer.hpp>

ernstl@dnlunx.pttrnl.nl (Lubach E.) (08/17/90)

Macintosh is that the strait jacket they call computer???
Windows is that the strait jacket they call user friendly software???

Why not simply play nethack?

Ernst Lubach

" There are several objects here:
				 - a blessed hammer called Macsmasher
				 - a gun called Iconblaster            "

peter@hari.VIEWlogic.com (Peter Colby) (08/17/90)

In article <3210@gmdzi.UUCP>, strobl@gmdzi.UUCP (Wolfgang Strobl) writes:
|> peter@hari.VIEWlogic.com (Peter Colby) writes:
|> 
|> >Note that the latest (and several patches back) version of nethack has a
|> >version that compiles and runs on the Macintosh under MacOS. Unless
Windows 3.0
|> >is every bit as bad as Mac fans say it is, it shouldn't be that big a job
|> >to convert the relevant code!
|> 
|> The ability to convert a big, old character based application quickly
|> discriminates the Macintosh architecture from the Windows architecture,
|> right? 
|> 
|> >Disclaimer: I hate PC's and would only use one under extreme duress.
I believe
|> >that qualifies me to make such statements as the one above.
|> 
|> Sure it does.
|> 
|> Wolfgang Strobl
|> #include <std.disclaimer.hpp>

Sorry, I should have put a :-) after my "disclaimer.

Seriously, as an earlier article points out, the Mac port handles all the same
types of issues an MS Windows port ought to and that is only a small percentage
of the full NetHack code (1% maybe?). Reporting that Mac portion ought to
solve your problems.

However, NetHack is still a character based program. All the Mac code really
does is put the standard curses screen from nethack into a "text" window
on the Mac! It may also add a few menus (but I never used those anyway).

DISCLAIMER: I really am a PC hater but that doesn't qualify me for anything
            important. In fact, it may not qualify me for anything much at all!

      (O)(O)(O)(O)(O)(O)(O)(O)(O)     (O)(O)(O)(O)(O)(O)(O)(O)(O)
      (O) !the doctor is out! (O)     (0) peter@viewlogic.com (0)
      (O)(O)(O)(O)(O)(O)(O)(O)(O)     (O)(O)(O)(O)(O)(O)(O)(O)(O)

patrickd@chinet.chi.il.us (Patrick Deupree) (08/18/90)

In article <14@ncuug.UUCP> seanr@ncuug.UUCP (Sean Reifschneider) writes:
>You would have to redesign the code completely for MS Windows.  The way that
>you write programs is completely opposite of most systems (because Windows
>has to call your program when you get a message, and you have to return
>from that function when you're done, otherwise, windows won't multitask).
>Try picking up a book on MS Windows, and check out how you have to do the
>work. 

Actually, I won't have to redesign the code completely.  I was hoping that my
theory was correct and I wasn't disappointed.  See, Hack is designed for
use in different computers.  This being the case, the I/O seems to have been
modularized (e.g. separated) from the rest of the program.  Basically I'll
only have to change the way this I/O works.  The other good thing is
that it seems this works for a MAC so it is definatly modularized to
the point where I/O is separate.

I've got most all of the code downloaded so I should have a chance to work on
this over the weekend.  Oh, and I've been programming Windows and
supporting it for about a year and a half now.  While this doesn't make me an
expert, I am still well aware of the tricks of the trade and have read a
few books on this.
-- 
"Organized fandom is composed of a bunch of nitpickers with a thing for
 trivial pursuit."  -Harlan Ellison

Patrick Deupree ->	patrickd@chinet.chi.il.us

patrickd@chinet.chi.il.us (Patrick Deupree) (08/23/90)

In article <1990Aug15.121256.9912@specialix.co.uk> jonb@specialix.co.uk (Jon Brawn) writes:
>Not if he's assuming all he's going to change is the GUI.
>
>HOWEVER having said which, it would be possible to flatten out MS Windows
>programs so that the application once more thought it was in control by
>adding in yet another layer of functions that interface the application
>to the windows, but it wouldn't be quick & would probably be dastardly
>to debug, and certainly wouldn't be in the MS Windows style of doing
>things. But don't let me put you off.....

On first glance things look good.  Well, sorta good.  I've got two choices for
methods to handle I/O and Windows message processing, neither of which is
pretty but both of which are functional.  As for memory management, luckily
it appears that all strcpy, strcat, etc functions are redefined based on
the environment that one is running in, so it's no problem for me to 
substitute the lstrcpy, lstrcat, etc functions.

This should be interesting now that I've finally got all the code.
-- 
"Organized fandom is composed of a bunch of nitpickers with a thing for
 trivial pursuit."  -Harlan Ellison

Patrick Deupree ->	patrickd@chinet.chi.il.us

patrickd@chinet.chi.il.us (Patrick Deupree) (08/23/90)

In article <1990Aug15.124828.25042@viewlogic.com> peter@hari.VIEWlogic.com (Peter Colby) writes:
>
>In article <1990Aug14.200428.18097@world.std.com>,
>Note that the latest (and several patches back) version of nethack has a
>version that compiles and runs on the Macintosh under MacOS. Unless Windows 3.0
>is every bit as bad as Mac fans say it is, it shouldn't be that big a job
>to convert the relevant code!
>
>Disclaimer: I hate PC's and would only use one under extreme duress. I believe
>that qualifies me to make such statements as the one above.

Actually, I've looked at the mac files.  I'm not 100% sure what some of it
does, but I get the idea of most of it.  I figure about 75% of that will go
away in Windows.

I think one's preferred environment is the one they start out in.  It's easy
for me to work with Windows code and I'm sure I could create a mac program,
but the MacOS code that I saw in nethack looks extremely verbose (though,
to be fair, I'm unsure of what's MacOS and what's nethack yet).

It's pretty odd to see constants that are defined in both upper and lower
case also.  I'm so used to the "WM_RBUTTONDOWN" type messages of the IBM
instead of the buttonDown (I think that was it) message of MacOS.
-- 
"Organized fandom is composed of a bunch of nitpickers with a thing for
 trivial pursuit."  -Harlan Ellison

Patrick Deupree ->	patrickd@chinet.chi.il.us

patrickd@chinet.chi.il.us (Patrick Deupree) (08/23/90)

In article <1396@dnlunx.pttrnl.nl> ernstl@dnlunx.pttrnl.nl (Lubach E.) writes:
>Why not simply play nethack?
>

I've already played the game in the past.  I need new horizons to conquer.
New challenges to explore.  What better way that making a program work under
an environment it wasn't designed for.  @:)
-- 
"Organized fandom is composed of a bunch of nitpickers with a thing for
 trivial pursuit."  -Harlan Ellison

Patrick Deupree ->	patrickd@chinet.chi.il.us

patrickd@chinet.chi.il.us (Patrick Deupree) (08/23/90)

In article <150245@felix.UUCP> goings@felix.UUCP (David Goings) writes:
>
>Please define "easily".
>
>Your friendly neighborhood windows programmer.

Normally, a program would not be "easy" to port to such a radiacally different
environment.  Luckily, nethack was designed (or redesigned) so that it can
be ported to different environments easily.  This means that I/O is as
separated from the main program as possible, as are such things as "main"
and so on.

This makes it a lot easier to port to Windows than a program normall would be.
-- 
"Organized fandom is composed of a bunch of nitpickers with a thing for
 trivial pursuit."  -Harlan Ellison

Patrick Deupree ->	patrickd@chinet.chi.il.us

jonb@specialix.co.uk (Jon Brawn) (08/24/90)

patrickd@chinet.chi.il.us (Patrick Deupree) writes:
>In article <1990Aug15.121256.9912@specialix.co.uk> I wrote:
>>Not if he's assuming all he's going to change is the GUI.
>>
>>HOWEVER having said which, it would be possible to flatten out MS Windows
>>programs so that the application once more thought it was in control by
>>adding in yet another layer of functions that interface the application
>>to the windows, but it wouldn't be quick & would probably be dastardly
>>to debug, and certainly wouldn't be in the MS Windows style of doing
>>things. But don't let me put you off.....

>On first glance things look good.  Well, sorta good.  I've got two choices for
>methods to handle I/O and Windows message processing, neither of which is
>pretty but both of which are functional.  As for memory management, luckily
>it appears that all strcpy, strcat, etc functions are redefined based on
>the environment that one is running in, so it's no problem for me to 
>substitute the lstrcpy, lstrcat, etc functions.

Firmly removes foot from oral orrifice, places it back on the ground and
mumbles a humble apology about shouting about things what I dont understand
proper.

When you get it up and running, what enhancements had you in mind?

Good luck, and keep us posted on how its going....
-- 
 "These opinions where made up on the spur of the moment, to a formula kept
 secret from prying eyes for hundreds of years, and bear no relationship to
       my actual beliefs, let alone those of Specialix International"
Jon Brawn, jonb@specialix.co.uk  (or for you bangers: ..!mcsun!ukc!slxsys!jonb)

gyugyi@rascals.stanford.edu (Paul Gyugyi) (08/24/90)

Patrick,
When you port the game to Windows, please consider keeping the
interface seperate from the game, perhaps by putting a DDE link
between two programs, one being the use interface and the other
being a set of stubs compiled with the source code. That way mere
mortals like me :) can make a new front end with fonts and menu
selections and note pads and tear off status displays, etc. without
having to hack the nethack source code.  I don't mind if it slows
the game down, I run nethack on super fast risc machines at school,
so I'm used to slow jerky response (ah the benifits of multiuser
systems).
It would also be the most advanced dde demo that I've seen.
Paul Gyugyi
gyugyi@rascals.stanford.edu

patrickd@chinet.chi.il.us (Patrick Deupree) (08/24/90)

In article <936@helens.Stanford.EDU> gyugyi@rascals.stanford.edu (Paul Gyugyi) writes:
>
>Patrick,
>When you port the game to Windows, please consider keeping the
>interface seperate from the game, perhaps by putting a DDE link
>between two programs, one being the use interface and the other
>being a set of stubs compiled with the source code. That way mere
>mortals like me :) can make a new front end with fonts and menu
>selections and note pads and tear off status displays, etc. without
>having to hack the nethack source code.  I don't mind if it slows
>the game down, I run nethack on super fast risc machines at school,
>so I'm used to slow jerky response (ah the benifits of multiuser
>systems).
>It would also be the most advanced dde demo that I've seen.

Actually, my thoughts were this.  I might create my own font for the game
(I might have to) that will include cute characters for monsters, people,
and so on.  This being the case it should be easy to change the font if
one wants to (as long as I don't resource compile it into the program).
As far as menu selections go, you could use the Resource Toolkit to change
the wording of the menu selection, but you're going to have to dive into
the source code if you want to change any functionality.

I'd actually thought of creating a "net hack server" at one point, but
there are some impractical things about this.  If I do create a "server"
version it will be after I create the direct port.  As a side note,
though, in order to create this so that the nethack "people" can keep
my code with all the existing port code, I have to isolate the Windows
code from the nethack guts.  That's the way all the user interfaces are
handled currentl
-- 
"Organized fandom is composed of a bunch of nitpickers with a thing for
 trivial pursuit."  -Harlan Ellison

Patrick Deupree ->	patrickd@chinet.chi.il.us

glenn@imagen.UUCP (Glenn Boozer) (08/25/90)

In article <936@helens.Stanford.EDU>, gyugyi@rascals.stanford.edu (Paul Gyugyi) writes:
> 
> Patrick,
> When you port the game to Windows, please consider keeping the
> interface seperate from the game, perhaps by putting a DDE link
> between two programs, one being the use interface and the other
> being a set of stubs compiled with the source code. That way mere
> mortals like me :) can make a new front end with fonts and menu
> selections and note pads and tear off status displays, etc. without
> having to hack the nethack source code.  I don't mind if it slows
> the game down, ...

This is the rub.  DDE is <<<VERY>>> SLOW!!!  It would eat up so much of the
CPU that the game would be unplayable.   Not just SLOW, but DEAD.

Sorry.  I too would like to se more REAL DDE programs that we can all learn from.

DDE is a CPU hog and a half.


G. Boozer  (408) 986-9400x508   [All spelling errors made by the computer]
QMS/Imagen       [PostScript is what we do best]
Santa Clara, Ca                                  boozer%mswind@mips.com  or
glenn@imagen.com  or  glenn%imagen@sun.com  or  {decwrl|sun}!imagen!glenn

hairston@henry.ece.cmu.edu (David Hairston) (08/26/90)

[patrickd@chinet.chi.il.us (Patrick Deupree) writes:]
[] Actually, my thoughts were this.  I might create my own font for the game
[] (I might have to) that will include cute characters for monsters, people,
[] and so on.  This being the case it should be easy to change the font if
[] one wants to (as long as I don't resource compile it into the program).
[] As far as menu selections go, you could use the Resource Toolkit to change
[] the wording of the menu selection, but you're going to have to dive into
[] the source code if you want to change any functionality.

constructive criticism:
why not use the ascii representations for the character/monsters?
icons/glyphs/picture fonts don't really work (when you think about
it soberly).  you could (should?), create great architecture characters
(i.e. walls, doors, pools, fountains etc.).  in the same vein, it's
hard to beat the ascii representations for objects (scrolls, potions...)
since otherwise you'll have a "cute" weapon symbol that makes sense for
a long sword and makes no sense for a boomerang (or 7 darts) and so on.

about those menus, try something innovative like defining a minimal
set of useful menu commands.  putting everything available into menus
serves little purpose since no one can reasonably play the game from
menus anyway.  nethack is really best played with minimal interface
distractions ... (oh no, a new thread).

one final point:
nethack 3.0 has apparently run its course.  it will obviously be
supported for some time to come but only in the sense of bug fixes
(no new features).  since windows 3.0 is making an impact in the
pc world it would be nice to have a _good_ windows port.  take your
time and make it a good one!

i don't do windows else i'd offer to help ...

  -dave-  
hairston@henry.ece.cmu.edu

"They say that finding windows in a dungeon is not impossible"

patrickd@chinet.chi.il.us (Patrick Deupree) (08/28/90)

In article <HAIRSTON.90Aug26002105@henry.ece.cmu.edu> hairston@henry.ece.cmu.edu (David Hairston) writes:
>constructive criticism:
>why not use the ascii representations for the character/monsters?

I'm definatly going to do this in the first port since it would be rough on
a lot of people to say "Here's the game, but have fun figuring out what I
used to represent this thing."  I can just see the hate mail I'd get from
that.  @:)

>about those menus, try something innovative like defining a minimal
>set of useful menu commands.  putting everything available into menus
>serves little purpose since no one can reasonably play the game from
>menus anyway.  nethack is really best played with minimal interface
>distractions ... (oh no, a new thread).

Considering the 50 or so commands in Nethack it would be really ugly to have
a menu for all choices.  I figure that there will be no menu choices for
"actions".  Only menu choices for save, quit, etc (I think I can get rid
of shell).  I was thinking of putting a floating window up with arrow buttons
for movement, but I think I'll pass for now.

>one final point:
>nethack 3.0 has apparently run its course.  it will obviously be
>supported for some time to come but only in the sense of bug fixes
>(no new features).  since windows 3.0 is making an impact in the
>pc world it would be nice to have a _good_ windows port.  take your
>time and make it a good one!

This was my thought also (making a good port, that is).  In order to do
so I'm going to have to change away a couple of things that might not make
the nethack code gurus happy (since it involves ditching their "allmain"
file), but it's the best way to make a really clean port.

So, I know how I'm going to do this.  I've even found all the sections of the
code that will have to change.  Now for the hard part.  @:)
-- 
"Organized fandom is composed of a bunch of nitpickers with a thing for
 trivial pursuit."  -Harlan Ellison

Patrick Deupree ->	patrickd@chinet.chi.il.us

petkau@herald.UUCP (Jeff Petkau) (08/28/90)

> constructive criticism:
> why not use the ascii representations for the character/monsters?
> icons/glyphs/picture fonts don't really work (when you think about
> it soberly).  you could (should?), create great architecture characters
> (i.e. walls, doors, pools, fountains etc.).  in the same vein, it's
> hard to beat the ascii representations for objects (scrolls, potions...)
> since otherwise you'll have a "cute" weapon symbol that makes sense for
> a long sword and makes no sense for a boomerang (or 7 darts) and so on.

Have you ever seen Larn or Moria or Hack 2.?? on the Amiga?  They all use
cute pictures instead of letters, and it improves the feel of the game
wonderfully.  No doubt whoever ported these versions never bothered to
think about it soberly.  (There is more involved than just changing the
font, though, since you have to have an image of a long sword, and a
boomerang, and a dart, and all sorts of other things, and the program has
to print a different character for each.  But this could easily be done
with a slight extension of the current GRAPHICS= option).

Jeff Petkau: petkau@skdad.USask.ca
Asterisks: ***********************

hairston@henry.ece.cmu.edu (David Hairston) (08/28/90)

[-dave-:]
[] constructive criticism:
[] why not use the ascii representations for the character/monsters?
[] icons/glyphs/picture fonts don't really work (when you think about
[] it soberly).  you could (should?), create great architecture characters
[] (i.e. walls, doors, pools, fountains etc.).  in the same vein, it's
[] hard to beat the ascii representations for objects (scrolls, potions...)
[] since otherwise you'll have a "cute" weapon symbol that makes sense for
[] a long sword and makes no sense for a boomerang (or 7 darts) and so on.

[petkau@herald.UUCP (Jeff Petkau) writes:]
[] Have you ever seen Larn or Moria or Hack 2.?? on the Amiga?  They all use
[] cute pictures instead of letters, and it improves the feel of the game
[] wonderfully.  No doubt whoever ported these versions never bothered to
[] think about it soberly.  (There is more involved than just changing the
[] font, though, since you have to have an image of a long sword, and a
[] boomerang, and a dart, and all sorts of other things, and the program has
[] to print a different character for each.  But this could easily be done
[] with a slight extension of the current GRAPHICS= option).

i guess this is subjective ...

i find it disconcerting to have cave spiders graphically sized the same
as dragons.  the abstract ascii feels better to me.  also, i'm not
comfortable with the sideview representation of monsters in icons and
the overall topview of the level map.  the abstractions allow everyone
to use their imagination.  the graphics take that away, for me ...

my constructive criticisms were _my_ thoughts.  i'm glad you've added
yours to the discussion.

  -dave-  
hairston@henry.ece.cmu.edu

ant@brolga.cc.uq.oz.au (Anthony Murdoch) (09/05/90)

Wow, this is the biggest conversation thread I have ever managed to create.
I must say that I am rather impressed with myself.  Anyhow, some addition to
the conversation.

patrickd@chinet.chi.il.us (Patrick Deupree) writes:

>Considering the 50 or so commands in Nethack it would be really ugly to have
>a menu for all choices.  I figure that there will be no menu choices for
>"actions".  Only menu choices for save, quit, etc (I think I can get rid
>of shell).  I was thinking of putting a floating window up with arrow buttons
>for movement, but I think I'll pass for now.

I think you are right about the menus.  With movement you could try something
like they use in MacRogue.  Basically you click a position on the screen and
the person tries to make his/her way there in the least number of moves,
stopping if something gets in the way.  Also, you could set up the inventry in
a window/table with rows for catagories of the inventry.  MacRogue also uses
a rather cute method of throwing items, ie draging the item from the inventory
window and dropping it in the direction you wish to throw in.

>This was my thought also (making a good port, that is).  In order to do
>so I'm going to have to change away a couple of things that might not make
>the nethack code gurus happy (since it involves ditching their "allmain"
>file), but it's the best way to make a really clean port.

Maybe a little conversation with the code gurus could be advised.  If you
could come to some agreement that would allow the mswindows version to be
transported with the complete code it would be wonderfull.  If not, then go
your own way.

ant

-- 
  V   ant                       "It's great to be young and insane"
 \o/  ant@brolga.cc.uq.oz.au                    - Dream Team
 -O-  Anthony Murdoch           Prentice Computer Centre
 /0\  Phone (07) 3774078        University of Qld