Difference between revisions of "Development:Quests & Campaigns"

From VsWiki
Jump to: navigation, search
m (Implementation References: sp)
 
(20 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{parent_link|parent=[[Development]]}}
+
This page is meant to provide a platform for campaign, mission, and quest & adventure programmers to describe the python scripting mechanisms and merge their ideas and best practices...
----
 
{{Template:Spoiler}}
 
  
This page is meant to provide a platform for campaign/mission programmers to merge their ideas and best practices...
+
=Campaigns, Missions, Quests & Adventures=
  
=Python Scripting=
+
==[[Development:Campaigns|Campaigns]]==
 +
'''Campaigns''' describe the overall plot in which the player is involved. From the campaigns various missions are given depending on the progress of the universe and its various conditions.
  
==Scripting Basics==
+
For more information, head over to [[Development:Campaigns]].
  
VS has a lot of different ways of doing one thing. Just pick the most appropriate one for the job. It supports campaigns, missions, independent fixers, quests, etc., all of them having their specific ways of hooking them up into the game.
+
==[[Development:Missions|Missions]]==
 +
'''Missions''' can be nodes of a campaign or independent missions available through fixers or the mission interface.
  
Quests are run inside of "random_encounters.py". If it returns 1 or True, it will keep going. If it returns 0, False or None (python returns None if you don't say what to return) then the quest will stop Execute()ing and be deleted until you jump into that system again or reload.
+
For mission editing, refer to [[Development:Missions]].
  
==Getting Objects==
+
==[[Development:Quests|Quests and Adventures]]==
{{Fixme}} Improve/expand it.
+
'''Quests''' are equivalent to '''adventures''' and are independent events that happen in specific systems when the player is there.
  
==More Topics==
+
A description on creating quests can be found in [[Development:Quests]].
{{Fixme}} Improve/expand it.
 
  
==Flight Groups==
+
=Common References=
You can use "flightgroup directives" to give units specific orders (which is cool if you want to generate two drones and make one blow up another)
 
  
The list of is in C++ (undocumented) but I've decided to look through the code. This should probably go to the wiki sometime
+
Python scripting reference for campaigns, missions, and quests.
  
H,h (help) -- leader of flightgroup requests help.
+
==Explanations==
B,b (break and attack) -- default, everyone attacks like normal
 
A,a (attack target) -- attack their current targets
 
lowercase k -- something undocumented, says something about capships. Probably it's an order to take out capship turrets with priority, or it's a pure bomber order to attack capships and ignore fighters.
 
F,f (flagship?) -- Ship being escorted. I would imagine that it's an order to attack a ship being escorted by the hostile faction. Alternatively, it could be an order to fly in formation.
 
L,l -- undocumented, like F but has complicated formation rules. Could be a shortcut for "Leave" - ships heading out.
 
E,e -- half of this is copy and pasted from L but I have no idea. I'd say it is "escort", escort a designated ship.
 
P,p (protect)-- I want to help out
 
  
You can also add a "." to the end to ensure that the unit will not change targets on its own.
+
===[[HowTo:Edit_Missions:Python:Summary|Summary about Python-Vegastrike Class Relationships]]===
Also, a capital letter overrides the AI script, and lower case will allow it to be changed.
 
  
Unfortunately I don't see any codes for acting like a sitting duck... You could try something like making it target itself, or making it target NULL (which you get by calling the constructor VS.Unit() ) and then using something like "A."
+
===[[HowTo:Edit_Missions:Python:Bindings|Python - Vega Strike Bindings]]===
  
Or, just try doing a "B." and having it target you, and make sure it is friendly... then it might just fly near you.
+
===[[Development:Python:AI Scripts|Python Inheritance with AI Scripts]]===
  
I believe you can get it to fly places by having it target them and then force it to do unit.setFgDirective("B.") which I think forces it to act like normal and fly to this target.
+
==Implementation References==
 +
===[[HowTo:Edit_Missions:Python:Bindings:CPP|VegaStrike C++ Functions Listing]]===
  
=Quests, Missions, Campaigns & Adventures=
+
===[[HowTo:Edit_Missions:Python:Bindings:Python|VegaStrike Python Functions Listing]]===
==The first major campaign written (Jenek)==
+
 
See also the [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=3246 forum thread] (comments & feedback) when this mission was first put into [[SVN]].
+
===[[Development:Python:Functions|Useful Python Functions]]===
{{Fixme}} Improvements/expend it?
 
  
 
=See also=
 
=See also=
* [[HowTo:Edit Missions]]
 
 
* [[HowTo:Edit News]]
 
* [[HowTo:Edit News]]
 
* [[HowTo:Add Conversations]]
 
* [[HowTo:Add Conversations]]
  
 
[[Category:Development|Quests & Campaigns]]
 
[[Category:Development|Quests & Campaigns]]

Latest revision as of 16:48, 1 June 2010

This page is meant to provide a platform for campaign, mission, and quest & adventure programmers to describe the python scripting mechanisms and merge their ideas and best practices...

Campaigns, Missions, Quests & Adventures

Campaigns

Campaigns describe the overall plot in which the player is involved. From the campaigns various missions are given depending on the progress of the universe and its various conditions.

For more information, head over to Development:Campaigns.

Missions

Missions can be nodes of a campaign or independent missions available through fixers or the mission interface.

For mission editing, refer to Development:Missions.

Quests and Adventures

Quests are equivalent to adventures and are independent events that happen in specific systems when the player is there.

A description on creating quests can be found in Development:Quests.

Common References

Python scripting reference for campaigns, missions, and quests.

Explanations

Summary about Python-Vegastrike Class Relationships

Python - Vega Strike Bindings

Python Inheritance with AI Scripts

Implementation References

VegaStrike C++ Functions Listing

VegaStrike Python Functions Listing

Useful Python Functions

See also