Difference between revisions of "Development:Campaigns"

From VsWiki
Jump to: navigation, search
m (HowTo:Edit Campaigns moved to Development:Campaigns)
Line 1: Line 1:
{{attention}}
+
Page moved to: [[Development:Campaigns]]
 
 
{{NAV_Manual |
 
| previous=[[HowTo:Edit_News|Edit News]]
 
| up=[[HowTos]]
 
| next=[[HowTos#Sourcecode_HowTos|Sourcecode HowTos]]
 
}}
 
----
 
=EDITING Campaigns=
 
 
 
'''''Note:''' The information contained here is useful only to those willing to learn a minimal amount of python code (the language does not need to be learned, only the formatting restrictions imposed).  A GUI editor is in development, but work has stalled due to lack of time on the developer's part.  If anyone wishes to assist, please contact [[User:dandandaman|dandandaman]].''
 
 
 
==Campaign Structure Overview==
 
An example campaign can be found under the following [http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/vegastrike/data4.x/modules/campaigns.py?rev=HEAD&content-type=text/vnd.viewcvs-markup link]
 
 
 
To write a campaign, you'll require missions.  The mission system is what is used by both the mission bbs, and the campaign.  As a start, it is good to plan to use only the mission types available, as writing your own can be a pain, and requires a degree of proficiency with python and vegastrike which you may not have for a little while.  If you are developing a campaign and do require something specific that isn't available, just ask, and we'll see what can be done.
 
 
 
Since you are then limited to the missions we have, you'll want a nice
 
reference about what each of the variables for each mission are ... and
 
what they do.  We don't actually have one ;-)  but we have something
 
that is almost as good: verify_missions.py  At the bottom of this file
 
is a list of the misison types, and slightly more descriptive labels for
 
the arguments (their meanings should be relatively easy to glean from
 
that info, but ask if you're unsure :-) ).
 
 
 
That is unfortunately the easy part.  The harder part (easy once you
 
understand it) is then writing the campaign.  The campaign for Vega Strike is
 
stored in campaigns.py.
 
 
 
Before we proceed I think it's best if you look at this
 
stuff and try to understand a little bit yourself.  At the top of
 
campaigns.py is a whole bunch of text, the dialogue and strings used by
 
all the various campaign 'nodes.'
 
 
 
A 'node' is a branch of a campaign, it is where fixers get created and the decision to accept or deny a mission occurs, or where the campaign is branched automatically (depending on some conditions that you might want to specify.  ie you might
 
have a branching storyline depending on whether a flightgroup still exists or not).
 
 
 
Typically, each node contains a mission ... CargoMissions are a special
 
case, they have a special type of node wrapper, and are probably the
 
easiest to start with.  Anyway, get yourself a text editor with syntax
 
highlighting for python, and have a look at the nodes in the function
 
LoadTestCampaign (this is a short test campaign that I made to
 
demonstrate a bug).
 
 
 
There was more documentation somewhere, but it appears to have been vanquished.  So, ask the inevitable questions!
 
 
 
 
 
* [[HowTo:Edit_Missions|Editing Missions]]
 
* [[HowTo:Add_Conversations|Adding Conversations]]
 
 
 
----
 
{{NAV_Manual |
 
| previous=[[HowTo:Edit_News|Edit News]]
 
| up=[[HowTos]]
 
| next=[[HowTos#Sourcecode_HowTos|Sourcecode HowTos]]
 
}}
 
 
 
[[Category:HowTos|Edit Campaigns]]
 

Revision as of 10:42, 21 April 2008

Page moved to: Development:Campaigns