Fracas 2.0 BETA development log
I intend this to be a place for me to rant, explain, complain, summarize, rationalize, and otherwise talk about what's going on in my head during Fracas 2.0 development. I find that I forget things easily, and sometimes I really wish I kept a diary of sorts to help me organize my thoughts better. So I'm going to ramble here as much as possible and see just how many visitors to Smozzie.com I can chase away. And just to irritate them even more, I'm going to append posts to the bottom so I can move this into Word later on.
Enough with the prep work already!
I'm calling this the first official day of Fracas development. I dug up the 1.1 source on an old backup CD and verified that it still compiled. Also verified that it really was the last version of the code I had. Spent some time refamiliarizing myself with it. It's amazing how many things I flagged in my head that I wanted to come back and change. I guess learning C++ does that to a VB man.
I let a game soak for a few hours and still no crashes. I'll let one run overnight with lots of Stonewalls and Mooses (Meese?) on a map with lots of tiny, tiny countries. Hopefully something will overflow somewhere. Also remembered the random country name generator and thought it would be cool if people could name their own countries once they claimed them. Added it to the to-do list.
Still no crashes, so I'll open up a bunch of other stuff and let Fracas try to chug like that. In the meantime, I'm working on the multiple-click incidents today.
Knocked both of them out already! Not a tough fix. I think I'll investigate the .ini file soon, since I'm really starting to understand the joys of not choosing the same options over and over! Also going to work on the overflow error -- I think I need to change a couple of variables from integers to longs or floats.
Spent most of the day today cleaning some things up (like waaay too many global variables used for indexing) and adding the .ini file routines. It works pretty well-- if there is no .ini file when the app starts, it creates a default. All settings are saved back to the .ini when we exit.
Also knocked out an easy fix that lets users hit ESC to close out the app when the boss walks by. I totally condone playing Fracas at work, so this was a necessity. I'm getting anxious for net play!
More cleanup today. I can't believe I had so many global index variables. Must come from my time with 6502 assembly. Cleaned up the map class quite a bit as a result. Also added a few more prevention mechanisms against multiple clicks during the troop movement phase. This was never reported, but I think it could happen to a fast clicker.
And then Mac Dandy decided to go outside and chew on a dead rat. I think he rolled in it too so I had to give the nasty little critter a bath. The dog, not the rat.
Also added a cool suggestion to the to-do list: Ports that are upgradeable! Thanks to Jon Milton for that.
Took care of the maxed-out countries bug as well. Now if a player starts their turn and has nothing but maxed-out countries (999 troops in all of them), the game no longer hangs. It simply goes on to the action phase.
Added a cool suggestion from Jason Brown regarding dynamic port capturing/destroying. You can capture a port if you don't massacre the country you're taking over. Otherwise, you inadvertently kill the port. Interesting concept.
Fixed the rounding problem with overseas troop totalling today. Also changed the 'Animation Speed' dialog to the 'Animation Options' dialog. It now contains checkboxes to disable explosions and waves. A more involved fix than I thought, because I had to break out of the animation loops early if there were no explosions, yet still let them run for the selection arrows that drop when a computer is making moves. It works pretty well and I'm happy with it. I'd like to see just how much this tweak improves performance on low-end machines.
I'm getting lots of suggestions for right-clicking countries. It seems a lot of players want to have every available troop count from all sides with a single right-click. I'm sticking to my guns and leaving this as is. It's a design decision on the purest level: If you get six numbers every time you right-click on a country, Fracas becomes a spreadsheet and you only have to click around to find the highest number to find a good move. There needs to be some skill involved when eyeballing who's a threat and who isn't. So for now, right-clicks will always give you your troop totals, and the defense of countries you're attacking, and that's it. Trying to figure out who can hurt you or how vulnerable a particular country is is up to you to decide! I find that doing some quick math in my head with generous rounding will usually give me what I need.
I have an idea for implementing flashing countries which shouldn't be too hard. Toggleable, of course. Chugging on this today. I get to open up a paint program for the first time in a while.
Got derailed for a bit to prepare the introductory beta tester letter. But now back to bidniss.
I added six new player colors, so now there's twelve: Purple, Blue, Yellow, Orange, Red, Gray, Green, Pink, Light Blue, Light Green, Brown, and White. These should make for interesting games that also match your drapes. Also, you can now select the color for unowned countries from the same pool, but it can't be the same as a player color. I think I'll default this unoccupied country color to gray. I'm hoping beta testers can comment on what's best once they see it.
At this point, white will not be selectable as a player color or as the unoccupied country color, since it will be used to 'flash' countries as appropriate. Building the flashing engine today, it doesn't seem like it's going to be too bad. We'll see...
Wow, great response already from you guys! Added three or four more issues to the to-do list, and got a strong lead on one of the more annoying crashes (Thanks to Michael Treadwell for his investigative work!)
I got country flashing working late last night. It's soooo cool! And it looks like flashing each country once for a second is more effective than flashing it off and on quickly. Today, I'll add an option to turn it on and off, and play with adding it to the player's moves (right now, only the computer flashes). Then, I'll see about right-clicking a country, and using the flashing mechanism to quickly find neighbors over land and water. Should be a great tool!
Flashing is done for the moment, and man is it a nice effect. Right-clicking once will highlight the chosen country briefly while displaying its stats. Right-clicking the same country again will highlight every other country it can reach. This means if it has a port, overseas countries will highlight too! Very useful for seeing if one country can reach another.
Played with making a single-line contour around countries for most of today. It took quite a while, but I'm finally happy with it. Now you can select the new border from the Borders menu. It's quite an improvement over the dots and dashes, but you can still use those if you like. There will be a slight performance hit for using the new border style since it takes a few more draws to build it.
Ahhh...Easter and tax day, all at once. Good thing I filed in February.
Today I added an option for the computer to automatically pick everyone's HQ before the game starts. Should be really interesting to see how some of those games go. You can also choose any one of the players to play first now, instead of just Player 1. I also cleaned some things up with the messaging engine that were bothering me. You can now see the number of troops the computer is moving in the message text at the bottom.
I also made some of the AI routines a bit more object-oriented by requiring callers to pass them which player we're doing the thinking for. Before, we were just using the global turn variable, which I see now was really bad practice. I have some more cleanup like this to do in the coming weeks before I can start on new AI.
PROGRESS! I finally figured out at least one cause of the dreaded Error 9! We were getting a subscript out of range error because it is possible for the variable that keeps the current country's index under the mouse to change while in the middle of calculations. Lesson learned: Global variables are bad, bad, BAD! Made it local and modified routines that used it so that they are passed the country index instead. Kind of ironic that I only found this bug because I was tweaking the new flashing engine. But it's a necessary fix, and should improve overall stability immensely. Now I need to check out that overflow bug...
More progress! Changed a bunch of internal AI variables to single-precision floats in an effort to keep the overflows from happening. Quite a few values were stored as long integers, which could conceivably overflow if they got really, really large. And since the AI isn't an exact science, I have no clue how big they can get...
Also found not one but TWO problems that could be related to the sudden hang some of you have been seeing. One has to do with how the turn phases transition between the selection of the two countries. The other was a bit harder to locate, but it's related to...you guessed it...a global variable. The number of countries on the map used to be kept as a global, but if the map builder was unable to place some countries for whatever reason, it would never decrement the total. So it was definitely possible for computers to move and act on countries that didn't exist. Most of the time you wouldn't notice (and the bum countries wouldn't be valid to move to, etc) but occasionally something would bite and get stuck on it. At least that's my story, and I'm sticking to it.
It's interesting that I only caught these bugs because I was tweaking the map builder. I adjusted the country size scale in preparation for adding multiple map resolutions. Also tweaked the proportions scale, and made a change that makes the land to water ratio much more accurate. It's been a good day!
Back in the saddle after a long boring weekend. I managed to reproduce the lockup during Moose's troop movement phase, and it completely hosed my machine to the point where I couldn't even reboot it! (Fracas.exe was still running in the background, yet I'd already ended the task...) I'll need to add some debug code so I can track what's happening. But it's a start.
Added a new dialog that lets you rename your countries. This could get fun if two players are fighting over a piece of land, and want to add insult to injury...heh heh...
Also working on the multiple-country-sizes-on-one-map option today. I've got it working, but the land:water ratio is way skewed when you use it. Also looking at three resolutions to run at: 1024x768, 800x600, and 640x480. Choosing the resolution will instantly change the window dimensions, and this will act as any other map setting. You can only choose window sizes equal to or less than your current desktop dimensions.
Spent the remainder of the day breaking the map builder and tightening it up. I can't believe there were so many inefficiencies in it. It takes about half as long to build a map now, which is useful for maps with continents. The Hodge-Podge option works great! You can now have little tiny countries next to hulking continents.
The land:water ratio works as long as you are using very irregular countries. Strange. I guess I still have to weed out a problem with the Irregularity control, but as long as you have max irregularity everything runs so smoooooth. I need to think a bit about how to resolve that one. In essence, it's possible for the computer to think that it doesn't have room to place a country if it looks at tiles internal to the country too many times in a row. So I'll sleep on it and see if I can come up with a solution.
Still playing with the map builder. It's getting more solid, but I'm still not seeing why the irregularity control isn't doing what it's supposed to do.
Got it! The map builder is much more robust than it ever was. Now on to multiple map resolutions...
Added a suggestion from Ronald Dartsch for the upgradeable defense option. Sounds intriguing! Not much other progress this week unfortunately. Should be a productive weekend, though.
Working on multiple map resolutions today. I have them working fairly smoothly already, and the resolution is saved to disk along with the map data. If you try to load a map larger than your desktop, it complains. So now I think I'll work on end-game statistics and scoring. Once that's in place, I can work on saving the scores to disk along with the map.
Cleaned up the save map feature. Also got rid of the "New Game, Same Map" option. If you want to play on the same map again, you'll have to save it first. And if you want to save your game, you'll have to save the map first. But you'll always have the option to save the map after a game or during a game. High scores will be saved with the map in the same file. Saved games will be a separate file from the main map. Got all that?
Decided to get saved games working fully before I tackle stats. You can now save the game in progress, but you can't load it yet. I'm sure I'll forget to save something really important that won't be readily apparent until beta testers pick this feature apart, but in theory it shouldn't take much more to get it up and running. I spent more time today cleaning up the save code and consolidating some things. High scores will definitely be a part of the physical map, and will be inseparable from it. After each game, the saved map will be updated with the new scores.
There's another interesting side effect that has surfaced with all of this load/save tweaking. Remember, one of the new features for 2.0 is the ability to rename your own countries. With the new save architecture, all country names will be saved after every game, giving each map even more personality! It should be fun to try to take countries that other people have named after themselves in previous games.... And I'm playing with the idea of renaming water masses as well. Maybe if you own all the countries on the shore of a body of water, then you get permission to name it. Should be fun!
Saved and loaded my first game today! Looks like it works ok. There are some things related to AI that are not being saved yet, but I can add these later. I've implemented it so that games can only be saved at the start of a human's turn, and only then if you've saved the map! Saved games require a .map file so that they know who they apply to.
Cleaning up saved games some more today. I want to fix it so that changing any game option invalidates the current map and requires a new save. Also going to work on renaming water masses. If things go well, I'll get the high score lists implemented tonight. Then I can devise a scoring system.
I also got a nice heads-up from Jim Nixon today saying that Fracas 1.1 works under Windows ME! Jason breathes a sigh of relief...
Duh, removed the "New Game, Same Map" option a couple days ago so I don't have to worry about invalidating the map when an option is changed. Either a map is new or it's loaded, period -- and either way, all map attributes are set. Very clean, and this method of handling things gets around several awkward issues with the "Same Map" option, most of which were related to the title screen replacing important things that the 'saved' map needed to have back when a game started. All gone now! Things run smoooooth.
You can now rename bodies of water if and *only* if you own all the shoreline they touch. This includes islands in the middle of them! Should make renaming the large oceans on maps with lots of islands a real challenge...
Did more work on the save game system. Now the saved .map file is updated when the game is saved so that country and water renames will be as you left them. Also got the high scores implemented and they are saving properly. You can also view the high score list while in-game -- but of course, there's no way to score yet. That will start happening tomorrow, time permitting.
Spent the weekend adding statistics and scoring. Things
are looking good! There's a few kinks to work out but overall it's going better
than I expected. Scoring, in a nutshell, works like this:
Not a lot of time spent this week, but there's not much left to do before I'm comfortable releasing the first beta. Finished up the stat screen today, and got rankings working. You can now get on the high score list! I'm happy with how it all turned out.
I also cleaned up the resign option a bit (you could resign everyone really fast and crash the game by resigning the last player!) I also added the "New Game, Same Map" option back -- with a twist. You can only choose it if you saved the previous map. So if you've saved the map, you can just click that option so you don't have to re-browse to your map file each game.
While I'm doing some stress testing (running Fracas day in and day out), I'll be composing new fanfares and click-sounds for the six new colors. The title screen for 640x480 mode also needs to be smaller than the others, so I need to lay that one out differently too. That's all cosmetic, though. The meat of what I wanted to do for BETA 1 is done.
PROGRESS! I finally figured out why Fracas was intermittently hanging in the troop movement phase! It turns out that a random event was about to happen for the next player in line, and it was getting into an infinite loop on occasion. For two of the random events that involved land, if the computer couldn't find an empty country it would cycle indefinitely. I changed this to time out after 150 tries, so that bug is now officially SWATTED. Needless to say, stress testing is going well.
I also cleaned up some more things in the random event handler. Specifically, it now uses the new ranking system to determine the probability of a random event. If you're in first, you never get a random event. If you're in last, you're twice as likely as everyone else.
I'm shooting to mail out instructions for downloading BETA 1 this coming Saturday, May 19th. The smaller title screen is done and all I have to do this week is stress test and compose new fanfares.
Finished up the new sound effects yesterday and got the volume levels pretty much set. Today I'm building the InstallShield image. I rounded up a stray issue with the common dialog ActiveX control along the way.
The first transport is away! Beta 1 is out the door and I can look forward to playing with networking for the next few months. But first, a week of rest and Black & White. I miss my big tiger.
Man, I got about twenty bug reports in the first two days the beta was out. I was expecting there to be... well, less. In any case, I've knocked out a couple of the major ones already, and improved overall performance a great deal. Chris Osbourne pointed out that it looked like menu items were being continually updated during the game -- and they were! Yep, it was pretty stupid to constantly write the same checkbox settings over and over to them in one of my form timers. Once I cleaned that up, and some other things that really shouldn't have been happening in timers, it seems to run a lot faster and the menus don't seem as finicky toward clicks.
I also fixed a stupid bug that made player 6's commentary text not show up when playing with manual HQ selection (not sure what I was doing there, but I found some weird code fragments, ripped them out, and now it works). I also took care of a problem with the 1024x768 window being eclipsed by the taskbar.
It looks like most of the incidents thus far are related to how Fracas controls work and how the form interacts with other applications. Thanks Microsoft! Oh well, I guess that's why we have beta tests.
Found the cause of the error 9, and it's related to AI. So I'm going to quick-fix it, which will make the computer a tad bit stupider for the time being. New AI will have to deal with this problem later. Basically, it's now possible for the computer to max out a country during their troop addition phase and be real stupid about it. For example, if they have 40 troops to place, and a country has 998 troops in it, the computer no longer thinks its a bad idea to dump them in there, losing 39 troops in the process. If that was their *only* country they have no other choice, so I have to make this possible for the time being. Before, the computer would *never* do this and would hit the error if that was the last country they had.
More firefighting today. I think I've fixed the 'square-of-water-in-the-upper-left' problem that a lot of you have been seeing. I also forgot to mention that I fixed the 'at-least-one-wooden-pier-per-port' problem yesterday. Really. This time it's fixed. Promise.
I also did some more work with global variables -- I got rid of a few more. Should tighten things up and might fix timing problems.
I'm definitely going to release a patch .exe in a couple of weeks to try out some of these fixes. I feel a bit guilty that there were so many problems with the first beta! I guess that's why I'm swatting bugs on my lunch break. :)
Still knocking out bugs. I did lots of work with loading and saving today. There is now a DEBUG.map file saved in the Fracas folder every time a game is started. This should make it easier to report what your settings were when beta testers have problems. Also, added an option to "Get Options From Map File." This will allow you to update your settings without having to start a game and abort it. Also added statistics to saved games -- an oversight the first time around.
I also added a timestamp to saved maps and saved games. The saved games always have the same timestamp as the saved maps they apply to. Why? So that if you overwrite a saved map with another one, any saved games associated with it won't work! I think it's a pretty decent solution. The bonus is that you can always see when a particular map was created.
Changed the FRACAS logo on the title screen to reflect the currently selected unoccupied country color. Also changed the InstallShield installer so that the correct version of Ctl3d32.dll is installed depending on the operating system (NT doesn't like the 98 version). Thanks to Jim Nixon for his help on that. I'm also working with Erik Sargent to nail down some wickedly strange graphics issues.
Addressed the color contrast issue today -- and man am I pleased with the results. Some of the darker colors now have white text on them instead of black. I also darkened a few colors on purpose to increase the contrast. It looks really, really neat to have both black and white numbers on screen at once! White numbers turn black when flashing as well.
Knocked out a big problem with the map builder -- thanks again to Chris Osbourne. Now the map builder won't ask the user what to do when a map fails spec. You could get this to happen very rarely by choosing 'no lake correction'. Larger countries will make it happen more frequently. In essence, the map builder now keeps chugging until it makes a valid map.
I've decided to redo how Fracas determines what it's supposed to be doing. The 'god' module, if you will. I notice that I have four different flags currently: A flag that says when a game is in progress, a flag that says when the title screen is being shown, a flag that says when the game is over, and a flag that says when a map is being built. Say what? I'm combining all of this into one MODE variable which will always show the state of the app. I think as things were pieced in during the original development, I just added flags as I needed them. Unfortunately, as I went back to tweak earlier features, we started running into all the timing problems that you guys are seeing. Hopefully this will fix a lot of that.
It just goes to show you how important the design phase is!
Thanks to Pete Holiday, we'll have Fracas message boards soon! I'm hoping to have one open to the general public, and one for beta testers to discuss things. Thanks Pete!
Finally fixed an annoying problem that was causing the right and bottom edges of the map to sometimes display a border of ocean. This would hit me very rarely, sometimes when I changed something entirely unrelated! A few beta testers reported it too -- but it's finally gone. I also added the state variable which makes me feel a lot better about timing issues. Today, I'll be trying to fix up the flashing so that it stays on when the right button is held down.
Went a step farther with cleaning up form timers -- I took out the timer that updates the commentary and oopsie text at the bottom. Now these are only updated when they change instead of constantly. This should improve performance. I also redid how the little waves are drawn -- we used to be checking which *pixels* on the map were ocean, and using that as the criteria for where one should go. Now, we look at the map data itself, which is much, much faster. I hope performance is better on everyone else's machine too!
I also tried to work on some of the issues that involve getting and losing focus, but none of the events seem to fire properly when switching from one app to another. I'm going to leave these alone for the time being since they're not *that* important. I'm also going to weenie out on the right-click issue -- I'll lengthen the flash, but at this point it looks like forms don't support a 'Button Held Down' event. I'd have to use the API to write something myself, and it's not worth that kind of time right now.
Fixed a new bug that Matthew Beaven reported which caused a crash at game end if the main window was minimized. Also fixed it so that only one instance of Fracas can be open at a time. Soak testing today.
Added a checkbox option for the prompt to save the map that appears after each game. Now you can turn that off. Also made it so that you don't have to calculate the exact number of troops it takes to max out a country with a troop movement. If you move too many, it assumes you mean to max it out and the remaining troops stay behind. Nice!
Cleaned up how random events work and added a new option: Now you can have frequent or infrequent events. I've decided not to enable/disable events on a per-player basis -- this just doesn't seem fair. They'll affect everyone and everyone will be subject to the same rules. I'm soaking the random event code today since it's been the cause of so many problems in the past. Right now, everybody gets an event on every turn. It's kind of surreal.
Also adjusted the scoring so that if a player resigns, all of their opponents get an even piece of the score for killing their HQ.
I'm biting the bullet and shooting BETA 1.5 out the door. Keep your fingers crossed...
Whew! Only six bugs reported in the first day, as opposed to more than 20 the first time around. I'd say that's pretty solid! I'll work on these until the weekend, and then I'm digging into network stuff again.
Nailed a few of the new bugs, but unfortunately haven't spent a lot of time on it the last couple of days. Sunday should be a better day. But I did nail a bad error 9 in the AI code thanks to Brian & Jules! I think that one was causing some pain for just about everyone that reported it. I finally got a great saved game that would reproduce it every time. Way to go guys, and thanks!
Took care of the 'no score for some people' bug. This was happening because of some of the new timing stuff I added. Apparently the number of active players wasn't being calculated correctly all the time, and this affected the scores for defeating a player's HQ and for a player resigning. Fixed now! I'm going to spend a bit more time trying to track down the blank countries with HQ bars issue, but at the moment I'm really happy with Fracas' overall stability. Time to put the smaller issues on hold and work on networking.
No, I haven't been snoozing -- I've been working on a prototype for the Winsock connections I plan to incorporate into Fracas. It works pretty well, though there are some strange problems when you want a client to suddenly start being a server and vice versa (eg, hosting a game and then joining a game afterward). But for the most part I have the communications working. Now I have to build a 'lobby' of sorts so that all players who join can pick their color fairly and specify their name, and that should be most of it! I project another 2-3 weeks until I have it working in-game.
Nursing a hideous hangover this morning, I decided to use my sleepless hours tightening up the lobby system. I tried to crash the Winsock control every way I know, and it just won't crash. This is good! I can now start a game on the host machine, and have others join and leave to their hearts' content. At this point, I'm ready to start looking at sending game data to all the clients. Hopefully this week, I'll be able to see the same map on all machines!
Nailed that ugly, ugly bug where an owned country would revert to the unoccupied color. Thanks to Chris Gallagher for the saved game that showed me where it was!
Working on network stuff again today. I can send game options to all clients now, but still no map yet.
Took care of a bug with troop totals when the 'chaos erupts' option was selected. These should update normally now. Still chugging on network stuff, though I haven't had much time this week.
Maps are being sent to clients! This is good news. The names of the map entities are working as well, but there is still tweaking to do. The troop totals need to be sent, and if the automatic HQ selection is chosen, those need to be sent over as well. Hopefully by the end of this week I'll be ready to start implementing actual player movements over the LAN. Things are going pretty smoothly!
I say 'pretty' smoothly because I ferreted out a problem with the Microsoft Winsock 5.0 ActiveX control. Apparently if you have several controls (one for each client) and send lots of stuff to all of them very quickly, there's a chance that one of them will just drop the message outright. So I've spent the last few days devising a retry mechanism to work around this Winsock buffering problem. I'll probably report it to Microsoft too. But I'm still in love with the Winsock gadget and it's mostly been a breeze to use.
I can now send reinforcements and actions to other players! Looks pretty cool. I had to merge some of the AI code into the new network module to make it happen, though. So there's lots of cleanup to do and I still need to figure out how to get troop movements working with only one net message.
After talking at length with Microsoft Premier support, I finally arrived at a decent solution for messaging between machines. Apparently, it's normal for the Winsock control to concatenate strings if it receives them fast enough...so I had to put start and end caps on each message and work out how to disassemble them on the other side. But things are finally working, and working well.
On my plate for the next week is finishing up basic movements, like picking countries (right now, only Auto-HQ selection works), resigning, and renaming things. Once that's done, I have to figure out a mechanism to transmit random things, like random events and the 'chaos erupts' option. At that point, it will be time to get computers playing online as well. But things are working and we have a plan. Can't ask for much more than that!
Lots and lots of progress this weekend. All resigns and renames work now, and computer players can participate! Also, random port destruction and the 'chaos erupts' option are taken care of too. Those were a real bear. Also fixed it so that you can take the default name for a slot when joining a network game. This just means less typing for a client.
I also tightened up the error checking on the Winsock controls a bit. I've decided that I'm not going to cover every obscure misuse case, just the most common ones. If someone stands on their head and middle-clicks on cancel and that crashes Fracas, well, I think they're just going to have to live with it. I should be able to trap most of these errors, however. You just might have to start your game over. At the very minimum, if a client dies, the server should detect this and replace that player with a computer. If the server dies, everyone is hosed anyway.
Happy Friday the 13th! Network play is done for all intents and purposes, and I haven't been able to significantly break it in my testing. I'm sure beta testers will find a way, though....
I'll be adding a few more finishing touches on some things, like real dialogs for options instead of menu checks. When that's done, we'll do a final review of the beta, and release it! Keep your fingers crossed.
Network play is still solid. The new dialogs are in place. Life is good. Now I'll just be testing like crazy to see how many ways I can break it. I did add some cute icons to the player box at the right which specify the type of each player. I also have an indicator of whose turn it is finally. Did I mention that the chat window is up and working too? And you can even emote by preceding your text with /me!
Added a whisper feature to the chat window, and finished up the new dialogs. Also fixed a tiny intermittent problem with joining a game. Only stress tests are left now! And I'm going to redo the installer slightly so that critical .dlls and such are copied into the install folder instead of registering them on the system. Maybe that will keep some NT-specific files from being replaced inadvertently for NT users.
I'm on vacation from the 5th to the 10th of August, and then it will be released! I didn't feel comfortable putting it out before vacation in case something goes drastically wrong...
I'm calling BETA 2 finished, and I've rebuilt the InstallShield installer so that it doesn't register anything on the target system. Instead, all .dll and .ocx controls are now just dumped into the executable's folder. Messier, but I'd rather not deal with OS-specific files like CTL3D32.ocx and the like. As it sits, it appears to install and run on 95, 98, NT, and 2000. A nice side effect is that you're not bugged to reboot after installing.
I'm taking a small vacation next week, after which I'll start digging on newer AI. The goal is to have it totally done by Christmas. Oh, and I've been sucked into Baldur's Gate II, so that will have to happen as well...
Back from vacation, and BETA 2 is out the door. Here's hoping for a solid beta...
Been awhile since I've updated the dev log! I've just finished going through comments from the last beta, and I'm working on getting the map editor ready and adding all you lovely beta testers to the help file. I see an official release of version 2.0 within a month!
Fracas 2.0 is released. It's been a long haul, but it's very stable and very fun. Thanks again to the beta testers for their hard work. I hope you enjoy playing Fracas as much as I've enjoyed writing it.
Please address all Emails to Jason at firstname.lastname@example.org.