home *** CD-ROM | disk | FTP | other *** search
- System Operator/Programmer Documentation
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- _________ for
- |_ ___ \
- | | \ \ ___ __ __ __ __ __ __ ___ __ __ ___
- | | \ \ / _ \| \/ || || \ | || |/ _ \| \ | | / _>
- | | / // / \ \||\/|| || ||\\ || ||/ / \ \||\\ || \ <
- _| |___/ / \ \_/ /|| || || || \\|| ||\ \_/ /|| \\|| _> \
- |_________/ \___/|__||__||__||__| \__||__|\___/|__| \__|<___/
- ****************************************************************
- The Race for Galactic Domination
- Version 1.54a
- January 1992
-
- Initial Program Design
- By Apocalypse of StrangeMode Software
-
- Further Design Development and Debugging
- By David "Tarl Cabot" Stidham
-
-
- Apocalypse wishes to extend a special thanks to:
- The Catt,
- Mr. Bill,
- and the Pandemonium Playtesters
-
-
- I. Running Dominions!
- ~~~~~~~~~~~~~~~~~~~~~
- Dominions! requires about 180Kb of RAM, about 40Kb of which is
- used by variable data, about 95Kb for the actual program, and 48Kb reserved
- for the stack.
-
- To install Dominions! on WWIV Bulletin Board Systems, just do four
- things... (If you aren't running WWIV, please see note after the following
- Installation Steps)
-
- Step I
- ~~~~~~
- Make a subdirectory off your main BBS directory, you may call it anything
- you desire, but the following BATCH file uses the subdirectory called DOMINION.
- After you create the subdirectory, change directories to make it the active
- directory.
-
-
- Step II
- ~~~~~~~
- Be sure the following files are in the new subdirectory:
-
- Program Executable file
- ~~~~~~~~~~~~~~~~~~~~~~~
- DOMINION.EXE
-
- Text files
- ~~~~~~~~~~
- CREDITS.DOM
- HELPCOUN.DOM
- HELPDIPL.DOM
- HELPEMPI.DOM
- HELPNAVA.DOM
- HELPPLAN.DOM
- HELPMAIN.DOM
- INSTRUCT.DOM
- PICTURE.DOM
-
- Data files (Will be created when game is first run and are not included)
- ~~~~~~~~~~
- EMPIRES.???
- PLANETS.???
- SQUADS.???
- MESSAGES.???
- DATE.???
- THISYEAR.???
- LASTYEAR.???
- LASTON.??? ___
- REGION1.??? \
- REGION2.??? \
- REGION3.??? } Map files for each region in ASCII text
- REGION4.??? /
- REGION5.??? ___/
- SCORES.??? --- Created in the GFiles subdirectory. See Maintenance.
-
- (The extensions for the above is listed as .??? because it depends upon
- which game is being played, what the actual extension will be. For example:
- game 1 will have the extension of .001 for all the game data files. Game 2
- would have the extension of .002, and so on through game 999. The program will
- need to know which set of data files to use through a Commandline Parameter.)
-
- Step III
- ~~~~~~~~
- Once you have confirmed that these files are where they should be, create
- a BATCH file in your main BBS directory, or a directory in the active path,
- following this example:
-
- DOMINION.BAT
-
- @ECHO OFF
- CD DOMINION
- DOMINION %1 %2
-
- Step IV
- ~~~~~~~
- After that is completed, bring up the BBS, enter CHAINEDIT, and install
- the game:
-
- A. Description : Dominions! v1.54a (Game 1)
- B. Filename : DOMINION.BAT %1 1
- C. SL : *
- D. AR : *
- E. ANSI : Optional
- F. DOS Interrupt: Not used
- G. 300 Baud : Allowed
- H. Shrink : No
-
- (* = your choice)
- The filename to use would be the name of the batch file that you
- created, along with the parameter %1 for WWIV to pass the information for
- CHAIN.TXT and the Game Number (the 1 following the %1 above is the game number
- in this case) for the game that you want this entry to execute. There is no
- need for ANSI required to be toggled on, nor for the BBS to shrink (WWIV v4.10
- and later releases). Is IS, however, required that the BBS _NOT_ intercept
- the DOS calls. If you do allow the BBS to intercept the interrupt calls, your
- computer WILL lock up. This release of Dominions! now has the ability to
- monitor the COM Port and the status of the carrier. If you have a machine
- with less then 640Kb, you may want to play it safe and toggle the Shrink to
- on - heck, you may want to do that even if you DO have 640Kb, it will not
- adversely effect the operation of the game if you elect to toggle the BBS
- Shrink option to Yes.
-
- Commandline Parameter format for Dominions! is:
- DOMINION.EXE <complete path/filename to CHAIN.TXT> <game number>
-
-
- NOTE: Non-WWIV installation
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~
- If you aren't running a WWIV BBS, then you may have problems in getting
- this program to work for you. First, you will need a way to generate the WWIV
- User Information File CHAIN.TXT (I know that Door Master will do this). Since
- I operate a WWIV system, I can offer little in the way of advice on the set up
- and proper running of this program with a non-WWIV system. It should be able
- to be done with little hassle now that it incorporates internal Carrier
- Monitoring.
-
- II. Resetting the Game
- ~~~~~~~~~~~~~~~~~~~~~~
- With the release of Dominions! v1.53 and greater, the RESETDOM.EXE pro-
- gram is no longer supplied, nor needed. The routines have been incorporated
- within DOMINION.EXE.
-
- There are two times when you would want to reset the game: the first is
- when you're initially setting up Dominions! The second is when "the war" is
- over. A suggested time period for game play would be between 1-2 months
- (longer if you have few players actually playing every day). At the end of
- this time period declare whoever had the most points at the time of the reset
- as the Winner, or Emperor or whatever title you think is deserved. There is a
- ASCII Text file that is created during maintenance that contains the scores of
- the empires at the time of maintenance. This file is stored in the GFiles
- subdirectory and is suitable for inclusion in a message or for display in a
- GFiles area so that all users may see the state of the empires in the
- universe.
-
- You don't have to do this, but it's probably wiser and more fun than
- letting the same war go on forever. After a few months the numbers will
- become very large and has been a source of problems for the maintenence routine
- in the past. Presently, it is believed that the old problems have been
- eliminated and a game may concievably proceed forever without data file
- problems. Should the data files provide a problem for the maintenance routine
- to handle, the result will usually be a locked system forceing a complete reset
- of the computer. In the event that this happens, please bundle all your
- existing data files and attempt to submit them to Tarl Cabot at Ko Ro Ba
- (details on how to contact me are listed at the end of this file).
-
- Also, it is suggested that you place the REGIONn.??? (where "n" denotes
- a numerical value of 1-5) files in the download area so that your game players
- can have easy and quick access to them.
-
- In order to reset the game, merely erease the EMPIRES.DOM file and the
- first player to enter the game will automatically cause the creation process
- to begin. If that first player to enter the game has Full Sysop access (level
- 255) then he/she will be able to "customize" the game settings, otherwise, the
- game will be initialized under the standard default values. The following are
- the areas that are Sysop controllable:
-
- o Minimum Distance between Home Planetary Systems (Default 5.0 LY)
-
- o Radar Option (Default Not Active)
-
- o Galactic Empire Active (Default Active)
-
- o Galactic Empire Delay before agressive (Default 12 game months)
-
- o Tournament Mode (Default No)
-
- o Advance Initial Game Settings (Default No)
-
-
- III. The MAINTENENCE Routine
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- The Maintenence routine updates all the empires, planetary systems, and
- squadrons in flight. It is executed when the first player for the day enters
- the game. It shouldn't take it too long to run, but with games that have been
- in progress for a while, and fleet movements involving thousands of ships it
- will slow down a little, this IS normal. Also, there is a ASCII text file
- created in the GFiles subdirectory called "SCORES.???" and this file contains
- the scores of all the empires at the time of the maintenance run. This file
- is only updated once a day and is suitable for disply in a GFiles area for all
- users to see the status of the game so far.
-
- If you take the BBS down for the day for repairs, etc., don't worry,
- the maintenence routine won't run for the day because no one played it.
- If no one plays for two days, two day's worth of maintenence will not be done,
- only one day's worth.
-
-
- IV. Dominions! General Distribution Package
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- The following files are included in this Zip file...
-
- Dominion.Exe Main program
- Instruct.Dom Intructions text file
- HelpMain.Dom Main menu help file
- HelpCoun.Dom Counterintelligence menu help file
- HelpEmpi.Dom Empire menu help file
- HelpNava.Dom Naval menu help file
- HelpPlan.Dom Planetary Systems menu help file
- Picture.Dom Opening screen text file
- Sysopdoc.Dom This text file
-
- V. Distribution of Dominions!
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- You are free to copy and distrubite Dominions as long as the following
- conditions are met:
-
- 1) No fee or purchase cost is charged for the General Distribution
- Package.
- 2) All files listed in Section IV are included in the General
- Distribution Package with NO additions, alterations, or substitutions.
-
- VI. Legal Stuff
- ~~~~~~~~~~~~~~~
- Neither Apocalypse, nor myself (David Stidham) assume resposibility for
- any failure of the program to perform in the indicated or expressed way,
- and/or for any damage caused by the failure of the program. Use Dominons!
- at your own risk!
-
- VII. Dominions! Support and Source Code information
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- First, allow me to explain my reasons for retaining the source files from
- the regular distribution packet; a good majority of the operator's using this
- game have no real need for the source, so this is primarily an attempt to
- reduce the overall size of the packet for distribution purposes - we all know
- how expensive it can get for those long distance calls!
-
- Second, too many people out there have decided to alter the source code
- from previous releases on their own (which is great, but...) and NOT make
- their source code, or at the very least the modifications they made, available.
- So, I've decided to join that growing trend and no longer make the supported
- source code available to anyone. This decision may change sometime in the
- future, but, presently, I doubt it. It's a shame how a few people can ruin a
- good thing for everyone...
-
- If you have any suggestions, comments, or criticisms of Dominions!,
- please leave a message for me (Tarl Cabot) anyway you can. I may be contacted
- via one of the following methods:
- Calling my system...
-
- Ko Ro Ba
- (813) 237-0152
- WWIVnet 8350
- Tampa, Fl.
-
- ...or WWIVnet mail sent to 1@8350.
-
-
- In addition, there is now (once again) a WWIVnet sub devoted to Dominions!
- support for both Sysops and players. It is net sub type 28350. Send EMail to
- 1@8350 in order to subscribe to the base.
-
- The Original home board for Dominions!, Pandemonium did have WWIVnet
- connections for mail and messages, but appears to be down permanently at this
- time. =>Apocalypse<= (aka Chris Haisty) and may still be able to be reached
- through one of these alternate mediums:
-
- GEnie mail address C.HAISTY
- or
- CompuServe ID 72220,3300
-
- Please note, that at the time of this writing, I (Tarl Cabot) have no way of
- verifying those two alternate methods for contacting Apocalypse. If anyone
- DOES track Apocalypse down, please extend my wishes to talk with him and ask
- him to contact me.
-
- VIII. Sysop Controls
- ~~~~~~~~~~~~~~~~~~~~
- You, the Sysop, now have some local control over the user in the game.
- The following is a list of local Functions available:
-
- F5 - Hangup on User/Force them back to BBS
- F6 - Update time remaining (if user has sat idle for a while)
- F7 - Subtract 5 minutes from users remaining time in door.
- F8 - Add 5 minutes to users remaining time in door.
- F10 - Chat with user
-
- IX. Tarl Cabot's Release Revisions: A Summarized History
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- v1.54a: Corrected a bug in Galactic Empire routines for long term (90+ days)
- games. Found 2 days after release of v1.54 officially.
-
- v1.54 : Compensated for an anomoly with Turbo Pascal v6.0 when dealing with
- real variables in the IF/THEN environment.
- Compensated for an anomoly with Turbo Pascal v6.0 when using the STR
- function to turn a real value into a string for display.
- Corrected a variable call oversight in the Diplomacy area so that
- Alliances were handled properly when broken by one party.
- Corrected an oversight with the Galactic Empire's decision routines
- when it had 0 planetary systems actively controlled.
- Made the Galactic Empire AI Routines more "intelligent" regarding the
- decisions of Increasing Technology, Planetary System Industry
- Levels, and building additional Ships for the navy.
- Added "multi-game" capability. NOTE: This is NOT Multi-Node, only
- multi-game. The ability for this program to look for and use
- other data files without having to set up multiple directories
- and multiple copies of this program to simulate that function.
- Added "Tournament Mode". Game can now be initialized to run the
- daily maintenance more than once per day.
- Added ability to toggle the Galactic Empire as active or inactive
- during initialization.
- Added ability to set the "delay" period before the Galactic Empire
- became "active" and begins to send out fleets.
- Added Diplomatic Relations notification to the receiving empire
- regarding the selected Diplomatic Posture (Allied, Friendly,
- Neutral, or Hostile).
- Corrected the input fields for numeric values to eliminate the input
- of "excessively" large values through Scientific Notation
- (example: 1E9, which crashed the game 100% when a REAL value was
- expected.). Maximum scientific notation value allowed is 1E4,
- which corresponds to nearly the same for maximum numeric entry
- (example: 1E4=10,000 and maximum field length is 4 characters, so
- a numeric input could be 9,999).
- Added the ability for the player to check the anticipated amount of
- Technology and Industry Points generation when maintenance is
- run to the Planetary Systems Management section.
- Corrected problem with Communications Monitoring routines to remove
- the interface problem between a high speed modem and the
- program itself.
-
- v1.53 : The inclusion of the Resetdom.EXE routines in the body of the game's
- source. No more separate program for initializing the game,
- simple erasure of the EMPIRES.DOM file will initiate the reset.
- Addition of a Diplomatic Relations section so that Alliances may be
- formed and used.
- Restriction of Radius scan to only those planetary systems controlled
- by the player making the scan or planetary systems of those
- empires that are allied with the player.
- Addition of ability to launch fleets to Allied players planetary
- systems as Reinforcements for that planetary system.
- Addition of SCORES.DOM as a separate file for external score keeping
- by players and non-players alike.
- Correction of the Navy Status display to show only those totals of
- ships on planetary systems rather than the empires total ship
- amount including those in flight to targets.
- Removed ability to send ships from planetary system A to planetary
- system A. ATN the Ace of The Old Guard BBS had added this to
- source he had, but I did not agree with its implementation
- before now.
- Reduced amount of memory required for data by removing the use of
- an internal array to hold the messages. Savings of approx-
- imately 20,000 bytes of RAM. Message file no longer has a
- restriction on the number of messages it can contain.
- Addition of psuedo-Email ability to private empire messages function.
- Revised the Recent Happenings to become "Recent Events" and the files
- now contain the events from the last 12 months for two years of
- game play; last year and this year.
- Terminology change regarding the planets. Changed all references of
- "Planet" to "Planetary System". Offers a better explanation of
- the distance between points - a single planet that is 3 light
- years from another planet? Come on. Planetary SYSTEM is more
- appropriate.
- Addition of Siroos Afshar's Radar option with enhancements and
- optimizations.
- Addition of ability to toggle the Radar option active or inactive at
- the moment of game reset by the Sysop. Program detects setting
- and will allow or disallow the Radar Section from being seen or
- accessed by the players throughout the entire game.
- Addition of the "Galactic Empire" as the 21st "player" in the game.
- The Galactic Empire is computer controlled and will perform all
- the duties that a human player would: Increase industry, set
- manpower allocation, increase technology, build ships, and send
- out fleets.
- More code optimizing/efficientizing.
- Addition of ability for a player to relinquish control of a Planetary
- System to any other active player via the Diplomatic Relations.
- Addition of "Game Advancement" at time of initialization by the
- Sysop. Advancement ranges from 2 to 24 game months.
- Addition of Terraforming Operation to Planetary Systems management
- menu.
- Unitized previous Include files of source so that program may exceed
- the 64Kb Turbo Pascal limitation.
- Use of my highly enhanced and optimized COMMON.PAS to include many
- new routines - Including Local Sysop controls, i.e. F10 Chat,
- F7 minus 5 minutes, F8 add 5 minutes, F5 "log user off".
- Addition of Communications Monitoring to remove the "Hangup and
- play again" cheat mode.
- Addition of more colors to program. Virtually all areas are now
- colored.
- Addition of a confirmation prompt to Radius Scan to eliminate
- accidental input of truly large scan parameters.
- Addition of a "starting point" for the Planetary System listing.
- Addition of Abortable lists to all areas that offer information
- displayed in a listed format with a Yes/No prompt in case of
- "accidental" aborts.
- Addition of COM Port and carrier status monitoring.
- Addition of a "Status Bar" showing local terminal who is online
- in the game along with their logged baud rate and time
- remaining online.
-
- v1.52 : More code "efficientizing".
- Optimized code for more speed and smaller size under TP 5.xx.
- Added a fleet sort routine based upon fleet velocity into maintenance
- routine. No more locking up at maintenace when dealing with 5
- digit fleet actions.
- Removed some redundant code during planet conquering message sending.
- No more duplicated information regarding conquered and/or lost
- worlds.
- Updated the combat module again for the maintenance routine to give
- better speed and to eliminate the maintenance "hang problem" for
- very long games. This was required as a second part to
- completely correct this problem.
- Added a Radius Planetary Scan into Navy routines. This allows
- players to select any single planet and then a range in LY's to
- scan from that planet.
- Enhanced the RESETDOM utility to make it interactive regarding the
- minimum distance between homeworlds when generated.
- Source Code no longer regularly distributed.
-
- v1.51 : Never made public debut, but was given out for beta test to one
- person - never to be seen/heard from again.
- Data file format change - replaced simple integer type for ships
- to long integer type. No change as to maximum ships allowed
- though.
- Using data file change and combat module upgrading as a means to
- correct the long game maintenace hangs.
- Added Time remaining online checking so players wouldn't remain
- online beyond their allotted time.
- Simplified maintenace fleet combat routines for speed.
- Implemented "ATN the Ace"'s idea for minimum distance between home-
- worlds idea and enhanced it here as well with the change from
- setting of 3 LY distance between homeworlds to 5 LY
- distance.
-
- v1.50 : Corrected problem with Increase Technology and Increase Industry,
- as well as an oversight with the abortable display listings.
- Also, this has received the official version number of 1.50 where it
- was originally called v2.00TC (v2.00 Tarl Cabot).
-
- v2.00TC:Converted the source to compile under Turbo Pascal v5.0.
- "Efficientized" the code further as well as adding in fully support-
- able user aborts in the lengthy display listings.
- Added Color to the game in many areas.
- Unofficial release revision number.
-
- v1.41B: Corrected problem with Empire Technology level checking for building
- different ship classes. Corrected (FINALLY!) the "Annomoly
- Fleet" bug for homeworld recapturing.
- Corrected an Integer Overflow problem in ship building and total
- ships in an empire's fleet checking.
-
- v1.41A: Corrected "Annomoly Fleet" bug for homeworld re-capturing.
- - v1.40A "Efficientized" the code by removing extraneous loops and code lines.
- Added habitability ratings to the display in Naval Status screen.
- Added Counter Intelligence moves remaining in CI routines.
- Added the use of the "standard" COMMON.PAS Prinfile procedure for
- display of the map regions so users could pause the display and
- abort normally.
- Added user abort to the Planet Zoom Display routine.
- Corrected the lack of negative input checking for ship movement
- between planets.
- Corrected an Integer Overflow problem in the ship building cost
- calculation routine.
- Corrected an Integer Overflow problem in the planetary Industrial
- Level increase routine.
- Removed a second call to store the day's date so as to allow the
- maintenance routines to run everyday and not be overlooked.
- Corrected the formulas used in the maintenance routines for Tech
- and Ind production to reflect that used in the documentation.
- Updated and "Efficientized" the RoundOff routine to use the FRAC
- function.
- Updated the St function to remove that mysterious 1 unit of Ind
- or Tech that would pop up but not be available because it wasn't
- really there.
- Removed Pad and Back_Pad and replaced with Addfront and Addrear.
- Added habitability display to the Zoom Planet display as well
- as adding single planet display to the Naval routines.
- Added a "Fleets in Flight" display to the Naval Routines.
-
-
- - Apocalypse's Revision History -
-
- v1.40: This version has fixed the infamous "9999 Frigates" bug.
- Earlier versions of Dominions! were written on an IBM XT clone with
- 1 meg RAM, a 20 megabyte hard disk, and only a measly 8 mhz
- operating speed. This version was done on an real IBM XT
- with 1 meg RAM and 12 mhz.
- All versions were written in Turbo Pascal 3.0.
- The source code files (DOMINION.PAS, RESET.PAS, OVERLAY...) aren't
- really needed to run Dominions!, I just included them for
- those of you who are curious about the source code.
- The Dominions! source code isn't as "clean" as it could be,
- as I (Apocalypse) learned quite a bit while writing this
- game and I (Apocalypse) haven't yet gone back to trim the
- "rough edges".
-
-
- X. Miscellaneous
- ~~~~~~~~~~~~~~~~
- This is where I, Tarl Cabot, would like to give credit to Mysterion,
- one of my users and a fellow enthusiast of good games. He has done a great
- deal of bug hunting for me on other works, and previous revisions for this game
- were no exception. He seems to find nearly every bug a programmer can place
- into a program! I've learned a great deal of things to look for and watch
- out for when programming with his help. If you are a door designer, and you
- are looking for either a someone to assist with Debugging, or (now for a small
- plug for my system...grin) are looking for a remote site to BETA test your
- work, Ko Ro Ba is available, and so is Mysterion.
-
-
-