From: A.R. <al...@e-...> - 2010-06-11 21:03:55
|
Hey Veq/Devlist, I'm wondering about this a little. We have people considering space and other new map types and at a higher level I had an obvious comment to make; What if, instead of isGroundTransportable, isAirTransportable, we had isTransportType=1,2,3,4,5,6,7... isTransportableBy=1,3,5,7... I am not familiar with the current code, however I assume you're just doing an IF/Else on air/ground, and it only needs to be fed into a loop instead. Thoughts? Bung On Fri, Jun 11, 2010 at 1:13 PM, Chris Duncan <ve...@ho...> wrote: > hi comrade kev, > > I am willing to look through all the 150 different games and reupload > corrected versions AFTER the next stable comes out, > but if I am going to do it, I'm only going to do it once, so can we make > all the atomizing and corrections at the same time? > > If we are going to break compatibility for one thing, we might as well > break it for everything > so that we only have to correct the game xml's just once > > (i still believe it is easier to keep backwards compatibility by just > keeping the properties the same and making new property names for the new > atomized properties) > > here is a list of everything that needs to be broken up into its component > parts: > * > isStrategicBomber* (does 2 things) > - isStrategicBomber (only strategic bombs) > - isAirTransport (require paratroopers tech on to work) > > > *isInfantry* (does 2 things) > - isAirTransportable > - isGroundTransportable or just keep it as isInfantry (allows movement > with the mechanized tech) > > > *canBlitz* (does 2 things) > - canBlitz (just allows blitzing of territories) > - isGroundTransport / isMechanizedTechTransport / isMechanized > > > *isMarine* (does 2 things) > - isMarine (just does the amphibious assault boost just for itself) > - isGroundTransportable or just keep it as isInfantry (allows movement > with the mechanized tech) > > > *isSub* (does 4 things) > - isFirstStrike > - isRetreat (can either submerge [ww2v2-v3-v4] or can retreat [ww2v1, > nap empires] depending on the rules set and game properties) > - isCanNotHitAir > - isCanNotBeHitByAir (depending on the rules set, either air is allowed > 1 round to hit it [ww2v2], or air does not hit it ever at all, unless an > isDestroyer is present [ww2v3-v4]) > (any unit with isRetreat can be affected by the supersubs tech) > > > *isDestroyer* (does 3 things) > - isAntiFirstStrike > - isAntiRetreat (prevents submerge and retreat) > - isAllowAirToHitSub (only useful under v3 rules) > (any unit with the isAntiRetreat can be affected by the destroyersBombard > tech) > > > *transportCapacity* (does 2 things) > - transportCapacity (allows transporting units) > - isSeaTransport (this only functions to turn on and off features like > not being able to take convoy zones, not being able to be taken casualty > during v3 rules, etc.) > (alternatively you could do a "isNOTseaTransport" which might work better > because it is more of an exception) > > > *isAA* (does 7 things) > - isAAgunForCombat (hits airplanes during regular combat only) > - isAAgunForSBR (hits airplanes during strat bombing only [this > distinction is needed for the new pacific map]) > - aaGunAttacksAt [x] (has a value equal to x, default is 1, and the > radar tech doubles that value) > - isCapturable > - isCanNotBeDestroyed > - isHasFunnyMovementRules (aaGuns have funny movement rules) > - isRocket (shoots rockets if you have the tech) > - RocketRange (currently defaults to 3) > (any unit with the isAAgunForXXX can be affected by Radar tech) > > *isFactory* (does 4 things) > - isCapturable > - isCanNotBeDestroyed > - canProduceByTerritoryValue (can be over-written with the territory > attachment known as "originalFactory" and also over-written with > placeanywhere v3 type rules) > - canProduceX [x] (has a value equal to x, meaning that this factory can > produce X units, no matter where it is placed) > (any unit with the canProduceX or canProduceByTerritoryValue can be > affected by the IncreasedFactoryProduction technology) > > > > to be complete we also need these: > > canBeTakenAsCasualty > isDestroyedIfCaptured (can not be taken as a hit, but is destroyed if the > enemy wins) > > > > > > If we want to keep backwards compatibility (VERY EASY TO DO) > then the following needs to be done: > > *all you need is to keep the original Property/Attachment doing all the > things it currently does > and give new names to the atomized versions.* > > > so for example, > isStrategicBomber currently does 2 things, so it would become 3 properties: > - isStrategicBomber = can bomb stuff and if you also have paratroopers > tech then you can also carry "isInfantry" and "isAirTransportable" units > - isAirTransport = can NOT bomb stuff and if you also have paratroopers > tech then you can also carry "isInfantry" and "isAirTransportable" units > - isJustStrategicBomber = only bomb stuff, no transporting > > > more examples: > isSub currently does 4 things, so it would become 5 properties: > - isSub = does all 4 things > - isFirstStrike > - isRetreat (can either submerge [ww2v2-v3-v4] or can retreat [ww2v1, > nap empires] depending on the rules set and game properties) > - isCanNotHitAir > - isCanNotBeHitByAir (depending on the rules set, either air is allowed > 1 round to hit it [ww2v2], or air does not hit it ever at all, unless an > isDestroyer is present [ww2v3-v4]) > (any unit with isSub OR isRetreat can be affected by the supersubs tech) > > > > > I think this is the best way to do things > because it makes making maps easier > and it keeps backwards compatibility > > > *here are the issues with breaking backwards compatibility*: > * a map maker may want to do just isSub instead of writing all the > different properties and missing one by accident > * I have to change approximately 150 different xml's (game files), AND > re-upload every single map to the database again > * online community has to redownload ALL of their zip/game files again > * if someone has both the stable 1.2.5.4 and the unstable 1.2.6.0 then the > stable will not work and generate JAVA errors when it runs (or the unstable > will generate JAVA errors) > * a conversion script will: alter people's maps without permission, > including maps under development, as well as making 1.2.5.4 not able to run > (hence they can no longer play with friends on the stable) > * a conversion script must be capable of unzipping all the maps, changing > them all flawlessly, and rezipping all of them (because they have to be > zipped or else the user will be able to download duplicates. duplicates > cause the game to not work and give a java error) > * you will need two versions of every map, one for the stable, one for the > unstable > * the online community will get really pissed off and leave us > > > > thx, > veqryn > > > > > ------------------------------ > The New Busy is not the old busy. Search, chat and e-mail from your inbox. Get > started.<http://www.windowslive.com/campaign/thenewbusy?ocid=PID28326::T:WLMTAGL:ON:WL:en-US:WM_HMP:042010_3> > > > ------------------------------------------------------------------------------ > ThinkGeek and WIRED's GeekDad team up for the Ultimate > GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the > lucky parental unit. See the prize list and enter to win: > http://p.sf.net/sfu/thinkgeek-promo > _______________________________________________ > Triplea-developers mailing list > Tri...@li... > https://lists.sourceforge.net/lists/listinfo/triplea-developers > > |