Monday, September 28, 2015

Dev Diary Week 3 - BattleTech Design Software

Not much progress this week code wise, but a lot when it came to implementing everything in the Interstellar Operations Beta, and a lot of cleaning up of my data to support all the new features and systems in IOBeta.  

I am already running into the headaches I knew I'd get without the ability to get questions to rules answered.  Some of the unanswered questions I have:

- Can ProtoMech/Battle Armor LRM/SRM's use special ammunition?
- Do the prototype and clan improved SRM/LRMs have torpedo versions?
- Is requiring "fusion", like a Heavy Gauss Rifle, the same as requiring "fission"?
- Do sub-capital weapons require power amps?
- Can sub-capital weapons on a large support vehicle utilize a targeting computer?
- Are all the various kinds of ATOW ordnance available to the Clans?
- The Mechwarrior combat suit has a common date before its prototype date.
- The Mechwarrior cooling suit (CL and IS) have a prototype date before its introduction.
- Is the Artemis IV Prototype really 1 slot on a support vehicle?
- A lot of the hardpoint weapons (like bomb's) don't have weights.
- Many capital weapons with ammo don't indicate if the BV is per shot, or per ton.
- Since a Long Tom arty can fit on a superheavy mech, can it split locations and be on one?
- Was ATM ER Ammo introduced by CSA, or CCY?
- How much damage do iATM improved inferno rounds do in an explosion, and are they subject to inferno heat ammo explosion avoidance?

Another huge issue, kinda related to the first item above, is ammunition.  Typically I would track ammunition like other design software had.  That would be a year of availability, a cost mod, a BV mod, and maybe a damage mod.  The thing is that simply isn't sufficient.  We now have weapons that have a different effect for each ammo type, different availability for ammo types, and all sorts of unique situations where trying to track the ammo so "lightly" will simply lead to limitations and issues in the future.

So, I have to track each ammo, for each weapon class separately.  Ammo can change any parameter of the weapon itself, from rate of fire, to ranges, to damage, costs, BV, even the battleforce abilities.  This allows complete versatility in the future to bend to whatever possible ammo CGL thinks up for its 3rd Generation Tech.

Right now, I have 16 LRM systems (4 classes, each of Inner Sphere, Clan, Clan Improved, and Prototype), 12 SRM systems (3 classes, each same as LRM), 4 MML's (4 classes).  I have 23 LRM and 17 SRM ammo types (11 and 7 respectively are IS only).  On top of that, I have 30 more types of LRM classes for ProtoMechs and BA, and 18 more for SRM.  Confusing right?  That can be up to 2740 types of ammunition combinations.  If the PM/BA SRM/LRM's don't get special ammo, that reduces it in half or so, but still, daunting eh?

And yes, it has to be done that way in order to be versatile enough for the future, and for the data to be used in other sources, like a real time megamek game.

Another thing I have to do that most design software never did was actually look at all the data.  Many games may just say "C" for cluster, but I can't do that.  I also have to track the # of clusters, the damage each, and the damage grouping.  I can't track artillery as a string like "20/10", but I have to track each of those as a number.  I can't take those string like shortcuts and let players interpret them.  I *have* to be able to have a computer read every single value, and that means no strings.

A potential huge issue is all the rumors that BV2 will be replaced with something else.  I may have to revisit every single piece of equipment to update some value whenever that is adopted.  While a pain sure, it shouldn't prevent me from quick adoption of whatever it may be.

CGL needs a MUL for equipment.  I guess I could make one, but I gotta finish this first :D

My goal this week is to finish the data update.  Hopefully by next weekend I'll be coding again.  What is really funny is even though I'm not coding, it is constantly on my mind.  As of right now, the code itself seems trivial (though time consuming) in comparison to getting all the data done.  The application is just a skeleton and will just read in all that data to determine how it functions.  The program will be data driven, making for easy updates and a long lifespan.

Thank you for all the support.  If anybody wants to help I won't accept money, but your time could be useful.  Some of the things I'll need are:
- Somebody to translate everything to German, or any other language.  This will be later once the application is in beta.  I simply can't do this, or would have to rely on flaky online translators.
- Somebody to go through all the record sheets, get the best resolution PNG of an empty version, and then plot the X/Y coordinate of everywhere data can be inputted as well as the font size, and maximum length/height.  Also the coordinates of a region where the armor dots will go.  This takes me a long time to do, as there are a lot of record sheets, and it would help me focus on the coding.  These will be user configurable, so if they wanted to mod their record sheets they could.
- Somebody who can go post on the forums in the questions area all the questions I have.  I'll email them a question, they can send me the link for it so I can keep track.

And finally, for the heck of it:
Whoever can get me reinstated on the official forums (so I can ask my own questions and pimp my product), I'll send, at ZERO cost, a full company of a dozen unassembled, unseen, old school lead, Battledroids Marauders.  If you can get CGL to officially sanction my designer, I'll send you 2 companies :D

No comments:

Post a Comment