Standardized Mission Architecture for SFC2 API Programming
Author: el-Karnak,
koshnaranek2002@yahoo.com1.0 Abstract
The purpose of this ongoing document is formalizing a consistent set of mission design for scripts used by SFC2:EAW and SFC2:OP. By establishing homogeneous standards the goal of achieving more user-friendly and robustly coded scripts will resul in contrast to the missions currently experience in D2 dyna play.
Many of the items detailed in this document are already being done by the active mission scripters of the SFC series of games developed by Taldren, inc. The guidelines are meant to be suggestions based on my personal experience in dyna campaigns both as a player and as a mission script developer. Many thanks go out to the RMs and Admins that took the time to patiently give feedback to many and verbose inquiries.
This document consists of two sections:
First, detailed in section 2.0, a specific classes of missions that achieve clearly defined purposes without negatively impacting the quality of dyna play through too many connection drops, mission crashes and anomalous AI generation in-mission.
Second, detailed in section 3.0, establish a standardized mission template that will be common in all missions produced so that the user experiences a similar standard of code quality and robustness.
In addition, it is the responsibility of the script writer to unit test their code as much as possible before releasing even a beta version to any server admin. for dyna use. The hope is that the following guidelines regarding mission scripting standards will help the scripter in developing robust mission scripts. In the future, the author hopes that new items can be added to this document
2.0 Mission Class Descriptions
2.1 Patrol Class missions
Patrol-class missions are designed to fulfill the role of the most common usage missions for the dyna campaign and will have the following features:
· They can appear in any terrain type hexes.
· They can neither be too easy nor too hard. New players should be able to succeed in these missions after a few days of play in a minimum CA-class ship.
· Common priority setting would be 3.
· Mission times for the average player should not exceed 3 to 8 minute range.
· Robustness is the key word for these missions since they will be, by far, the most heavily used missions in any dyna campaign.
· To reduction the likelihood of connection drops, the maximum number of ships for these missions is 6.
· The features used in these missions should be standardized as much as possible between the various active mission script writers so as to achieve a common level of integrity in mission play for the user.
· The script writer should heavily test them before being released to any server admin. for dyna play.
· Active consultation with RMs and Admins. during mission script development regarding game balance and specific test cases is highly recommended.
Example Patrol-class mission from EEK:
· Deep Space Patrol (1v1)
· Enemy Sweep Patrol (2v2)
· Joint Ops. Patrol (2v2)
· Skirmish Patrol (3v3)
· Combined Arms Patrol (3v3)
2.2 Action Class missions
Action-class missions are designed to fulfill the more challenging role of missions in a dyna campaign and will have the following features:
· These missions will be localized to a specified type of terrain (ie. A range of hexes pinned on a planet or base, for example) so as to never appear in anywhere close to the frequency of the Patrol-class missions.
· Since these missions are localized to certain areas of the dyna map, it is possible for these missions to have higher priority than Patrol-class missions (common usage priority would be 2).
· These missions can range from medium to extreme difficulty. Even veteran players will find these missions both challenging and fun.
· Mission times for the average player should not exceed 8 to 15 minute time range.
· Robustness is vital in these missions. Even more so, because the player will take longer to finish these missions than would be the case for Patrol-class missions.
· Any number of ships can be used; however, the scripter should try to bear in mind what total of AI will cause severe lag problems for the average user.
· They should be heavily tested by the script writer before being released to any server admin. for dyna play. Even more so than Patrol-class mission, because the player will take longer to finish these mission.
· Active consultation with RMs and Admins. during mission script development regarding game balance and specific test cases is highly recommended.
Example Action-class EEK missions:
· Squadron Action
· Fleet Action
2.3 Stationary Class Missions
These type of missions focus on a specific target such as bases and planets and will have the following features:
· Only accessible in base or planet hexes.
· The high importance of the hexes that these missions appear in, dictate a high priority requirement (common usage priority would be 1).
· Since many, if not all, base and planet hexes have Victory Condition (VC) or high Economic/Strategic value, the difficulty of these mission should be high; bordering on the need for players to Co-op in order to succeed in a 10 minute time frame. A veteran player should be able to succeed in-mission within 30 minutes.
· Robustness is vital in these missions. Even more so, because the player will take longer to finish these missions than would be the case for Patrol-class missions.
· Any number of ships can be used; however, the scripter should try to bear in mind what total of AI will cause severe lag problems for the average user.
· They should be heavily tested by the script writer before being released to any server admin. for dyna play. Even more so than Patrol-class mission, because the player will take longer to finish these mission.
· The mission goal is quite straight-forward so little consultation with RMs and Admins. during mission script development regarding game balance and specific test cases is anticipated.
Example NW (NuclearWessels) Stationary-class Missions
· NW Planetary Assault
· NW Planetary Defence
· NW Base Assault
· NW Base Defence
2.4 Special Class Missions
These missions are the domains of the scripter?s most imaginative inspirations. There are really no specific guidelines to follow except for the following minimum standard requirements to ensure mission robustness and proper campaign mission flow.
· Special mission are meant to not show up as often as any other class of mission so the common usage priority would be 4.
· Robustness is, of course, vital in these missions. Even more so, because the player may take longer to finish these missions than would be the case for Patrol-class missions.
· Any number of ships can be used; however, the scripter should try to bear in mind what total of AI will cause severe lag problems for the average user.
· They should be heavily tested by the script writer before being released to any server admin. for dyna play. Even more so than Patrol-class mission, because the player will take longer to finish these mission.
· Little to no consultation with RMs and Admins is anticipated. The scripter is free to do as he/she wishes with only common sense as their guide. In many cases, the Admins. will request a specific special mission designed only for their campaign.
Example EEK Special-class Mission
· Pirate Base Assault
2.6 Certifying a New Mission for Production Dynas
Already, many missions are already being tested out and validated on test server generously put up by many server administrators. The section merely formalizes the process where no new mission should be certified for a production dyna release (ie. serious 4 to 6 week campaign) until it is has been properly validated in a minimum 2-week mini-campaign.
2.7 Freeware
It is suggested by many server admins. that scripters share their knowledge with each other for the overall benefit of the SFC community.
3.0 Standard Mission Features
The goal of this section is not to dictate a specific set of features for all the scripters but mainly to set a specific set of guidelines that have be confirmed to robustly work in EEK missions. In addition, the majority of the playerbase has asked many of these features be implemented for quite some time based on my SG3 Admin experience. Of course, each scripter is free to do as he/she wishes, but it is hoped these guidelines will serve some benefit nevertheless.
3.1 Ship-based Features
1. The player?s ship will automatically go to Red Alert status at the mission?s 1 second mark.
2. Regulation of spare use to reduce to usage of a ?second? or even ?third? set of ship internals in mission play. In any mission, the maximum spares available on a player's primary ship will be based on the following schedule based on ship class:
a. Freighters: 8
b. Frigates/Destroyers: 10
c. Light Cruisers: 12
d. Heavy Cruisers/New Heavy Cruisers: 14
e. Heavy Battle Cruiser: 16
f. Carrier/Dreadnoughts: 18
g. Battleship: 20
h. Any other class: 14
Any surplus spares that exceed the above limits on a player?s ship will not be available in-mission, but instead returned at mission?s end; if the player?s ship survived the mission.
3. All enemy AIs will be given the maximum T-bomb load available as specified for the ship in the shiplist.txt file. All enemy AIs will also receive a Spares compliment equal to 25% more than scheduled amount, as detailed in sub-section 2 above, for the given Enemy AI?s ship class.
4. Officer ranks that are programmatically set for Enemy AI ships will use the following schedule:
a. Captain Veteran
b. Weapons Officer Veteran
c. Engineer Legendary
d. Helm Legendary
e. Security Legendary
f. Science Legendary
g. Comm Legendary
3.2 Mission-based Features
1. When using the player?s BPV value to generate Enemy AI opposition and the mission is played in the Early Era time frame, the BPV value used is reduced by 25%.
2. Increased PP rewards for PvP matches: forced disengagements yield 2 times the normal victory PP payout, player kills/captures yield 3 times the normal victory PP payout, out-numbered PvP wins (ie. 2 humans on one or worse odds) wins for the under-dog yield 4 times the normal victory PP payout. In addition, if the player is forced to disengage from a match where there are the same number of humans and ships per side then the player will always incur a Devastating Defeat. Any match involving a human DN player nullifies all these PP adjustments.
3. Whenever possible remove extraneous AI ships from the mission when Player vs. Player combat is involved.
A MS-Word soft copy of this document can be found at this URL:
Standardized Mission Architecture for SFC2 API ProgrammingFeel free to download a copy, make changes, and email them to me so we can discuss. <img src="http://208.57.228.4/ubbthreads/images/graemlins/laugh.gif" alt="" />