Whats New, as well as, whats new, if you are new. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Due to Recent Modifications I feel the need to elaborate on some of the new points of interest. p.s. this is a running log, and the typos sometimes get out of hand. if you have questions or desire clarifications please query me. Starfall Version 1.0c copyright 2001 Brendan Casey bcasey@umich.edu 4/2008 New Horizons, I've been studying first Visual C# 2005, and second Visual Basic 2008 express edition. I've started thinking I can redo this. This could be the beginning of a new set of help files as well as program upgrading and modifications. Suffice it to say you'll need to stay tuned. So far what I've dabbled in is a windows based user interface, including a map of variable proportions, with options as to what is displayed, but so far just displaying hexes areas and quadrants, and translating where a mouse clicks into a game location, in a windows form. I'm on my second book now, chapter 3. I plan to start over, after I get to the object oriented part of the book. One last note that belongs here: after test gaming over the weekend recieved a suggestion that there should be a game backup created periodically. I decided to implement the suggestion as follows: When the player selects finish turn a copy of the game is saved with the first character in the name changed to ~ I also modified the restoregame procedure to ignore filenames that start with ~, to prevent cluttering up the game restore list. The game used to save at the beginning of the finish turn procedure, and I always wondered if that was a good idea, since it was a midturn save without the players expressed intent. Now it will save it but under a different name (~amename,) so if you realize you set up some bad decisions (ie. moved where you shouldn't have,) you can restore back to where you last decided to save or the beginning of your turn. If things go terribly wrong and you crash the game, during a save, this should at least give you a reasonably recent copy of the game that you can manually rename if you have to, due to data corruption. This of course should be done carefully listing files looking at data totals times etc. This may well be the last update to these files. Look for us at the focus of the new StarFall. 7/2006 Housecleaning, noticed message player stopped echoing keystrokes, not sure why or when that went wrong but I fixed it. The startscreen also was acting up possibly due to faster processor actions, but I fixed that too. On other levels I revisited transfer systems, I think I fixed a longstanding bug that cropped up when multiple players had visited and combat/developed a system. Now in the case of neutral systems the player who last worked a planet is the one whose data is consulted, in the case of a developed or colonized planet it is the owner whose data is consulted. IN the case of a destroyed system it doesn't really matter, but whoever destroyed it will pass on that data if required. on other fronts I looked into the priority setting option turned it off, maybe will revisit that issue, but will not implement anything related to that until I work it into preferances. Similarly I tweaked the sound toggle, First, Save game will save something regarding the sound preferance, however with multiple players and two odds making an even, I can't say much more about wether sound preferances are saved, if it's a problem flip the toggle again, this should also be looked into on a deeper level since with multip players sharing two machines as the game is today, preferances about which comp makes the noise and when is relevant. 4/2002 Operating System Compatability Enhancement. I've fixed a bug that showed up when you tried to run the program under Windows NT/2000/XP. The mouse wouldn't have the right range of movement under those systems, Now it does. 9/2001 System Info enhancement from View Quadrants, system information as displayed by View Quadrants, (ie. picking and clicking on the map,) now has an extra bit of data displayed when you pick on one of your Colonized or Developed planets. The planets local resourse contribution, will be displayed when you click on the planet. This info tells the player how valuable each planet is in their overall resource picture. This info is also available on list systems, and print systems, under the print menu. the change is basically minor, but having it available on a piecemeal basis on demand of your mouseclick, helps when planning your strats. This info is also shared between allies. 9/2001 Fleet Destruction Bug fix, I think I've tracked down and fixed a bug sometimes occurring during fleet destruction by nearby Starfall Implosion on locations that had multiple fleets stacked up. It had resulted in a phantom fleet remaining on the location, that would usually crash the program if you clicked on it, or resulted in the auto play routines targeting the fleet as a hostile, and crashing the program on a fleet to fleet combat attempt with it. I'm still play testing to see if I have actually eliminated all the problems with starfall destruction. Some of them occur only infrequently, so any bug input would be appreciated. Its only after you find and fix a bug that you realize the insidious nature of its effect on the program, and you think also of possible clues you may have missed, pointing to other deleterious effects, that if you're right its kind of a big relief. I think this might rank high on that scale. 9/2001 Starfall Destruction Bug fix, I think I've finally tracked down and fixed some of the bugs arising from the Implosion of Starfalls known to more then one player. However, at this point, I'm knocking on wood, and play testing to see if I'm right. 9/2001 Memory Issues. I've been looking at the memory use during a game, and theres some problems, I've spent some time figuring out a disposal system, for the difficult sort of records, that might be in use higher up in the program heierarchy. in the past I've just considered it bad juju to dispose of certain types of records, since the artificial intelligence routines would get their feet kicked out from under them, if the actual record under consideration was lost in the middle of its evaluation of logical strats for that fleet. These situations arise frequently, say a fleet is combatting a fleet in orbit around a planet to be conquered, then if it loses the battle, the fleet should normally be eliminated on the spot. But if the AI routines don't know that the fleet has been disposed of and goes on to the next fleet, well after its been disposed there is no next fleet. these sort of logical errors can raise havoc on the normal game play. To get around this issue, I created a sort of Dumpster structure, where records can be placed in the dumpster, and then later disposed at the end of the turn. Care had to be excercised that the AI routines would know that their current record was now actually in the dumpster, and be able to extricate itself from the dumpster, and continue with the player in questions fleet list. (Harold, thought you'd appreciate this little dumpster diving insight,) To make a long story short, the program recycles memory a little better, and I've armed myself with some good tools for dealing with this sort of situation in other areas where the program doesn't recycle so well. On the down side there are some situations regarding memory, that I'm am stumped on how to proceed. For instance, for a 6x6 map with 4 human players and one computer opponent, the game runs out of working memory by around turn 60. Althought five players goes beyond the scope of the original board game, this is still a concern, the problem is that no matter how you slice it on a map that big and that full of users, the number of individual records as well as records copied from enemy and ally lists during the course of the game, eventually there is more information then can be stored, along with the executable program, under dos's standard 640 kbyte limit. I have had good results with 4 players on a 5x5 map, or 2-3 players on a 6x6 map, but more than that and you start to strain the limits. This is why I've been looking into the memory issues, and hope to look into them more deeply in the future. First I hope to eliminate the waste, then I may put some serious thought into restructuring how the records are stored, in hopes of reducing redundant information storage. One note of interest, for the first time in the history of this program, there is a Goto statement. I never thought I'd have to stoop to such a basic logical device using pascal, but when it comes down to it, given the random nature of the game, and the possible situations that can arise, this bit of logic, was probably the most aesthetic solution. Maybe I'm just getting older and my neurons don't do the hoops like they used to, or on the brighter side, perhaps it is possible to teach an old dog new tricks. After play testing it for a couple days, I think these changes inadvertantly fixed a number of longstanding, hiding bugs. I can't say I remember a more stable version of the program in a long time. I still don't understand what goes wrong when I try to dispose the first record from an array, but all the other ones can be disposed of with ease. I may have to post a question about that on one of the Turbo Pascal programmers forums. Even so, those first on the list records, are probably less then one percent of the possible disposable ones I've got in the game, so, for now, I'll treat those types as bad Juju, and concentrate on other areas of memory waste. 8/2001 Multi Destinations Improvement. I got an itch and decided to spend some time on fleet waypoints. I've modified the set multi destinations to allow you to pick up to 8 seperate waypoints, for any fleet. Now when you pick set multi destinations, you will be prompted to select a fleet, then you will be prompted for eight seperate locations. If you only want to select 3 or 4 destinations, pick the locations you want to travel to in sequence, then right mouse-click when you run out of destinations. I've also modified the Save Game and Restore Game routines to keep track of the new waypoints your fleets may have, through the restore game process. This means that any old save games will become obsolete, so don't upgrade unless you aren't in the middle of any favorite game. Another result of this effort was I spent some time on game memory recycling. now the program is slightly less wasteful of its available memory. I also added a new feature to the Strategy room, at the expense of the Programmed Fleets option. The new feature is a Fleet Waypoints option. When you select this, you are prompted to select a fleet. Once you've selected the fleet all the waypoints for that fleet will be displayed, in order of precedence, in map coordinates, in the Dialog box. The programmed fleet option, which I removed from the strategy room, used to highlight all the fleets that had programmed destinations, this had been somewhat helpful, but I found I barely used it, as well as, programmed fleets that were in the 'Reached' state, weren't highlighted even though they might have had other programmed destinations in their queue. After play testing the new function, I must say I'm pleased with the results. using the multi-destinations option, allows one to simply lay out a fleets Exploration pattern, or an invasion plan. At times situations on the map can change, quicker then the eight waypoints, you may have programmed, so use of this function needs to be somewhat judicious. The Fleet Waypoints option allows you a double check for making sure your fleets plans are current with the current situation. 8/2001 Fleet Movement improvement/bug fix, I recently spent some time, due to enemy fleet investigations, looking into a bit of the fleet movement routines, I found a bug that was resulting in extra movement above and beyond the legal limit as specified by the rules. I was aware of this problem for a while, but it took me a while to track down the source. All in all, I think the fix is a major improvement. fleets do not move more then their allotted distance now, wether you move them manually, or allow the finish turn routines to do it, theres still room for improvement in the auto-play/finish-turn target location selection routines, but for now the fact that fleets are not moving farther then they are allowed is a big improvement. 8/2001 Enemy Fleet Movement/Strat cleanup. I recently spent some time going over the Enemy Fleet routines, and found some bugs, as well as areas for improvement. The Enemy fleets run a sort of stripped down ArtI routine, to figure out what they are going to do each turn. Game Rules state that Enemy fleets can arise as a result of system explorations. they will fight fleets if they have to, but their main purpose in life is to destroy your planets. Enemy fleets have no explorers or developers so they can only destroy. Enemy fleets can however, if there is nothing to destroy find a starfall and look for targets in other quadrants. Each player has the capacity to spawn one Enemy fleet. If a player already has an Enemy fleet spawned, and he discovers a new one, the old fleet will be added to the new one, and transfered to the site of the new discovery. This, however, doesn't apply if the first Enemy fleet was found by a different player, hence there can be as many Enemy fleets as there are players, possible at one time on the board. Any given System Exploration that is succesful, has a 2 in 36 chance of finding an Enemy fleet insted of a system. Enemy fleets basically fight any systems they can find, until they die. Early in the game, or out on your frontiers, an Enemy fleet discovery can be a devestating encounter, stripping your fleets of needed ships, or destroying your newly discovered planets. I don't think I have a help section about Enemy fleets so I'm including this info here. In the past I had included Enemy fleets in the game, and I thought I had them working satisfactorily, but, due to other changes it seems as though some parts of their routines, were becoming disfunctional. I spent some time reacquainting myself with those routines, and found some bugs, as well as, areas for improvement. The bugs were things basically slowing the fleets down, or preventing them from acting in certain circumstances. Areas for improvement included better trajectory plotting on the map, some of these improvements bled over into regular player or ArtI movement trajectory plotting. 7/2001 End of Finish Turn pause/query: I added a y/n query after the Finish Turn option gets done moving, combatting, and developing. The Program will now ask you if you are satisfied before going on to the next players turn or the Ordering phase. This is sort of useful if you want to check planets after you colonized, or see how your fleet survived its battle, or traversing newly discovered starfalls.. If you answer no to the query, you are shunted back to the Main Menu. Harold Boyer suggested this during his visit, and I was able to implement it during our gaming session. not only did it help Harold feel more confident in using the finish turn option, rather then manually moving each fleet, which he's been known to do in the past, (no offense Harold, ;) but it also helped me to later track down some movement routine errors, which was difficult with the program rushing on to the next players turn as soon as it finished. This feature is only used during the Finish Turn option, the Auto-play routine as well as automatized opponents, skip this query completely. 7/2001 Compiler Upgrade! a few months ago, I decided to upgrade my compiler from Turbo Pascal 6.0 to Turbo Pascal 7.0. I admit it was overdue, but 6.0 had been working fine. once I started using it, I noticed one major improvement, that also had a bug. the new clock timing routines are a big improvement over the old ones, but they had a rather fatal bug when it came to faster clock speeds... I was able to find a patch (not from Borland unfortunately.) What this means to the user, is actual delay times I program are more accurately incorporated into the program, no matter what the cpu speed.. so you might notice the sounds are more representative of whats happening.. There are other areas of the game this affects, but those are not too noticeable to the player. Needless to say I would have liked to update this sooner, but I wasn't sure I had things settled till now. 7/2001 Thanks to Harold Boyer, his visit spurred me to take a hard look at the Multi-player routines, (Modem/Direct Cable, connected games.) and I found several critical problems with some of that code, as well as areas for improvement. for Multi Player games, I modified the default comm ports. The defaults for modem games and cable games are now as follows: direct cable, comm 1, IRQ 4 Modem connect, comm 2, IRQ 3 If your machine is using some other configuration for comm ports, run the program Starint.exe to change the Game Defaults. The game startup routines have a corresponding smart routine, which will use the defaults or your customized port data, when you select 'y/n' to the query, 'Modem Connect? y/n' during the multi-player game startup. The main advantage, is it allows you to avoid having to run Starint.exe if you merely want to switch from using a direct cable to using the modem. Now the program know what ports to use, for both cases, rather then making you reset the one you are using based on what sort of port you choose to use. Some of the Notable bugs fixed are: Fleets with multi destinations no longer will try and find a Starfall if their first destination is on a system. Player Messages, now are displayed better, and work properly during multiplayer games. Auto-Play movement, found a nasty bug involving an unitialized fleet name checking variable, that caused havoc when it happened to match an existing fleet name and doubly so on multi player games. I've added some player list and map record checking routines, that have the power to alter data when things go wrong. I hope to make these routines obsolete, but for now, there are still some bugs that can mess up game data, and these routines rather carefully, comb through the records from time to time to and remove errors. Any users are encouraged whole heartedly to report about any bugs they notice, the more detailed a diatribe, so much the better... I do look into them, and more data always helps.. Now that I have reliable Delay tools, any input about popup window display times that should be shorter or longer would be greatly appreciated as well. 12/99 Improvements for beginners! Due to helping some new players learning the game, I found some room for improvements in the game startup routines, and the help menu. theres now an EZ Startup option that will give you a default game setup. you still need to enter the game name, your name, and accept the starting positions that are generated, but theres a lot less confusion potential for the new player. Also I put a short screen buffer into the help file display routine. now you can scroll back a screen. With Beginners in mind I also took on the task of improving the Eye Candy side of the game, the system bitmap images that you used to see upon discovering or combatting a system, now popup when you click on a spot in View Quadrants, I also improved the images, so now they convey info about who owns the planet, and who has fleets there. I also added a new popup window that shows relative strengths, and numbers of opposing fleets during Fleet to Fleet combat. Now instead of trying to read the numbers on the fleetinfo window, you can just watch the bars, and see how the battle goes. I'm pleased with these improvements, and I may add more like this in the future. 7/99 Movement Mania! due to my recent investigations into the movement routines I've uncovered some bugs. Some allowed illegal movement by the finish turn/auto play routines. Others prohibited autoplay/finish turn starfall traversal. All in all, I'd say the advantage was gained by the player. Movement used seems to be more accurately accouted for, but if you've got extra movement the auto play routines are definately better equipped to make use of it. One thing you may notice is a fleet might, if conditions are favorable, hop through several starfall links in one turn. in the past such transitions involved manual, intervention in order for it to happen so rapidly. Now, things may happen rather rapidly, and the only difference is the program adheres more correctly to the rules of the game. Draw backs involve arguments about the Artificial movement routines priorities. during an invasion situation fleets may well skip through a quadrant due to the fact that a starfall is within reach. I'm still working on those situations in the AI routines, for the time being, if you are planning an invasion into enemy space, I advise that you either manualy manipulate fleets, or use set destination, or set multi destinations. (ie. don't just send fleets into enemy turf on sentry orders.) (see about fleets and movement) and sentinel fleets. 7/99 Movement Hotkey (Single Player games) I've modified View Quadrants, (the graphic interface procedure, ie., how you point and click on things) to allow a hot key for movement. in order to access this feature just hit 'm' from view quadrants. You will be prompted to select a fleet and a location just as before, the difference is you do not need to go back to the parent menu to do it. after the fleet is moved, you will return to View Quadrants so you can move and poke around some more. (see 'about view quadrants', 'about fleets and movement', and 'whats new' (this file,) for more info.) 7/99 Smart Movement I've modified the move command in order to prevent players from moving fleets farther then allowed by game rules. In the past one could manually move a fleet anywhere they pleased, without regard to actual game rules. This caused problems for new players trying to familiarize themselves with the game. The reason for the loophole was bug fixes, (ie. oops I didn't mean to move there!) Now if a player tries to move farther than is legally possible, the program will move the legally allotted distance, then set the fleets destination to the desired location. This is in effect the same as setting a destination in the strategy room. For the time being I've left some loopholes for the, 'oops i didn't mean to move there!' Combine, Divide, Traverse, all can move a fleet farther than legally allowed.. I may change this later but I thought I'd test out this new feature for a bit before I do. One extra argument in the mods favor is, if you pick the wrong place it will usually only be a problem if the location is exactly the fleets allotted movement, that is, if you move to the wrong place, and have used up all your movement getting there, then you are screwed, unless you can use one of the loopholes mentionoed above. A hint for avoiding mishaps of this nature: When selecting a location, Hold the Mouse Button Down and only release the button when you have the proper hex highlighted. 7/99 ã Mania I've been working on Pi Fleets, as a result of earlier improvements, (see smarter Auto combine below) I've been forced to look at Pi fleet movement, as well as fleet movement in general, I've nailed several bugs in the auto-play routines, and tweeked things in other ways, and things are starting to look at lot better for independant Pi fleet agenda. 6/99 Planet Destruction Safeguard, Well you Darth Vader types may not appreciate this mod, but after destroying 2 of my newly discovered planets by mistake during a test game, I decided to put in a second y/n query to make sure one doesn't destroy a planet by mistake. Now during planetary combat you will be prompted if you would like to destroy the planet, 'Destroy? y/n' If you answer yes, you will be asked if you are sure, 'Sure? y/n' if you answer yes to both Queries, the planet will be destroyed. You might ask, 'come on how can you answer yes by mistake?' Well the left and right mouse buttons are mapped to yes and no respectively, (see about game,) so if one clicks yes by mistake its boom boom out goes the lights and the planet is useless for the rest of the game. Remember you can still Destroy a planet if you really want to you just have to say yes twice ;) 6/99 Smarter autocombine, I've spent a bit of time looking into the autocombine as well as programmed and automatic movement routines, The result is that fleets may or may not combine based on the types of ships in a fleet. You might say what is he talking about? well in the past if an Infinity fleet and a pie fleet happened to land on the same hex the two fleets would have been combined into one. (see about fleets and movement.) The problem with this is that then infinity fleets would be slower moving and any extra pi ships would be automatically divided off when the fleet tried to traverse a starfall. this kind of worked but it resulted in pi fleets sitting idle on starfalls, that could blow up at any minute. Now if two fleets come together they are evaluated by their contents, and ships are swapped as needed. In the above example any infinity ships lacking pi escorts would be balanced out of the pi fleet. and most likely the two fleets would go their own way. other possibilities included Infinity meets infinity fleets, or pi meets pi fleet. in these 2 cases the fleets are combined with the older of the two fleets being the host fleet. (the fleet that all the ships are combined to.) In the process of changing these procedures, I came accross a rather subtle bug that had resulted in some fleets being missed during finish turn or autoplay when the fleet it was working on was combined out of existence. I'm not sure how long standing this bug has been but I have a feeling its been around since I first introduced autocombine. 6/99 By Popular Demand, No more Fleets on Standby!!! Due to an Excellent Suggestion by a friend (Thanks Harold Boyer,) Fleets no longer go to standby upon reaching a programmed destination. Now once a fleet finishes your programmed orders it will revert back to Sentinel Duty. This coupled with other modifications listed below, allow a pretty slick way to set up some specific fleet tasks, and confidently turn your attention elsewhere once the destinations are programmed. (see About Fleets and movement, as well as about autoplay for more details.) 6/99 Multiple Destination Programmable fleets: Setting Multiple Destinations is now an option. In order to achieve this goal I had to modify the way Programmed fleets behave. Now, a Programmed fleet upon reaching a destination that contains a starfall, will traverse the starfall. In the past the fleet would have been switched to standby mode, and would remain there until the player intervened. Along with this Modification I added an additional destination setting to be made for any fleet. Now one can assign up to 2 specific programmed destinations. This can be useful in a variety of manners. Now you can direct fleets to a location, while avoiding a dangerous area, you can send a fleet to a starfall then select a destination for it in the exit quadrant, you can set up an exploration pattern to maximize planet or starfall discoveries, or make complicated feints into enemy territory. This option can be found in the strategy room, multiple destinations are saved in the save game files, so you don't need to reprogram them upon restoration of a saved game. Old saved files will still work, the program will assume no secondary destinations have been set and create a new waypoint file next time it is saved. There may still be some bugs, I'm still evaluating it. There are some ways for things to go awry with this, first on my mind, is if you've programmed a fleet to fly to a starfall, traverse it and then travel to a place in the exit quadrant, then while the fleet is enroute, the starfall may blow up. (a game chance, see about starfalls) in this case the fleet will most likely try to find another starfall when it arrives at the location. If that is not possible, or if it fails in the attempt, then the fleet will make the secondary destination its primary destination and move on. In this case, the secondary destination could be several quadrants away, and could take quite a bit more time than the gamer originally intended. In such an instance it may be nessesary for the gamer to intervene and reset the fleets orders. This feature is meant to be used with the finish turn option, or other forms of auto play. (see about autoplay) Also once the fleet does reach the second programmed destination, it's orders will be switched to 'Sentry' (see about fleets and movement.) 5/99 Strategy Room Enhancements: I admit I decided to indulge myself in superficial enhancements again.. One can now do a system or starfall scan from the strategy room, This eases menu switching during play. In the past one had to go to the exploration menu first to get a system scan before you decided on your destinations. Now the system scans as well as starfall scans are available for easy destination settings in the Strategy room One Drawback from this change is that Ion Storms have become pretty harmless, but they still take up space.. one no longer automatically combats an Ion storm upon discovery. I hope to find a better way to implement this function as well as implementing the automatic combat upon starfall traversals that end at ion storms. Subspace Channel is now an option from the Strategy Room. For new players, the subspace channel is a chat feature for modem play. Now, one can select it in the Strategy Room. This may be helpful for old player -> new player coaching, or just general allied Strategy planning. 5/99 Modem play: Construction Improvements. I found the major problem with Modem Play as it was. and have fixed that specific problem. It was hard to find and I had found myself spinning wheels during the hunt. As a result I've redone the major comm procedures. they seem to be working ok, with a couple minor glitches. this current update should be considered a Beta. 10/98 Modem play: Under Construction. Some of my Improvements listed below seem to have affected modem play. I'm still in the process of sorting this out. due to the fact that I've only been running one machine the last couple years, I've been unable to verify modem operability. Compound that with a hard disc crash in the interim, and I've got a load of spaghetti to straighten. the good news is I'm hoping to have a more robust communication protocol. and if I get things sorted nicely I may reconsider some tcp-ip improvements. For now, please refrain from using it. I haven't removed it from the options for debugging purposes, but it is by no means operable at the moment. 9/98: Player allies There is now an option to set an ally. This can be found in the Strategy Room. I've decided to implement an allied sort of play... now a player may select an ally from any of the non computer players. (ie. not ArtI ) I'm still working on the details, of how this will work but it will also give me an excuse to look over some of the AI routines. The idea is to allow a player to declare one ally among other players, as mentioned above ArtI is exempt from this modification, as well as Enemy Fleets. In the past, Diplomacy has always been a part of the game, on an informal basis, and i have not concerned the program with keeping track of such agreements.. With the implementation of the Finish Turn, AutoPlay, etc. routines, such agreements were ignored , by the AI procedures. Now you may specify up to one ally amongst your player opponents. Since the maximum number of human players is 4 this will allow for all sorts of combinations, 2 vs 2, 2 vs 1, 2 vs ArtI, 2 vs 2 vs ArtI, 2 vs 1 vs ArtI. An alliance is not automatically reciprical, the other player must declare alliance to you to make it good.. hence, negotiations often precede alliance declerations. Another innovation, inspired by the allied play upgrade, is sharing of map info between allies.. that is you will be able to see the composition of allied fleets as if your fleet was there.. see About View Quadrants for more info on this. Sixty Four Bit numbers: I have adopted a 64 bit integer type for certain variables in the game that tend to get overly large. Now your resourses are no longer limited by some ten digit number! StarFall now supports up to 18 digit numbers. variables affected are Total Resourses, Total System Defense, Tech Adv, ship tallies for fleets and perhaps a couple more... A side effect of this changeover was that it was nessesary to upgrade Screen and Print output formats. so the list systems, and print fleets, etc. routines have been optimized to allow smart presentation of info, in order to maximize the space for the information outputted. in other words, when your systems resourse start to need a lot of digits to tell you how many resourses etc. you have, it might not display the hostility and aggression info about the planets.. the fleet lists have similar smart effects... I think it is an improvement, and I hope the loss of certain pieces of info, later in the game will not detract from the players enjoyment. The overall effect is that it allows game play to continue past turn 100, I'm not sure how far this change will allow the game to increase, in terms of maximum years... (in the past the numbers would start to get too big around year 100 and would cause the game to ignore the overlimit player, he would be unable to order.. ) it normally requires a pretty balanced game to last to year 100, and still be undecided.. The overall game speed I've been improving in conjunction with this upgrade, some of the ordering and combat actions of the game had become time consuming, as the resourse values, etc. got to be bigger than Turbo Pascals Long Integer.. I've been looking into creative ways to optimize these procedures, and have had some success, although not completely satisfied.. there are some improvements in that direction, and hopefully more to come in the future... Startscreen bug fix (maybe not.. see nitpicks below.) I finally nailed that bugger! The startup screen had a bug that cropped up if you moved the mouse immediately after starting the game program, and before the display began showing the startup screen. the result of it was that you would automatically be shunted into the new game setup routine. Not critical, but still a problem to new players. Beta testers, (M. Howland M.D., and H. R. Boyer III,) had pointed it out repeatedly in the past and though I looked at it I was unable to track it down. Well i've been having much better luck at finding bugs recently. To be honest, the five lines of code I modified to fix this, do not even merit a mentioning here. yet the longstanding nature to the problem ranks it as at least definately good news to any old time players. I have to admit that there was some question, and debate, as to what was causing it but once I was certain that it was due to erroneous mouse movement, it became simple to fix. StarInt.exe I've looked into this program recently, (StarInt.exe is the initialization program that sets varios Global Values for the Game, such as Printer toggles, comm port specifications, and pallette preferances.) I realized that the input routines for the pallette selection could be simplified and clarified easily, and did so.. Starint.exe has 2 output files that the Game program Starfall.exe reads in. they are called, starint.dat and starink.dat. starint.* contains info such as comm ports etc. mentioned above, and starink.* contains info about the color pallete. What has changed is that the new user won't automatically get bumped into the "you must run Starint.exe before running Starfall" error message. and I also realized I was saving a different color for destroyed systems in the pallette and not really using it. So I fixed that too.. Destroyed systems, will no longer be displayed in the same color as Nuetral systems. Setting the ink pallette is no longer as clueless a procedure as it used to be, but I still recommend sticking with the default pallette. if you do try to change your pallette and don't like the result there is also a backup pallete file you can copy back over the mistake file. copy starink.bak starink.dat will restore the defaults... The drawback to these changes is that your modem settings may not match the defaults, so if you want to play modem play it may be nesessary to run starint.exe to set your comm port. - see Modem Play below. 8/98: Enemy Fleets, Star Clouds, Ion Storms: they're back! yes thes obsequious anomalys have made their way back into the program after a 2-3 year hiatus. What this means, is that a succesful system exploration is not always a good thing, so make sure you spend some money on system defense early, and your fleets are big enough to handle a hit by an Ion Storm.. Game History: This is actually a totally new feature for starfall, but I think it will be a hit.. Game Data is stored at the beginning of each year, after Resourses are tabulated and before ships, and what have you, is ordered. this data can be viewed under the Graph Menu, as well as it being recorded as text, in a file (gamename).log. what this means is that game stats are much more public then before, although the most recent info is last years data, overriding trends can be spotted easily by a glance at the graphs... prior 7/98: Modem Play: Yes its true this program supports modem play. This is a very new feature and there may be bugs. Any input will be greatly appreciated. Gettting a modem game started involves Running starint.exe to set up your comm port and irq numbers. The default is Comm 2 and Irq 3. generally if you plan to use your modem or a direct serial line, you need to specify it by using starint.exe. if your comm ports match the defaults or you don't plan to use the multi play options, there is no need to run starint.exe. once you have your ports selected, you can start Starfall.exe and select either multi-player new or restore from the start menu. then you are prompted for whether you want a direct connect or modem connect. yes means Direct serial port, no means Modem serial port. Then you decide who will call and who will answer, and follow the prompts from there on. One new feature related to this is the subspace channel found on the main menu. This allows you to chat with your opponent. it is a little hokie and may need more work but it does suffice. If your system is running low on base memory and the program has less than 70k free, the program will not display outgoing messages although it will transmit your keystrokes. System Scans, Starfall Scans: I added a new feature that make exploration a bit easier.. By selecting system or starfall scan from the exploration menu you can get a display of exploration probabilities. This display is color coded with dark red being the most critical and bright green being the least critical. as mentioned in about explorations, as you find planets or starfalls it will affect your other probabilities. Using this you can see which locations are most likely to be affected by a nearby exploration. in other words if there is a red hex it would be better to explore there first. Computer Opponents: As mentioned previously there is a computer opponent called ArtI If you'd like more than one computer opponent any of the players can be automotized by selecting automotize in the player prefs menu during that players turn interrupting (with 'q' or right mouse button) during the players turn will de-automotize that players turn again. Printing: The print menu has a toggle to allow printing, this was nesessary to avoid locking up the program by selecting print when your computer has no printer. it defaults to off by clicking the print toggle in the print menu you can turn it on for the whole game. Movement, versus Setting Destinations: A new feature I've recently added involves the setting of programmed Fleet movements. This feature speeds play greatly. By setting a fleets destination, each turn that you use finish turn, the fleet will move towards that destination. Once the fleet arrives it's orders will change to reached and it will remain there exploring, combatting and developing as needed. once that is done its orders are switched back to Sentry. Things to remember, a fleet will try to explore for a system if possible before it will look for a starfall, and of course a fleet can only explore once per turn, When a fleets orders get set to standby (Deactivate Fleet) it will do all the above but will not move from the spot afterward. So if you program a fleet to a set standby, you may want to reset its orders later so it can move onto other things. for more info: see About Fleets and Movement Known bugs There are known bugs that I am aware of presently and intend to work on in the future. at the moment nothing specific, although the 64 bit upgrade introduced a spate of runtme errors 207.. I'm looking into these as I can. Any info regarding specifics of any bug will be appreciated. see below... Bug Reports. The game has a bug report feature, that makes a log of what you type. This is helpful because often one forgets the specifics after playing. the logged is saved as text under .bug if you have a bug that seems specific to a game, please zip up .* and enclose it in a letter to me. if it is a general bug that can be described without a game referance just click on mail suggestion/bug report on the WWW page. http://www-personal.umich.edu/~bcasey/starfall.html or mail me at bcasey@eecs.umich.edu Nit-Picks (little pesky bugs and attempts to swat them) Multi Destinations early cancel problem 9/2001, I've been concentrating on other areas recently and haven't been able to revisit this issue, but I think there is a problem if you select Multi Destinations from the Strategy Menu, and only pick one destination, before you right-click the mouse, to finish the action. For now if you only want only one destination, use Set Destination instead of Multi Destinations. when I do sort the finer details out of this nit pick, I may be able to eliminate the set destination option from the Strategy room and and just use the multi destination option. For now, just documenting it here will help me get around to fixing it :) Startscreen fix maybe fixed 8/2001 I think the delay time changes due to the new turbo pascal compiler, have actually solved this problem, and it was as I suspected nothing wrong with my own code. In some cases I've seen Destroyed planets being redeveloped, this only seems to happen in third party situations, but I hope to track this down. maybe fixed 9/2001 Fleet combat strength bars for fleet to fleet combat, seem to have the wrong colors, or are switched somehow, Good Eye Harold for that one, I'll be looking that one up too{possibly modem game related). also maybe related, the strength bars sometimes get calculated wrong, and bleed over beyond the borders of their windows messing up the game map temporarily. There are still some fleet movement issues on autoplay, I hope to track those down as well, but they're pretty tricky little bugs to find. 2000 and prior... Startscreen Fix is not a fix. I've been working with a laptop, and it seems the startscreen fix I implemented recently isn't nesessarily fixed. at the moment, I may not be considering the problem, (but I hope to get back to it sometime in the medium near future.) If you find you are trying to restore a saved game and get shunted into the enter game name etc. routine, for starting a new game, 4 consecutive right-mouse-clicks will return you to windows or dos so you can restart the program. Star Clouds, Ion Storms: I'm looking at Star Clouds currently, I found some bugs allowing arti to occupy the owner field while players could not. This resulted in his Star Clouds being displayed in his color. There may still be some issues to resolve regarding the re-implementation of Star Clouds and Ion Storms. for one it seems Starclouds don't lend them selves to recolonization by second parties too well, and I've never really implemented the hazard effect that Ion storms are supposed to inflict on passing fleets... On The bright side I've decided to distinguish system markers for Ion storms and Star Clouds with symbols other than '*'. this will allow you to distinguish between nuetral planets and starclouds etc. not enough memory: As you may discover, the program consumes available memory as it runs, and doesn't free up as much as it consumes. this is a long standing problem but sometimes the fixes for it are worse than the cure. The program monitors available memory periodically through the game and when it drops to a certain threshold it will halt execution. what I've done recently to help this is that before it halts, it will save the game if it is halting due to low memory. this saves last minute data, that could be lost otherwise.