Search This Blog

Monday, March 28, 2005

Java 1.5 Issues

With yesterday's release, comes the first round of bug reports! Though I appreciate all the information coming in, please keep in mind that this is a work in progress. Don't be too surprised to discover that your favorite treasure isn't implemented, or some things don't behave quite right yet.

The worst thing to come to light so far, is a bug that prevents the game from being played. It only happens if you are using Java 1.5.0 (the application is compiled under Java 1.4.2, and thus never tested under 1.5), and then only if you choose a spellcaster as your main character. The bug actually lies in Java itself, and thus requires a workaround. I have this fixed, but I want to finish a couple of other things before releasing a new version. If you find that the spell selection window doesn't work, then you have encountered this bug, and for that I apologize. I probably wont get anything new up until next weekend, assuming I get any time this week to work on it (I do have a day job, after all!)

I want to thank everyone who tried out the application, and gave me short reports on their experience. This really helps me out, as I can quickly pinpoint the issues that matter most.

Sunday, March 27, 2005

Version 0.1 Released

Hooray, the first public version has been released! Now to start thinking about Spells and Combat...

Saturday, March 26, 2005

Internet Test Success

Ran through a full game with my brother online, and everything worked great. There was a minor glitch with the map refresh, and a problem with selling armor, but otherwise we played a full game without a hitch! I'm adding a few improvements in addition to fixing the glitches we encountered, but I will release this on schedule sometime tomorrow evening (actually a day earlier than I anticipated).

Thursday, March 24, 2005

Magic Sight, Game Finish logic, lots of cleanup

Lot's of stuff is getting finished up. I finally wrote the support logic for Magic Sight (yeah, I can play the Witch King now! sort of...), and it is working nicely. I added some code to handle the end game, and report a winner based on victory points. Of course, without combat in this version, your best bet is treasures, spells, and gold, but that works out okay!

I played a full month game just a moment ago, and it was sweet. The Captain ventured out, and immediately found the Hoard in the Caves. "That sucks" I thought, because of the lack of sunlight phases. The first item I found, was the lucky charm, which made looting very rewarding. The fifth (or so) item I looted from the Hoard, was the Magic Spectacles, so suddenly I was able to clear out that site rather quickly. I was VERY lucky with my hide rolls, and didn't get blocked by monsters for nearly the entire time I was looting. Just as I neared the end of the Hoard (and the Enchanted Meadow), I got teleported to "any cave clearing" on the map, and got the heck out of there. As the month was rapidly approaching an end, I found myself searching for a secret passage that just wouldn't appear, and got pounced on by a couple of giants. The game was over at that point, and the VPs were tallied (38! actually, that's only because I forgot to pull out the 1000 gps I gave myself at the beginning for debugging!) This application is going to ROCK once I can get combat implemented!

I'm preparing to do some long distance testing of the code over the weekend. My brother (in Oregon) and I (in California) will play a game or two over the internet using RealmSpeak. There's no reason to think it wont work, but it will be the first real chance I'll get to see what the transfer rate is like. On my local machines, it is lightning fast, so I'm hoping there wont be too much lag when it has to interact with my DSL line!

Once I clear this version with testing, I'll make it available (finally) for all of you to download. I'm hoping for a release on 3/28/2005, so look for it!

Saturday, March 12, 2005

Trading, Relationships, and Spells

New stuff added:
  • Each character now has a display of their relationship politics.
  • The TRADE action is mostly finished, allowing characters to trade with natives and visitors in their clearing, with the Meeting dependant on that character's politics
  • Magic users select their spells at the beginning of the game
  • Read Runes works correctly, allowing players to discover and awaken spells at appropriate treasure locations and artifacts.

Saturday, March 05, 2005

Enchanting

Working pretty heavily on the mechanics behind enchanting. Here's what's new:
  • Color magic is recognized for every character. Icons in the character frame indicate which color magic is currently available. A chit icon inside the color magic indicates that the color is available from an enchanted color chit.
  • SP phases enchant chits or tile based on a choice at play time.
  • Recorded moves that become illegal due to an enchanted tile roadway vanishing are handled correctly.

Saturday, February 26, 2005

Resting and Die Rolls

Here's what's new:

  • Finished support for doing the REST activity. When you do resting, a window pops up and allows you move chits around and make change. Note that the window recognizes if you record multiple consecutive rests, and lets you work with them as a group, following the rules, of course!
  • Mostly finished support for modified die rolls. The application recognizes characters with special abilities (ie., Woodsgirl rolls one die for SEARCH, MEETING, and HIDE in the Woods), and treasures which enhance (or hinder) your character (ie., Deft Gloves while Looting).

What's next? I'm thinking about putting in some code to handle Victory conditions. Though I've never been fond of this part of Magic Realm, I want to be faithful to the game in the first version of RealmSpeak. Plus, I thought it would be fun to have a live score in your character window as you move towards completing each of the conditions, much like TurboTax shows your refund/payment as you work on your return.

Wednesday, February 16, 2005

Lots of Progress

I think I may have come over the hump of this being a "wishful thinking" project, and moved into the plentiful valley of "playable game". Let me outline what the application can do now:

  • Record all actions with phases applied appropriately (Recording Move actions now handle all rules of movement, including caves, mountains, hidden paths, and secret passages!)
  • Once all players have finished recording, the game moves automatically into the game play stage: character turns are chosen at random (no Swordsman support yet) and each player, one at a time, is prompted to play out their recorded turn.
  • Turn Play is fully functional, and works for move, search, and hide actions.
  • Search works for Peer, Locate, and Loot tables. You can make discoveries (paths, passages, treasure locations), and they appear in your discoveries window. Yes, you can loot treasure locations, and collect the spoils (no support for die roll bonuses yet)
  • Hiding works (no one-die or other bonus support yet), and is required if you don't want to be blocked by monsters.
  • Summoning monsters works - a monster die is rolled, and all players are subject to its effects at the end of each of their turns. A character that fails his/her hide rolls will be blocked if encountering monsters in clearings. No support yet for character/character blocking.

What next? I want to start dealing with character action chits, allowing them to be fatigued when looting treasure locations, and allowing them to be rested with rest actions. I also want to have weapons be alertable, though the point of this without combat is rather silly right now.

What about combat? My goal right now, is to finish the Magic Realm game WITHOUT combat. It will play like the 1st encounter of the 2nd edition ruleset, where monsters are nothing more than annoying blockades. Once the bulk of the game is together, I'd like to schedule a play testing session with a number of interested people, and make sure everything is working as it should. Once I'm confident the game is solid, I'll start thinking about how to handle combat.

I would like to make a plea right now for ideas about how to present a combat on the screen in a manner that doesn't end up being too complicated, but still stick to a general look and feel of the game. If anyone has any ideas, please leave me a message!

Saturday, February 05, 2005

On a Roll!

I'm currently finishing up the code that will handle how players will record actions for their characters. Right now it recognizes how actions (basic, sunlight) are handled, and can deal with all the rules of the map (caves, mountains, etc.). When a character cannot do a particular action, the corresponding button is grayed. The interface is coming together. Here is a preview. If you are wondering, the buttons across the top handle all the necessary input into the action field for the current day. In order, they are:

  • Finished Recording
  • Delete action
  • Hide
  • Move
  • Search
  • Trade
  • Rest
  • Alert
  • Hire
  • Follow
  • Spell
  • Peer
  • Fly
  • Remote Spell
  • Cache

I think that covers them all. As it stands, about half of these actually work, including Move. When you select Move, the map is shown, and you choose from a number of available clearings. As you plot your turn, your entire path is plotted in yellow on the map.

That's all for now!

Sunday, January 30, 2005

Is there any news?

Well, as a matter of fact, yes! It's been over a year since I've even touched this code (closer to two years), but I felt it was time to take a crack at it again. Interestingly, I've made some big progress, and I thought I'd share it with you.

First off, I decided that I really didn't like my idea of "live rendering" the game tiles (see below). I thought it would save me having to keep tile images in memory, but all it really accomplished was a slowly drawing, and very ugly map! I found a few ways to conserve memory, and redesigned the map layout to use tile scans. Since my tiles are fairly beat up, I decided to use the tile images that Brian has on his website (assuming he's cool with that!)

Curious to see the result? Check out a high zoom and a low zoom. Zooming is smooth, and controlled by the mouse wheel (I should probably have some way to do it in case you don't have a mouse with a wheel...) The map is moved around by clicking and dragging the field of view around. It works quite well, and is very intuitive (I think). I currently have all the logic for summoning and movement built into the code, so the map handling is done, for the most part.

I integrated the new map into the RealmSpeak application, and it works rather well. The application currently works fully well online, meaning that multiple players can join in, and add characters to the board. I improved the networking code so that data transfer is at a minimum, and information is passed quickly enough to not hinder play (DSL anyway - haven't tested 56K modem...)

I just started putting together the piece of the application that will resolve combat. This is just in the very early design stages, but is coming together nicely. (view)(view)

Any alpha-release projection? Well... ah... no, but that probably doesn't surprise you. As my life sometimes intervenes in my "free-time", and my interest sometimes wanes from this project (say it isn't so!!), I can't promise anything anytime soon. What I CAN say, is if anything comes to pass, you will find it on this page. I'm hoping I'll have something together that will pass as an alpha version in the next couple of months, but don't hold me to that!

I can say that I've finished my Wizards project (barring a few bugs), so it does happen once in awhile.

Until next time...

Saturday, January 29, 2005

Prior to January 30...

Added 7/8/2003:

Why no updates? - I got as far as the server/client, and burned out a bit. I am planning to revisit this game (I put too much work into it to drop it completely), but for now, its on the backburner. Lately I've been putting my efforts into my Java conversion of another boardgame: Wizards. Check it out!

Added 3/11/2003:

Running Server/Client (view) - This is a screenshot of my Magic Realm server running with three connected clients, each playing one character.

Added 2/9/2003:

GameBuilder (view) - I wrote this tool to create/edit pieces in a master XML file. I currently have an XML file for MagicRealm that could be easily used in a number of ways (MySQL import, non-Java code, etc). What is XML? Look here.

PieceViewer (view)(view) - This is a java component that can hold and display any number of Magic Realm game pieces. Note that these are not scans here: each piece is rendered based on information retrieved from the XML document.

MapViewer (view)(view) - This is a java component that can display an assembled game map. A slider allows the user to adjust the scale. You'll notice that I opted to recreate the tile layout, rather than capture the bitmaps. Though I'd prefer to have the bitmaps (may be an option later), they are just too large to handle well in memory. The tile layout is completely captured in XML, and can be faithfully regenerated by the code. This map was built automatically.

TileEditor (view) - This is the tool I used to recreate the tile layouts, path connections, clearing details, and all the various curves.