what i've always wanted to do, and i'm try just slowly |
what i've always wanted to do, and i'm try just slowly |
Aug 29 2003, 09:09 PM
Post
#1
|
|
Target Group: Members Posts: 23 Joined: 26-February 02 Member No.: 245 |
Sorry this turned out to be long, please be gentle.
One of the things i've always wanted to do is make a calculator of sorts for vehicles, guns, and decks. The problem i've always had with programming those things is programming the options available. Then you have usually two parts to it, first a set of options that are for creating the base item, then a set of options to adding to the base item or enhancing an item from the books. What i've been looking into is not creating a program but putting together some ideas, specs and what not for objects/classes that can be used by others to put together a general tool or one for a specific purpose. One of the first issues was to think of a way to handle option incompatibilities and required options. This was complicated by the fact that some options allow another option but only upto a specific rank/level. So I tried to figure out a way to give each option/level pair a unique id for incompatibility checks. My first thought was a database table setup with link tables and predefined queries for checking compatability of options. That's not really cross platform, would linux users need to compile and setup a mysql database, and what would mac users do. So i thought it best to keep things simple and put together a base format for the data and allow the programmers of any platform to restructure it for their set of api's. Windows guys can roll the data into a access db for their com objects and linux guys can produce a generic dbase format or require mysql. So here's the idea and example of this. srid = TONNNVV T: type of equipment, F-firearms, V-Vehicle, D-Deck, P-Program... O: Option group A-Z, NNN: Option in the group, 999 if base 10, 4095 if hex VV: Version, used for levels, max 99 if base 10, 255 if hex Inclusion and exclusion checks TONNN* = all options matching the TONNN base TONNNVV+ = only options greater then or equal to this VV of option TONNN TONNNVV- = only options less then or equal to this VV of option TONNN TONNNVV= = only options equal to this VV of option TONNN <option> <name>Bullpup Configuration</name> <srid>FA00301</srid> <dp>+25</dp> <fcu>-0.5</fcu> <con>+2</con> <notes></notes> <incompatable>FA011*</incompatable> <required></required> </option> <option> <name>Improved Concealability (1)</name> <srid>FA01101</srid> <dp>+20</dp> <fcu>-0.25</fcu> <con>+1</con> </option> The next thing that i think would help would be to create a pseudo language of sorts to easily define how options modify the item they are being applied to and maybe one day for skill and attribute checks. For firearms most DP cost are static but smartgun links are based on the the frame DP cost, something like (frame.dp * 1.5) could be done. If something was defined so that every program would know that frame.dp means the dp cost of the frame this item is using, things would be easier. If the platform api knew what it means and can evaluate it, the guys putting together the front end can focus on putting together a cool front end and not have to worry about the backend stuff. I've been working on stuff in .net and I've got skills, contacts, and attributes mostly done. I've been working on firearms for a little bit. Here's some examples of what I working towards. character(1).firearms(1).opt(1).dp character(1).firearms.count character(1).firearms.opt.count character(1).firearms("MEAT (Predator II)").legality character(1).firearms("POTATOS (Predator II)").power issuccess(roll(character("Axle").attribute("Modified").body,character("Red Samurai #1").firearms("HK227").power-character("Axle").armor("total").ballistic),2) issuccess([successes],[needed successes]) roll([dice],[target#]) |
|
|
Lo-Fi Version | Time is now: 26th November 2024 - 10:35 AM |
Topps, Inc has sole ownership of the names, logo, artwork, marks, photographs, sounds, audio, video and/or any proprietary material used in connection with the game Shadowrun. Topps, Inc has granted permission to the Dumpshock Forums to use such names, logos, artwork, marks and/or any proprietary materials for promotional and informational purposes on its website but does not endorse, and is not affiliated with the Dumpshock Forums in any official capacity whatsoever.