Battletech Live

Online, Turn-Based Battletech – Development Logs

I Hate Microsoft

I have two computers at home.  Or, at least I did.  One of the machines is an older Athlon 64, 2.2GHz with 2GB of ram.  For most things, the machine could handle it’s own, and the 8800GT gave it a pretty healthy boost.  For select applications, the computer runs Windows XP but for most things, Ubuntu 9.04.  A couple weeks ago, I began having problems with BSOD’s, system halted messages within a few minutes of logging into windows.  I continued to have no issues at all in Ubuntu, so I concluded that it must be a Windows issue, probably a driver of some sort.  I went through the process of removing all hardware drivers from the system and all unnecessary applications from Add/Remove Programs and reinstalled the drivers.  Hello to Windows Genuine Advantage and the activation process.  The system worked fine for a few days, then suddenly, the mouse started misbehaving.  Even before logging into the system, when moved, the mouse would jump from place to place on screen.  This happened even if using a Diagnostic Startup, which theoretically should disable just about everything.  Worked fine in Safe Mode.  The problem seemed to only affect the mouse.  If I got to a point where I could type and see responses, it was still quick, but the mouse was horrible.  I looked at running services and looked up the ones I didn’t recognize, but in the end, didn’t find anything unusual.  At this point, I decided just to kill it.  I used Ubuntu to copy off all of my data and put the videocard in my other computer.

My second system was originally put together as an HTPC, but was found to be kind of a hassle, so it was brought back into my room as a secondary XP “clean” box.  It is an XFX 630i/7150 with a Pentium D 930 and 4GB of DDR2-800.  I took all of the extra hard drives out, leaving just the boot volume and the DVD.  For every day use, I found the hard drive to be way too chattery and sluggish.  I decided to switch out the drive with either two or three 500GB Western Digital drives.  These drives make a slight hum, but they never chatter like the Seagate 160 does.  On Wednesday, I swapped out the Pentium D for a Core2Quad Q9400.  The processor runs on a 1333MHz bus and has 4MB of L3 but because the memory is limited by 800MHz and only single channel, and the hard drive taking so long to come up into Windows, I haven’t noticed a big difference.

Switching out the drive:  The motherboard has four SATA-II ports and I have the Seagate 160GB drive and a Lite-on SATA burner.  I plan to put in either two or possibly three drives to replace the Seagate.  Obviously, 5 items cannot plug into four ports, so I begin to think about how it can be done.  I put two drives in and enabled RAID in the bios.  The SATA ports are labeled as 1-4 on the logic board with 1 in the upper-left, 2 in the lower-left, 3 in the upper-right and 4 in the lower-right.  I had my Seagate plugged into 1, and the DVD plugged into 2 with the two Western Digital drives plugged into 3 and 4.  When RAID is turned off, the Phoenix bios detects all four devices.  If RAID is turned on, you must also select which controllers will be used for RAID.  Since I plan for the Western Digital drives to be the boot drives, I shut everything down, and plugged them into 1 and 2, with the Seagate in 3 and the DVD in 4.  In the BIOS, 1 and 2 are designated for RAID with 3 and 4 as disabled (as far as RAID is concerned).  When the system completes POST, it shows a hard drive on 2 and the DVD drive on 4.  That’s the first oddity.  Even though they’re labeled one way on the board itself, the system detects them as different numbers.  Using the Mediashield BIOS, I set up the striped array, which detected the drives as being in positions 1 and 3, which also matches what the Phoenix BIOS reads, so the labeling on the logic board is wrong.  In any case, hardware is working up to this point, so I don’t care.

The fun part:  I boot to the XP CD and as it’s loading drivers, I specifically see it loading NVIDIA RAID and another NVIDIA driver that went by too quickly to read.  After it finishes loading drivers, I see the message Starting Windows Setup, then a Blue Screen Of Death as the system halts.  I took the XP disk out and tried booting to the Seagate 160GB drive and got the same system halted error.  I went back into the BIOS and set the SATA mode back to IDE and booted into windows just fine.  So I started looking around and found that I’m not the first person to experience this issue.  XFX doesn’t really have much of anything for troubleshooting on their website.  They list PDF articles about how the process should work, but they don’t address what to do when things go bad.  Since it’s an nForce motherboard, I started looking around on NVIDIA’s website and forums.  In regards to Mediashield, they state that when in IDE mode, Windows has the drivers necessary to recognize the drives and complete the installation, but when setting it to RAID mode, even if the drive in use is not included within the RAID, it requires external drivers to get it to work.  And they gave directions.  The problem is that I don’t have a floppy drive or disks.  In times past, I’ve made bootable thumb drives to perform bios updates and such, so I tried the same thing here.  I borrowed a USB floppy drive and copied the raid drivers to the disk.  I adjusted settings in the bios to get the system to recognize and even seek the USB floppy drive on boot, but XP claims I don’t have a floppy drive, so won’t read from it.  I tried the same thing with a thumb drive, getting the same results.  Next, I dug up an old 34-pin floppy drive and tried it that way.  It recognized that the drive was there, found the drivers and installed them and continued on to “Starting Windows Setup”.  I get to the screen where it says to press Enter to set up windows or R to repair.  But even though it was working just fine when I had to press F6 to load drivers, select the drivers and install them, the Windows installer is now not recognizing input from my USB keyboard.  And, the keyboard had been working just fine earlier when the BIOS was in IDE mode, detecting, partitioning and formatting a single drive.

While I realize that the issues I’m experiencing are most likely caused by a combination of factors, I still choose to hate Microsoft, just because it’s the right thing to do.  Someone asked me, why do this now.  Why not wait for Windows 7?  Windows 7 officially releases on October 22nd, which doesn’t help me today.    At the same time, I have XP now, which using today as point zero, costs me nothing.  And I’m not going to spend $120 – $320 for one of several versions of Windows 7 and do Microsoft’s beta testing for them.  If and when I go to Windows 7, it will be six months to a year down the line when other people have found the bugs.  For now, I’ll take my $120 – $320 and put it toward a motherboard and memory that can use the Q9400 to it’s full potential.

(I’m going to format the pair of drives, then use EASEUS Disk Copy to do a bit-level copy of my existing, working version of XP from the 160GB drive to the RAID array, maybe putting the 160 in an external enclosure so that I can run three drives in a RAID-5.)


September 25, 2009 Posted by | General | Leave a comment

How the heck did they do that?

I started looking around last night, on a partially unrelated subject, Google Maps for Sim City, and came up with some interesting results.  One site listed a 3D landscape of Hong Kong, apparently because the Chinese government doesn’t like it when it’s country is photographed in high resolution.  The article then linked to, a social networking site that uses a 3D city interface, in this case made of New York.  Both of these rock unbelievably hard.  The detail is good and the pages render very quickly. If Battletech Live could be made with this sort of detail and still conform to hexagon tiles, it would kick butt.

Picture 15Picture 16

September 24, 2009 Posted by | Project Development | Leave a comment

Update to the Battletech Live map generator.

To add an update for what’s going on in the map editor, arrangement has changed slightly.  I was having space problems when the panels expanded vertically, so I changed their direction. The first expansion is vertical and the second is a horizontal span.  I’ll need to do calculations to detect the screen size of the user’s monitor and add rows.  The buttons that were along the top have been moved to an info panel to the left.  Right now, things are just tossed into it with no real organization.  I show five categories at the top and I’ll be adding at least one more, for ground cover such as leaves, dirt and frost.  Tonight, other than installing a new processor in my home computer, I’ll be adding one interesting feature.  When you select a tile, the active tile image in the side menu changes to reflect what you have selected.  The second and third buttons going across the top, show trees and roads.  The backgrounds of those tiles will change to show the active tile so that you can get an idea of what the tile will look like before it’s applied.

Shown below, the fifth category is open.  This holds items for raising and lowering the elevation of individual hexes, rotating the hex clockwise and counter-clockwise, viewing an exploded version of the selected hex so that individual layers can be manipulated and one of a pair of buttons that will allow for an existing hex to be cloned or replicated from one place to another.  I can’t think of much else that a user would want or need to do to an individual hex.  All of the images shown are extremely small 46px x 40px thumbnails, while the originals are 429px x 372px.  I’ll be adding a feature to allow users to preview the hex at full resolution so they can decide if the selected combination of textures is really what they want to use.

Picture 15

September 23, 2009 Posted by | Project Development | Leave a comment

Early production work on the Battletech Live map editor

I began working on a map editor last night, digging through my stored files for images to use as map tiles.  Many land textures are easy to come by with a simple google search.  Others, such as streets and buildings, I’m going to have to put a little more work into.  Most likely, I’ll make a rendering of the individual buildings available in the game, so the list will grow over time.  Clicking on a menu tile, makes that tile active, available for placement on the map.  I’ll be working on a listener for shift-click, allowing all tiles in the row from point A to point B to be placed simultaneously.  The trick is that there are three axis in a hex map, not just two.  Some of the other features I’m working on is a fill-all button that will fill all hexes with the active tile and a fill-empty button which will fill all blank hexes with the active tile.  Logic will be in place to prevent users from placing houses on top of lava fields or in water.  When elevation is built, it will tile the wall texture according to the hill texture used.  Another is a random-facing toggle so that if the map is filled with all of the same tile, they aren’t all facing the same direction. I’ll be adding a toggle button that will show the user any unreachable tiles based on a walking BattleMech, jump jets and various vehicle types.

Presently, when a hex grid is laid down, the existing one is removed.  I’ll be setting it up so that if the user increases the map area, it just adds new hexes along the selected edge and if they shrink the map, it warns the user before doing so.  Lastly, I’ll be working on an image preview so that the user can see the map rendered using the Alternativa3D engine.  Fun stuff, lots of work.

Picture 6Picture 8

September 19, 2009 Posted by | Project Development | 1 Comment

Building maps with Battletech Live.

I’ve started designing a map editor for Battletech Live.  Over the last several days, I have been building a large map based on an image taken from Google Maps.  Several days to produce one map is much too long.  The map editor will have buttons similar to Photoshop, able to open and close menus through a click.  So far, I’ve got one button for tile selection, one for landscaping, one for roads and one for buildings.  I’ll have a pair of buttons for changing elevations, so when plus is selected, clicking on a hex will raise it’s elevation, etc. I’ll have presets for map size as well as plus and minus buttons for tweaking X and Y values.  I’ll have logic in place so that you can’t put water on top of a hill and when a water hex is raised to the same surface as surrounding terrain, the hex type changes to match.  I also want a toggle so that users can easily identify unreachable hexes.

Below is the map, set up in Photoshop to determine elevation and hex type.  The lines are to be roads.  Needing to color each hex by hand is a major pain.  No more.


September 18, 2009 Posted by | Project Development | Leave a comment

BattleMech Selection page

Today, I began capturing wireframe models from Lightwave for use in Battletech Live.  When selecting a unit for the singleplayer demo, the player will move through the available chassis’, as seen below:

Picture 5

Picture 6

September 9, 2009 Posted by | Project Development | Leave a comment

Texturing trees, rocks and BattleMechs.

More texturing work is done today, getting trees and rocks in place, as well as placing the first BattleMech.  From my previous tests, I remember that something was causing textures to shred in all but one axis.  It’s doing that again, so I’ll have to figure out alignment, but for now, things are going well.  I need to build controls for camera pitch and rotation, then get surface contours done.  The second picture shows how close you can get to units, but I want to get closer still.

Picture 2

Picture 4

September 7, 2009 Posted by | Model Rendering Tests, Project Development | Leave a comment

Singleplayer Gameplay Demo

Production of the gameplay demo is underway.  The concept is that the user is given an introduction page where they select a unit type, where it will display a basic record sheet, detailing the armor rating, available weapons and an illustration of the unit.  When the player begins, they’ll be directed to either select a hex along the starting edge of the map, or perform a combat drop which will use the entire map to select a random hex and hex facing for the starting point.  From there, the player will go through the movement phase.  The reaction phase will take place, where both the player and a fixed opponent have the opportunity to turn to torso-twist a single hex side to face the opponent.  (The single enemy on the field will be a randomly-selected unit, but will remain stationary except for torso-twisting.)  As the game proceeds, both units can fire and be fired upon, taking damage as normal.  Since the target is computer controlled and doesn’t move, Initiative doesn’t really matter, but the rolls will take place as a proof of concept.  Rounds will continue until the player destroys the target or the player is destroyed by the target.  I’ll be working on landscape features tomorrow, textures for trees and rocks so that the map can be made to look as much like the paper sheet as possible.

Picture 5

September 6, 2009 Posted by | Model Rendering Tests, Project Development | Leave a comment