/*************************************************************************/ /* G.R.U.D.G.E */ /*************************************************************************/ I apologize for the poor formatting and rushed nature of this document... grudge is an adventure game for x-windows, that renders an isometric 3-d integer world in real time via bitmaps. The game renders in color if you have a display that can handle at least 256 colors. at the current time, a driver is complete, but the game lacks any kind of real objects, maps, or an objective. it is on on this ftp site as more of a Demo of what it can do than anything else, so that future interest in grudge may grow. I am searching for competent programmers as well as people to contribute bitmaps and game play ideas. contact me at via mail to kholland@cs.cornell.edu if you are interested. as of march 7 1994, I have only compiled grudge on suns (the local machines) , but since it is written in ansi it should theoretically compile on almost any machine running UNIX and X-windows. HOW TO COMPILE the newer versions of grudge includes a file name ConfigMake in the top level directory. This file *should* make grudge *easier* to compile as well as compatible with more systems. So in order to compile the game, you must look in this file and change the values to the corresponding ones on your system. the most important values to change are the directories - if grudge cannot find your directories - it will die. step by step - the first thing you may want to change is the size and face of the text font to something that is more readable to you (I'm the kinda guy that goes for 6x10) - choose this value from the local fonts available. you may easily find out/ choose your fonts by run xselfont (if available) or by running xlsfonts I do not recommend changing the item font name and cursor font name unless the default values conflict with something local (I sincerely doubt they will....) next you must change the font dir value. This choice is heavily dependent on how your local system is set up. If there is a directory on your system in which you may place publicly contributed fonts, set this value to the name of that directory. If your system admins are like mine, and there is no public space for fonts and such, or they are very stingy with that space (you should definitely ask them first) then you will need to set this value to your own private font directory, just be sure that it is already made before attempting to compile and run the game. the next value to change is the lib dir - if you are have a general area in which you keep lib files for things like games, then i recommend moving the lib directory there and setting the value to that location - this directory is very important - this is where grudge gets its runtime data, and in future releases, the lib file may be separated from the the release becuase of shear size. you should now set the bin dir according to the guidelines similiar to those above - if there is a publicly available one and your sys admin agrees then set it to that value, otherwise set it to you local bin dir, or make a new one. (of course you could be the kind of guy that likes to place executables all over the place and I'm not going to stop you...) you should set the CC variable to the local ansi compatible c compiler I would very much like to hear about any errors resulting from the compiliation of this program on computers other than suns if for some strange reason your system has weird excutable names for xmkmf ( x make makefile ) and the make command, you will need to set the next two variables. This usually is not neccessary if your system uses pcf fonts for X instead of snf found, then you need to uncomment the #define statment this *should* be all you need to change, again I appreciate all mail concerning errors and problems with grudge now type xmkmf make World a succesful compilation *should* happen, the fonts should be placed in the font dir and the binary in the bin dir. check the values that you have assigned in the ConfigMake file first if you have any problems. If you continue to have problems, mail me and I will try to help you thru the proccess. HOW TO RUN you must make sure that you xset your font path to the the font dir that you set in the ConfigMake file, otherwise the program chokes. then just type grudge (if the bin dir you specified is on your path, then its no problem, otherwise go to the bin dir and type ./grudge), if you wish to enter DM mode (only players get their turns, all players have dm powers) then give grudge the command line argument "-dm" you may have multiple players in the same game - just type the name of the terminals that you wish to have grudge start up on and that terminal is added as a player in the game HOW TO PLAY I haven't changed the startup message for a while so those commands that appear when you enter are now no longer accessible unless you are in dm mode. so Ignore them just for now..... Now - you need to know your keys - many thanks to kjetil homme for this one - the keys can be set via your Xdefault file - A sample default which works wonderfully for the suns over here is available in the lib directory. it is pretty self explanatory. If you would just like to get down to business (well... theres nothing really to do yet...) type '?' for help ( not yet implemented use key below) default keys - (hmm... looks like an qwerty keyboard) t move forward r move forward left y move forward right f move left h move right v move back left n move back right b move back d rotate left j rotate right T interact forward R interact forward left Y interact forward right F interact left H interact right V interact back left N interact back right B interact back ' enter parser mode (allows you to type out text commands) a enter aggressive mode i enter interact as default mode u enter use as default mode . repeat last parser command I interact with first object in inventory U use first object in inventory e equip first object in inventory < shift items up in inventory > shift items down in inventory l shift items right in inventory k shift items left in inventory , pickup item from floor / drop item on floor c view next container upwards ( or your own if already on floor) if you would like to go into dm mode, enter the parser mode and type "dm 34" then all those commands that popped up on the screen before will be instantly available to you - I am still in the process of writing docs for those commands ( as well as improving and debugging them) - but if you would like to know how to use them *really* quickly drop me an email. grudge is supposed to be flexible, and suppose to allow a high degree of interactiion - so it is modeled on a psuedo - object oriented structure. so get use to the keys and then find yourself one of those teleporter objects on the starting map - the grey one goes to Xeon and the yellow one to another sample map. face it and then use the interact key - it will prompt you in the text window about whether or not you would like to be transported to the destination it has been set for- type y for yes n for no....and voila- your there (or not there if you type n) now go find a door and open it in the same manner. try this - enter dm mode by typing dm 34 in parser mode now type get bomb - again voila - you have a bomb in your inventory, now type 'U' (or whatever your use in inventory key is) - and wait a few seconds. Hopefully this will serve as a demo of how flexible grudge can be made to be. spells will be defined to be objects on your person - or in a book that you can use and interact with. you can have objects that you can configure by interacting with them etc..... - as an aside - one of my current favorites - type 'mput 1f enemy' (you must enter the parser mode to do this - the default key is the apostrophe) - then move to someplace safe - now type 'get pyro_cart' , and 'get BG101'- put the BG101 in to the first position of your inventory (by using the item shift keys) , and interact with it ('I'), now equip it ('e') and enter use mode ('u') now find something (actually - they should find you) and press the interact key in its general direction and FRY it..... again - I'm looking for a few good programmers to help me get the rest of grudge off the ground - the driver and handlers that have already been made are fairly solid an rarely segfault, but I would Love to have maps and objects and such - a small doc file for how objects react and can be programmed is contained in the lib dir in the docs directory - I am always open to suggestions about how to improve this interface (and I am particularily open to c - code ) I hope you find grudge in this demo version to be at least amusing and I hope it peaks your interest in the future of this game -karl holland (kholland@cs.cornell.edu)