Saturday, March 31, 2012

Some new stuff...

I made a quick BT based random system generator using the methods in the ComStar book.  You can access it at http://goodsects.gotdns.com/btrandomsystemgenerator

Here is a very early version of a method to map out entire worlds, accurate to single BT hexes (well there is no hard coding, I've rendered 7.2 TRILLION BT hex worlds which is basically earth accurate to 100', but there are no defined limits).

The map in the upper right is a satellite view of a planet.  Each pixel on that map is 12km.  The map right under it is just a zoomed in version.  The map below that is the same map, but showing the biomes instead of the satellite imagery.  The 9 little boxes to the right determine transitions, they'll go away when I finish that code.



The big map on the left.  I don't have water transitions at all yet, and my transitions between terrain types looks like crap.  I need for the terrain to have little fingers that go in and out, like a puzzle, not the random scattering of both terrains where different terrain types meet up.  The code isn't real optimized either.  But, the overall random placement of terrrain on each region (12km is a region) is done with perlin noise, and I'm happy with the results. Each of those 9 maps that are in that 1 big window are 24 hexes across (so you can see the terrain), but in the final version they'll be 300 hexes across (I've already rendered this so it does work, but it takes a few seconds ;)).  This view won't be used much, but I have to build the methods to map out an entire planet, so you can move your battalions/lances/companies/corps/etc around on the map.  I'm using some megamek hexes as I simply don't have a good set of hexes to use.  I need one that has all the tacops combinations, and some random variations between them to avoid patterns, but this will work for now and those can be added later.  I haven't added the height code yet, but it'll be much like the existing stuff and not be too hard to implement.  Algorithms really kick my butt tho so every little stupid thing takes me way longer than it would an intelligent person.

This map will allow things like persistent damage, dynamic weather, and any number of objects (buildings, destroyed units, whatever isn't terrain) on a planet to be defined and interacted with.

My MUL is now 60% complete.  I've been working hard :)  This is much like the official MUL, but I'll have everything about every unit, like heat sinks, weapons, armor per arc, critical slots, etc, etc.  Eventually I'd like to add fluff too, but it may just be too time consuming for me.  If I had the fluff added, I'd be able to print a selection of units that'd look almost exactly like the official TRO's or RSs, except hopefully without all the errors :)

I'm pretty sure this is an old blog, but it is dated recently.  The whole concept of range with 250km hexes is about the stupidest thing I've ever heard.  I've played hundreds of wargames, and never, ever, ever, at a scale anywhere close to that, do units have a "range".  Blogs like this really make me question the ability of TPTB to produce a decent strategy game.  This saddens me, as its the one thing I've been waiting for since I first read the 4th Succession War Atlases so many years ago.

Oh, and about Congress.  I'm thinking I will forget it.  It looks like I'll have to spend 2 full months, going house to house, to get anywhere close to 500 signatures I'll need.  Without a dozen or so people to help me, there is no way I can get my name on the ballot.  I thought about making a youtube video to see if it could help recruit volunteers, but I don't think people tend to like me much as I'm a bit abrasive, so maybe I should just find another way to help save my country :(

Saturday, March 24, 2012

Mid-Month Update

Since I've been happily unemployed the last month or so I've been able to dedicate a lot more time to some pet projects (My wife and I were smart enough to ensure we could live off only the lowest salary, so no rush in that job search).


So here is what I've been working on, BT wise:

  • I started working on an intermediate version of BT, something between QS and BT.  Then, sitting there going over notes I made years ago on such a system, I said "wtf am I doing?  Computers are the future..." and dumped it.
  • I have been working on my own MUL for a while.  I went through every single product, wrote down every single unit and every product it was in (not just the latest).  I finished that a while back, and started adding in all the data needed to construct those units (so no fluffy stuff like capabilities or manufacturers).  It is now 34% complete (27 MAR update, 47%).  I am saving dropships, space stations, and warships for last since they have wacky weapon bays, and those represent about 4%.  I've finished all battle armor, aerospace fighters, conventional fighters, infantry platoons, and many conventional vehicles.  I've also done quite a few mechs, but as my percentage says, I still have 2/3rds to complete.  This is basically like the MUL, but it'll actually have details of what every mech has, and eventually you'll be able to select say 50 mechs, and print a TRO, that comes out just like the TROs printed by CGL.  I'm not 100% sure this will be available to everybody though, as I don't want to take away from CGL sales.  Perhaps they'll let me link to them so if you buy a PDF version of a product, you get a login.  Anyway this is a major focus.
  • I started going through to write a quick aerospace fighter game.  Real time, control a fighter and fight it out online against others.  There are 2 things that stalled this.  #1 was designing an interface, I made one up, but I think it looks like crap, see for yourself:
        The other thing that stalled it was the way I was coding it.  Basically any future thing like this I'll be doing in DirectX.  I currently have an engine that allows me to recreate a dynamic control (I completely redid the Dawn of War 2 interface in DX to test it) and have a large chunk of work done in a sprite editor. Most of the stuff on this page works (not the blinky lights or animations yet, and some other controls need some tweaks), but have a looksie:

      That is a Behemoth tank from MegaMek, with a separately skinned turret (I need to split the smaller turrets too, but oh well).  I'll need a lot of graphics like this in order to make a real time game, and I simply don't have the talent for graphics.  Volunteers feel free to apply :)  I need to finish this editor before I can move on to other parts of code, like networking, particles, and the landscape engine.  Also, this is a DIRECTX render of the tank, not some GDI thing, its actually a sprite rendering engine I wrote for DirectX in vb.net.  However VB.NET support, and even C# without using XNA, is pretty scarce online with DX, so I am not real sure I can complete it with all the bells and whistles.
  • I worked a bit on a method to map out an entire planet using the smallest amount of drive space as possible.  I think I got it down to a reasonable size, but then I hit a major snag.  Basically I need a method of dynamic terrain generation for a world (right now I use Fractal Terrains), and dynamic terrain generation for 10km regions on that planet, with transitions between regions and some uniqueness.  Fractal world creators are all quite lacking IMO, and none produce very realistic results in many cases.  I started tinkering with the idea on "how to generate a world" with my poor math skills, but can't get any further because of those skills.  Basically, here is how to generate a world:
    • Create some polygons on a planet with fractally inspired lines (but still pretty linear).  Essentially these become your "plates". 
    • Determine how these plates interact.  Basically they can be grinding against each other, separating, or closing.
    • Plates pushing together form a mountain, pulling apart a ridge and valley, grinding a bit of both.
    • Then, based on the movement of the plates against each other, move them for millions of years.  As they move, determine wind (based on planet rotation rate, temperature, and axial tilt) erosion based on the soil type (stuff that was once an ocean erodes fast, rock up from the bottom doesn't) and also calculate rainfall and water erosion (and rivers/lakes).
    • Volcanoes typically form where plates are together, but could randomly form anywhere.  They can change terrain dramatically.
    • Add some random big meteor strikes, they make big holes
    • Depending on temperature, occasionally have some glaciers that simply move down from the top of map, eroding the soil like wind/water.
    • I think this would all work, but I'm too stupid to figure out how to code it :(
  • I am finding a LOT of errata going through books entering in units.  Obviously CGL needs some automation on designing/printing units.. I'd help them, but they don't ask :)
Thanks for reading and the comments (and private emails)!

Tuesday, March 13, 2012

March's Ramblings

Been out of a job an entire month now, sure doesn't seem like it, and I haven't been nearly as productive (non-bt wise anyway) as I would have liked, I think waiting for my severance and all the cash sent my job not really have "closure" for a few weeks.  Its wacky working somewhere 7 years and not being there anymore.  I've never even lived anywhere over 2 years before, so for me it was, well, weird.  However, its quite nice to have time to do things, and not always feel stressed.  I highly recommend not working if you can get away with it ;)

Ok, onto Battletech!

First I'd like to say thank you VERY much to CGL for producing the Liberation of Terra historical.  I am *SO* much more interested in 2500-3025 than I am 3075+, and the book is pretty darned good.  I would have liked a few more #s (like how many of what kinda SDS per system, and a breakdown of all the divisions, all that detail stuff) but its a great purchase!  I also bought the 2 hard cardstock things, just to support them, as I haven't played in a long time and doubt I will anytime soon.

I made a HUGE amount of changes to the MUL_QS thing, its really a finished application now.  I do plan on one more update I think, and that'll be reading in data from a CSV so you can make your own BF/QS stats.  I was thinking of using the SSW BF file, with a column added for image location and skills.

I spent a lot of the last few days helping out the upcoming fan produced TRO3063 over at Battletech Reader which is coming along nicely, and I think a lot of you will enjoy.  But it gave me some ideas.

Idea #1:  Using a list of SSW files (or whatever format I eventually go with, probably my own), create your own TRO.  This would take all the fluff/images and stuff from design software, and create a PDF that reads like any modern TRO.  Same thing with a record sheet file.  If I could produce something like that, CGL could make new TROs and RS's with a lot less errors a lot easier.... *IF* they used it.

Idea #2.  A Reunification War board game.  I played with this earlier, made a map and some counters, but just didn't have enough detail to finish it out.  I started doing the same thing with a Liberation of Terra game, basically a map, maybe 3' x 3', that lets you use 1 counter per division (or maybe corps) and slug out the battle towards Terra.  I decided I'd wait until the next volume to pursue it further.

Idea #3.  A real time version of battletech, with a top down view, utilizing megamek style icons with camo applied.  You would control 1 unit (perhaps more later), initially just 3039 units and basic rules.  I actually wrote up a system that allocated damage and criticals to mechs using megamek data files.  It worked great, then project creep set in, and I got off track.  I eventually decided to just have tanks for now, as the rules are far simpler (loading up all the crits on mechs was an issue, split criticals, artemis, multiple slot items, it all just got annoying), and could have something pretty soon.  This leads to #4.

Idea #4.  For *years* I have wanted a fully blown game of BT.  By fully blown I mean you control every single lance (or just the regiments if desired) for an entire house, and battle it out.  If we had 100% data on units, production numbers, planets, etc, I would have finished this years ago, but since I never wanted to fill in the blanks with my own stuff, it always stalled.  Stupid reason, but it wasn't like I had a deadline.  Anyway, based on #3 I decide I *had* to have a map system to go further.  I designed this map system years ago, so I could map out an entire planet in 32mb or less, with single hex accuracy and persistency.  So I finally wrote it, and its working.  My 10km "regional" maps are all pretty darned boring, but the whole system works, and though all terrain will be flat with only trees and rough, I think I may start moving forward with a real time game based on this.  This means with a mech moving 12 MP per turn, it will take you nearly 2 weeks of *REAL* time to run around the entire world.  Yes, its *that* big, and honestly I have no idea why games aren't all that big, technology has been here to do it for years.

And the bad news.  I talked with the Secretary of State today, and apparently I processed my paperwork correctly, so I can indeed be a US Congressional Candidate (District 32, Texas) in 2012.  I was hoping I messed it up, as I do NOT want that job, but feel it is my duty to do it until somebody who gives a crap about their constituents steps up and lets me forget about it.  And this year for Texas elections are wacky, we had some redistricting that went to court, and tinkered with our election cycle and areas.  As I refuse to run as an idiotic republican, an idiot democrat, or any of the other crappy parties, I am running independent.  This means I need 500 signatures to get my name on the ballot.  Normally I get 30 days or so to do that after the primaries, but this year I get like 3 months!  Woot!  So I need to knock out my website, some various flyers/cards/signs, and start going door to door.  Hopefully people will want to help with their time, as I refused to accept any monetary donations from anyone, as people may have a different amount of money, but everybody has 24 hours in a day.  Anyway, back to BT, assuming you read past this, most people *hate* talking about politics, even though its their own lives that suffer when they ignore it.

So I'm staying focused on this project this time.  This last BT project I actually named "DoItOrForgetIt".  If I don't finish this, or start to stray, I'll give up on it.  It has been nearly 10 years since my first thoughts of it, and without progress I can call it a dream and move on.

There are a few parts of this last project:
Part #1.  A designer for every type of unit in the universe.  The interface is by far, the hardest part of this, and the one that has caused me the most headache.  However I'm about 30% on my way to finishing it.
Part #2.  A system to map out and fight on up to an entire planet.  Though I don't have random 10km regional maps like I'd like, what I do have no will work good enough to continue.
Part #3.  Data entry.  I need everything in the universe put into a computer format.  I have a *LOT* of this done already, and can fill in the blanks with random stuff if absolutely necessary.
Part #4.  A stellar interface.  This is much like my Cartographer was, but with more game functionality.  This will be the core part of the game system.  I've written 90% of it once, so doing it again (my code wasn't real efficient, and I want directx in the next version) shouldn't be a problem
Part #5.  Automated battle system.  This will scale from you controlling a single trooper on the battlefield, up to launching a full 8 RCT's against Tikonov with just a few mouse clicks.  The level of detailed desired is configurable.

So, I'm off to work on #2 and #5, those will be my focus for a short time, followed by going back to #1, adn lastly #4 and #5.

If *anybody* can help me out with 10km tileable map generation I *really* could use the help.  My maps will suck horribly until I get some, as I just can't seem to get a decent grasp on how to create it.

Oh, and I have a stack of battletech and starfleet battles books if anybody wants them, I put an add on craigslist  but haven't gotten any hits.  Pay for shipping and $10 for my time and *all* of it is yours.  Its a stack of books like 15" tall, not sure what that'll cost to ship.  If your local (DFW) and want to stop by its yours for free.