table of contents - mini world · model specification page: 6 figure: 1 01 acryonyms type: artifact...

66
Model Specification Page: 1 Table of Contents Model Detail 4 CW 4 CW Documentation 4 01 Acryonyms 6 02 BattleTech Warfare 6 03 Current State 7 04 CW Overview 7 04.a Mapping 9 05 Player Leveling (proposed) 9 06 Factions 10 07 Mech Purchases 12 08 Improving Planets 13 09 Contracts 14 09.a Loyalty Points 17 09.b Zone Contracts 18 10 Match Making 19 11 Battles 20 11.a Capturing a Planet 21 12 Final 21 UseCases 22 GuildLeader 25 Player 25 System 25 Accept Basic Contracts 26 Accept Low Basic Contacts 26 Accept Rated Contract 26 Accepting Contracts 26 Change Faction 26 Accept Invitation 29 Assign player to faction 29 Determine/Select Startnig planet 29 List available Factions 29 Move Mechs 29 Select Faction from List 30 Change Faction 30 Faction Invitation 30 Create Faction Name 30 Generate Basic Contracts 30 Loop Through Zones 31 Create new Basic Contract 31 Get Zone info 32 ActivityInitial 32 Generate Low Basic Contract 32

Upload: vuongkiet

Post on 15-Aug-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Model Specification Page: 1

Table of Contents

Model Detail 4CW 4

CW Documentation 401 Acryonyms 602 BattleTech Warfare 603 Current State 704 CW Overview 704.a Mapping 905 Player Leveling (proposed) 906 Factions 1007 Mech Purchases 1208 Improving Planets 1309 Contracts 1409.a Loyalty Points 1709.b Zone Contracts 1810 Match Making 1911 Battles 2011.a Capturing a Planet 2112 Final 21

UseCases 22GuildLeader 25Player 25System 25Accept Basic Contracts 26Accept Low Basic Contacts 26Accept Rated Contract 26Accepting Contracts 26Change Faction 26

Accept Invitation 29Assign player to faction 29Determine/Select Startnig planet 29List available Factions 29Move Mechs 29Select Faction from List 30Change Faction 30Faction Invitation 30

Create Faction Name 30Generate Basic Contracts 30

Loop Through Zones 31Create new Basic Contract 31Get Zone info 32

ActivityInitial 32Generate Low Basic Contract 32

Model Specification Page: 2

Generate Rated Contracts 32Loop through Zones 33

Check number of Celestial Objects 34Create Rated Contract 34Total number of Wins for all Celestial Objects in zone 34numberOfCelestialObj 34numer of Wins 34

ActivityFinal 35ActivityInitial 35

Invitation 35Accept Invitation 35Assign Mech Locations 35Receive an Invitation 36

Moving Dropships 36Moving Mechs 36

Assign to Faction Entity. 36Move Mechs 37

Offering Rated Contracts 37Preparing to Launch 37

Check for dropship 39Get available Contracts 39Select Available Mechs 39Select Contract 39Vote 39Check Faction 40Preparing to Launch 40

Starting a new Faction 40Assign a starting planet 42Create Faction Name 42Make faction Permanent 42Purchase Drop ship 42

Assign it to a starting planet. 44Check for available Funds 44Create new Name for Dropship 44Select Starting Members. 44

Assign Invited player to faction 46Enter Amount due 46Enter Member Name 46Send inviation to player 46Wait for acceptence. 47Invite Members 47

Purchase Drop Ship 47CreateNew Faction 47

Domain Model 47Note 48$help://domain_model_pattern.htm 48

Model Specification Page: 3

Domain Objects 48CelestialObject 49CelestialType 51Contract 52ContractType 53DropShip 53DropShipType 54Faction 55Faction Info 57FactionStatus 57Infrastructure 58Location 58MWO Player Profile 59Mech 60PointOfContention 60StatusType 61Universe 62WarInfo 63Zone 65

Model Specification Page: 4

Model Documentation

Model DetailThis document provides a complete overview of all element details. For simpler and more focused reports, simplycopy this initial template and turn off the sections not required.

CWType: Package

CW DocumentationType: Package

CW Overview - (Component diagram)This section will describe the current state, planned state and issues foreseen in trying to setup CW.

Model Specification Page: 5

Model Specification Page: 6

Figure: 1

01 AcryonymsType: Artifact

Factions:House Steiner (HS)House Kurita (HK)House Davion (HD)House Liao (HL)House Marik (HM)Free Rasalhague Republic (FRR)Clan Jade Falcon (CJF)Clan Nova Cat (CNC)Clan Ghost Bear (CGB)Clan Wolf (CWL) - not to be confused with Community Warfare (CW)

Community Warfare (CW)

Point of Contention (PoC) - key point on a planet to be battled over.

Merc Unit (MU)

02 BattleTech WarfareType: ArtifactBattle Tech Warefare:Battle Tech Warfare is about taking over/control of a planet.It's about different factions (Houses, Clans, Merc Units) fighting each other.

Normally planetary conquest results in taking key points (ports, cities, communication hubs, other) or Points ofContention(PoC).

Each planet very often has a different number of PoC, but similar size planets should have close to the samenumber of PoC.

To take over and "control" a planet one faction needs to hold all of these points. Though having a majority of thesePoC may "logically" allow a faction to control a planet we will say (for MWO) that a planet is owned/controlleduntil all PoC have been seized by one side or the other. They are the "owner" of the planet.

For example if faction (House Steiner) owns a planet and Faction (Clan Jade Falcon) is attacking, having HouseSteiner battle with House Kurita has nothing to do with taking control of the planet, unless Clan Jade Falon hiresHouse Kurita.

Contracts:In BT, usually one faction owns the planet and another faction is attacking. The attacking faction as well as the

Model Specification Page: 7

owning faction may higher other factions (merc units) via contracts to help aid in the conquest/defending of theplanet.

A contract is such a bond, and when hiring a Merc Unit for a contract they usually try to get the best for a price.This has the impact that a Merc Unit's reputation comes into play when/how contracts are offered.

Planets/Zone:While a cannon faction controls a large group of planets within BTW a group of planets could also be controlled bysmaller units. Be they member stats or specific unit within the army. These groups of planets would be referred toas a zone.

03 Current StateType: ArtifactThis will describe the current state of the game.

Player skill and Level Comparison:To make a comparision of things we need to consider players are equal in skill(no not all players are equal but iftrying to get a base line you need to compare apples to apples).. Take for example one of the last leader boardtournaments. If you take the top #1 stop and compare his damage to the #15 spot there is a big gap. I don't thinkanyone would argue, that if the #1 (Edmiester) and #15(Nostril) were put in the same mech #1 would win 9 out of10 times. And that doesn't even count the gap from #1 to bad players (as it only shows the top 15).

Current Modules give for the most part non-damaging increase, though some could argue, fast fire increasesdamage, and pin-point makes that damage more deadly. But I also think if you took the same player Edmiester noone could argue that having him in an Mastered Mech and him in a Basic Mech (no modules) playing againsthimself (if he could) 9 out of 10 times when running in the Mastered Mech he is going to win.

So clearly a higher leveled mech/player (even without adding dmg increases) is superior (when comparing thesame mechs).

The player and mech levels will come into play when trying to match players up. Obviously ELO adjust players butif you add in other factors, like proposed PLayer level, match making will become even more limited becauseclearly you don't want to match a level 1 player to a level 50 player.

Match Making (12 mans):Right now with no limiting factors other than possibly ELO how many times does matching up 12 mans fail over aday, over a week? While not being able to give a number I can attest that it's more than most players would like,dropping in 12mans gets boring so need to be real careful not to apply any limiting factors which would cause12mans to fail even more.

04 CW OverviewType: Artifact

Model Specification Page: 8

Community Warfare(CW) needs to be built around Match Making. If you do NOT take match making into accountthen the entire system will fail.

Goal:For one faction to fight another faction and capture planet(s).

Capturing a planet:When House Steiner(HS) who is at war with Clan Jade Falcon(CJF) over a planet (how can you determine whowill win).

A planet will be made up of key points (or Points of Contention- POC), which will be fought over by opposingfactions winning the PoC will facilitate capturing a planet.

How Fast?How fast or long should it take to capture a planet. This number is totally up in the air and can be adjusted by PGI.My feeling a planet changing hands in under a day is way too quick. My gut feeling would be 3-7 days, though itcould easily be 7-14 days depending how long PGI wants to drag it out. So lets say 7 days to be average and makeit an effort to take.

Now assuming it's a player run faction with 24 members (2-12 man groups - need to see what average size ofguilds/factions are) will allow for 6-4man lances, playing 2 hours day (10 matches an hour - based on 6 minmatches) or about 60 matches an hour or 360 matches in 3 days. So we could say 400 wins would push it from3-days to 7 days depending on quality of play.

So we can say if it's a week for an average guild to take a planet, that equates to 400 winning pug matches to WINa planet. (this seems like a reasonable number as each match is possibly taking a PoC). Figuring 30-50 major citiesper continent, that would be 4 major continents.

A larger faction and better skill faction will take it in less time, but we need to average things about (again thisnumber can easily be adjusted if planets change hands too frequently). Or if guilds are larger.

Number of PoC:This brings us to the number of points of contention per planet.799 PoC (400 + 399 wins). I would not want tohave to keep track of each of those, let alone enter them (though that could be done somewhat randomly). So howmany PoC should a planet have? that really depends on PGI and how much they want to track and create. Themore PoC per planet the more PGI has to uniquely track each, so even having 400 PoC per planet would be a lot.If you cut it down too much then the number of wins to capture a PoC gets too boring. for example if you have 5PoC on a planet it would take 80 wins to capture each PoC. Who wants to play on the same map for 80 matches(people complain after 6-10 matches in a row on the same map).

Randomizing PoC:You could (and will likely have to) randomize your PoC for each planet. When creating a planet you assign it"terrain" options, which basically would equate to maps. Since we have so few maps currently its likely that eachplanet will have the same terrain, but as more maps are added you could have limited terrain. When a planet is putinto war (or created - more consistent) you randomly create it's PoC. By doing at WAR declaration you limithaving to track the specific PoC to either only the planets at war of one that have been at war.

Capturing a planet OPTION-1: Continuous Wins.To use continuous wins to capture a PoC would require a low enough number which would make it possible. Forexample I doubt any team could win 100 matches in a row, and then (if someone did - it would be too rare). Thus ifusing continuous wins you would need a win number low enough, some where I would say 1-10 likely (1-20 muchmuch harder - too high I believe). Even a single loss restarts the counter.

This option would benefit the better skilled players as better skilled players are more likely to win 10 matches in a

Model Specification Page: 9

row.

This option would likely also require a higher number of PoC. Because if you only have 5 PoC then a team couldnever capture a single PoC (400 continuous wins - very likely impossible)

Capturing a planet OPTION-2: A number Wins.So if we can it takes 400 wins to capture a planet then the faction to reach that goal first is in control of the planet(though it's not that simple). A planet again is made up of a set of PoC as we have stated.

You can track wins for each side at the planet level, but this would not allow for showing progress. it would seembetter to track wins per PoC and if you only track PoC for planets at WAR it limits the amount of PoC you have totrack.

Faction Make up:A faction is a House, Clan or Merc or LoneWolf.

Once CW is deployed all players will have to choose a faction. Initially no one will be able to Choose Merc factionbecause each merch faction will be a faction unto themselves. So if you want to create a merc unit/faction you willfirst be a different faction and then "Create a new Faction".

Faction Alignment:Factions can align themselves with cannon factions. Aligned factions would control zones of planets in a "parent"faction zone. See Factions and Contracts for more information.

04.a MappingType: ArtifactMapping is not really discussed in this design as there are several different options available.

Grid map (simple x/y mapping system)·Hex Map (not much different from a square grid), allows for more realistic borders·Spatial grid (X.x / Y.y - probably one of the more realistic where the distances could be in miles, light years,·etc).

If you want to map space routes/jump points you could activate following attribute on celestialObjectsneighbors:List<CelestialObjects>

Jump points/neighbors would allow you to track how long it takes to move drop ships about if you wanted to. Youcould also track relative distances.

05 Player Leveling (proposed)Type: ArtifactQuoted from MWO Command Chair Post:

Model Specification Page: 10

QUOTE:To get the feeling of progression into the game a level system for players is being investigated. The system uses theoverall Mech XP gathered over a lifetime. The maximum level aimed at is [50] and, utilizing the current playerdata set, around [10] % of all players will be in end-game content, which is considered to start from level 35.

First what the above says, that to go from level 1 to level 35 will take over 14months for the average player.ASSUMPTION: If it's an increasing scale (like all other leveling systems) each level is same percentage increase, itwill take a total of 42 months to go from 1-50, or another 28 months to get from 35 to 50.This could be off, but this is basing level increases similar to other games where the increase amount is based onlevel.

QUOTE:Tied to player level, the Mech efficiencies are also split up into different levels and tiers. As players gain levels,they will unlock tiers sequentially, one after another and will be able to buy the efficiencies in the next level tier.

QUOTE:These modules offer powerful boost but come with a downside for a short amount of time.

The above two quotes states that as you rise in level you gain access to more powerful modules. So someonerunning a level 1 module will not be as competitive as someone running a level 50 module.

As we looked at the current state, even without increases in damage, a player running a basic mech and a similarskilled player running the same mech after it's been mastered, the basic mech is going to lose the majority of times.

Also if you base this on 13 levels (one for each module over the 3 pseudo levels[basic/elite/master]) and thenextrapolate that to 50 levels difference it will get even worse.

A level 1 player can not compete against a level 50 player (equal skill same mech, different level modules).

Besides hurting new players this will limit who players can play against when trying to make matches. I suggestthis be dropped and a look at Faction leveling to taken.

06 FactionsType: ArtifactA faction represents an organization of Mech warriors.

Be it anyone of the following or others:

Factions:House Steiner (HS)House Kurita (HK)House Davion (HD)House Liao (HL)House Marik (HM)Free Rasalhague Republic (FRR)

Clan Jade Falcon (CJF)Clan Nova Cat (CNC)Clan Ghost Bear (CGB)

Model Specification Page: 11

Clan Wolf (CWL) - not to be confused with Community Warfare (CW)

Gray Death Legion (GDL)Hell Hounds (HH)Wolfs Dragoons (WD)

Mech Warrior Online Players will belong to one of the above factions or be a lone wolf.

Lone Wolf Faction:To make it easier for game tracking it would make sense to create a Faction for Lone Wolfs. This just more easilyallows tracking and match making.

Cannon Factions:Cannon Factions are controlled by PGI. Too much could mess up universe if players are allowed to control CannonFactions. Though a faction could be allied (or aligned) with a Cannon Faction (see Aligned Factions).

CW Roll Out and Factions:When CW is rolled out every player will have to choose an initial Faction, though players can change faction.Because custom merc units will need to create their own faction, players must choose a different faction (mostlikely lone wolf) to start. Then players can "create a faction".

Aligned Factions:The game should allow for aligned Factions. For example a guild wants to play House Steiner, but because it is ancannon faction they can't but they could create a Merc Faction and Align it to HS. Aligning a faction give you allthe benefits of being a Cannon Faction Member(whatever those are to be TBD) and you are basically treated as the"parent" faction. Aligned Factions cannot fight each other. So if you have two Merc Unit Factions which arealigned with HS then they would never be able to declare war or battle each other.

Changing Alignment of Factions:Merc Units should not be allowed to "easily" change Alignment. The reason for this is multiple:

because the aligned faction gets a planet in the "parents zone".1.because aligned factions get benefits/access to "parents" benefits.2.

For example if mechs are limited to what you have access to (Alignment/Contract/planet) then a merc unit couldsimply change alignment to get a mech they need/want then switch to the next, so having mechs be limited in thatway (or other benefits) would be pointless. Unless changing alignment has penalties.

Changing alignment you lose your planet(s) you are ejected from the system.1.All DS, mechs, MWO stationed at planet would need to be moved to another planet.2.The above take time, thus a lull (24-48 hours - or more) would be placed on Merc Unit so that they cannot3.participate in CW, they can still play but would be treated as lone wolfs for that duration. Cannot get a newcontract, etc.

OPTION: If the aligned merc unit was not ejected from the planet, then they would be placed in a state of WARwith the parent Faction.

Merc Unit Factions:A Merc Unit Faction is any faction that is player created. A MU can align themselves with a "parent" cannonfaction which will basically treat them as the parent faction. A Merc Unit Faction has it's own starting planet. If itis aligned with a cannon faction it gets a planet in that factions "zone".A Merc Unit faction that is unaligned with a cannon faction will get a starting planet out in the periphery.A merch unit faction that is unaligned will only get easy purchase access to their planets mech production (if any)or an contracts mech production. For example having a contract with HS may give easy access to Atlas.

Changing Factions:A player can change it's faction, this basically involves moving a players "mechs" from one location to another(starting planet). I do not think changing Factions should be encouraged because if each faction has benefits if it'seasy to change a faction you just need to simply change it to one you want benefits from and then repeat. Thiswould cause faction jumping and could skew match making.

Model Specification Page: 12

For example if at the start everyone wants to play HK, and FRR has few if any house members, they would neverbe able to win enough battles and would continuously lose. But by offering better (or more) contracts or bonuses forbeing FRR people could switch. But again we don't want everyone switching, so it need to be balanced. Newplayers should have less of a penalty (or ability to switch) than a veteran player. I suggest this because a new playermay think he likes one faction, but then finds out he doesnt and want to switch to another, where a veteran playeris most likely switch because of faction benefits. Though it is only a suggetion.

OPTION: Faction LevelingYou may want to have Faction leveling, which could control different levels of Planetary Improvements. Thiswould be fairly straight forward in that winning battles would grant XP which increase a factions level.

07 Mech PurchasesType: ArtifactMech Purchases or rated access to mechs is currently proposed.

I do not think this should be implemented, as it causes some problems, more so for newer players than existingplayers.

Current players (anyone playing prior to CW rollout will have easy access to any mech, thus restricting (byincreased purchase price) access to mechs will only effect new players, which already will have less funds. Sohaving this option will make it a steeper curve for entry into the game. Not a good suggestion.

OPTION:Rather than make purchasing mechs cheaper for specific factions/planets, you could implement a type of bonus.

For example if HS gets easy access to Atlas' then rather than make them cheaper you grant any HS players, alignedmerc units or merc units under contract a bonus after each match in which they play an Atlas. This would be likegetting "cheap" repair costs (even if they are not implemented). It's cheaper/easier to maintain said mech whenplayed, thus results in the player earning extra C-Bills.

This could be extended to all types of things, like weapons, modules, etc.

Because your veteran players will be less likely to purchase mechs and some modules, and your newer players arealready under a budget to purchase anything. So the only people who would benefit (if it was cheaper to purchase)would be new players. and this would encourage them to jump factions to get the mechs they want. Something Ithink should be avoided.

Also this works nicely into Zone improvements. Under the contracts section you will see Zone rewards. AllCannon units start with a "capital zone" which would have the basic things players allied with that faction getbonuses for. For example House Steiner would likely have a Atlas Mech Factory in it's capital zone, Thus all Zonesunder House Steiner get the "capital Zone" benefit.

Also each faction starts with a home planet, for Cannon units this should likely also contain some factory offeringa benefit. Merc Units (get it harder) and thus may not get a starting factory/benefit.

By working for a Zone contract a faction (Merc Unit) would get the benefits of the Capital zone benefits as well asany Zone Benefits. A Controlling Zone Faction can improve a Zone's benefits or it's home planet benefits. By

Model Specification Page: 13

improving the zone (over the home planet) they can offer that as an incentive to any Merc Units which work forthem. But Zone benefits can be destroyed.

A faction(Merc unit) does NOT gain the benefits of a controlling faction's home world. Only faction members gainthe benefits of their home world.

Also by making it a bonus for playing things, this also encourages Innersphere to play Innersphere technology andClans to play Clan Technology. Because InnerSphere planets/zones/capitals will likely never have Clan productionfacilities, thus players would not get benefits/bonus from playing non-aligned technology.

08 Improving PlanetsType: ArtifactImproving Planets is done by a faction. There are lots of ways to improve a planet, I will try to list the differentcategories, but it's not an inclusive list.

Types of Improvement:A Mech Factory - A mech factory grants players playing for a contract aligned with a House/Clan which contains amech factory a bonus (win or loss) to play the type of mech the factory produces. For example Cannon Houses willhave Capital zones and in the capital Zone House Steiner would likely have an Atlas Factory. So anyone fightingfor a contract aligned with HS would get a bonus for playing an Atlas.

A Module Factory - A module factory grants players playing for a contract aligned with a house/clan a bonus forusing that module. For example Clan Jade Falcon may have a Module Factory which produces "Improved AirStrike". Any contracts aligned with Clan Jade Falcon where a player uses an "Improved Air Strike" would gain abonus.

Defensive Improvement - A planet with a defensive improvement would have "turrets" or other destructablesduring a battle. A front line planet is more likely to have these types of improvements.

Improvements could be of different types as well. For example a Assault Mech Factory not only would cost more,but could require a faction level, you don't want to base it on reputation as all factions should be able to get to anylevel after enough time.

Base ImprovementsEvery Faction will have a home planet, which may or may not have base improvements for the faction. Factionsallied with Cannon Factions should get a base improvement (in addition to the cannon capital zone improvements).This encourages factions to ally themselves with cannon factions. A Merc Unit faction life is a hard one.

Improving beyond Base:A faction earns Faction C-Bills based on zone contracts. A faction can then improve their home planet or a zoneplanet by purchasing one of the types of improvements. A Spider Mech Factory may likely cost less than aHighLander Mech Factory. A Improved Air Strike module factory may likely cost more than a Advance TargetingModule Factory. Also cross technology should be extremely expensive. So while a Innersphere faction couldpurchase a Nova Cat factory, it should cost 4-10 times more than similar weight class innershpere mech factory(for the innersphere). For Clans Innersphere technology should cost more.

Model Specification Page: 14

09 ContractsType: ArtifactBasic Idea:The basic concept with the contracts is to allow players to accept contracts without the universe getting totally outof whack. PGI has stated that they want to keep close the timelines, which means they don't want House Kuritawiped out because clans group up and drive over House Kurita.

So with contracts in mind, the system will offer better contracts for a side which is losing, which should drawbetter players to help control border influxes.

Contracts:As mentioned under BT Warfare a Merc Units reputation affects a contract.

If a House or Clan needs help it hires a Merc Unit via a contract, depending on the contract they would seek outthe best Merc Unit to fill a contract for a price. Now this may be a low reputation Merc Unit, which the House justwants to use as adistraction while the main forces push elsewhere.

In MWO there are problem(s) because PGI has stated that they are running all cannon factions.

First, because the cannon factions are controlled by the same entity, they would only hire the best units when theywant specific results. For example if House Steiner is supposed to push into Jade Falcon then PGI would look tooffer the best Merc Units contracts, but if they want to keep borders even the better Merc Units would never getcontracts. They could match up both sides with similar reputation (skill) but this would take too much interventionand still could cause problems.

Second contracts are accepted by Factions (Merc Units) not individual players. Though PGI may wan to create a"low level" Basic Contract (See below). If they offer better contracts to specific factions this would play tofavoritism.

Reputation:A Merc Unit (or faction) needs a reputation, now obviously some Merc Units will get a reputation, but to be able toautomate (program) the reputation needs to be a bit more definable, rather than word of mouth, we need to be ableto put numbers around it.

Normally the more a faction(Merc Unit) wins the better it's reputation is going to be ("ooh those guys are good").

A Faction would use Win/Loss ration as the primary calculation to determine it's reputation. The better aFaction(Merc Unit) is the more wins they will have. A Faction's reputation will be adjusted after each battle forwins (up) or losses (down).

We should not only will it be just based on W/L but by the opposing faction strength/reputation. For example if ahigh reputation faction wins against a low reputation faction the increase is smaller than when a low reputationwins against a high reputation faction. So reputation gains/losses will be based on the reputation of a factionsopponents.

Also other things can effect a reputation, for example completing a contract can raise a reputation and abandoninga contract (or not completing) will lower a factions reputation.

Reputation could be from -100% to +100%. We may want to increase this range based on how much completingcontracts and other things (outside of winning) can increase one's reputation.

A Reputation system allows for small elite guilds or large good guilds to compete for contracts. An Elite guild(faction) while would win more often raising their reputation, a large faction would not win as much (thus a lower

Model Specification Page: 15

base reputation) but allow the larger faction to complete more contracts or other achievements which would raisetheir reputation.

Phase 1 - Automated Contracts:The first phase of Community Warfare (CW) will be automated contracts, contracts generated by the system basedon borders. As previously stated every mech warrior will be associated wtih a faction, be it the lone wolf faction ora cannon faction like House Steiner or a player created faction a Merc Unit.

The known universe will have planets which each cannon faction will control, this would need to be manuallysetup by PGI. Any planet along every border gets a status of AT_WAR meaning it's at war with a neighboringplanet. On some period (cycle 1 - once a day?) the system would go through the planets which are at war and basedoff it's owner faction's wins and opposing faction's wins would calculate basic contracts.

Basic Contract:A Basic contract is similar to the "current challenges" and designed for all faction levels. It would basically beasking for a faction to "drop" X times over the a period (cycle 2 - 5 days?) and if they did not only do the playersreceive a small bonus for wins, but the faction which has the contract receives a reputation increase and "faction"C-Bills. For example since it's basically 12 men to form a Merc Unit (faction) and average play time is 1-2 hoursday at 6 min drops, then for a cycle 2 period of 5 days (could be 7 days), the Faction must drop 720 times (this isnot win, just drops) (12men * 2 hrs * 6min * 5 days = 720). If they complete that they finish or complete thecontract. If they don't the contract is failed or not completed.This would put the numbers of drops about theaverage amount of drops it takes to capture a planet.

Improved Basic Contract:A Improved Basic Contract would be similar to a basic contract (generated automatically) but would require anumber of wins during the same cycle 2. rather than just dropping. The bonus would be more than the BasicContract.

Low Level Basic Contract:A low level basic contract is something PGI could implement to suit the lone wolf players, allowing players toaccept contract individually (as compared to a faction accepting a contract). Bonus would be less than a BasicContract. A low level contact also should be for a Specific cannon faction, that is wins/losses count for a randomplanet of that contract (depending on group size - see Battles).

Winning a basic contract(including improved/low level) also increases a factions reputation.

Rated Contract:A Rated contract are higher rewards compared to a Basic Contract, because it would require a specificreputation(rating). For example a Faction which has a reputation of 99% is offered a better contract than a factionwith 50% reputation. Rated Contracts would have a slightly smaller (cycle 3 - 1-3 days) than cycle 2. This isbecause you don't want to over balance it. You want to get just enough push to even out the sides and push theborder back. A Rated contract requires more wins.

By offering "Rated Contracts" the system can "auto-correct" itself. For example if a faction(merc unit) is veryskilled and picks up a Basic Contract for House Steiner against House Kurita and starts winning they could easilycarve a path through House Kurita (which I assume PGI wants to control the borders some what). The system as itruns through it's cycle 1 period generating Basic Contracts would see the push (or losing of House Kurita). Thesystem could then offer "Rated Contracts" with a higher rating. Any faction (Merc Unit) with a high enoughreputation can then see/accept that rated contract pushing the balance back. Also even the skilled faction which ismaking the push might abandon it's Basic Contract to jump sides and pick up this better contract, because it offersmore rewards. Once the border push is evened out, the system would no longer offer the Rated Contract for thatarea/planet.

Again this would allow for automated self correcting system. PGI would still want to monitor it to make sure oneside doesn't push too much and they could offer even better "manual" contracts to fix things, but it should be self

Model Specification Page: 16

correcting.

You could also have "Low Level Rated Contracts" which would be based on an individual players reputation(win/loss) and any possible achievements. This would be for lone wolfs. A group of lone wolfs use an average oftheir group reputation. For example if you have three lone wolfs who have a reputation of 75%, 50% ,25% then thegroup would have a reputation of 50% and would see Rated Contracts of 50%.

Phase 2 - Zone Contracts:The second phase would be the introduction of zones and zone contracts. Zones along every border would beformed which initially consist of 5-6 planets (usually front line planets and back line planets). Initially all zoneswould be controlled by cannon units and run under the Automated Contract system. Then zones would be grantedto allied factions based on reputation. For example for if House Steiner's 10th Lyran Guards (a Merc Unit playercreated Faction) has the highest reputation of the House Steiner allied factions. They would be assigned the mostcritical border zone.

Keeping a Zone:An allied faction can only keep a zone as long as it keeps up it's reputation (checked every period [cycle 4]) Atwhich time if a faction falls in reputation and another one rises it would swap (or be) assigned zones. For exampleif 10th Lyran Guards either fall or stop playing for a week at the end of cycle 4 it would see that 5th Rct HadesDivision is now higher in reputation, so it would either swap the zone (or if not enough zones were available for5RHD to be assigned a zone) it would assign them to 10th Lyran Guards zone and then see if 10LG qualified forany other zones (maybe it only fell a bit).

Zone Contract:Zone Contracts would be offered by the Zone leader (or faction leader). This would move a bit of the control awayfrom PGI, but should still allow the system to auto-correct itself. A Zone's faction leader can then offer specificzone contracts to specific factions(Merc Units) by a type of invitation. This would be basically similar to a RatedContract but slightly higher requirements (but slightly better/different rewards). The system would create therewards/requirements of the contracts, the Zone leader is only allowed to control who it's offered to. This way azone leader doesn't create a super high contract to skew rewards.

Zone contracts are contracts based around the planets in the zone they are being offered in. That is if 10LG is incontrol of a zone with 5 planets and all of a sudden they start losing, the zone leader would see "rated" contractsautomatically being offered (default) and he would see that he can selectively control who these contracts areoffered to.

In assigning zone controllers, both sides of the border would need to be assigned similar reputation faction. I.e. ifone side of House Steiner was assigned 10LG with a reputation of 80% then the opposing side of House Kuritawould require a faction near that reputation.

For example if 10LG was in charge of a Zone (which was rated or had a reputation of 75%, then it could offercontracts based on that, but it can offer them to anyone they want (sending out an acceptance/invite to the targetfaction). So 10LG could offer a contract to a faction(merc unit) which only has a 50% reputation, assuming thatthey can make/support the difference (since the opposing faction across the border should also be around a 75%reputation). Then if they start losing they can offer another faction (mec Unit) with a 90% reputation to help outfor a short period of time.

The system would still be offering the Basic Contracts underneath the Zone Contracts, but since a Zone contract isslightly better the Merc Unit would want to accept the better contract. Now if they have enough warriors they maybe able to accept both, but when dropping only a single contract can be selected, so to meet both contracts theywould need double the effort.

As a fail safe, if the system creates a Rated contract and the zone leader doesn't find a "buyer" then the systemwould offer up generic rated contracts which the zone leader doesn't have control over. This would protect thesystem from a zone leader who failed to properly protect his zone.

Model Specification Page: 17

Zone Contract Rewards:A zone contract rewards bonus c-bills as a basic contract, but there are also "zone rewards". The controlling zonefaction (for example 10LG) would get Faction "C-Bills" for each win based on the number of planets they controland their Loyalty Points. These faction C-Bills are used to increase the faction's holdings either it's home planet orit's zones planets. Increasing faction holds would be in the form of upgrades or additional production facilities. Forexample the controlling faction could add an additional Mech factory or module factory on one of the zone planets.Or they could add the mech factory to their home planet. But adding it to the zone would benefit any faction(mercunit) working for the zone, while adding it to the home planet would only benefit the controlling faction.

After each battle which fought for a "Zone contract" it would calculate the Zone rewards. This is where LoyaltyPoints comes into play. After each battle it would determine who was fighting for a zone contract and add theirloyalty points and then grant them a bonus of Faction C-Bills based on this. A faction (merc Unit) working forcontrolling faction zone would also win a percentage of bonus C-Bills, but they also win their "own" factionC-Bills, which they could then improve their home world. (See Mech Purchases).

When a planet is captured, any improvements on that world (above the starting) would be destroyed (part of thewar) the faction which captures the planet would gain a percentage of faction C-Bills based on the planets"improvements". So while controlling faction can improve a zone's planets it's a risk. But also if they don't thenMerc Units won't want to work for them, as they would not gain as much as working for another controllingfaction which has improved it's zone planets.

Additional Rewards:You could add additional rewards in things like awards, or achievements. For example completing a contract early(in 50% of the allotted time) would grant an achievement like "<house> Champion". These would be listed as partof a Merc Unit's listing (either in game or on the site). So under a faction 10LG could have "5x House SteinerChampion" or a Merc unit could also list "3x House Steiner Champion". This would give additional info tohighering factions (noting that hey even with their rating they complete contracts quickly), etc. Additional rewardsmay (or may not) grant increases in Reputation.

09.a Loyalty PointsType: ArtifactLoyalty Points need to be worked in since it was sold before really thinking thru CW.

My initial thoughts is to limit LP to calculating bonuses for Faction Rewards. But some would probably argueabout that.

Loyalty Points could be worked in as individual bonus. Currently as proposed players would earn bonuses onmechs and modules played which are either aligned with the capital, their home planet or a zone. LP could be usedto dynamically adjust what is considered for bonuses. This would possibly replacing any bonus automaticallyincluded for capitals and zones and instead would determine a radius which checked for bonuses.

For example consider a player with 0 (or low) LP, when he takes up a contract for a zone normally it would grantthe benefits of that zone (and capital) for matches played under that contract. Since you know what planet thewin/loss is assigned to, you can then using (LP * X) compute a radius and check for any planets in that radiuswhich are "owned" by the LP which it is assigned to and then check those planets for bonuses. Since it's a low LPit's only neighboring planets (if any).

A person with a high LP would have a much bigger radius to check for bonuses. This would give LP much moreimportance.

Model Specification Page: 18

09.b Zone ContractsType: ArtifactSetting up a Zone Contract:When setting up a zone contract the controlling zone faction would select up to three planets which the contract iscentered about and in the zone in addition to the three planets they can select one "focus" planet.

The three primary planets would be selected from the planets in the zone and basically a defensive contract.

The focus planet can be one of the three selected planets or another planet in the zone or any neighboring planets(adjacent to the zone). This allows a zone controller to "attack" an enemy.

When a battle is ended the system would then check the selected planets (and focus) planet and randomly assignthe win/loss to the one randomly selected planet.

This allows a zone controller to do several things, first, is attack an enemy/opposing faction. It also allows him toassist a neighboring zone planet. For example if the neighboring zone is coming under intense attacks, one weekthe zone controller can set the focus fire to that planet which would basically lend wins (hopefully) to that planet.Loses would also go to that planet, but the idea is you are hopefully adding more wins than the single opposingfaction. The last thing this does is allow you to select one of your own primary planets making it more likely to getrandomly selected. Since there is basically a 25% chance per planet to being selected by selecting the focus planetas one of the primary gives that planet an additional 25% chance to adding wins to. Again this would be todefensively assist a planet under siege.

There are some other little tricks this would facilitate as well. A zone which is not under much of a attack, couldfocus planets (even his back line planets) and "pad" the wins. Since the ownerFactionWins doesn't reset until theone faction wins a certain number of victories, by selecting a non-active planet allows you to "pad" that number ofwins a bit. Though any loses would also pad the wins for an opposing faction that later attacked it.

Also two neighboring factions could choose the same opposing faction's neighboring planet. This would focusattacks on the same planet. The defending player would then need to setup a contract possibly bringing in a highrated Merc unit to assist in the planets defenses.

Zone Contract rewards:As mentioned zone contracts rewards Faction C-Bills which the zone controller can spend on planetaryimprovements. Normally a zone controller gets C-Bills for any battles they fight over in their zone. By increasingthe zone (capturing a planet) gets more planets to collect C-Bills from. If they Controlling faction is doing this byhimself, he gets all the C-Bills, but when a controlling faction needs to hire another faction (merc Unit) to help, thesubtract the number of C-Bills they earn from the controlling faction earned C-Bills. This could be as simple allC-Bills Factions earned by a contract just do not go to that controlling faction.

But that would encourage a controlling faction to always hire high reputation factions(Merc unit). If the controllingfaction has a reputation of 75% it could hire a Merc unit faction with a reputation of 90%. In doing so it shouldcost more. A hired faction with similar or equal reputation is a 1 for 1 swap of faction C-Bills earnings, hiring ahigher reputation faction by the controlling faction costs more a and increases the amount of Faction C-Bills swap.It could be anywhere from 1-99% increase. So if for example a faction with 25% reputation hires a faction with75% reputation it should cost 100% increase. But also hiring a lower level reputation (i.e. we can do this ourselveswith a little help) decreases the Faction C-Bills swap, again 1-99%.

Model Specification Page: 19

This would simulate true hiring of mechs and having to pay for them. Hiring another faction really doesn't costanything since the game is paying the winnings, thus it only cuts into the controlling factions profits based on thehired faction reputation compared to the controlling faction reputation.

10 Match MakingType: ArtifactMatch Making is where the bread and butter of CW needs to really work otherwise the system will fail.

The proposed system should allow enough flexibility to make CW work. For example a battle of House Steineragainst House Kurita with a roster of House Davion really doesn't work. Though a battle of HS against HK withmercs would be acceptable (even if HK didn't higher those mercs directly).

Preparing for a Drop(Selecting Contract):When preparing for a drop you would select a contract that is available to you. For a faction (Merc Unit) thiswould be a either a Basic Contract, a Rated Contract, or a Zone Contract. For a lone wolf, this may only be a LowLevel Basic Contract. If you are in a group the group leader selects the contract and it applies to everyone in thegroup.

Preparing for a Drop(Selecting maps):Since contracts are related to a world, you can then get the range of maps associated with those worlds. Players ingroup or alone would then "vote" for their desired maps available.

Preparing for a Drop(Selecting Mechs):One maps are voted for, players would then select mechs appropriate for the voted maps. A lance or above requiresto meet specific weight limits to assist in match making. A lone wolf player is a lance of 1, so a lone wolf cannotselect to drop with four atlas' but would have to drop with 4 mechs meeting specific weight limits. A group ofplayers need to have each of the corresponding mechs match weight limits. For example if the drop deck is 4mechs per player, then mech 1 of a player must match up with the other group members mech 1 and meet aspecific weight limit. Mech 2 again matches up with other players mech 2 in the group (again must meet specificweight limits).

Note: For non-cannon-factions a drop ship must be located in the zone to be able to select mechs able to fight in thezone.

LaunchingWhen above steps are done, the group is launched. The system would then begin the search.

Launching(Search for Related Players)First it search for allied, or related players. A related player would be a faction player working on a similar contractand groups them up.If not enough players are found (minimum of 12) the system looks for other "semi-related" players. Where theinitial search may be looking for House Steiner (or merc units fighting for HS) fighting against House Kurita, theexpanded search may include players fighting for HS, but fighting against House Davion. Or on the opposing sideit may find HS fighting Clan Jade Falcon. Mode of the game (low weight). Rather than selecting a game mode,make it like maps, where the player or group votes on mode selection, this again should increase the pool selection.

Launching(Search for Lone Wolfs)Next it search for any lone wolf players, these are players currently not playing a contract or in related/semi-relatedcontract. It adds to the group all these players it can find.

Model Specification Page: 20

Launching(Search for Matching Players)Next out of the available players from searching for Lone wolf players it then checks ELO (or other matchingcriteria, weight drops, etc) and then selects 12 to each side which best match up. If still enough players are notfound it adjusts the ELO or other restricting qualifier.

Launching(Search out of bounds)If enough players are still not found that match then it checks for non-related players which match ELO (or otherrestricting criteria). So for example it may find a group of 4 players fighting for House Davion fighting a contractagainst FRR. It should try to keep IS grouped with IS, and Clan with Clan. Though if for example it can only find12 members 8 fighting for HS, and 4 lone wolfs for one side and the other side is 4 fighting for HD and 8 Clanmembers, then it should group the 8 HS + 4 HD against the 8 Clan and 4 LW. But at this level it starts to get trickyand some other rules may need to be applied. With out any real numbers/stats it hard to guess how things line up.

Launching(Starting the game)At this point you have 12 members to a side, it then #1 looks for a common map (most voted map) and randomselects (if tied) and then starts the game. Also the mode of the game (Skirmish, Conquest) is determined.

12 mans:12man matching should be a little bit easier than trying to match up similar groups as you don't need to search foradditional players for either side. You only need to search for a possible match on opponents and ELO (how everit's done today). With "re-marking" units in game (see battles) it's easy to fake opponents alignment.

Player Level:If player level is introduced then this will restrict each of the above search, you do not want to group a level 1player against a level 50 player. It can be used in searches, but it makes it that much more restrictive.

11 BattlesType: ArtifactOne a battle is started (after Match Making) the map has been selected and teams assigned and mode selected.

Roster/Re-Marking Units:In game the best thing to "reflect true Battle Tech warfare" would be to change(or re-mark) what a player sees onthe roster (both friendly faction and opposing faction). For example if 8 HS are grouped with 4 HD, then the HSplayers see HD members as Merc (or lone wolf) and the HD players see HS members as Merc or lone wolf. Thiswould give the realism which better matches Battletech warfare.

The opposing team would either match up to Merc/Lone wolf to the contract they fighting for. For example if 8 HSplayers picked a contract against HK, and 8 Clan members and 4 LW player on the opposing team it would listthem as either all Merc Unit, Lone Wolf, or HK. Again to add to more realism in the game play.

Because does it really matter what a tag is next to your game, I assume more people would prefer a more "in depthfeel" of realism.

Also depending on each player/group they may see a different planet name. For example the 8 HS who are fightingfor a contract aligned with a zone/planet would see that planets name, where as the 4 HD would see the name of aHD planet. Because again this is mostly cosmetic and superficial.

End of Battle:For tracking Wins and Losses it's based on group size. Any group smaller than 4 people (1-3) do not count wins or

Model Specification Page: 21

losses for a faction, but does could for the individual (if you track individual reputation). The battle is considered aminor skirmish for lone wolfs. For any group of 4 or more players the outcome is tracked to a specific planet.

Lone Wolfs should never be battling for a specific planet, but rather a faction. Thus if a group of 4 or more lonewolfs are fighting for a contract aligned with HS, then at the end of the battle it randomly finds a HS planet that isAT_WAR and increases/decreases the win/loss count. If it's a loss it increases the opposing faction wins, if it's awin it increases the owner faction wins.

Other factions will have a contract, which is aligned with 1 or more planets (in a zone). Simply select one of theplanets that are AT_WAR and adjust the win/loss count. If it's a loss it increases the opposing faction wins, if it's awin it increases the owner faction wins.

It then checks to determine if planet changed ownership (based on Wins) and resets the counters for the planet andpossibly assigning a new owner.

Computing earnings:A player then gets their earnings determined, if the contract planets have bonuses for specific mechs/modules theplayer is appropriate rewarded. If the contract is a zone contract faction C-Bills are rewarded. If contractcompletion is met/or loss, then again Faction C-Bills are appropriately rewarded.

11.a Capturing a PlanetType: ArtifactWhen a battle is over the win or loss is tracked to a specific planet (randomly determined by the contract).

If a win or loss results in one faction gaining enough wins to capture the planet (determined by capture Victories)then the planet ownership is changed.

First the planet is assigned a new controlling faction. This would go the controlling zone which setup the contract.If it was a non-zone contract like a basic contract it goes to the controlling zone which the contract originated fromand if it was a low level basic contract then it gets assigned to the closest neighboring zone controller.

Second any non-starting planetary improvements are lost (destroyed in battle). A percentage of the planetaryimprovements (in C-Bills) is awarded the capturing faction (and possibly a portion of the award goes to the "zonecontrolling faction").

Third all Win counters are reset for the planet.

Fourth, if the planet is no longer next to a neighboring opposing faction it's status is set to NEUTRAL.

12 FinalType: ArtifactBecause capturing a planet will take some effort, several days (See 04 CW overview), a faction should not berequired to guard it's resources around the clock (24 hours a day).

Model Specification Page: 22

Also because the system will track wins/losses even if one faction is not matched up against the opposing faction,the system by tracking for contract will assign the wins (as well as loses) to the planet.

The fact that wins/losses are assigned randomly to a group (or zone) of planets it also spreads out focused attacks.No planet can be easily focused on to win it over. And the system, even if owningFactions are not on willautomatically create contracts to help "protect" a planet if it starts to fall (lose).

UseCasesType: Package

Changing Factions - (Use Case diagram)

Figure: 2

CreationOfFaction - (Use Case diagram)

Figure: 3

Generating Contracts - (Use Case diagram)

Model Specification Page: 23

Figure: 4

Moving Dropships - (Use Case diagram)

Model Specification Page: 24

Figure: 5

Moving Mechs - (Use Case diagram)

Figure: 6

Preparing to Launch - (Use Case diagram)This is what happens when preparing to launch as an individual or group.

Model Specification Page: 25

Figure: 7

GuildLeaderType: ActorA Guild Leader or PGI Employee.This is one who can create Factions.

PlayerType: ActorA player who is currently not assigned to a faction.

A new player (someone who just joins the game) gets assigned to a faction, which then they automatically receivean invitation.

A new player may select Lone Wolf and would not receive an invitation.

A new player may no longer select Merc as starting faction, only way to get assigned Merc is to be invited by theFaction.

A lone wolf player may start a new faction, but cannot be during the "new player period (25 matches/etc)".

If a player wants to switch factions, they can select a House faction, Clan Faction or Lone Wolf.Selecting a cannon faction moves all their owned mechs to the home planet.

IF a player gets an invitation from a faction (Merc Unit) it immediately changes their assocation from what ever itwas to the new Faction and they become a Merc.

SystemType: Actor

Model Specification Page: 26

The system runs the actions either on a cycle or in some type of batch mode.

Accept Basic ContractsType: UseCaseA Faction Leader can accept any faction's Basic Contracts unless they are allied with a cannon-faction in whichcase they can only accept the allied factions basic contracts.

Accept Low Basic ContactsType: UseCaseA player can accept a Low Basic Contract. These are completed per individual.

Accept Rated ContractType: UseCaseA faction leader can accept any faction's rated contracts that are "public" (non-zone controlled).A faction leader can accept any faction rated contract that was "offered" to him from a zone controller.

Accepting ContractsType: UseCaseA Guild leader can accept Faction Contracts.A cannon-faction automatically accepts all basic contracts from itself and allies.

A Guild leader can accept rated contracts which it has a high enough reputation for.

A cannon-faction and allied faction can only accept rated contracts from it's own faction. (A House Steiner unitwould never accept a Clan contract).

Change Faction

Model Specification Page: 27

Type: UseCase

Use Case diagram: Change Faction Flow

Model Specification Page: 28

Model Specification Page: 29

Figure: 8

This is the flow or steps performed when a player changes factions.

Accept InvitationType: ActivityWhen the player logs in (or if currently logged in) they will be prompted with the invitation to join the player runfaction.Accepting continues on, Rejecting stops the process.

Assign player to factionType: ActivityAssign the players profile to the faction selected.

Determine/Select Startnig planetType: ActivityDetermine the starting planet for the faction, if for some reason a faction has more than one "home" planet allowplayer to select which one he moves to.

If planets have specific bonuses show bonuses next to each.

List available FactionsType: Activitywhen Changing factions a player will be presented a list of available cannon factions plus Lone Wolf. A player canonly select a cannon faction or Lone wolf because player run factions would require an invitation.

Move MechsType: ActivityMove all the players owned mechs to the starting planet. This would be a simple loop through all the playersmechs and reassign their location to the starting planet.

Model Specification Page: 30

Select Faction from ListType: ActivityA player selects a specific faction.

Change FactionType: ActivityInitial

Faction InvitationType: ActivityInitialIn Changing Factions this start point is for when a player is invited to a "Player Controlled Faction". A player mayonly join a player controlled faction by invitation. You can't just say I want to be a Goon...

Create Faction NameType: UseCaseCreate a new Faction Name.- check to make sure it's not already in use.- Pick a logo/graphic

Must have at least one token to purchase a dropship.

Generate Basic ContractsType: UseCaseSystem will generate basic contracts.

Model Specification Page: 31

Use Case diagram: Generate Basic Contracts

Figure: 9

Loop Through ZonesType: ActivityPartitionYou will want to create basic contracts for every zone.

Create new Basic ContractType: ActivityCreate a new basic contract with creation date/faction as the owner of the current zone.Set rewards. By not having the rewards for basic contracts hard coded you can adjust them much easier as neededor even if you need to control the flow of battle.

Model Specification Page: 32

Get Zone infoType: ActivityGet the zone info (to create the contract)This includes controlling Faction.

ActivityInitialType: ActivityInitialStart activity, probably best on some cycle/batch period.I would think minimally you would want it to run at least once a day, but maybe twice a day would be fine as welldepending how quickly people complete contracts.

Generate Low Basic ContractType: UseCaseThese are contracts for a cannon/faction.System goes through each of the cannon-factions and generates a low basic contract. There will always be thesetypes of contracts.

Generate Rated ContractsType: UseCaseSystem will generate Rated Contracts based on how bad one side is losing.

Use Case diagram: Generate Rated Contracts

Model Specification Page: 33

Figure: 10

Loop through Zones

Model Specification Page: 34

Type: ActivityPartitionLoop through each of the zones.

Check number of Celestial ObjectsType: ActivityCheck the currentNumberOfCelestialObj against initialNumberOfCelestialObj.

Create Rated ContractType: ActivityCreate a rated contract based on how bad the owning faction is losing.

If it's number of wins percentage then a lower rated contract is created.

If a planet (or more) is lost then a higher rated contract.

Total number of Wins for all Celestial Objects in zoneType: ActivityCheck each celestial object in zone and total the number og wins for all celestial Objects in zone versus opposingWins.

numberOfCelestialObjType: DecisionNode

numer of WinsType: DecisionNodeThis check needs to be some ratio.For example if owningFaction has half the number of wins as the opposingFaction then you want to create acontract.

Model Specification Page: 35

ActivityFinalType: ActivityFinal

ActivityInitialType: ActivityInitial

InvitationType: UseCase

Accept InvitationType: UseCaseA player must either accept or decline the invitation.A player associated with a "House/cannon" faction must either accept the invitation or decline it.A player associate with a "House/Cannon" faction that declines the invitation is then forced to select another role(merc/lonewolf).

Assign Mech LocationsType: UseCaseAll a players mechs are by default assigned to the starting planet for a Faction.They can move them afterwards to other locations (that belong to the faction).

Model Specification Page: 36

Receive an InvitationType: UseCaseA player will receive an invitation to a Faction when that player is invited by the Guild leader(or officer).Players with "House" associations will automatically receive an invitation when PGI creates House Factions.

Moving DropshipsType: UseCaseA Guild Leader (or PGI) can move a drop ship to any Entity that it is AT_WAR with or ALIGNED with.

This simply checks its list of FactionStatuses and checks to see who it is at war with (or aligned), then it checksthat factions entities which are AT_WAR(in case it's at war) of an entity which are ALIGNED (if faction isALIGNED).

The Guild leader can then select from the above list.

Moving MechsType: UseCaseA player may move mechs about any of the Factions entities (DS/CelestialObject).

Assign to Faction Entity.Type: UseCaseA players mechs are automatically assigned to the starting CelestialObect(planet).

A mech assigned to an existing Entity, can only be assigned to a dropship if that dropship is located at thatCelestialObject.

If a Faction only has one Dropship it is also assigned to that dropship, this will facilitate the DS having to go backand forth from a battle front if it gets a new player.

A player cannot move a mech from a DS to a celestialObject unless it is on that entity.

To transfer from one DS to another DS, it either has to move to a planet first and then to the other DS (located atsame planet) or the two DS must be at the same location.

Model Specification Page: 37

Move MechsType: UseCaseA player should be allowed to move mechs about his current factions points.If the player is in a cannon faction they can move about freely.If the player is in a Player Run faction they require drop ships to move them about.

Offering Rated ContractsType: UseCaseA Zone leader can offer a rated contract to any faction, but only if his zone has generated a rated contract.

Preparing to LaunchType: UseCase

Use Case diagram: Preparing to Launch

Model Specification Page: 38

Model Specification Page: 39

Figure: 11

Check for dropshipType: ActivityCheck to see if drop ships is available for selected contracts.Remove any contracts from list that player/group do not have enough available mechs at.

Get available ContractsType: ActivitySelect a contract from available Contracts.A faction will have a list of "accepted" contracts.Low level Basic Contract (to select from) in addition to any "accepted" faction contracts.

Select Available MechsType: ActivitySelect Available Mechs.

Allow selection based on contract/dropship (if non-cannon).·Allow selection from any (if cannon).·

Apply weight limits when selecting mechs.

Select ContractType: Activity

VoteType: ActivityVote for types of map you want to play.Vote for types of game play you want to play.

Model Specification Page: 40

Check FactionType: DecisionNodeCheck to see if player is in either an allied (aligned) faction or a cannon faction.

Preparing to LaunchType: ActivityInitial

Starting a new FactionType: UseCaseA player must be a lone wolf to start a new Faction.All Merc players (when system is implemented) is converted from Merc to Lone Wolf.

Upon creating new faction initial members are converted to Merc.

Use Case diagram: Starting a new Faction Flow

Model Specification Page: 41

Figure: 12

Model Specification Page: 42

Assign a starting planetType: ActivityReserve a planet (or create a new one) and assign it to the faction.

Create Faction NameType: ActivityCreate a new Faction Name.- check to make sure it's not already in use.- Pick a logo/graphic

This will create a temporary faction.

Embedded ElementsElement Detail NotesActionPin ObjectNode1

Version: 1.0

Make faction PermanentType: ActivityMove the state of the faction from temporary to permanent.

Purchase Drop shipType: ActivityRemove the C-Bills from each player (which has pledge).

Activity diagram: Purchase Drop ship

Model Specification Page: 43

Model Specification Page: 44

Figure: 13

Assign it to a starting planet.Type: Activity

Check for available FundsType: ActivityCheck to make sure the creator and invited friends has minimum C-Bills 144million allocated.

Create new Name for DropshipType: ActivityAssign a name for the dropship.

Select Starting Members.Type: ActivityA interface which allows the player to select Starting(funding players).It will allow from zero to 11 additional members to be selected.When sending the invite to join it should note how much the Faction leader is expecting them to pay to form theguild, this would default to 12million C-Bills.

Activity diagram: Select Starting Members.

Model Specification Page: 45

Model Specification Page: 46

Figure: 14

Assign Invited player to factionType: ActivityOnce players have accepted assign them to the faction, this may be a temp faction (if creating a new faction).

Enter Amount dueType: ActivityEnter the amount in C-Bills they player is expected to pay (and will be charged) by accepting this invitation.

Enter Member NameType: ActivityEnter (or select from friends list) players name.

Send inviation to playerType: ActivitySend an invitation to player,A popup window will appear to the player (or if logged out - next time they log in).Window will inform player of the invite to the faction/guild and an amount of C-Bills that will be deducted fromthe player's bank.

If they player does not have enough C-bills as is being asked then the invitation is automatically rejected, thischeck could be done when the invitation is sent out (should be easy enough to look up someone's C-Bills).

By accepting the invitation the c-bills are subtracted and placed in a "hold" account and a confirmation message(or indicator) is sent back to invitee.

By rejecting the invitation the c-bills are NOT subtract and a message or indicator is sent back to invitee.

Model Specification Page: 47

Wait for acceptence.Type: ActivityThere will be a turn around from sending out the invitations to accepting them.A list can be presented to the leader showing which have accepted (green check) which have rejected (red X), andwhich have not responded.

It should have a time limit for waiting, 24-48 hours before automatically rejecting the invitation.

Invite MembersType: ActivityInitial

Purchase Drop ShipType: ActivityInitial

CreateNew FactionType: ActivityInitial

Domain ModelType: Package

Domain Model - (Class diagram)

Model Specification Page: 48

Figure: 15

NoteType: NoteThe Domain Model is a view of all the objects that make up an area of interest, and their relationships. It is usedto capture the significant objects within a system, organization or any target domain.

$help://domain_model_pattern.htmType: Text

Domain ObjectsType: Package

Domain Objects - (Class diagram)

Model Specification Page: 49

Figure: 16

CelestialObjectType: ClassThe universe is made up celestial objects.Most of which will be planets.But by giving this a CelestialType you can have free floating space stations, or meteors or other non-planet thingswhich MW fight over.

AttributesAttribute Notes Constraints and tags

Location LocationPrivate

Where the planet is located.A planet Location has a LocationPoint of 0.

Default:

Name StringPrivate

Name of the planet. Default:

Model Specification Page: 50

Attribute Notes Constraints and tags

OwnerFaction FactionPrivate

A planet can be assigned a faction (who iscurrently controlling it).A planet can have no faction assigned to it(planets in periphery)

The planet's faction should be the totalaggregate of all a planets PoC.For example if a planet has 3 PoC (2 cities and1 mountain peak) then if a faction controlsmore PoC than the "Owned" faction it logicallycontrols the planet though until it controls allPoC the planet is still considered owned by theoriginal faction

Default:

Warstats WarInfoPrivate

This is how a planet or other celestial object isfought over.For example a small planet (like a moon) mayonly have a single Point of Contention. Like aHPG station, while a large (capital) planet mayhave many cities, and other areas which needto be take over.

Default:

GravityFactor intPrivate

This is the default gravity factor for a planetwhich is assigned to all PoC.

Default:

CelestialObjectTypeCelestialTypePrivate

This it the type of celestial Object.If you don't have this you have to add in awhole new set of objects if you want to havethings like a space station (which is notattached to a planet).By having this you can add cool features inlike an abandoned hulk or space station, etc.

Default:

Status StatusTypePrivate

This determines the war status of a planet. Default:

InfrastructureInfrastructurePrivate

OPTIONAL MEMBER/FIELD: seeInfrastructure.

Default:

Model Specification Page: 51

Attribute Notes Constraints and tags

neighborsList<CelestialObject>Private

OPTIONAL MEMBER/FIELD:This would allow you to track who is aneighbor(s) of every planet, which could alsobe used as navigational (or jump) points.

Default:

OperationsMethod Notes ParametersControllingFaction()FactionPublic

This method checks all the current plants PoCand determines who is the controlling faction,which is different than the OwnerFaction.

This can be used for assigning matches.

For example if House Steiner owns the planetand is being attacked by JadeFalcon and it has3 points of interest, then if JadeFalcon controls2 of the PoC it is logically in control of theplanet with only a pocket of resistance left,though House Steiner still owns the planet.

For example if HouseSteiner owns the planetbut JadeFalcon controls it, then HS wouldlikely send more "seasoned" warriors to helpprotect it, so they would get a bonus to ELO(or however you want to determine it).

CelestialTypeType: ClassA Celestial object has a type:PlanetSpace StationMeteoretc.

AttributesAttribute Notes Constraints and tags

PLANETPrivate

Default:

Model Specification Page: 52

Attribute Notes Constraints and tags

SPACE_STATIONPrivate

Default:

ContractType: ClassRepresents a Contract between two factions.

It would have to track the details of the contract.rewards (bonus C-Bills, percentage bonus C-Bills, faction C-Bills bonus)·goal (number of drops, number of wins)·limits (time limit)·type·

The contract type might help (or set a range) of reward values as well as goals.

AttributesAttribute Notes Constraints and tags

OfferingFaction FactionPrivate

Faction which offers the contract. Default:

OriginatingZone ZonePrivate

A contract originates from a single Zone. Default:

zoneControlledContractbooleanPrivate

An indicator to see if the contract is zonecontrolled.A non-zone controlled contract is offered up

Default:

Model Specification Page: 53

Attribute Notes Constraints and tags

automatically.A zone controlled contract is offered up by azone leader.

type ContractTypePrivate

The type of contract it is. Default:

creationDate DatePrivate

Creation date is when the contract is created,contracts need to expire so need to see howlong they have been alive.

Default:

acceptedDate DatePrivate

accepted date/time when a contract is accepted.May need to keep track for how long theyhave.

Default:

ContractTypeType: ClassA Contract Type determines the type of contract it is.LOW-BASIC - contracts for lone wolfsBASIC - automatic contracts for factionsIMPROVED-BASIC - automatic contracts which require a specific number of winsRATED - contracts which requires a specific reputation.

DropShipType: ClassA Dropship is always associated with a Faction, because to form a faction you need to purchase at least onedropship.A Dropship has a location.

Model Specification Page: 54

AttributesAttribute Notes Constraints and tags

Location LocationPrivate

A Dropship has a location.This will allow you to move dropships aroundthe universe and can even track them while themove (assuming it isn't spontaneous).

Default:

Name StringPrivate

You will likely want to allow dropships to benamed to allow players to easily track them.You could simply number them (using that asthe name)

Default:

carryingMechsList<Mech>Private

This is the list of mechs a DS is currentlycarrying.IF a DS does not have a weight limit then all aguilds Mechs would need to be assigned here.

Default:

type DropShipTypePrivate

Default:

DropShipTypeType: ClassThis can be optional object, which will allow you to have different sizes/types of dropships (not all dropships arethe same).

AttributesAttribute Notes Constraints and tags

TypeName StringPrivate

Type of Dropship Default:

Model Specification Page: 55

Attribute Notes Constraints and tags

SizeClass intPrivate

This will allow you to classify differentdropships into different catagory.SizeClass can determine how many mechs aDS can carry. If not you will need an extrafield.

Default:

WeightCapacity intPrivate

This is the amount of weight a DS can carry.Which will allow players to add a number ofmechs (based on weight)

Default:

FactionType: ClassA FACTION is a group of planets (0 or more).A Faction could lose all it's planets, but still have members fighting for it.The MERCS would be a logical Faction without any owned planets (unless you allow MERCS to own planets).

AttributesAttribute Notes Constraints and tags

Faction Info Faction InfoPrivate

Default:

Planets own by FactionList<Planet>Private

A Faction owns zero or more Planets. Default:

Model Specification Page: 56

Attribute Notes Constraints and tags

Dropships List<Dropship>Private

A faction has dropships, now if you allowdropships to be destroyed a Faction can havezero or more dropships. If not a Faction willalways have at least one dropship.

Default:

AlliedFaction FactionPrivate

This attribute allows a faction to be associatedwith another Faction.For example you may have a Clans faction,which are assigned all the starting Clanplanets (celestial Bodies), then when youcreate a specific clan you can then assign it subplanets.

This would allow a faction (merc unit) to alsobe associated with a house. A merc unitassociated with a house can not attack thathouses planets and the house cannot attack thatunits planets.

An allied house always fights on the side of thehouse it is associated with.

Default:

Status List<FactionStatus>Private

A List of statuses in relation to other factions.If a Faction does not have a particularFactionStatusType then it is consideredNEUTRAL.

Default:

AcceptedContractsList<Contract>Private

Contracts the faction has Accepted. Default:

GrantedContractsList<Contract>Private

Contracts the faction has offered. Default:

Rating intPrivate

This is the factions reputation (or rating). Default:

Model Specification Page: 57

Attribute Notes Constraints and tags

Faction InfoType: ClassInformation about a faction.

AttributesAttribute Notes Constraints and tags

Name StringPrivate

Name of a Faction."House of xxxx"Merc company Name: "The Templars"

Default:

Faction Funds intPrivate

OPTIONAL MEMBER/FIELD:This could track C-bills in a faction/guild fund.This would allow players to contribute C-Billsto make large purchases like a second dropshipor improving planets defenses/infrastructure.

Default:

FactionStatusType: ClassRelation to a particular faction.

AttributesAttribute Notes Constraints and tags

Faction FactionPrivate

Faction with which this particular status isrelated to.

Default:

Model Specification Page: 58

Attribute Notes Constraints and tags

FactusStatusTypeStatusTypePrivate

Default:

InfrastructureType: ClassOPTIONAL:A planet may have an infrastructure.The required information would be stored here.

Improved Defenses·Mech production facilities·Weapon production facilities·Module production facilities·planetary defenses.·

LocationType: ClassA Location is based loosely on some type of Grid.Be it spatial points in a 3D world (dfs: 300 ly, aa: 38d)-- 300 Light years distance from Sol (dfs)-- 38 degrees off the azimuth angle (aa)

Could be simple grid of x/y coordinates. on a flat 2D universe.For a simple Cartesian coordinate system in a 3D universe, you can again

So location will be defined by how you lay out your universe.In either method you can easily determine how far things are apart.

You can also determine travel times based on speed.

Many things will have a location.- Planets- Space stations (if you ever add them).- Jump Ships (this would allow you to track things as they moved about - where they are).

For the base model I am going to assume a simple 3D cartesian coordinate system, but keep things on the "flat".Sol being the center 0,0,0 This will allow you to easily add the 3rd dimension by simply plotting the z axis.

Model Specification Page: 59

AttributesAttribute Notes Constraints and tags

yAxis intPrivate

The Y-Axis is the north and south of theuniverse.north being positive, south being negative.Again this can be defined in any number ofpoints, but should be same scale as the X-axis.

Default:

xAxis intPrivate

The X-Axis represents east/west. It could bescaled in light years (or what ever you want).East is positive, west is negative.

Default:

zAxis intPrivate

The Z-Axis represents the 3rd dimension,which can (or cannot) be used. Depending howdetailed you want your universe to be.This X-axis represents how above or below Solyou want to place your planets.For my example I will be using everything onthe same plane, but can easily be changed.Above is positive, below is negative.

Default:

MWO Player ProfileType: ClassThis is a MWO player profile loaded into memory.This could simply be part of the "player" object or a sub-object of the player object.

AttributesAttribute Notes Constraints and tags

Faction FactionPrivate

This is the players faction they are currentlyaligned to.A player may will always have a faction, thedefault being LoneWolf.

Default:

Location LocationPrivate

Now depending how detailed you want to be aplayer can be assigned a Location. Now I don't

Default:

Model Specification Page: 60

Attribute Notes Constraints and tags

think this is a good idea as if I have 20 mechs Ican send 10 to Planet Furillo and 10 to Laiaka.if I am assigned a location then I can't play atboth, this will hurt smaller guilds/units.

My suggestion is not to use Player Location.The only thought is that if a player can onlyplay in a specific location over a period oftime. For example when I log on we currentlyhave 2 contracts, I decide to play againstPlanet Furillo since I have mechs there. Icannot immediately jump over to planetLaiaka. But for the next 4 hours I am tied to allbattles at planet Furillo. But after 4 hours I canshift my location and join the abttles over onplanet Laiaka. Again this has the draw back inwhat happens if we quickly take planet Furillo,then I can't play for another 4 hours? not good(though it would add more realism to the gamebut overall not good).

MechType: ClassThis is the standard object for Mech, which I assume you already have, so I am going to leave out a lot of attributeswhich would logically be here.A few missing attributes:- Owner- Weight- Pattern- weapons (whatever).

AttributesAttribute Notes Constraints and tags

Location LocationPrivate

This is where the mech currently is assigned.You could pull this from the DS, but if when aDS lands on a planet it doesn't move, so themechs would need from 1 POC to the next andyou need to assign them.

Default:

PointOfContentionType: Class

Model Specification Page: 61

A Point of contention is where battles take place.It minimally should be assigned a Map and a name. You would also likely want an order.- for example the CIty of Narbonne would be assigned River City, while the "valley of death" could be assignedCanyon Network).

AttributesAttribute Notes Constraints and tags

mapName intPrivate

This is simply the map assigned for thislocation. It would be the map ID, a name orkey.

Default:

Name StrnigPrivate

A name of a specific point of contention totrack it.

Default:

Order intPrivate

This is the order in which the battles (points ofcontention) are fought, this would facilitaterepulsing attackers the same path theyattacked.

Default:

captureVictories intPrivate

OPTIONAL MEMBER/FIELD:If you wanted to vary the number of victories ittakes to capture a POC it would be stored here.By default this would be the number of(planets.captureVictories / number of PoC).

Default:

StatusTypeType: ClassStatus for planets and factions.

Statuses:AT_WAR - Factions at war can move DS to any entity which that factions owns and is AT_WAR-- Example House Steiner is AT_WAR with House Kurita, HS can move any DS to any entity with a status of

Model Specification Page: 62

AT_WAR that HK owns and visa-versaALIGNED - factions aligned can move DS to any of entities that faction ownsNEUTRAL - factions of neutral status cannot move DS to any of the factions entities

AttributesAttribute Notes Constraints and tags

AT_WARPrivate

Default:

ALIGNEDPrivate

Default:

NEUTRALPrivate

Default:

UniverseType: ClassUniverse is a map of the known planets.

AttributesAttribute Notes Constraints and tags

Model Specification Page: 63

Attribute Notes Constraints and tags

Name StringPrivate

Name of the Universe, by having uniquelynamed universes you can create multiple.

Default:

PlanetsList<CelestialObject>Private

The universe is made up of celestial objects(planets, space stations, etc).

Default:

Zones List<Zone>Private

A Universe is made up of different zones.House Steiner could be one zone. or HouseSteiner could be made up of multiple zones.

Default:

WarInfoType: ClassWar Info is what tracks war over a planet.WarInfo keeps track of both sides victories, the number of victories it takes to win the planet, and strength of theplanet's forces.

A planet should minimally have/track about 200 Victories for each side. Which means if you are trackingindividual POC you need to know how many victories each POC takes.

If you are not tracking individual POC (suggested - though loss of realism), you can have any variable number ofcapture victories per planet.- A really small planet (moon?) may only require 10 victories (but would change hands quickly).- A super large planet could require 4,000 victories.- Each victory basically represents a POC.

AttributesAttribute Notes Constraints and tags

Terrain List<mapId>Private

Terrain is what types of terrain are available toa planet.It is simple a list of map identifiers. This couldsimply be the name of the map "River City" anumeric id (key for "River City").

Default:

Model Specification Page: 64

Attribute Notes Constraints and tags

captureVictories intPrivate

This is the number of wins a faction must havein order to win/capture the entire planet.

Default:

OwnerFactionWins intPrivate

This is the number of wins the Owner factioncurrently has. Every time a new "war" startsthis would get reset to 0.For example Planet Lamon has 2 PoC whenthe invading clan Jade Falcon attacks (whichwould be the outer most PoC 1) the wins areset to 0. after the JadeFalcon wins enough tocapture it (determined by captureVictories)JadeFalcon controls this.Then they move onto PoC 2. But House Steinerputs up a good fight and repulses JadeFalcon(determined by captureVictories) and then thebattle is back for PoC 1 as HouseSteiner triesto push them off the planet. The wins would bereset each time you move from one PoC toanother.

Default:

OpposingFactionWins intPrivate

This is similar to OwnerFactionWins though ittracks the number of wins the attacking factionhas won so far.Again it is reset each time you move from onePoC to anther (logically when one side wins).

Default:

StrengthFactor intPrivate

An optional Value to more dynamically show aplanets weaknesses/strengths.A strong planet will repel attackers quicker.So while any side will determine a victory after(2*captureVictories) battles a strong planetmay repulse the attacking side quicker if itdoes not win enough battles quick enough.

Default:

PointsOfContentionList<PointOfContention>Private

OPTIONAL MEMBER/FIELD:By tracking the points of contention for aplanet this would allow recapture and morerealistic repulsing of invaders.For example if you attack the US, start atWashingtonDC, then attack Philly, then NY,then Cleaveland, etc, if the defenders startedwinning you could logically "back track" theprevious battles. If this is not tracked it isassumed that when an opposing force isrepulsed they take a different "retreat" routethan which they attacked (this could be

Default:

Model Specification Page: 65

Attribute Notes Constraints and tags

because the other places are destroyed).

This would basically add a depth of realism toCW. Nothing more.

ContractFactor intPrivate

The contract factor is normally set to 1, but ifan opposing faction is pushing in on a zone orfaction, PGI could change the contract factorwhich would adjust the values of contractsbeing generated to help better protect it.

Default:

ZoneType: Class

AttributesAttribute Notes Constraints and tags

ObjectsList<CestialObject>Private

A zone is made up of one or more celestialobjects (planets, space stations, etc).

Default:

controllingFactionFactionPrivate

A zone has a controlling faction. Default:

initialNumberOfCelestialObj intPrivate

This is the number of initial celestial objects azone is made up of.This is needed to be able to check ones acelestial object is lost to the other side.

Default:

Operations

Model Specification Page: 66

Method Notes ParametersgetCurrentNumberOfCelestialObj() intPublic

Get the current number of celestial Objects.This is then used to compare againstinitialNumberOfCelestialObj(s) to see if side iswinning//losing.