Search This Blog

Friday, December 25, 2009

Version 1.0.9.0 Released

Update 12/26/2009: John S. Myth just provided me with a linux script for the GM tool. I just added it to the download, so if you already downloaded the release, and wanted the new script, just download it again. Thanks John!!

-------------

Merry Christmas!! My kids are all off in their rooms playing with their new toys, so I found a few moments to myself to wrap up another release, just in time for ROUND TWO of the Magic Realm tournament. I'll be hosting one of three boards, so I thought I'd lessen the burden on myself by releasing a GM tool for editing and repairing save games.

For windows users, the new tool can be accessed by running the batch file:
    gm.bat

For the rest of you guys running on non-windows systems, you'll have to create your own script. The only line you really need is:
    javaw -mx384m -cp RealmSpeak.jar com.robin.magic_realm.RealmGm.RealmGmFrame

If javaw doesn't work, try it with java alone:
    java -mx384m -cp RealmSpeak.jar com.robin.magic_realm.RealmGm.RealmGmFrame

The tool is relatively easy to use (for me), so hopefully you guys can figure it out. Simply open any rsgame file, and you'll see the characters, items and map appear. I think its pretty self-explanatory, but I expect there will be some confusing bits too. Please e-mail if you have any questions!!

I also made some tweaks to the expansion, based on a game I played with some friends. Mostly just toning down a couple of things that were just a little too hard, and fixing up some of the fame/notoriety/gold values of the new small treasures (had some complaints that these were too inconsistent with the original game). I also "lightened" the weight of many of the small treasures, for the same reason.

The rest of this release is a bunch of bug fixes that were prevalent in the first round of the tournament. I'm hoping with this done, the GMs will have an easier time of it!

Anyway, here's what's new:

NEW FEATURES:
  • RealmSpeak GM Tool
    • Edit ANY RealmSpeak save game
    • Change the location of any piece on or off the map
    • Change the states of character chits (fatigue,wound,color,alerted)
    • Add/Remove Curses
    • Change hidden/blocked status
    • Revive the dead, kill the living
    • Reset monsters on the setup card
    • Move treasures to any treasure location or dwelling

  • [1592] - Hired Leaders and Controlled Monsters are included in HTML export, so you can see their inventory too.

BUGS/ISSUES:
  • Changed how the "Charge Character" button works to reduce confusion. Now, you need only click it, and it will show you a list of characters you can charge.
  • [1588] - Fixed a problem that was causing a charge chit to be counted twice for purposes of fatigue
  • [1605] - Fixed 7th day magic for season ICE (BLACK now instead of WHITE)
  • [1145] - Fixed a bug that would prevent you from using multiple extra moves from multiple items/horses when one item is incapacitated.
  • [1600] - Fixed a bug that would cause characters to become unhidden when a follower traded with the leader during a turn (network play only)
  • Saving the game in the middle of a player turn works correctly now.
  • Adjustments to Expansion
    • Small/Large treasure prices and fame/notoriety to bring more in line with comparable Small/Large treasures from the original game
    • Adjusted the weights of some Small treasures to be more consistent
    • Tweaked the spider that protects the web a bit, so it isn't so insanely deadly! (way too hard)
    • Removed "Flutter X" from the H Harpies, so that you don't have to fight these AND Giant Bats at the same time in X tiles (a party killer for sure)
    • [1594] - Swapped "Elven Poetry" and "Incantations" names (they were backward)

  • [1601] - Fixed a NPE in the connections viewer
  • [1597] - You can play an artifact enchanted to color magic during combat now (enhanced magic rules)
  • [1568],[1585] - Potions will only be added to notes now, and nothing you haven't seen already will be revealed.
  • [1598] - When canceling a spell with Dissolve Spell or Remedy, you'll be able to tell the difference between multiple Transform or Absorb Essence spells.
  • Fixed a problem with the "hire" symbol on hirelings for custom characters.
  • [1607] - Fixed a bug that would allow you to buy an item with a fame price, and go into negative fame, when the "No Negative Points" house rule was in effect.
  • [1557] - The familiar will correctly SPY on another character looting or using a secret/hidden path now.
  • [1599] - Buying drinks will no longer exclude OR double the number of natives that are following other characters.
  • [1606] - Fixed a bug in the combat summary display that incorrectly showed simultaneous hits that kill, as non-kills.
  • [1567] - When Power of the Pit result Blight/Terror causes the last character chit to be wounded, the character will die now.
  • [1596] - Fixed a problem with Enchanted Items (i.e., Flowers of Rest) not showing their color or function in native dwellings.
  • [1581] - When a character is put to sleep, they can no longer be blocked, or block monsters.
  • [1589] - Familiar no longer waits for blocking decisions (since it cannot be blocked)
  • [1603] - Added to code to distinguish between missile weapons (bow/crossbow) and thrown weapons (Alchemists Mixture/Holy Grenade).
  • [1545] - Fixed a problem that would sometimes make hirelings vanish when the character ran from the clearing.

Saturday, December 12, 2009

Installing RealmSpeak

One of the most common issues I have come to my e-mail box, is regarding installation of RealmSpeak. The way it is now, you have to download the application (2MB), and if the images have changed, the resource pack (11MB). This keeps the amount you have to download to a minimum, though it can be a little tricky to install. You have to unzip the resource pack and the application into the same folder, and this has caused many installs to choke. Usually, people don't extract the entire zip file, and end up losing important files that prevent the game from launching.

I've thought about numerous other solutions. One solution involves using Java Web Start to install the app. The definite advantage here, is that it installs in a way I specify, and even downloads Java JREs if you are missing what you need. The problem with this approach, is it is difficult as heck for me to setup (a Java Web Start newbie), and requires some type of Jar file signing, that I don't completely understand. Oh, its worth mentioning that this is the approach the Titan for Java (Colossus) project chose, and its rather nice.

Another solution is to use an independent installer builder package, like wItem for Java. The advantage here is that you get all the features of an installer that you expect: it creates a shortcut in your Start menu, uninstallation, all file handling, creation of exe style launch scripts with an icon. Very cool, but this pretty much leaves my Mac/Linux/Sun users high and dry. Also, using this type of installer means the file is going to be 15 MB every time there is an update. With today's bandwidth sizes, I suppose that isn't a big deal, but I just don't know.

I'm going to post a poll on the sidebar shortly. If you have an opinion on the matter, please mark something on the poll, and/or make a comment on this post. I probably won't do anything major until the new year, but if I don't hear from you, I can't possibly know what you want to see! :-)

Sunday, November 08, 2009

Version 1.0.8.0 Released

NOTE: version 1.0.8.0 is NOT compatible with savegames from any previous release. It will allow you to open an earlier savegame, but the behavior may be unpredictable. If you are currently playing a game, I suggest finishing the game before upgrading to the new version.

This release is mostly a fix to bugs related to the expansion, as well as a few adjustments to game play. If you are not playing the expansion, there really is no need to update. I will get back into fixing "regular game" bugs eventually, but I wanted to get the expansion "playable" before that.

There were several treasures which were causing the game to crash, or were behaving weirdly, and I think the last of those are fixed. Also, I added some new monsters to cover the X tiles, so those aren't going to be a walk in the park anymore.

The big thing in this release, is that the monster generators are working now. Blobs move and grow, undead shamble down paths, and giant wasps swarm. The rules for the generators have changed a bunch from the written expansion, so you'll probably want to check out the new ruleset. If you look at the "View" menu, you'll find a new entry called "Expansion Rules" which will be the home of all new rules that I put into the game. Right now there is only the single entry "Monster Generators" which you can use to read up on how these things work, and what you have to do to destroy them.

I've had at least one person comment that the F/N and gold prices for many of the new treasures were a bit high, and that's something I still need to fix. I'll probably get those tweaked for the next release.

Here's what's new:

NEW FEATURES:
  • Monster generators
    • Rules are available under "View|Expansion Rules|Monster Generators" menu
    • All monster generation and movement works
    • Killing Hive Queen destroys Hive
    • Killing Lich destroys Tomb
    • Flaming oil destroy Hive/Pond
    • Looting 2 Large Treasures destroys Pond/Tomb

  • Dragonmen and Murkers added to character builder for relationships

BUGS/ISSUES:
  • Only show the sidebar info for cards when they are face up (like author name or "Expansion 1")
  • [1583] - Fixed a bug that crashes the game when the Murkers are on the board, and a monster die of 4 comes up
  • [1583] - Fixed a bug where the HQ and Rank 1 Murkers are not prowling on a die roll of 4
  • [1582] - Fixed a problem where the Pirate's Map would crash the game at Midnight
  • [1577] - Fixed a bug with the Journal that caused the game to crash when activated
  • [1584] - Expanded the Woods Girl's special ability to include the Dark Forest and Grove
  • [1574] - All one-way paths are learned automatically when you enter, so you no longer have to search to leave. Also, spies on the "hidden" side will learn the location too.
  • Incantations Book should have been type IV not VI
  • Ice Storm correctly says "mountain only" instead of "cave only"
  • BLANK chits are now HAMLET chits, for a bit more realism, and to reduce confusion.

Tuesday, October 13, 2009

Blanks and No X

One thing I'm discovering, both for myself, and from e-mails I'm getting, is that the Expansion is a little too easy. I think a big part of this comes from the fact that there are no roaming monsters for the X tiles explicitly. That means more often than not, you are safe in the X tiles when there are no treasure sites. That's not good, and makes the game easier than I intended. That will change in the next release, as I assemble some monsters to cover that portion of the board.

Also, the balance of treasure at some of the sites is a little... off. The generator site has something like 12 treasures, and when you find that, its easy pickings to get a load of new stuff, and get very powerful very fast. I need to adjust that a bit.

There has been some confusion about the "BLANK" chits. I have had some people think this was an error in the program, but truly these are intentional. The 10 BLANK chits are meant to mix up the board a bit, to provide a level of danger to the normally safe Valley tiles. In most cases, the Valley tiles will end up with either a GOLD or a BLANK, but there is a small chance that the Gate of Chaos will appear which brings a lot of chits at once. If you want to calculate the odds, you can see the setup in the original expansion rules.

That said, Roberto U had a wonderful suggestion: make these BLANK chits into something meaningful, if no effect. One example he gave was "HAMLET". The chit would still have no overall effect, but would have more flavor than just "BLANK". Oooh, hey I just thought of something. If I made each of the BLANK chits actual "places", then there would be something to reference in the Guild Quests (coming soon) for various tasks. For example, imagine a quest that reads "Travel to the Cherry Hamlet, and pick up a package. Deliver the package to Druid Grove where ...." anyway, you get the idea. Since the Guild Quests feature will come with a quest generator tool that you can use to make your own quests, this will open the door for all kinds of variety.

Sunday, October 11, 2009

Version 1.0.7.0 Released

  • Requires new Resource Pack!
  • Not compatible with previous releases!

    At long last, I have a new version of RealmSpeak that includes an unofficial expansion pack. The expansion provides new monsters, new treasures, new spells, new natives, new tiles (well, technically new), as well as a host of other things. Though most of this comes from the unofficial expansion my friend and I put together nearly 10 years ago, quite a few spells and even a couple of treasures were taken directly off the Magic Realm Wiki. In the cases where I knew the author name, I asked permission, and included their name as a credit down the left side of the card in light blue. Thanks guys!!

    Although the expansion isn't completely finished (still some work to do on the special rules), you'll still find a lot of it in place. Take a look at the final list of spells (click to enlarge):


    and treasures:


    Of course, there are a lot of other new things:


    To play with the new expansion, simply choose the game variant in the setup window:


    Alternatively, if you want to play regular Magic Realm, but want to try out the new spells, you can do that too:


    When the game starts, be sure to take note of the new "Expansion" tab on the character window:


    You'll also want to take a look at some of the new tables you'll be rolling on:


    One new concept in the expansion I want to draw attention to, because it doesn't exist even in the print version I have online: Cursed Items.


    These are items that once activated by a character cannot be deactivated! The only way to deactivate a cursed item, is to spend the night at the Chapel. Once this has happened, the cursed item is destroyed, and removed from your character. I think you can probably see why you would (or would not) want to activate these items.

    I'll probably post more about the expansion later. Anyway, I'm tired, so let's just get to what's new in this release:

    Version 1.0.7.0 - October 11, 2009 - Changes since 1.06
    NEW FEATURES:
    • Changed version code to a more standard format (app.major.minor.revision), to reduce confusion
    • "Expansion One" implemented.
      • 60 new treasures (all but two are ready to go!)
      • [1467] - 36 new spells (that's about 3-6 new spells per MAGIC type)
      • Some special rules in place
      • Using Gates to move in the realm
      • CURSED items - Once activated, cannot be removed. If you spend the night at the Chapel, the item is removed, but is also destroyed.
      • Minor treasure locations and bags of gold
      • New chit setup - Valleys will be a little more interesting... still pretty safe, but you never know.
      • Hive/Pond/Graveyard treasure location is randomized
      • Labyrinth must be discovered before character can leave clearing!
      • NOT working yet:
        • Events, Travellers, Guilds (they are there, they just don't do anything... YET)
        • Monster generation at the generators (Hive, Pond, Graveyard) - The Hive has a queen, but the other two are unguarded.
        • Minotaur buckler does not parry attacks like it is supposed to.

    • Option to use expansion spells in normal play or with Pruitt's Monsters
    • Better spell selector - spells separated by type, and sorted by name for easier finding.
    • Hirelings following a leader are visible on the board now (always hated how hirelings could appear invisible when following a leader!)

    BUGS/ISSUES:
    • Fixed a couple of bugs with enhanced magic:
      • No longer lose the actions phase in the round AFTER casting a day/combat/permanent spell.
      • Cast enhanced spells properly expire on death

    • Went through EVERY spell (old and new) and verified that they were working - fixed them where they weren't:
      • Bad Luck spell didn't do anything, and apparently never ded (guess that tells you how often it is used!)
      • Illusion spell when tied to a tile wasn't giving +1 to search rolls in that tile.
      • Fixed the text on the map when using "Talk to Wise Bird"
      • Pentangle no longer allows the Demons and Imp to attack the target

    • Fixed a problem that would crash the game when a spellcaster was killed BEFORE his controlled monsters killed their target.
    • [1573] - When a missile attack exceeds TREMENDOUS, it kills the target outright, ignoring armor, as per the rules.
    • [1560] - Fixed a spelling error in the HTML report (Squeak curse is no longer the Squak curse!)
  • Thursday, August 20, 2009

    Sixty New Treasures

    I've been working pretty heavily on the new expansion for Magic Realm/RealmSpeak, and thought I'd give you an update. There are 60 new treasures planned, and 43 new spells. Most of the treasures are done, so I'll be moving to the spells soon. If you are familiar with the expansion my friend and I released a while back, then you'll recognize a lot of it, but there are definitely a bunch of changes too! For one thing, there were a few treasures that were a little out of character for the Realm, and needed some tweaking. If you are curious what is coming, this is the current list (click the image below for full-size):



    Of course, there's bound to be changes, especially those that are marked in green as UNFINISHED. I'll post the list of spells at a later date.

    Friday, July 24, 2009

    Expansion One

    Many years ago, before RealmSpeak was much more than a dream, a friend and I decided to expand the Realm with a new set of rules, tiles, monsters, treasures, spells, etc. After much toil and trouble, the unofficial Expansion One was born. After introducing it to the Magic Realm community, I discovered pretty quickly that there were those that liked it, and those that "wouldn't touch it with a 10-foot pole".

    Many years later, having become even more intimately familiar with the Magic Realm ruleset than I was back when we designed the expansion, I realized why people might not like the expansion, and tried to make adjustments. The biggest problem, is that it's really difficult to playtest, because setup is such a pain, a single game can last hours! In many respects, my inspiration for writing RealmSpeak, was so that I could someday playtest our expansion, and clean it up.

    Finally, I can say that I've begun work on integrating the expansion. I started by drawing up some of the monsters, and rendering them onto chits:



    Yeah, pretty amateurish art, but what can I say: I'm a programmer, not an artist. :-) I've got all the treasures entered, though none of them do anything yet. I should be able to enable a bunch of them, at least those that leverage existing rules. The ones that don't will take a bit longer, but that's just how it goes.

    Of course, the expansion will be a game variant option, much like the "Pruitt's Monsters" option, and if you don't want to try it out, please don't. I'm not sure how long it will take me to complete, but that doesn't mean there wont be new versions of RealmSpeak while I'm working on it. I'll keep you updated.

    Saturday, July 18, 2009

    Version 1.06 Released

    Mostly just a bug-fix release, as there are not a lot of new features in here. There is a new option to open the VP selector up, so that you can choose whatever you want. This will enable those of you that are unhappy with how VPs are chosen for different situations (game extensions, restarting characters, etc), to do what you think is right.

    In any case, here's what's new:

    NEW FEATURES:
    • [1547] - New VP option to allow each player to select any number of VPs when starting the game.
    • Added some more details to the log to better explain the situation where a character is unable to perform actions while blocked.

    BUGS/ISSUES:
    • [1543] - Altar/Shrine/TC/EM work correctly for summoning vistors/mission again.
    • [1546] - When buying from natives, don't show the names of treasures until they are being bid on.
    • [1552] - Pilgrim will no longer be blocked during the day by Demons/Imp.
    • Power of the Pit "Rust" result will now correctly destroy armor that is already damaged.
    • [1548] - The Imp's Curse alone is not sufficient to keep combat going, unless it does real harm (fatigue chits). Multiple identical curses are logged for clarity.
    • [1427] - Day end trades no longer prevented if you are blocked during the day, or during combat!
    • Curses will show up in exported character html now.
    • [1532] - "Wish for Health" no longer rests the chit you cast it with.
    This release is compatible with any 1.00+ version save game.

    Sunday, July 05, 2009

    Version 1.05 Released

    This is mostly a maintenance release to fix a couple of bugs, and to add some more detail to the log and html exporter. Sorry, no new character advantages in this release (didn't have any time to build any up), but I did fix a bug in the character builder tool that was making it impossible to have a companion with the same name as your character.

    If you are upgrading from 1.04, you will see a warning about the version change, but it can be safely ignored.

    Anyway, here's what's new:

    NEW FEATURES:
    • HTML Export enhancements
      • [1535] - Fixed a bug in the exporter that was putting the "clearing" hyperlinks in the wrong places.
      • Inactive inventory is visible for each player now. Treasures remain secret.
      • [1534] - The exported HTML for clearings no longer contains the NAME of face-down treasures in the Alternate-Text field.
      • [1533] - Treasure Card HTML has hyperlinks now, so you can see what is where (face down treasures and spells where appropriate, of course)

    • Detail log enhancements
      • [1536] - Trade information (what was up for sale) is shown in detail log.
      • [1539] - Change tactics information (new monster attack side) shown in log
      • [1539] - Monster numbers added to monsters in log
      • All actions (alerting, dropping, activating, etc) shown in log
      • Indented combat resolution for clarity
      • Each phase identified in log by a separator

    BUGS/ISSUES:
    • [1538] - Transmorphed characters can do the CACHE activity.
    • [1537] - Target assignment during combat is randomized each round now.
    • [1541] - Non-simultaneous attacks on native horses will spillover to the rider now.
    • [1530] - Fixed a problem in the character builder that was creating corrupt character files anytime your character name is identical to a companion name.
    This release is compatible with any 1.00+ version save game.

    Sunday, June 28, 2009

    Version 1.04 Released

    I meant to get this out last weekend, but there were some things I was working on that prevented that. In any event, here it is. The big thing in this release is a bug fix to Magic Sight, that was causing severe problems for the Witch King. It only happens when he tries to loot items in a clearing (like after cremating all the Rogues in the Inn), but since that's actually a fairly likely scenario, I thought I'd better get it fixed.

    As promised, there are a couple new custom character abilities added to the character builder, straight from the advantages request page: Light Armor, and Extra Inventory. The first came from an original request to be able to construct custom armor for a character. This seemed a bit like overkill, since there really aren't that many options for armor. Instead, I went with an alternate suggestion, that there be an option for Light Armor. Now, in the character builder, you'll find that you can equip your custom character with one of the Light alternates:


    The first pictured above, is the buckler (Light Shield), then the leather cuirass (Light Breastplate), and finally the leather cap (Light Helmet). If you don't like my crude drawings (can you tell I'm NOT an artist?), I'd be happy to replace them with something better. I'd ask however, that you don't just steal something off of google images: custom drawings only please!

    These new armor tokens behave exactly like armor: they reduce sharpness, are damaged when hit with equal harm (Light), and destroyed when hit with more harm (Medium or greater). If the armor is hit with Medium or greater harm, the character takes a wound.

    In my playtesting, I've found that this armor vanishes pretty quickly during any combat, but it can be a lifesaver. When the armor is destroyed, it goes to the same location as it's Medium counterpart: cap and buckler go to the House, and the cuirass goes to the Guard.

    The other new custom character feature, is what I call "Extra Inventory". This allows you to select from many treasures (though not all) as a starting piece of inventory for a particular character. There's also a feature there to allow you to rename the treasure, to make it unique. Alternatively, you can select a horse, from any that are in the game (either for characters, or even natives!). Note that in either case, you are making a copy of that treasure or horse, so they are not lost from gameplay.

    Oh, I added a new high quality version of the "Export HTML", so those of you that don't mind the bigger map size (4 MB instead of 1 MB!), can get a cleaner image.

    Here's what's new:

    Version 1.04 - Changes since 1.03
    NEW FEATURES:
    • New Character Builder features:
      • Can use Light armor now (Cap, Cuirass, and Buckler)
      • New "Starting Inventory" advantage allows you to choose a horse or treasure (most treasures except TWT, books, artifacts) as a starting item of inventory.
      • Better handling of "unknown character version" problems
      • Armor chits now appear on the "View Gear" graphic

    • Can export a high quality version of the map in the html generator.
    • Added some more detail to the log for a player turn, including:
      • The clearing that the character started in, and the clearing they ended their turn in.
      • Which chits (if any) were turned face up at the end of their turn.

    BUGS/ISSUES:
    • Fortified characters can no longer RUN from combat (I felt this was a necessary fix, to lessen the impact of this new custom character ability from 1.03). They can still run once the fortification is destroyed.
    • [1521] - Fixed a problem that crashes RealmSpeak when an rschar file with a mismatched icon file is found.
    • [1522] - Fixed a bug in MagicSight, related to looting the clearing.
    • [1525] - Fixed bug in the character builder that would allow you to create a malformed rschar file by changing the name of the character right before saving.
    • [1377] - With optional horse riding rules in place, you can target native horseback riders with Fiery Blast now.
    • [1524] - Fixed a bug with sudden death, that wasn't allowing the game to end properly when curses are healed at midnight.
    This release is compatible with any 1.00+ version save game.

    Sunday, June 14, 2009

    Version 1.03 Released

    Another maintenance release, with a couple of goodies. I fixed a problem with the curse dialog, which those of you that do a lot of "Read Runes" will appreciate. The behavior of dialogs and threads is interesting, to say the least, and quite fragile. I repaired a game lock related to table effects (Curse, Wish, PoP, etc) in 1.00 that sort of left it all a bit weird. I think this is the last of the weirdness fixed, and it all should be a bit more stable now.

    I decided to attack a couple of the Character Advantage Requests listed on the Magic Realm Wiki. I plan to add one or two of these for every new release - we'll see how long THAT lasts! ;-) Anyway, one of the cool new advantages (by request) was to give a character special new actions. I implemented three: HEAL, REPAIR, and FORTIFY. Okay, that last one is my own invention, and it will likely get some raspberries from the most hard core Realmers, but there you are. The point is that these are likely to be major advantages (especially REPAIR), so its up to you designers to disadvantage them in some other way!

    A character with a "special action" (as I call them) will have a new button appear at the end of all the buttons on the character window. For example, here is HEAL:



    Otherwise, they work like any other action. HEAL and REPAIR are pretty obvious (see below), but FORTIFY is described like this:

    Can FORTIFY during the day to gain armor-like protection in all directions (Suit of Armor) equal to their vulnerability. The FORTIFY action requires a successful roll on the HIDE table (though not affected by HIDE advantages!). This fortification can be damaged and destroyed as if it were armor. Regardless of its condition at the end of the battle, the fortification is lost at MIDNIGHT.


    Maybe that's TOO powerful, I just don't know yet. I thought about limiting it to M armor, but I'm sure those of you that care will let me know! ;-)

    Okay, here's what's new:

    Version 1.03 - Changes since 1.02
    NEW FEATURES:
    • New Character Builder features:
      • Can specify multiple companions of the same type at once (1-20). Why so many? Why not!! I made a Nature Druid that had a flock of birds, used to lure monsters. They don't last very long in combat, but they can give the Druid a chance to fight.
      • [1515] - Lizardman added to companions
      • Can specify an extra chit be added
      • Can use special day actions:
        • HEAL - Can HEAL one asterisk of fatigue or wound on any other character
        • REPAIR - Can REPAIR one armor item in carried inventory
        • FORTIFY - Can FORTIFY during the day to gain armor-like protection in all directions (Suit of Armor) equal to their vulnerability

    BUGS/ISSUES:
    • [1514] - Repaired a GUI modality problem with Reading Runes and Curses during the day (broken in 1.00) - probably affected other tables as well. The change was made to resolve 1227
    • Fixed a problem with custom character icons in the character list.
    • [1517] - Fixed a problem with suiciding a character on the map edge
    • [1126] - Reflecting Grease will now properly reduce wounds on armor hits only.
    This release is compatible with any 1.00+ version save game.

    Sunday, June 07, 2009

    Version 1.02 Released

    Sorry about releasing an update less than 12 hours after the last. I just finished playing an online game with some friends, and we ran into a couple of painful bugs affecting a couple of BLACK magic spells. The first had to do with the Absorb Essence spell being cast under the optional Enhanced Magic rules - the game would crash, and leave the autosave in such a state, as to be unable to continue!! We had to completely restart the game from the beginning. Ouch. Fortunately, turning off enhanced magic was the immediate remedy, but I still wanted it fixed.

    The second had to do with Power of the Pit crashing every time the "Rust" result was rolled. Of course, this comes up on a roll of SIX, which is pretty common, so it happens a LOT. Turns out it was just something stupid I did in the code for 1.01, so it was pretty easy to fix. Since Power of the Pit is somewhat unavoidable in a game of Magic Realm, I figured this better be fixed quickly.

    To reiterate, here's what's new:

    Version 1.02 - Changes since 1.01
    BUGS/ISSUES:
    • [1508] - Absorb Essence and Enhanced Magic play nicely together now
    • [1509] - Power of the Pit "Rust" result no longer crashes the game
    This release is compatible with any 1.00+ version save game.

    Saturday, June 06, 2009

    Version 1.01 Released

    ----
    Update #1 - Thanks to John S. Myth (an alias I'm sure), there are now Linux scripts included in the 1.01 release download. If you've already downloaded, and you don't see them, then you probably got it before I added them. Download again, and you'll be fine. :)
    ----
    As promised, I'm doing a quick turnaround on the last release, to resolve the worst bugs. I'm actually fairly pleased at how few new bugs were discovered, especially considering how many things changed in 1.00!

    The only real "new" feature in this release, is the addition of updated Mac applescripts to support the new classpath I required in 1.00, thanks to Jorge Arroyo! If someone wants to do the same thing on the Linux front (or any other operating system you guys are running this on), I will be able to provide them in future releases, and make RealmSpeak more easily accessible to those less "geek" than others.

    Mostly just bug fixes, so here's what's new:

    Version 1.01 - Changes since 1.00
    NEW FEATURES:
    • New Apple scripts for RealmSpeak, RealmBattle, and the character builder! (Thanks Jorge!)
    • New Linux scripts for RealmSpeak, RealmBattle, and the character builder! (Thanks John!)

    BUGS/ISSUES:
    • [1490] - Fixed the crash related to using the "No Dwelling Start" option
    • [1505] - Fixed an issue with firing up the Flying Carpet
    • [1501] - Fixed a problem with hirelings helping you carry your inactive equipment
    • [1499] - The correct number of treasures added to the pile are shown now, when the Mouldy Skeleton is revealed.
    • [1492] - Set Cross-platform Look-and-Feel ON by default for new installations. People can switch this OFF if they want, and get the native platform UI. Of course, RealmSpeak will still remember what you prefer, so you don't have to set it every time you launch.
    • [1388] - Cannot peer INTO a tile affected by FOG anymore.
    • [1195] - Fixed some strangeness involved with hirelings ending their term of hire while a character is flying.
    • [1496] - Fixed a problem with Power of the Pit result ending up BEHIND the combat frame.
    • [1495] - "Foes" information will show on campaign chit view again
    This release is compatible with any 1.00+ version save game.

    Sunday, May 31, 2009

    Version 1.00 Released

    ----
    Update #1 - Edited the Mac command-line script below based on commenter Mark's suggestions, and removed my reference to Mac-users as Mac-heads. I didn't mean it to be insulting, but re-reading it this morning, it certainly comes off that way, so I just removed the line. Sorry if I offended anyone!
    ----
    Update #2 - Just a couple of notes from the comment thread for this post:
    • The optional solitaire "No Dwelling Start" option is broken. It will cause the game to stop after choosing a clearing, but no character window will be showing.
    • If you are running on Linux, you will also have to heed the advice in this post (below) for Mac users, and adjust your classpath.
    • Linux users should use the "Cross Platform Look and Feel". Apparently there is some problem with the "Native L&F" for Linux: at least the way I'm using it in RealmSpeak.
    ----
    I meant to get this out earlier in the day, but we decided to go to Knotts Berry Farms today, and we're just now getting home! Our season passes expire tomorrow, and we thought we'd get in one last hurrah before the summer crowd hits.

    Well, it's finally here, a little over a year after the last release. A project I thought I had put away forever suddenly regenerated itself, and came back with a vengeance. I decided to bump RealmSpeak to version 1.00, since it's about 99.95% the way there (will it ever be 100%?-NO). Before you skip all the boring chat here (maybe I'm too late), I want to bring your attention to a number of things that will be important if you want to enjoy the new version:

    • Mail Support Means Mac & Linux Scripts are Broken
    • Networking menu has changed a bit
    • New images folder
    • Lots of new game setup options

    Let's deal with these one at a time:

    Mail Support Means Mac & Linux Scripts are Broken

    If I had planned this better, I would have had someone help me with this before the release, but the apple scripts will NOT work with RealmSpeak, because they lack a reference to the two required libraries: mail.jar and activation.jar. I was able to fix this in the Windows batch files, but without a Mac, I have no ability to update the apple scripts. If you want to play RealmSpeak on the Mac, you'll need to open a unix window, cd to the directory where RealmSpeak.jar is, and type the following:

      java -mx384m -cp mail.jar:activation.jar:RealmSpeak.jar com.robin.magic_realm.RealmSpeak.RealmSpeakFrame

    To keep all the config file local to the directory RealmSpeak is launched from, type this instead:

      java -Duser.home="." -mx384m -cp mail.jar:activation.jar:RealmSpeak.jar com.robin.magic_realm.RealmSpeak.RealmSpeakFrame

    To play with CHEAT enabled:

      java -mx384m -cp mail.jar:activation.jar:RealmSpeak.jar com.robin.magic_realm.RealmSpeak.RealmSpeakFrame CHEAT

    To run the battle simulator:

      java -mx384m -cp mail.jar:activation.jar:RealmSpeak.jar com.robin.magic_realm.RealmBattle.CombatFrame

    To run the character builder:

      java -mx384m -cp mail.jar:activation.jar:RealmSpeak.jar com.robin.magic_realm.RealmCharacterBuilder.RealmCharacterBuilderFrame

    If somebody wanted to write apple scripts, or whatever is equivalent to batch files on Windows, and send them my way, I would greatly appreciate the help! I don't own a Mac, and I no longer have access to them at work, so I have no way to create these scripts, or even to test them.

    Networking menu changed a bit

    In the previous versions of RealmSpeak, I had two complete menus with identical items, with the exception that one was for playing a local (non-networked) game, and the other was for playing online with friends. THIS HAS CHANGED! NOW, when you start RealmSpeak, there is a File menu for all actions related to playing the game (save/load/restart/exit), and a Network menu with just a few non-redundant items. If you want to play online, you'll have to FIRST turn network hosting ON. You do this by clicking on the "Network Hosting OFF" menu item under Network. This will add the words "Networking Active" into the title bar. Any game you play with networking active, will make your game visible to the internet community. RealmSpeak remembers your last setting, so if you close RealmSpeak with Networking active, it will open with it active again.

    New images folder
    You're going to need a new images folder, which means you'll have to download the latest resource pack with this release. I would recommend keeping whatever version of RealmSpeak you have intact, and download this release into a new location. That way, if there is anything major broken in this release, you can still get back to playing the game until I get it fixed. I've playtested it a bunch of times, but you never know!

    Lots of new game setup options

    You are going to want to look through all the new options on every page of the setup dialog. You'll find there are a lot of new things there, and you may or may not want them. By default, new stuff is turned OFF, so if you click through, it should keep your favorite options in play. However, there were some minor changes, and stuff moved around a teensy bit, so its probably a good idea to familiarize yourself with what's there!

    Okay, THAT's out of the way. Let's not wait any longer. Here's what's new:

    Version 1.00 - Changes since 0.60
    REQUIRES NEW IMAGES FOLDER
    NEW FEATURES:
    • email notification
      • When you host a game, you have the option to turn on e-mail notification. You'll need to provide and SMTP host, and a home e-mail address to get started.
      • A "Test email" button will allow you to verify that you set things up correctly.
      • The application will automatically e-mail any player when it is their turn, when combat starts, or when it is a new day.
      • The application will only e-mail players that provide an e-mail address when they join, and then only if they are offline when the event occurs (no need to send e-mail when they are online!)

    • Completely removed player/character count restrictions. As long as there are still characters to play, you can add them.
    • Added a "player password" concept for joining players. If you use a password (it is optional), then your player name and password must match before you are given control of the character. This would prevent someone else from grabbing your character while you were offline (especially possible in a "slow" game)! The host will have control over this, and will be able to reset a player password if a player forgets it.
    • New game option tab: "Other House Rules"
    • New game options:
      • [1230] - Optional Magic Rules
        • [1457] - Optional Automatic Enchanting implemented
        • [1458] - Optional Enhanced Magic rules implemented
        • [1459] - Optional Enhanced Artifacts and Spell Books rules implemented

      • [1460] - Revised Enhanced Magic rule implemented (under "Other House Rules")
      • [1315] - Optional Quiet Monsters rule implemented as two separate options:
        • Hidden characters and hirelings do not cause chits to flip, or monsters to be summoned. New "Tile Chits" button on character frame appears when appropriate to allow you to view chits secretly.
        • When positioning attackers on a character sheet, they do NOT have to be positioned in as many red boxes as possible.

      • [1101] - 3rd Edition Extended Grudges implemented
      • [1210] - Advanced Dropping Items rules implemented
        • Buttons that read "Abandon" will abandon the item in the clearing (can only loot)
        • Buttons that read "Drop" will drop the item in the clearing at your feet

      • [1477] - Advanced Sudden Death rules implemented (on the first tab of game options)
      • [1420] - New house rule to allow native leaders to remember discoveries between hire terms. However, killed natives still lose their discoveries. Monsters are unchanged.

    • New character builder features:
      • [1142] - New "Evaluate" button in character builder checks your custom character for flaws that would make it non-Hamblen-like.
      • [1473] - New "Export Gear" button in character builder allows you to create an image file which you can print, so you can create chits for boardgame play.
      • [1483] - Custom Weapons can be set to start with the Visitor's now.
      • [1221] - In the "Edit Symbol" dialog, you can now generate a default icon, which is simply the first two letters of the character name, or if you have two words in the name, it will use the first letter of each.

    • [1096] - Remapped the menu controls a bit (hope that's not too annoying), and added a new menu item called "Restart Last Game", which will allow you to start a game over from the VERY beginning, using the same setup.
    • [1237] - Many more monsters added to custom advantages "Companion" tab in the character builder, including Tremendous monsters, and natives. Take it easy now!
    • [1338] - New characters can choose where their starting inventory comes from now (or you can continue to have your starting inventory taken from random dwellings)
    • Added a few more credits to the "About Box", and fixed the 3rd edition citation.
    • [1262] - New voluntary Unhide button (looks like a lantern) next to Trade/Share and Block buttons on character frame
    • [1478] - New "Shout Out" button allows you to share all relevant discoveries in your clearing to every legal character in the clearing you choose, with one action. Makes group play a bit easier.
    • [1298] - New feature to view running Fame/Notoriety/Gold tally on the combat sheet by mousing over the character tokens.
    • [1482] - Added mission/campaign chit information to view menu.
    • [1474] - Notes page now keeps track of inventory stolen by previously hired leaders, and potions after they have regenerated.

    BUGS/ISSUES:
    • [1310] - Memory Leak is fixed! This should resolve the "Out of Memory" crash we are all familiar with on long games with many characters. You'll also notice that RealmSpeak performance has improved somewhat.
    • [1343] - Couple of harmless NPEs fixed
    • Fixed a problem with the HTML generator that would sometimes put map messages on the final image.
    • When highlighting clearings (blue circles), use the word "Exit" on map edges rather than "-1"
    • IP address is trimmed to remove any external whitespace.
    • [1348],[1361],[1382] - Fixed a bug that prevented you from running from a clearing you ran towards.
    • [1349],[1435],[1445] - Incentive payments to take treasures off a native's hands during TRADE (like the Order getting rid of the Black Book) is fixed.
    • [1410] - Fixed a Power of the Pit bug that caused the game to crash on a result of THREE, when a hired leader is following another hired leader.
    • [1362] - Fixed a bug in the turn panel that put secondary actions (like a PoP roll after searching Toadstool Circle) in the wrong order on the screen.
    • [1129] - Empty cache's will no longer appear on the treasure setup card
    • [1286] - Roman numerals on enchanted artifacts no longer duplicated
    • [1233] - Fixed a bug when Garb of Speed or Belt of Strength was used by a custom character with a three asterisk chit.
    • [1353] - No more Great Great Elves (or Light Great Elves) (or Great Light Elves) (or...)
    • [1351] - Timeless Jewel can be traded between characters now. (no more "must be deactivated" warning when its obviously NOT activated!)
    • [1444] - Fixed a bug that was allowing you to redo the prebattle by reloading the game!
    • [1438] - Fixed a bug that could leave the game hung when between mountain clearings in the ice/cold.
    • [1446] - When looting treasure that is heavier than your character, you have the option to abandon it now.
    • [1215] - Can cancel out of REST dialog now, in case you want to rearrange your inventory first.
    • [1449] - Custom characters with starting gold other than the standard "10" is figured correctly now in "starting worth" calculations.
    • [1448] - Commerce rules no longer affect visitors
    • [1441] - Characters following in frigid weather (fatigue one asterisk per phase) will have to pay for fatigue equal to that which the leader got.
    • [1443] - Heat Wave will no longer kill transmorphed characters because they have no chits.
    • [1415] - Fixed a bug where sometimes a character chosen at a lower development level would get all 12 chits at the start.
    • [1437] - Pressing "Play All" will now stop anytime you arrive at an invalid move action (in case you need to energize a spell to walk woods, or fly).
    • [1402] - Hired leaders killed in the line of duty will regenerate properly now.
    • [1425] - FightAlert chits (like BERSERK) will be limited by the monsters on your sheet now.
    • [1395] - Fixed a problem with GRUDGES where a hireling (NOT a hired leader) killing a FRIENDLY or ALLIED native was not having an effect. Now ALL hirelings will work as expected.
    • [1419] - Changed how "speed 8" is represented in the log, so that you don't see "infinitely slow".
    • [1396] - Being on a roadway connected to the Chapel no longer heals curses, or provides WHITE magic.
    • [1461] - Natives that start a fight with the character will not change friendliness when killed using extended grudges (e.g., characters are allowed to defend themselves without penalty)
    • [1439] - Fixed a bug where absorbing a monster off another character sheet with multiple monsters was causing that character's attack to be canceled.
    • [1405] - Can no longer pickup a campaign chit where the foes are already dead. Same bug also made finishing Pillage impossible.
    • [1414] - Wish for Vision will include the Visitor boxes now (assuming they have any treasure).
    • [1411] - Destroyed armor will no longer remain activated when you buy it back.
    • [1404] - Pruitt's dragons (Wyrm and Firedrake) are included in the Quest chit now. If the dragon can never come out because of clearing type (Pruitt's rules), it isn't counted.
    • [1392] - Dialog that shows who was regenerated will only show ONCE per online player (used to be once per character)
    • [1397] - Fixed a problem with custom character item restrictions, that was failing on any weapon with a space in the name
    • [1390] - Hired Leaders and Controlled Monsters will have a Spells tab (like the character) so you can see which spells are bewitching them
    • [1385] - Dark Forest no longer prevents entry from off-map, in a solitaire game.
    • [1373] - Viewing Clearing Detail (right-click on map) no longer causes face down treasures to turn face up.
    • [1375] - Changed spelling of "Gray" to "Grey" to match the rulebook.
    • [1398] - Trading with hired natives on the day of hire work correctly now.
    • [1381] - Fixed Pruitt's Cockatrice to automatically kill like a RED-side-up T Monster, as per the rules for this monster.
    • [990] - Orc Archers will now change tactics on a 5 or a 6, as per the rules.
    • [1379] - Blend into Background spell will work properly with hired leaders now.
    • [1463] - Fixed problem with Witch's familiar badge button, when saving and loading a game without exiting RealmSpeak.
    • Added an exception to the situation where the game handler is calling a DEAD client. This should quickly reveal the source of any other game freezes that are the result of this problem.
    • [1470] - Character following another character can now trade with others at beginning of phase
    • [1378] - Horses no longer count as kills for purposes of the multiplier
    • Allow the host to transfer a character during combat
    • [1345] - Running with horses logic is fixed. You can choose either side, and if you fail on gallop side, you wont be able to gallop during melee.
    • [1469] - Die rolls will no longer appear when you are selling to natives, and commerce rules are off.
    • [1283] - No longer lose your horses between tiles after flying away from combat.
    • [1297] - Enchanted Meadow/Altar, and Toadstool Circle/Shrine summoning boxes will work on multiple boards now.
    • [1471] - Move/Fight chit conflicts during positioning are fixed.
    • [1440] - Fixed a problem where transformed magic users couldn't ride flying steeds
    • [1355] - Daily combat checkbox should be a bit more persistent now, and remember what you last had set it at. This will be helpful for long server games!
    • [1231] - Character card correctly shows how much gold you start off with, for custom characters with special gold allowances.
    • [1472] - Sleeping characters will not be able to trade anymore.
    • [1464] - Custom character speed 8 chits will not be excluded by filters when determining which chit can be played.
    • [1429] - Pack horses will no longer support the weight of activated items!
    • Fixed a bug that was preventing flying characters from dropping items.
    • [1416],[1480] - Fixed a problem where a spell interrupted by hirelings could never be cast again. The same problem affected Enchant Artifact and other spells.
    • [1366] - Fixed the order of treasure locations on the discovery tab of the character window.
    • [1481] - Fixed a problem with the logic for determining whether actions were sheltered or not.
    • [1302] - Fixed the text of the Amulet treasure to include "(discard to shaman)"
    • [1205] - If you create a custom character that uses the familiar, it will adopt the character name, rather than always being the "Witch's Familiar"
    • [1295] - Fixed the "drop/abandon" buttons on the turn panel to allow dropping of activated items (used to only be inactive items).
    • [880],[1479] - Fixed how simultaneous attacks are handled, to a system that should be much more robust.
    • [1432] - Fixed a problem where character horses were absorbing non-simultaneous hits.
    • [1342] - Added the correct filtering to the logic behind choosing a chit to charge another character.
    • [1484] - Fixed a bug that would allow you to skip choosing attack spell targets if you also had a native pick a target, which eventually lead to a locked up combat.
    • [1209] - Invalid custom character files will no longer prevent RealmSpeak from launching.
    • [1222] - Fixed some problems with how abandoned color-source treasures were shown on the map, and in the "View Clearing Detail" window.
    • [1350] - Fixed a problem with casting Control Bats on a transformed bat. Also made similar adjustments to other monster-specific spells, so that transformed dragons, goblins, spiders, etc can be targeted too.
    • [1367] - Fixed a bug with Magic Sight, that would cause a treasure card site (like Enchanted Meadow) to jump to the backwoods when a "Treasure cards" result was rolled!
    • [1347] - Fixed a bug that allowed monsters to attack a character playing a horse directly, if another character targeted the rider.
    • [1204] - Fixed a problem with random assignment, that was allowing two hidden characters with hirelings to take monsters not assigned to them, and end up in a game deadlock.
    • [1344] - Extending the game with low level characters, no longer leads to negative VP assignment!
    • [1134] - Unhired Native Leaders killed by PoP will drop inventory in the clearing correctly now.
    • [1227] - Fixed a deadlock related to Control Bats and Wish cast by two characters at the same time.
    • [1456] - When you start the game with a low level character, and seasons, you still must (at the least) record 2 VPs.
    • [1306] - Fixed a bug that was preventing hired leader's inventory from dropping into the clearing when killed by a monster.
    • [1384] - Persuaded Giants/Goblins will no longer block your hirelings

    Friday, May 22, 2009

    June 1st Deadline

    Since everyone is asking, I'll let you know that I'm making June 1, 2009 the deadline for the next RealmSpeak release. Lot's of new optional rules in place, some neat new interface features, and tons of bugs fixed.

    You'll see it here first, as well as posted to the RealmSpeak mailing list when it is ready.

    Tuesday, May 19, 2009

    26 Days Later

    I just finished playing a game of RealmSpeak with the new "Sudden Death" rule in play (coming in the next release). I set the number of VPs to 1, thinking that I could make a really short game, and test this new feature at the same time.

    I chose a random character, and got the Woods Girl (one of my favorite characters, believe it or not). I put my single VP into "Great Treasures" thinking it would be cake to find at least one of these things. I didn't take into account the negative score you start with due to gold...

    Anyway, I wandered around the board, and found nothing but empty tiles: no treasure site, and no prowling monsters. The monster rolls I got were really quite amazing, in how they effectively dodged every warning/sound chit I encountered!

    Finally, I discovered the Pool in the Caves (great...), and got to looting. The first treasures I found there were the Alchemist's Mixture, and 'lo, the Magic Wand! Yay! A Great Treasure!! Wait, why didn't I win? Ah, a great treasure with -10 fame.

    Still no sign of the Goblins or Octopus, so I continued looting. The next two treasures I found were the Withered Claw, and the Cloak of Mist, which was good. I decided to leave, seeing as I was pretty fatigued after looting the pool, and I wasn't really all THAT excited to meet the Goblin clan. After first stopping to rest in the Curst Valley, I moved through the Ledges, and dispatched a wandering Giant with my bow. With no other treasure location in the tile, I proceeded into the Crags where I discovered the mighty Lair!

    I moved quickly into the clearing and searched for several days with no success. A giant bat started circling overhead, and that drew the attention of the Lair Dragon. As I was wearing the cloak, and was successfully hidden, it was obvious that all I needed was one good kill, and the game would end victoriously. I activated the Alchemist's Mixture, and flung one pinch of the stuff at the dragon. Direct Hit and instant kill! With only the bat left, the Woods Girl decided to run from the clearing. The fame/notoriety from the two kills (Giant, and then the Dragon) was enough to make my total score equal to "0", which meets the requirement of Sudden Death. We have a winner!

    ... and it only took me 26 days ... (sheesh!)

    (You can see the game here if you are interested.)

    Saturday, April 04, 2009

    Long Standing Memory Leak is Fixed!

    OMG.

    The memory leak. You've all seen it. You'll be playing a long game of RealmSpeak with 3-4 characters, and the game gets slower, and slower. Without warning, the game will ultimately crash with an "Out of Memory" error, and that's that. Sure, you can reload your game, and its good again for a few game weeks, but what a pain! Also, if you've ever tried to play with more than about 6 characters, the game is nigh-impossible to stand, as everything is sooooo slowww. This memory leak has been a royal pain in the !@#$ since the inception of RealmSpeak. I've never been able to nail down the problem, and its been driving me NUTS!!!

    Warning: Java tech speak ahead!

    On a whim this evening, I decided to set up a small simulation of my GameServer and GameClient, and have them communicate indefinitely in a loop, and watch what happens to memory in a controlled environment. Memory gets eaten up quickly, and my loop ultimately dies in an "Out of Memory" error. Great! I've reproduced the problem in a smaller (non-RealmSpeak) application, which will serve as an excellent test subject.

    After some toying around with different freeware memory profilers, I found one that gave me an "Object Allocation" graph. This basically tells you which objects are being created, how many, and how long lived. From this graph, it was quickly obvious that my primary data transfer object (GameObjectChange) was piling up in memory, and outliving many other objects. Hmmm, that shouldn't be happening, should it?

    Looking at the code, I made sure that there were no static collection objects (a common memory leak), and that each collection object went out of scope at some point in its life, so that I could be sure that the objects contained therein were cleaned up by the Java Garbage Collector (GC). Okay, so that all looked good, but that was no surprise. I had looked at that like a thousand times before!

    Next, I added a finalize() method to my GameObjectChange object, with a message to the console to let me know when the object was GC'd. I ran my test app, and...whoa... FINALIZE IS NEVER CALLED. That means that the GC had determined that every single one of these objects was still being referenced somewhere, and passing it up for collection! That's definitely NOT good, and I realized that I was going to HAVE to find the source of those references if I was ever to fix this problem.

    Did you know that there really is no good way to do this? I vaguely remember a tool that would help me here, but I'll be damned if I can remember what it was. Anyway, I ultimately had to resort to looking at every place that used one of these objects and ask whether it was holding a reference or not. My first pass revealed nothing, and I thought I was going to fail yet again solving this problem.

    Then, for some reason, I was looking at the Java docs for the ObjectOutputStream (the stream I use to transfer data), when I discovered something I did not know: this stream actually maintains a reference to every object that passes through it, until the stream is either closed, or reset! Since close() was out of the question (that would kill the connection), I immediately tried adding a reset() call after the normal flush() call in every case. Lo-and-behold, the objects started getting GC'd, and the finalize() method I wrote started spitting out messages to the console!

    Excited, I ran the test application.... and memory is STABLE. It creeps up briefly as new objects are created (normal), and then stabilizes at a reasonable size, and changes no more! Wow!

    The next test is RealmSpeak itself. I fired up a game, and added eight characters, and played for a game week. The game rolls along quickly, with no sign of the sluggishness seen in previous versions. In fact, the performance has clearly improved overall. I want to play a longer game when I have more time, but I'm pretty convinced the leak is sealed.

    Bug fixed!

    Saturday, March 21, 2009

    Long time no see!

    Well, it hasn't been a FULL year since the last update, but damn near. Sorry if it seems like I abandoned this project, but I wanted a break from fixing bugs. I've been working on a couple of other projects, and though none of them have seen the light of day yet, they may still. I'm hoping someday to release my CyberDox game (already play tested it once online with friends), but there's still a lot of work to do before its ready for prime time. I've also got a couple of XNA games on the burner (if you don't know what XNA is, google it), but those are even further away from seeing the light of day.

    So here I am - I've been playing RealmSpeak online for the last several weeks, and it always gets me anxious to fix things so it runs better. I've actually tackled a bunch of bugs already, and even added a few new features (Automatic Enchanting). Hopefully, I can get a release together for you guys in the next month, but we'll see.

    Catch you later!