| 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.
04/06/2001 5:50pm
Enough with the prep work already!
- Boing 1.0 out the door: check.
- Finished Icewind Dale and the expansion: check.
- Domain name: check.
- Website redesign: check.
- Finished Legend of Zelda-Majora's Mask: check.
Now it's time to get some real work done! 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.
04/06/2001 11:05pm
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.
04/08/2001 8:55am
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.
04/08/2001 9:45am
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.
04/08/2001 5:25pm
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!
04/09/2001 10:35pm
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.
04/10/2001 8:55pm
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.
04/11/2001 7:30pm
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.
04/12/2001 5:54pm
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.
04/13/2001 5:35pm
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...
04/14/2001 8:52am
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!
04/14/2001 10:35am
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.
04/14/2001 6:20pm
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.
04/15/2001 4:15pm
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.
04/16/2001 8:15pm
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...
04/17/2001 7:59pm
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!
04/22/2001 9:30am
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.
04/22/2001 6:10pm
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.
04/24/2001 5:15pm
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.
04/24/2001 6:35pm
Got it! The map builder is much more robust than it ever
was. Now on to multiple map resolutions...
04/26/2001 5:35pm
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.
04/29/2001 12:20pm
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.
04/29/2001 3:55pm
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?
04/30/2001 8:07pm
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!
05/01/2001 9:00pm
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.
05/02/2001 6:05pm
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...
05/02/2001 8:55pm
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.
05/07/2001 7:55pm
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:
There are six things that affect your score. These are:
- How much land you own
- How many troops you own
- How many times you've attacked someone else
- How many countries you've taken over by attacking
- How many troops you've killed by attacking
- How many enemies you've taken out by destroying their HQ
So combat is favored over stockpiling by a long shot. The scores are
proportioned such that they will always be between 0 and 1000. A perfect score
will be nearly impossible to achieve. 05/10/2001
8:05pm
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.
05/12/2001 11:15am
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.
05/16/2001 6:40pm
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.
05/19/2001 4:35pm
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.
05/21/2001 8:35pm
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.
05/22/2001 6:10pm
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.
05/23/2001 12:02pm
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. :)
05/23/2001 7:05pm
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.
05/24/2001 6:55pm
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.
05/25/2001 6:50pm
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!
05/26/2001 11:35am
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.
05/27/2001 1:40pm
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.
05/28/2001 3:20pm
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.
05/30/2001 7:10pm
I'm biting the bullet and shooting BETA 1.5 out the door.
Keep your fingers crossed...
05/31/2001 5:25pm
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.
06/02/2001 1:10pm
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!
06/02/2001 11:25pm
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.
06/08/2001 5:20pm
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.
06/10/2001 10:45am
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!
06/16/2001 8:20am
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.
06/23/2001 5:00pm
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.
06/26/2001 5:50pm
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.
06/29/2001 8:07am
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.
07/04/2001 10:20am
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!
07/08/2001 9:25am
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.
07/13/2001 6:05pm
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.
07/17/2001 6:45pm
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!
07/26/2001 5:25pm
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...
07/30/2001 12:25pm
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...
08/10/2001 5:45pm
Back from vacation, and BETA 2 is out the door. Here's
hoping for a solid beta...
09/30/2001 1:25pm
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!
10/18/2001 5:37pm
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.
-Jason
|