<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.vega-strike.org/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pyramid</id>
		<title>VsWiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.vega-strike.org/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pyramid"/>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/Special:Contributions/Pyramid"/>
		<updated>2026-05-13T14:06:33Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.30.2</generator>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Tools:UnitConverter&amp;diff=19869</id>
		<title>Development:Tools:UnitConverter</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Tools:UnitConverter&amp;diff=19869"/>
				<updated>2020-05-07T03:45:47Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* Installation and Starting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
&lt;br /&gt;
Raising from the stone age of workflows, in which every task, from texture conversion to editing of unit stats, had to be accomplished manually and only by quite knowledgeable magistrates who knew the alchemy of units.csv columns, xmesh files, and had a magic with meshers. Now, UnitConverter shines upon us, still in the distance, but unmovable like a beacon on solid rock, to be the church of the artists, to accommodate the apostles of Blender, CineMut, and LaGrande, to bring the holy spirit of salvation to this compassionate universe of ours.&lt;br /&gt;
&lt;br /&gt;
Some of the main Unit Converter features:&lt;br /&gt;
* bi-directionally converts meshes between obj and bfxm files&lt;br /&gt;
* assign textures to (sub)models&lt;br /&gt;
* convert model and shield meshes&lt;br /&gt;
* compress default and faction input textures to dds output textures&lt;br /&gt;
* saves the complete workspace in portable config files&lt;br /&gt;
* change model techniques and blend mode&lt;br /&gt;
* checks and corrects invalid obj files, recreates mtl files&lt;br /&gt;
* creates a model directory if none exists and copies all required files&lt;br /&gt;
* compresses hud image and creates a .sprite file&lt;br /&gt;
* units.csv entry editor and creator (with default unit stats for new units)&lt;br /&gt;
* displays model using VS&lt;br /&gt;
* reads mesh dimensions from obj file&lt;br /&gt;
* placement of thrusters, turrets, mounts, docks, and blink lights from marker obj file&lt;br /&gt;
* on-screen instructions for each workflow module&lt;br /&gt;
* production tested&lt;br /&gt;
&lt;br /&gt;
==Important Note==&lt;br /&gt;
{{warning_text |&lt;br /&gt;
|text=Due to the way ''mesher'' handles command line options (separates different inputs by spaces), it will not allow to use folders or file names with spaces (as common on Windows).&lt;br /&gt;
Should you be getting runtime errors during the conversion, you should rename your folder to something like &amp;quot;UnitName&amp;quot; or &amp;quot;Unit_Name_working_folder&amp;quot;, i.e. substitute spaces with underscores &amp;quot;_&amp;quot;. Do the same for the input files, i.e. &amp;quot;Unit_Name.obj&amp;quot;.}}&lt;br /&gt;
&lt;br /&gt;
=Requirements=&lt;br /&gt;
&lt;br /&gt;
In order to run UnitConverter on your system is to have Python 2.5 or 2.6 installed on your system. Python 3.x has different syntax and UnitConveter will not work as long as it hasn't been ported to Python 3. Tkinter library is required to run UnitConverter, however it comes installed with most python distributions. Some Linux distributions require a separate installation of Tkinter.&lt;br /&gt;
&lt;br /&gt;
A requirement for the '''model obj files''' is that no mtl file is provided. UnitConverter will generate its own texture information based on the input given under the '''Model''' panel.&lt;br /&gt;
The best way for exporting files from blender is to use the following three options *only*: '''Edges''', '''UVs''', '''Objects'''. You may also enable Normals, and Groups. However the '''Materials''' export option should be explicitly disabled.&lt;br /&gt;
&lt;br /&gt;
Especially when reworking existing units, it is recommended that the model '''obj''' file is named the same way as the unit in ''units.csv'', in particular what concerns the letter case, usually following the CamelCase convention.&lt;br /&gt;
&lt;br /&gt;
You will further require master textures for the object, which must be on the '''png''' file format and [[Development:Graphics_Requirements#Image_dimensions|Power-Of-Two]].&lt;br /&gt;
Master textures for factions should have the faction name prefixed to the texture name, e.g. &amp;quot;confed_hull.png&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Optionally, an '''obj''' file with markers can be supplied and must contain the name &amp;quot;marker&amp;quot; in the file name.&lt;br /&gt;
&lt;br /&gt;
Optionally, a shield '''obj''' file can be supplied, containing the name &amp;quot;shield&amp;quot; in the file name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quick Start Guide=&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
You must first configure the paths under Config including the application in the path:&lt;br /&gt;
* ''path\data'' (to edit unit stats and view model in Vega Strike)&lt;br /&gt;
* ''path\mesher.exe'' (to convert model to bfxm) - [http://vegastrike.svn.sourceforge.net/viewvc/vegastrike/trunk/win32/bin/ get mesher]&lt;br /&gt;
* ''path\nvcompress'' (to compress textures) - [[Links:Graphic_Applications#nVidia_Texture_Tools|see here for instructions on nvcompress]]&lt;br /&gt;
(There is no need to set the working dir, as this field is purely informational)&lt;br /&gt;
&lt;br /&gt;
==Integrating Models==&lt;br /&gt;
Assuming you have exported:&lt;br /&gt;
* ship mesh to ''Ship.obj''&lt;br /&gt;
* shield to ''Ship-Shield.obj''&lt;br /&gt;
* helpers to ''Ship-Mounts.obj&lt;br /&gt;
''&lt;br /&gt;
... the steps to convert your model are:&lt;br /&gt;
* In UnitConverter, under &amp;quot;Model&amp;quot; add all three obj files to workspace.&lt;br /&gt;
* Then select the main Ship model in the drop down.&lt;br /&gt;
* Under &amp;quot;Textures&amp;quot; you add the ones you have provided.&lt;br /&gt;
* Press &amp;quot;Save and Convert&amp;quot;&lt;br /&gt;
* Press &amp;quot;Convert Textures&amp;quot;&lt;br /&gt;
* Press &amp;quot;Copy Data&amp;quot;&lt;br /&gt;
* Under &amp;quot;Unit&amp;quot; press &amp;quot;Save&amp;quot;&lt;br /&gt;
* Under &amp;quot;View&amp;quot; press &amp;quot;View&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This will call vegastrike and the modelview.mission with your new unit enabled.&lt;br /&gt;
&lt;br /&gt;
==Converting Hud Image==&lt;br /&gt;
Under &amp;quot;HUDImage&amp;quot;:&lt;br /&gt;
* Open the &amp;quot;''Ship-hud.png''&amp;quot; image using the &amp;quot;...&amp;quot; button&lt;br /&gt;
* Press &amp;quot;Convert Image&amp;quot;&lt;br /&gt;
* Press &amp;quot;Copy Data&amp;quot;&lt;br /&gt;
* Under &amp;quot;Unit&amp;quot; press &amp;quot;Save&amp;quot;&lt;br /&gt;
* Under &amp;quot;View&amp;quot; press &amp;quot;View&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Using Uncompressed Images==&lt;br /&gt;
* Under &amp;quot;Config&amp;quot; check the &amp;quot;Bypass compression&amp;quot; option.&lt;br /&gt;
* Under &amp;quot;Textures&amp;quot; press &amp;quot;Save and Convert&amp;quot;&lt;br /&gt;
* Press &amp;quot;Copy Data&amp;quot;&lt;br /&gt;
* Under &amp;quot;View&amp;quot; press &amp;quot;View&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Adding Thruster, Docks, Mounts==&lt;br /&gt;
* Under &amp;quot;Model&amp;quot; press &amp;quot;Add Model&amp;quot;&lt;br /&gt;
* Select the &amp;quot;''Ship-Mounts.obj''&amp;quot; file with your mount markers.&lt;br /&gt;
* Under &amp;quot;Unit&amp;quot; and &amp;quot;Unit2&amp;quot; review the stats&lt;br /&gt;
* Under &amp;quot;Unit&amp;quot; press &amp;quot;Save&amp;quot;&lt;br /&gt;
* Under &amp;quot;View&amp;quot; press &amp;quot;View&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Editing Stats==&lt;br /&gt;
* Under &amp;quot;Unit&amp;quot;, in &amp;quot;Unit name&amp;quot; write the units.csv key (e.g. ''Llama.begin'')&lt;br /&gt;
* Press &amp;quot;Load&amp;quot;&lt;br /&gt;
* Edit fields under &amp;quot;Unit&amp;quot; and &amp;quot;Unit2&amp;quot;&lt;br /&gt;
* Under &amp;quot;Unit&amp;quot; press &amp;quot;Save&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Comparing Units==&lt;br /&gt;
* Under '''Unit''' tab, in '''Unit name''' write the units.csv key (e.g. ''Llama.begin'')&lt;br /&gt;
* Press '''Load'''&lt;br /&gt;
* Use '''&amp;lt;''' and '''&amp;gt;''' to browse backward and forward.&lt;br /&gt;
* After editing a parameter make sure to press '''Save'''&lt;br /&gt;
&lt;br /&gt;
==Getting Help==&lt;br /&gt;
In case of problems, please report to the [https://forums.vega-strike.org/viewtopic.php?f=20&amp;amp;t=11885 Unit Converter thread].&lt;br /&gt;
&lt;br /&gt;
=UnitConverter Tool=&lt;br /&gt;
&lt;br /&gt;
==Installation and Starting==&lt;br /&gt;
&lt;br /&gt;
You can download the latest version of UnitConverter from the Vega Strike svn repository:&lt;br /&gt;
* View repo [https://github.com/vegastrike/Tools/tree/master/modtools/UnitConverter Tools/modtools/UnitConverter for Python 2].&lt;br /&gt;
* View repo [https://github.com/vegastrike/Tools/tree/master/modtools/UnitConverter3 Tools/modtools/UnitConverter3 for Python 3].&lt;br /&gt;
* Download with&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;svn co https://vegastrike.svn.sourceforge.net/svnroot/vegastrike/trunk/modtools/UnitConverter&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To install, copy all files to a directory of your choice.&lt;br /&gt;
&lt;br /&gt;
To run UnitConverter, open command line/shell, change to the installation directory, and depending your operating system type (without the &amp;quot;&amp;gt;&amp;quot; which denotes the command line prompt:&lt;br /&gt;
&lt;br /&gt;
Windows: &amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;gt; uc&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Linux: &amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;gt; ./uc&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other: &amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;gt; python unitconverter.py&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
First thing you'll need to do is to configure the paths for Vega Strike data directory, mesher and nvcompress.&lt;br /&gt;
&lt;br /&gt;
{{warning_text |&lt;br /&gt;
| text='''Important:''' To be fully able utilize UnitConverter functionality, please configure the paths under [[Development:Tools:UnitConverter#Configuration_2|'''Config''']].}}&lt;br /&gt;
&lt;br /&gt;
==Models Workspace==&lt;br /&gt;
Models Workspace Screen:&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f1_workspace.jpg&lt;br /&gt;
&lt;br /&gt;
The following operations are available:&lt;br /&gt;
* '''Clear Workspace''' - to start a new model integration&lt;br /&gt;
* '''Add Model''' - to add a new model to workspace. The following files are accepted:&lt;br /&gt;
** ''.obj'' file containing the model mesh&lt;br /&gt;
** ''?-Shield.obj'' file containing the shield mesh&lt;br /&gt;
** ''?-Marker.obj'' file containing the marker objects as described in the [[Development:Model_Guidelines#Object_Marker|objects marker modeling section]]&lt;br /&gt;
** ''.bfxm'' files to backward convert meshes to obj files&lt;br /&gt;
* '''Clear Model''' - to remove the selected model from the workspace&lt;br /&gt;
* '''Load Workspace''' - to load an ''.ini'' configuration file of the workspace&lt;br /&gt;
* '''Active Model''' - change active model on the dropdown to edit its textures&lt;br /&gt;
&lt;br /&gt;
It is important that your first model in workspace should be the main model, as further information like directory name and units.csv entry name will be derived from the main model name.&lt;br /&gt;
&lt;br /&gt;
Under '''Model/Files''' the ''.obj'' and ''.mtl'' files for the active model will be displayed.&lt;br /&gt;
Under '''Material Info''' you can find information on the ''.obj'' file's material library and material names.&lt;br /&gt;
&lt;br /&gt;
To edit texture assignments, proceed to the '''Textures''' tab on the left.&lt;br /&gt;
&lt;br /&gt;
==Textures==&lt;br /&gt;
Textures Screen:&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f2_textures.jpg&lt;br /&gt;
&lt;br /&gt;
In this tab you can assign textures to model submeshes:&lt;br /&gt;
* Under '''Submodels''' select the submesh you'd like to assign textures to. By default the first submesh is selected when the model is activated.&lt;br /&gt;
* Add the available '''Textures 0-5''' by pressing the '''...''' buttons between the '''Input Texture''' and '''Output Texture''' columns and browse to the appropriate file. The output texture name will be set (naming convention: '''tex_'''''model'''''_'''''submodel'''''_'''''texture'''''.texture''')&lt;br /&gt;
* Select the appropriate '''Technique''', i.e. leave it empty for conventional shading approach or choose e.g. ''cinemut_opaque'' if your input textures are provided with CineMut shader family compatible packing.&lt;br /&gt;
* Select '''Blend mode'''.&lt;br /&gt;
** For main meshes leave it at ''ONE ZERO''&lt;br /&gt;
** For shield mesh and blink light submeshes choose ''ONE ONE''&lt;br /&gt;
&lt;br /&gt;
Once you have assigned textures to all your submeshes, you can now start the conversion:&lt;br /&gt;
* Press '''Save and Convert''' to save the texture assignment information and convert your model to Vega Strike compatible ''bfxm'' format.&lt;br /&gt;
* You may '''Compress Textures''' using nvcompress if you have configured the command path previously&lt;br /&gt;
* Finally, '''Copy Data'' will copy textures and ''bfxm'' files to the unit directory&lt;br /&gt;
&lt;br /&gt;
To add the HUD image, proceed to the '''HUDImage''' tab on the left.&lt;br /&gt;
&lt;br /&gt;
===Advanced Usage - Converting faction textures===&lt;br /&gt;
&lt;br /&gt;
Faction textures must follow the naming of the default textures with prefixed faction name.&lt;br /&gt;
When your default diffuse texture is ''dif.png'' and ''tex_000.texture'', the faction input and output textures for the Uln faction will be ''uln_dif.png'' and ''uln_tex_000.texture'' and so on for all the other textures and factions.&lt;br /&gt;
&lt;br /&gt;
Unit converter can assist you with DDS conversion of the input textures provided the naming convention is followed. To convert a faction texture:&lt;br /&gt;
* Select the '''Faction''' from the drop down, then&lt;br /&gt;
* '''Compress Textures''', and when done&lt;br /&gt;
* '''Copy Data''' to put the faction textures into the unit data directory&lt;br /&gt;
&lt;br /&gt;
==HUD Image==&lt;br /&gt;
HUD Image Screen&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f3_hud.jpg&lt;br /&gt;
&lt;br /&gt;
Adding a HUD image to the data is fairly easy, simply:&lt;br /&gt;
* Browse for the image using the '''...''' button. The appropriate entry will also be created in the '''Unit''' editor.&lt;br /&gt;
* '''Compress Image''' to make it DDS, and&lt;br /&gt;
* '''Copy Data''' to the unit data directory. This button evokes the same command as the one on the '''Textures''' tab. This means, the ''image'', ''sprite'', ''bfxm'', and ''texture'' files will be copied together.&lt;br /&gt;
&lt;br /&gt;
To edit the unit properties and parameters, proceed to the '''Unit''' tab on the left.&lt;br /&gt;
&lt;br /&gt;
==Unit Editor==&lt;br /&gt;
&lt;br /&gt;
The Unit Editor provides facilities for editing your most important parameters of the unit:&lt;br /&gt;
* '''Load''' - loads the unit parameters&lt;br /&gt;
* '''Save''' - saves the edited parameters&lt;br /&gt;
* '''Reset''' - reloads unit parameters for active model without previously saving changes&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f4_unit.jpg&lt;br /&gt;
&lt;br /&gt;
The most critical parameters for successful integration of the unit are:&lt;br /&gt;
* '''Unit description''' - the text that will be displayed in-game about the unit&lt;br /&gt;
* '''Unit type''' and '''Unit role''' - used in-game and to correctly view vessels and installations as such&lt;br /&gt;
* Under '''Unit dimensions''' you will find the&lt;br /&gt;
** '''Dimensions''' as derived from the ''obj'' mesh file.&lt;br /&gt;
** To bring the model up to the expected scale, you'll need to set the '''Scale''' parameter. The final size of the model in-game will be the multiplication result of dimensions and the scale.&lt;br /&gt;
&lt;br /&gt;
The remaining entries will be created from your marker object:&lt;br /&gt;
* '''Engine Thruster''' will be derived from markers named ''engine_*''. You may '''Update''' the '''Thruster type''' to a different than the default one (''supernova.bmp.bfxm'').&lt;br /&gt;
* '''Turrets &amp;amp; Subunits''' will be derived from markers named ''turret_*'' or ''subunit_*''. You may browse the '''Subunit nr.''' (number) by using the '''&amp;lt;''' and '''&amp;gt;''' buttons and change the turret type from the '''Subunit type''' dropdown and confirmation by '''Update'''.&lt;br /&gt;
* '''Docking Ports''' will be derived from markers named ''dock_*''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To continue editing unit parameters, proceed to the '''Unit 2''' tab on the left.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f5_unit2.jpg&lt;br /&gt;
&lt;br /&gt;
To add upgrades, under '''Upgrades''' select the '''Upgrade class''' and '''Upgrade type''' and then '''Add Upgrade'' to the unit.&lt;br /&gt;
To delete an upgrade, simply remove the entries between (and including) the {} brackets.&lt;br /&gt;
&lt;br /&gt;
All other parameters on this tab and the following '''Unit 3''' tab can be manually edited&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f6_unit3.jpg&lt;br /&gt;
&lt;br /&gt;
Don't forget to actually '''Save''' your changes before proceeding to '''View''' the unit in-game.&lt;br /&gt;
&lt;br /&gt;
===Advanced Usage - Independent Unit Editor===&lt;br /&gt;
You can use built-in Unit editor of the '''Unit Converter''' to edit units without having to load the mesh files. To do so:&lt;br /&gt;
* On the '''Model''' tab do '''Clear Workspace'''&lt;br /&gt;
* On the '''Unit''' tab, manually write the unit key under '''Unit name'''&lt;br /&gt;
* '''Load''' the unit parameters&lt;br /&gt;
&lt;br /&gt;
You can also browse the units.csv file by using the '''&amp;lt;''' and '''&amp;gt;''' buttons on the sides of the '''Unit name''' to row-wise move back and fore between the entries. Browse, '''Load'''/'''Save''' buttons are also available on '''Unit 2''' and '''Unit 3''' tabs.&lt;br /&gt;
&lt;br /&gt;
==View==&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f7_view.jpg&lt;br /&gt;
&lt;br /&gt;
By pressing '''View''' Vega Strike can be loaded and you can test your unit in-game.&lt;br /&gt;
&lt;br /&gt;
To test faction textures (if provided) you may previously select the '''Faction''' from the drop down, otherwise leave it at ''privateer'' to use default textures.&lt;br /&gt;
&lt;br /&gt;
Testing of units will happen in two different ways:&lt;br /&gt;
* For vessels, using a special mission, the ''modelview.mission'' that spawns the unit as a ship.&lt;br /&gt;
** Use the '''F6''' key to view your own unit.&lt;br /&gt;
** Use the '''T''' key to target a second unit of the same type and then press the '''D''' key to stop it from SPECing away, then turn around to it to verify the docking ports. Repeat pressing '''D''' every 10 seconds to prevent it from flying away suddenly.&lt;br /&gt;
* Use the '''N''' key to target the nearest station, fly to it and start shooting while switching to '''F6''' view to test your shield mesh.&lt;br /&gt;
* For installations, the ''Modelview.system'' will be equipped with the edited station.&lt;br /&gt;
** Use the '''N''' key to target the station, then '''D''' to see the docking ports.&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f8_config.jpg&lt;br /&gt;
&lt;br /&gt;
The '''Config''' tab defines presets to supports some of the functionality of the '''Unit Converter''':&lt;br /&gt;
* '''Vega Strike directory''' - is the directory where ''Version.txt'' and all data subdirectories reside (''ai'', ''animations'', ...)&lt;br /&gt;
** Use the '''Browse''' button to locate it&lt;br /&gt;
* '''Path to mesher''':&lt;br /&gt;
** Click the '''Browse''' button on the right to locate ''mesher''&lt;br /&gt;
** Find the ''mesher(.exe)'' file on your system, select the file and confirm with '''Open'''. The configuration will be saved so that you need to do it only once.&lt;br /&gt;
** The path must be the complete address (directory path + executable) in the same way you would evoke it from command line / console. On windows it may or may not include the ''.exe'' extension suffix.&lt;br /&gt;
* '''Path to nvcompress''':&lt;br /&gt;
** Click the '''Browse''' button on the right to locate ''nvcompress''&lt;br /&gt;
** Find the ''nvcompress(.exe)'' file on your system, select the file and confirm with '''Open'''. The configuration will be saved so that you need to do it only once.&lt;br /&gt;
** You will not require to install ''nvcompress'' if you just want to test your models. In this case please make sure you enable the '''Bypass compression''' option further below.&lt;br /&gt;
** Techno-talk: The path must be the complete address (directory path + executable) in the same way you would evoke it from command line / console. On windows it may or may not include the ''.exe'' extension suffix. (If nvcompress is in your search path, you may only provide the command.)&lt;br /&gt;
&lt;br /&gt;
===Advanced Configuration===&lt;br /&gt;
&lt;br /&gt;
You may also change defaults that will be used anytime you reopen the Unit Converter:&lt;br /&gt;
* '''Current Technique''' - set the default technique you will be working with so that you don't need to remember adjusting it when editing textures.&lt;br /&gt;
* '''Use unit class directory''' - used to calculate target for copying model and texture files.&lt;br /&gt;
** when checked will store vessels in ''data/units/vessels/unitname'' directory and installations in ''data/units/installations/unitname'' directory. This is the default behavior for Vega Strike Upon The Coldest Sea game.&lt;br /&gt;
** If your mod is using a flat directory structure, you can uncheck the option and all your units will be stored in ''data/units/unitname'' directory.&lt;br /&gt;
* '''Bypass compression''' - when checked the input texture will be used as output texture. This is useful when editing and testing textures without the need to reconvert the model to bfxm.&lt;br /&gt;
* '''Backup obj/mtl files''' - when checked will copy original ''obj'' and ''mtl'' files to ''obj~'' and ''mtl~'' before writing new information.&lt;br /&gt;
* '''Create xmesh file''' - though the xmesh format is obsolete, when converting from ''obj'' to ''bfxm'', it might be useful to also create ''xmesh'' files to test the conversion process.&lt;br /&gt;
* Under '''Admin''' you can '''Standard Sort units.csv''' file. Though it is standard sorted by default, you might want to make sure it is after a manual editing of the file.&lt;br /&gt;
&lt;br /&gt;
==About==&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f9_about.jpg&lt;br /&gt;
&lt;br /&gt;
What's that about?&lt;br /&gt;
&lt;br /&gt;
=Code Reference=&lt;br /&gt;
&lt;br /&gt;
==Python Modules==&lt;br /&gt;
&lt;br /&gt;
Admittedly, the structure of the program could be more modular.&lt;br /&gt;
&lt;br /&gt;
Unit Converter is written in Python using only ''Tkinter'' UI building functionality. On Windows Tkinter is distributed with Python, on Linux, it's available for download in all repositories. No further additional modules are required to run Unit Converter.&lt;br /&gt;
&lt;br /&gt;
Source modules for Unit Converter:&lt;br /&gt;
* ''unitconverter.py'' - main module containing the complete program&lt;br /&gt;
* ''appwindow.py'' - frame creator for the different tabs&lt;br /&gt;
* ''objparse.py'' - ''.obj'' and ''.mtl'' file reader, parser, and writer&lt;br /&gt;
* ''vsunitcsv.py'' - ''units.csv'' file reader, parser, and writer&lt;br /&gt;
* ''vsmission.py'' - ''.mission'' file reader, parser, and writer&lt;br /&gt;
* ''vssystem.py'' - ''.system'' file reader, parser, and writer&lt;br /&gt;
* ''vector.py'' - mathematical vector functions&lt;br /&gt;
* ''png.py'' - ''.png'' file format reader&lt;br /&gt;
&lt;br /&gt;
Other files:&lt;br /&gt;
* ''unitconverter.ini'' - Unit Converter configuration file. Not distributed. Will be created upon first start.&lt;br /&gt;
* ''unitconverter.ico'' - Windows icon file.&lt;br /&gt;
* ''uc'' - Linux shell script for starting Unit Converter&lt;br /&gt;
* ''uc.bat'' - Windows batch file (shell script) for starting Unit Converter&lt;br /&gt;
* ''uc_releasenotes.txt'' - Unit Converter release notes&lt;br /&gt;
* ''UnitWorkingDir/UnitName.ini'' - Unit workspace configuration file&lt;br /&gt;
&lt;br /&gt;
==Program Flow==&lt;br /&gt;
&lt;br /&gt;
The GUI building section starts with:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;    def __init__(self, master):&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The code is visually separated into:&lt;br /&gt;
* variable initialization&lt;br /&gt;
* GUI building sections&lt;br /&gt;
* program execution, start-up, and shutdown&lt;br /&gt;
&lt;br /&gt;
The GUI building section for each tab contains elements that have event triggers which call other functions within the first part of the ''unitconverter.py'' code.&lt;br /&gt;
&lt;br /&gt;
Further, there a unique watch function that supervises the change of some of the contents of GUI element variables for elements that, in Tkinter, do not come with an event handler (option drop downs, text variables, option check boxes):&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;    def processEvents(self):&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Data Elements==&lt;br /&gt;
&lt;br /&gt;
There is a lot of data being handled within the Unit Converter. The main data elements shall be explained here:&lt;br /&gt;
* ''workspace[modelnr][submodelnr][parameternr]'' - array containing the complete workspace information, where&lt;br /&gt;
** modelnr is the index from ''models[modelnr]'' which stores the model names in workspace&lt;br /&gt;
** submodelnr comes from the list ''submodelsListBox''&lt;br /&gt;
** ''PARAMS'' - array holding the parameter names for ''workspace''&lt;br /&gt;
* ''textures[submodelnr][counter]'' - holds the textures for the active model only prepared for the mtl export in the array form ''[&amp;quot;map_0&amp;quot;,&amp;quot;tex_000.texture&amp;quot;]''&lt;br /&gt;
* ''unit*'' - variables holding the unit editor values&lt;br /&gt;
* ''textureN'' - with N = 0-5, holds the output texture screen name&lt;br /&gt;
* ''texmasterN'' - holds the input texture name&lt;br /&gt;
* ''activemodel'' - name of the active (selected) model in workspace&lt;br /&gt;
* ''unitname'' - name of the key from units.csv&lt;br /&gt;
* ''vegastrike'' - Vega Strike installation directory root&lt;br /&gt;
* ''workdir'' - working directory&lt;br /&gt;
&lt;br /&gt;
Most of the variables are commented within the code.&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Tools:UnitConverter&amp;diff=19868</id>
		<title>Development:Tools:UnitConverter</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Tools:UnitConverter&amp;diff=19868"/>
				<updated>2020-05-07T02:44:07Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* Getting Help */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
&lt;br /&gt;
Raising from the stone age of workflows, in which every task, from texture conversion to editing of unit stats, had to be accomplished manually and only by quite knowledgeable magistrates who knew the alchemy of units.csv columns, xmesh files, and had a magic with meshers. Now, UnitConverter shines upon us, still in the distance, but unmovable like a beacon on solid rock, to be the church of the artists, to accommodate the apostles of Blender, CineMut, and LaGrande, to bring the holy spirit of salvation to this compassionate universe of ours.&lt;br /&gt;
&lt;br /&gt;
Some of the main Unit Converter features:&lt;br /&gt;
* bi-directionally converts meshes between obj and bfxm files&lt;br /&gt;
* assign textures to (sub)models&lt;br /&gt;
* convert model and shield meshes&lt;br /&gt;
* compress default and faction input textures to dds output textures&lt;br /&gt;
* saves the complete workspace in portable config files&lt;br /&gt;
* change model techniques and blend mode&lt;br /&gt;
* checks and corrects invalid obj files, recreates mtl files&lt;br /&gt;
* creates a model directory if none exists and copies all required files&lt;br /&gt;
* compresses hud image and creates a .sprite file&lt;br /&gt;
* units.csv entry editor and creator (with default unit stats for new units)&lt;br /&gt;
* displays model using VS&lt;br /&gt;
* reads mesh dimensions from obj file&lt;br /&gt;
* placement of thrusters, turrets, mounts, docks, and blink lights from marker obj file&lt;br /&gt;
* on-screen instructions for each workflow module&lt;br /&gt;
* production tested&lt;br /&gt;
&lt;br /&gt;
==Important Note==&lt;br /&gt;
{{warning_text |&lt;br /&gt;
|text=Due to the way ''mesher'' handles command line options (separates different inputs by spaces), it will not allow to use folders or file names with spaces (as common on Windows).&lt;br /&gt;
Should you be getting runtime errors during the conversion, you should rename your folder to something like &amp;quot;UnitName&amp;quot; or &amp;quot;Unit_Name_working_folder&amp;quot;, i.e. substitute spaces with underscores &amp;quot;_&amp;quot;. Do the same for the input files, i.e. &amp;quot;Unit_Name.obj&amp;quot;.}}&lt;br /&gt;
&lt;br /&gt;
=Requirements=&lt;br /&gt;
&lt;br /&gt;
In order to run UnitConverter on your system is to have Python 2.5 or 2.6 installed on your system. Python 3.x has different syntax and UnitConveter will not work as long as it hasn't been ported to Python 3. Tkinter library is required to run UnitConverter, however it comes installed with most python distributions. Some Linux distributions require a separate installation of Tkinter.&lt;br /&gt;
&lt;br /&gt;
A requirement for the '''model obj files''' is that no mtl file is provided. UnitConverter will generate its own texture information based on the input given under the '''Model''' panel.&lt;br /&gt;
The best way for exporting files from blender is to use the following three options *only*: '''Edges''', '''UVs''', '''Objects'''. You may also enable Normals, and Groups. However the '''Materials''' export option should be explicitly disabled.&lt;br /&gt;
&lt;br /&gt;
Especially when reworking existing units, it is recommended that the model '''obj''' file is named the same way as the unit in ''units.csv'', in particular what concerns the letter case, usually following the CamelCase convention.&lt;br /&gt;
&lt;br /&gt;
You will further require master textures for the object, which must be on the '''png''' file format and [[Development:Graphics_Requirements#Image_dimensions|Power-Of-Two]].&lt;br /&gt;
Master textures for factions should have the faction name prefixed to the texture name, e.g. &amp;quot;confed_hull.png&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Optionally, an '''obj''' file with markers can be supplied and must contain the name &amp;quot;marker&amp;quot; in the file name.&lt;br /&gt;
&lt;br /&gt;
Optionally, a shield '''obj''' file can be supplied, containing the name &amp;quot;shield&amp;quot; in the file name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quick Start Guide=&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
You must first configure the paths under Config including the application in the path:&lt;br /&gt;
* ''path\data'' (to edit unit stats and view model in Vega Strike)&lt;br /&gt;
* ''path\mesher.exe'' (to convert model to bfxm) - [http://vegastrike.svn.sourceforge.net/viewvc/vegastrike/trunk/win32/bin/ get mesher]&lt;br /&gt;
* ''path\nvcompress'' (to compress textures) - [[Links:Graphic_Applications#nVidia_Texture_Tools|see here for instructions on nvcompress]]&lt;br /&gt;
(There is no need to set the working dir, as this field is purely informational)&lt;br /&gt;
&lt;br /&gt;
==Integrating Models==&lt;br /&gt;
Assuming you have exported:&lt;br /&gt;
* ship mesh to ''Ship.obj''&lt;br /&gt;
* shield to ''Ship-Shield.obj''&lt;br /&gt;
* helpers to ''Ship-Mounts.obj&lt;br /&gt;
''&lt;br /&gt;
... the steps to convert your model are:&lt;br /&gt;
* In UnitConverter, under &amp;quot;Model&amp;quot; add all three obj files to workspace.&lt;br /&gt;
* Then select the main Ship model in the drop down.&lt;br /&gt;
* Under &amp;quot;Textures&amp;quot; you add the ones you have provided.&lt;br /&gt;
* Press &amp;quot;Save and Convert&amp;quot;&lt;br /&gt;
* Press &amp;quot;Convert Textures&amp;quot;&lt;br /&gt;
* Press &amp;quot;Copy Data&amp;quot;&lt;br /&gt;
* Under &amp;quot;Unit&amp;quot; press &amp;quot;Save&amp;quot;&lt;br /&gt;
* Under &amp;quot;View&amp;quot; press &amp;quot;View&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This will call vegastrike and the modelview.mission with your new unit enabled.&lt;br /&gt;
&lt;br /&gt;
==Converting Hud Image==&lt;br /&gt;
Under &amp;quot;HUDImage&amp;quot;:&lt;br /&gt;
* Open the &amp;quot;''Ship-hud.png''&amp;quot; image using the &amp;quot;...&amp;quot; button&lt;br /&gt;
* Press &amp;quot;Convert Image&amp;quot;&lt;br /&gt;
* Press &amp;quot;Copy Data&amp;quot;&lt;br /&gt;
* Under &amp;quot;Unit&amp;quot; press &amp;quot;Save&amp;quot;&lt;br /&gt;
* Under &amp;quot;View&amp;quot; press &amp;quot;View&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Using Uncompressed Images==&lt;br /&gt;
* Under &amp;quot;Config&amp;quot; check the &amp;quot;Bypass compression&amp;quot; option.&lt;br /&gt;
* Under &amp;quot;Textures&amp;quot; press &amp;quot;Save and Convert&amp;quot;&lt;br /&gt;
* Press &amp;quot;Copy Data&amp;quot;&lt;br /&gt;
* Under &amp;quot;View&amp;quot; press &amp;quot;View&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Adding Thruster, Docks, Mounts==&lt;br /&gt;
* Under &amp;quot;Model&amp;quot; press &amp;quot;Add Model&amp;quot;&lt;br /&gt;
* Select the &amp;quot;''Ship-Mounts.obj''&amp;quot; file with your mount markers.&lt;br /&gt;
* Under &amp;quot;Unit&amp;quot; and &amp;quot;Unit2&amp;quot; review the stats&lt;br /&gt;
* Under &amp;quot;Unit&amp;quot; press &amp;quot;Save&amp;quot;&lt;br /&gt;
* Under &amp;quot;View&amp;quot; press &amp;quot;View&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Editing Stats==&lt;br /&gt;
* Under &amp;quot;Unit&amp;quot;, in &amp;quot;Unit name&amp;quot; write the units.csv key (e.g. ''Llama.begin'')&lt;br /&gt;
* Press &amp;quot;Load&amp;quot;&lt;br /&gt;
* Edit fields under &amp;quot;Unit&amp;quot; and &amp;quot;Unit2&amp;quot;&lt;br /&gt;
* Under &amp;quot;Unit&amp;quot; press &amp;quot;Save&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Comparing Units==&lt;br /&gt;
* Under '''Unit''' tab, in '''Unit name''' write the units.csv key (e.g. ''Llama.begin'')&lt;br /&gt;
* Press '''Load'''&lt;br /&gt;
* Use '''&amp;lt;''' and '''&amp;gt;''' to browse backward and forward.&lt;br /&gt;
* After editing a parameter make sure to press '''Save'''&lt;br /&gt;
&lt;br /&gt;
==Getting Help==&lt;br /&gt;
In case of problems, please report to the [https://forums.vega-strike.org/viewtopic.php?f=20&amp;amp;t=11885 Unit Converter thread].&lt;br /&gt;
&lt;br /&gt;
=UnitConverter Tool=&lt;br /&gt;
&lt;br /&gt;
==Installation and Starting==&lt;br /&gt;
&lt;br /&gt;
You can download the latest version of UnitConverter from the Vega Strike svn repository:&lt;br /&gt;
* View repo [http://vegastrike.svn.sourceforge.net/viewvc/vegastrike/trunk/modtools/UnitConverter/ trunk/modtools/UnitConverter].&lt;br /&gt;
* Download with&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;svn co https://vegastrike.svn.sourceforge.net/svnroot/vegastrike/trunk/modtools/UnitConverter&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To install, copy all files to a directory of your choice.&lt;br /&gt;
&lt;br /&gt;
To run UnitConverter, open command line/shell, change to the installation directory, and depending your operating system type (without the &amp;quot;&amp;gt;&amp;quot; which denotes the command line prompt:&lt;br /&gt;
&lt;br /&gt;
Windows: &amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;gt; uc&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Linux: &amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;gt; ./uc&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other: &amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;gt; python unitconverter.py&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
First thing you'll need to do is to configure the paths for Vega Strike data directory, mesher and nvcompress.&lt;br /&gt;
&lt;br /&gt;
{{warning_text |&lt;br /&gt;
| text='''Important:''' To be fully able utilize UnitConverter functionality, please configure the paths under [[Development:Tools:UnitConverter#Configuration_2|'''Config''']].}}&lt;br /&gt;
&lt;br /&gt;
==Models Workspace==&lt;br /&gt;
Models Workspace Screen:&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f1_workspace.jpg&lt;br /&gt;
&lt;br /&gt;
The following operations are available:&lt;br /&gt;
* '''Clear Workspace''' - to start a new model integration&lt;br /&gt;
* '''Add Model''' - to add a new model to workspace. The following files are accepted:&lt;br /&gt;
** ''.obj'' file containing the model mesh&lt;br /&gt;
** ''?-Shield.obj'' file containing the shield mesh&lt;br /&gt;
** ''?-Marker.obj'' file containing the marker objects as described in the [[Development:Model_Guidelines#Object_Marker|objects marker modeling section]]&lt;br /&gt;
** ''.bfxm'' files to backward convert meshes to obj files&lt;br /&gt;
* '''Clear Model''' - to remove the selected model from the workspace&lt;br /&gt;
* '''Load Workspace''' - to load an ''.ini'' configuration file of the workspace&lt;br /&gt;
* '''Active Model''' - change active model on the dropdown to edit its textures&lt;br /&gt;
&lt;br /&gt;
It is important that your first model in workspace should be the main model, as further information like directory name and units.csv entry name will be derived from the main model name.&lt;br /&gt;
&lt;br /&gt;
Under '''Model/Files''' the ''.obj'' and ''.mtl'' files for the active model will be displayed.&lt;br /&gt;
Under '''Material Info''' you can find information on the ''.obj'' file's material library and material names.&lt;br /&gt;
&lt;br /&gt;
To edit texture assignments, proceed to the '''Textures''' tab on the left.&lt;br /&gt;
&lt;br /&gt;
==Textures==&lt;br /&gt;
Textures Screen:&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f2_textures.jpg&lt;br /&gt;
&lt;br /&gt;
In this tab you can assign textures to model submeshes:&lt;br /&gt;
* Under '''Submodels''' select the submesh you'd like to assign textures to. By default the first submesh is selected when the model is activated.&lt;br /&gt;
* Add the available '''Textures 0-5''' by pressing the '''...''' buttons between the '''Input Texture''' and '''Output Texture''' columns and browse to the appropriate file. The output texture name will be set (naming convention: '''tex_'''''model'''''_'''''submodel'''''_'''''texture'''''.texture''')&lt;br /&gt;
* Select the appropriate '''Technique''', i.e. leave it empty for conventional shading approach or choose e.g. ''cinemut_opaque'' if your input textures are provided with CineMut shader family compatible packing.&lt;br /&gt;
* Select '''Blend mode'''.&lt;br /&gt;
** For main meshes leave it at ''ONE ZERO''&lt;br /&gt;
** For shield mesh and blink light submeshes choose ''ONE ONE''&lt;br /&gt;
&lt;br /&gt;
Once you have assigned textures to all your submeshes, you can now start the conversion:&lt;br /&gt;
* Press '''Save and Convert''' to save the texture assignment information and convert your model to Vega Strike compatible ''bfxm'' format.&lt;br /&gt;
* You may '''Compress Textures''' using nvcompress if you have configured the command path previously&lt;br /&gt;
* Finally, '''Copy Data'' will copy textures and ''bfxm'' files to the unit directory&lt;br /&gt;
&lt;br /&gt;
To add the HUD image, proceed to the '''HUDImage''' tab on the left.&lt;br /&gt;
&lt;br /&gt;
===Advanced Usage - Converting faction textures===&lt;br /&gt;
&lt;br /&gt;
Faction textures must follow the naming of the default textures with prefixed faction name.&lt;br /&gt;
When your default diffuse texture is ''dif.png'' and ''tex_000.texture'', the faction input and output textures for the Uln faction will be ''uln_dif.png'' and ''uln_tex_000.texture'' and so on for all the other textures and factions.&lt;br /&gt;
&lt;br /&gt;
Unit converter can assist you with DDS conversion of the input textures provided the naming convention is followed. To convert a faction texture:&lt;br /&gt;
* Select the '''Faction''' from the drop down, then&lt;br /&gt;
* '''Compress Textures''', and when done&lt;br /&gt;
* '''Copy Data''' to put the faction textures into the unit data directory&lt;br /&gt;
&lt;br /&gt;
==HUD Image==&lt;br /&gt;
HUD Image Screen&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f3_hud.jpg&lt;br /&gt;
&lt;br /&gt;
Adding a HUD image to the data is fairly easy, simply:&lt;br /&gt;
* Browse for the image using the '''...''' button. The appropriate entry will also be created in the '''Unit''' editor.&lt;br /&gt;
* '''Compress Image''' to make it DDS, and&lt;br /&gt;
* '''Copy Data''' to the unit data directory. This button evokes the same command as the one on the '''Textures''' tab. This means, the ''image'', ''sprite'', ''bfxm'', and ''texture'' files will be copied together.&lt;br /&gt;
&lt;br /&gt;
To edit the unit properties and parameters, proceed to the '''Unit''' tab on the left.&lt;br /&gt;
&lt;br /&gt;
==Unit Editor==&lt;br /&gt;
&lt;br /&gt;
The Unit Editor provides facilities for editing your most important parameters of the unit:&lt;br /&gt;
* '''Load''' - loads the unit parameters&lt;br /&gt;
* '''Save''' - saves the edited parameters&lt;br /&gt;
* '''Reset''' - reloads unit parameters for active model without previously saving changes&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f4_unit.jpg&lt;br /&gt;
&lt;br /&gt;
The most critical parameters for successful integration of the unit are:&lt;br /&gt;
* '''Unit description''' - the text that will be displayed in-game about the unit&lt;br /&gt;
* '''Unit type''' and '''Unit role''' - used in-game and to correctly view vessels and installations as such&lt;br /&gt;
* Under '''Unit dimensions''' you will find the&lt;br /&gt;
** '''Dimensions''' as derived from the ''obj'' mesh file.&lt;br /&gt;
** To bring the model up to the expected scale, you'll need to set the '''Scale''' parameter. The final size of the model in-game will be the multiplication result of dimensions and the scale.&lt;br /&gt;
&lt;br /&gt;
The remaining entries will be created from your marker object:&lt;br /&gt;
* '''Engine Thruster''' will be derived from markers named ''engine_*''. You may '''Update''' the '''Thruster type''' to a different than the default one (''supernova.bmp.bfxm'').&lt;br /&gt;
* '''Turrets &amp;amp; Subunits''' will be derived from markers named ''turret_*'' or ''subunit_*''. You may browse the '''Subunit nr.''' (number) by using the '''&amp;lt;''' and '''&amp;gt;''' buttons and change the turret type from the '''Subunit type''' dropdown and confirmation by '''Update'''.&lt;br /&gt;
* '''Docking Ports''' will be derived from markers named ''dock_*''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To continue editing unit parameters, proceed to the '''Unit 2''' tab on the left.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f5_unit2.jpg&lt;br /&gt;
&lt;br /&gt;
To add upgrades, under '''Upgrades''' select the '''Upgrade class''' and '''Upgrade type''' and then '''Add Upgrade'' to the unit.&lt;br /&gt;
To delete an upgrade, simply remove the entries between (and including) the {} brackets.&lt;br /&gt;
&lt;br /&gt;
All other parameters on this tab and the following '''Unit 3''' tab can be manually edited&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f6_unit3.jpg&lt;br /&gt;
&lt;br /&gt;
Don't forget to actually '''Save''' your changes before proceeding to '''View''' the unit in-game.&lt;br /&gt;
&lt;br /&gt;
===Advanced Usage - Independent Unit Editor===&lt;br /&gt;
You can use built-in Unit editor of the '''Unit Converter''' to edit units without having to load the mesh files. To do so:&lt;br /&gt;
* On the '''Model''' tab do '''Clear Workspace'''&lt;br /&gt;
* On the '''Unit''' tab, manually write the unit key under '''Unit name'''&lt;br /&gt;
* '''Load''' the unit parameters&lt;br /&gt;
&lt;br /&gt;
You can also browse the units.csv file by using the '''&amp;lt;''' and '''&amp;gt;''' buttons on the sides of the '''Unit name''' to row-wise move back and fore between the entries. Browse, '''Load'''/'''Save''' buttons are also available on '''Unit 2''' and '''Unit 3''' tabs.&lt;br /&gt;
&lt;br /&gt;
==View==&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f7_view.jpg&lt;br /&gt;
&lt;br /&gt;
By pressing '''View''' Vega Strike can be loaded and you can test your unit in-game.&lt;br /&gt;
&lt;br /&gt;
To test faction textures (if provided) you may previously select the '''Faction''' from the drop down, otherwise leave it at ''privateer'' to use default textures.&lt;br /&gt;
&lt;br /&gt;
Testing of units will happen in two different ways:&lt;br /&gt;
* For vessels, using a special mission, the ''modelview.mission'' that spawns the unit as a ship.&lt;br /&gt;
** Use the '''F6''' key to view your own unit.&lt;br /&gt;
** Use the '''T''' key to target a second unit of the same type and then press the '''D''' key to stop it from SPECing away, then turn around to it to verify the docking ports. Repeat pressing '''D''' every 10 seconds to prevent it from flying away suddenly.&lt;br /&gt;
* Use the '''N''' key to target the nearest station, fly to it and start shooting while switching to '''F6''' view to test your shield mesh.&lt;br /&gt;
* For installations, the ''Modelview.system'' will be equipped with the edited station.&lt;br /&gt;
** Use the '''N''' key to target the station, then '''D''' to see the docking ports.&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f8_config.jpg&lt;br /&gt;
&lt;br /&gt;
The '''Config''' tab defines presets to supports some of the functionality of the '''Unit Converter''':&lt;br /&gt;
* '''Vega Strike directory''' - is the directory where ''Version.txt'' and all data subdirectories reside (''ai'', ''animations'', ...)&lt;br /&gt;
** Use the '''Browse''' button to locate it&lt;br /&gt;
* '''Path to mesher''':&lt;br /&gt;
** Click the '''Browse''' button on the right to locate ''mesher''&lt;br /&gt;
** Find the ''mesher(.exe)'' file on your system, select the file and confirm with '''Open'''. The configuration will be saved so that you need to do it only once.&lt;br /&gt;
** The path must be the complete address (directory path + executable) in the same way you would evoke it from command line / console. On windows it may or may not include the ''.exe'' extension suffix.&lt;br /&gt;
* '''Path to nvcompress''':&lt;br /&gt;
** Click the '''Browse''' button on the right to locate ''nvcompress''&lt;br /&gt;
** Find the ''nvcompress(.exe)'' file on your system, select the file and confirm with '''Open'''. The configuration will be saved so that you need to do it only once.&lt;br /&gt;
** You will not require to install ''nvcompress'' if you just want to test your models. In this case please make sure you enable the '''Bypass compression''' option further below.&lt;br /&gt;
** Techno-talk: The path must be the complete address (directory path + executable) in the same way you would evoke it from command line / console. On windows it may or may not include the ''.exe'' extension suffix. (If nvcompress is in your search path, you may only provide the command.)&lt;br /&gt;
&lt;br /&gt;
===Advanced Configuration===&lt;br /&gt;
&lt;br /&gt;
You may also change defaults that will be used anytime you reopen the Unit Converter:&lt;br /&gt;
* '''Current Technique''' - set the default technique you will be working with so that you don't need to remember adjusting it when editing textures.&lt;br /&gt;
* '''Use unit class directory''' - used to calculate target for copying model and texture files.&lt;br /&gt;
** when checked will store vessels in ''data/units/vessels/unitname'' directory and installations in ''data/units/installations/unitname'' directory. This is the default behavior for Vega Strike Upon The Coldest Sea game.&lt;br /&gt;
** If your mod is using a flat directory structure, you can uncheck the option and all your units will be stored in ''data/units/unitname'' directory.&lt;br /&gt;
* '''Bypass compression''' - when checked the input texture will be used as output texture. This is useful when editing and testing textures without the need to reconvert the model to bfxm.&lt;br /&gt;
* '''Backup obj/mtl files''' - when checked will copy original ''obj'' and ''mtl'' files to ''obj~'' and ''mtl~'' before writing new information.&lt;br /&gt;
* '''Create xmesh file''' - though the xmesh format is obsolete, when converting from ''obj'' to ''bfxm'', it might be useful to also create ''xmesh'' files to test the conversion process.&lt;br /&gt;
* Under '''Admin''' you can '''Standard Sort units.csv''' file. Though it is standard sorted by default, you might want to make sure it is after a manual editing of the file.&lt;br /&gt;
&lt;br /&gt;
==About==&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f9_about.jpg&lt;br /&gt;
&lt;br /&gt;
What's that about?&lt;br /&gt;
&lt;br /&gt;
=Code Reference=&lt;br /&gt;
&lt;br /&gt;
==Python Modules==&lt;br /&gt;
&lt;br /&gt;
Admittedly, the structure of the program could be more modular.&lt;br /&gt;
&lt;br /&gt;
Unit Converter is written in Python using only ''Tkinter'' UI building functionality. On Windows Tkinter is distributed with Python, on Linux, it's available for download in all repositories. No further additional modules are required to run Unit Converter.&lt;br /&gt;
&lt;br /&gt;
Source modules for Unit Converter:&lt;br /&gt;
* ''unitconverter.py'' - main module containing the complete program&lt;br /&gt;
* ''appwindow.py'' - frame creator for the different tabs&lt;br /&gt;
* ''objparse.py'' - ''.obj'' and ''.mtl'' file reader, parser, and writer&lt;br /&gt;
* ''vsunitcsv.py'' - ''units.csv'' file reader, parser, and writer&lt;br /&gt;
* ''vsmission.py'' - ''.mission'' file reader, parser, and writer&lt;br /&gt;
* ''vssystem.py'' - ''.system'' file reader, parser, and writer&lt;br /&gt;
* ''vector.py'' - mathematical vector functions&lt;br /&gt;
* ''png.py'' - ''.png'' file format reader&lt;br /&gt;
&lt;br /&gt;
Other files:&lt;br /&gt;
* ''unitconverter.ini'' - Unit Converter configuration file. Not distributed. Will be created upon first start.&lt;br /&gt;
* ''unitconverter.ico'' - Windows icon file.&lt;br /&gt;
* ''uc'' - Linux shell script for starting Unit Converter&lt;br /&gt;
* ''uc.bat'' - Windows batch file (shell script) for starting Unit Converter&lt;br /&gt;
* ''uc_releasenotes.txt'' - Unit Converter release notes&lt;br /&gt;
* ''UnitWorkingDir/UnitName.ini'' - Unit workspace configuration file&lt;br /&gt;
&lt;br /&gt;
==Program Flow==&lt;br /&gt;
&lt;br /&gt;
The GUI building section starts with:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;    def __init__(self, master):&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The code is visually separated into:&lt;br /&gt;
* variable initialization&lt;br /&gt;
* GUI building sections&lt;br /&gt;
* program execution, start-up, and shutdown&lt;br /&gt;
&lt;br /&gt;
The GUI building section for each tab contains elements that have event triggers which call other functions within the first part of the ''unitconverter.py'' code.&lt;br /&gt;
&lt;br /&gt;
Further, there a unique watch function that supervises the change of some of the contents of GUI element variables for elements that, in Tkinter, do not come with an event handler (option drop downs, text variables, option check boxes):&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;    def processEvents(self):&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Data Elements==&lt;br /&gt;
&lt;br /&gt;
There is a lot of data being handled within the Unit Converter. The main data elements shall be explained here:&lt;br /&gt;
* ''workspace[modelnr][submodelnr][parameternr]'' - array containing the complete workspace information, where&lt;br /&gt;
** modelnr is the index from ''models[modelnr]'' which stores the model names in workspace&lt;br /&gt;
** submodelnr comes from the list ''submodelsListBox''&lt;br /&gt;
** ''PARAMS'' - array holding the parameter names for ''workspace''&lt;br /&gt;
* ''textures[submodelnr][counter]'' - holds the textures for the active model only prepared for the mtl export in the array form ''[&amp;quot;map_0&amp;quot;,&amp;quot;tex_000.texture&amp;quot;]''&lt;br /&gt;
* ''unit*'' - variables holding the unit editor values&lt;br /&gt;
* ''textureN'' - with N = 0-5, holds the output texture screen name&lt;br /&gt;
* ''texmasterN'' - holds the input texture name&lt;br /&gt;
* ''activemodel'' - name of the active (selected) model in workspace&lt;br /&gt;
* ''unitname'' - name of the key from units.csv&lt;br /&gt;
* ''vegastrike'' - Vega Strike installation directory root&lt;br /&gt;
* ''workdir'' - working directory&lt;br /&gt;
&lt;br /&gt;
Most of the variables are commented within the code.&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Vegastrike&amp;diff=19867</id>
		<title>Vegastrike</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Vegastrike&amp;diff=19867"/>
				<updated>2020-05-01T14:14:01Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: updated svn link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|En|Vegastrike}}&lt;br /&gt;
{{Wiki_Nav_Index}}&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;3&amp;quot; class=&amp;quot;mainpagetable&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;color:#493956; border-style:solid;border-width:1px;padding:5px;width:100%;&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;'''Welcome to the Vega Strike Wiki'''&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Welcome to the '''Vega Strike''' [[wikipedia:Wiki|Wiki]], a user-edited manual and development guide for users and developers of the [http://www.opensource.org/ open source] '''Vega Strike''' game. Feel free to edit or add any pages you feel are necessary, but please read the [[VsWiki:Manual of Style|Manual of Style]] first, and please only add data to the [[Database]] that originates from an authoritative source.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#ffdead;&amp;quot; width=&amp;quot;50%&amp;quot;|&amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;3&amp;quot;&amp;gt;'''[[Manual|Player's Planet]]'''&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|style=&amp;quot;background:#afa8ee;&amp;quot; width=&amp;quot;50%&amp;quot;|&amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;3&amp;quot;&amp;gt;'''[[Development|Contributor's Station]]'''&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; style=&amp;quot;border-style:solid;border-width:1px;padding:5px;&amp;quot;|&amp;lt;center&amp;gt;'''Everything you wanted to know about Vega Strike''' (playing/story/etc)&amp;lt;/center&amp;gt;&lt;br /&gt;
{|class=&amp;quot;mainpagetable&amp;quot; style=&amp;quot;color:#493956;&amp;quot;&lt;br /&gt;
|http://vegastrike.sourceforge.net/gallery/main.php?g2_view=core.DownloadItem&amp;amp;g2_itemId=5842&amp;amp;g2_serialNumber=2&amp;amp;ext=.png&lt;br /&gt;
|&lt;br /&gt;
* [[Manual]] - The complete game manual.&lt;br /&gt;
* [[Manual:New users|Information for new users]]&lt;br /&gt;
* [[Story Elements]]&lt;br /&gt;
* [[FAQ]]s - Frequently asked questions&lt;br /&gt;
* [[OOG Tools|Out of Game Tools]] - map viewers, route finders, etc.&lt;br /&gt;
* [[Database]] - Info on the Vega Strike Universe&lt;br /&gt;
* [[MODs|Full list of Mods]] for the Vega Strike Engine&lt;br /&gt;
|}&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; style=&amp;quot;border-style:solid;border-width:1px;padding:5px;&amp;quot;|&amp;lt;center&amp;gt;'''Feel free to help with the development of Vega Strike. The links below are a good starting point to do so.'''&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
'''''Want to contribute but don't know where to start'''''&lt;br /&gt;
* [[HowTo:Contribute|The Vega Strike Contributor's Guide]]&lt;br /&gt;
* [[Development]] &amp;amp; [[HowTos]] - Miscellaneous information for contributors&lt;br /&gt;
'''''For Artists and Modders'''''&lt;br /&gt;
* [[Development#Artistic_Contribution|Artists Guidelines]] - 3d models, space scapes, planet and station backgrounds, ...&lt;br /&gt;
* [[Development#Data_Modding|Modding Guidelines]] - config variables, missions, quests, modding tools, ...&lt;br /&gt;
* [[Artstyle_guides|Art Style Guides]] - VS universe style information for artists&lt;br /&gt;
'''''Engine References'''''&lt;br /&gt;
* [[DOCs]] - Engine documentation&lt;br /&gt;
'''''For Coders'''''&lt;br /&gt;
* [[Development#Code-related_Development|Coding Guidelines]] - dependencies, svn layout, code style, network protocol, ...&lt;br /&gt;
'''''Administrative'''''&lt;br /&gt;
* [[Vegastrike:Project|Project]] - Project information page&lt;br /&gt;
* [[Development:Roadmap|Roadmap]] - Vega Strike development plan&lt;br /&gt;
* [[Development#Status.2Ftask_list_pages|Status &amp;amp; Task List pages]]&lt;br /&gt;
* [[FAQ:Feature_Requests|Feature Requests]] - Ask, and you will have asked.&lt;br /&gt;
'''''Other'''''&lt;br /&gt;
* [[FAQ]]s - Frequently asked questions&lt;br /&gt;
* [[HowTos#Sourcecode HowTos|Sourcecode HowTos]] - Getting and installing the latest unstable version.&lt;br /&gt;
* [http://svn.code.sf.net/p/vegastrike/code/ Browse the SVN repository]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;3&amp;quot; class=&amp;quot;mainpagetable&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;color:#493956;border-style:solid;border-width:1px;padding:5px;width:100%;&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;3&amp;quot;&amp;gt;'''The Vega Strike Community'''&amp;lt;/font&amp;gt;&lt;br /&gt;
If you want to help out with the wiki, or get help that this wiki cannot provide, check out the links below.&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#7dcf7d;&amp;quot; width=&amp;quot;50%&amp;quot;|&amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;3&amp;quot;&amp;gt;'''Wiki Trading Post'''&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|style=&amp;quot;background:#ae6e9f;&amp;quot; width=&amp;quot;50%&amp;quot;|&amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;3&amp;quot;&amp;gt;'''Help Shipyard'''&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; style=&amp;quot;border-style:solid;border-width:1px;padding:5px;&amp;quot;|&lt;br /&gt;
* [[VsWiki:Manual of Style|Manual of Style]] - Please read it before editing, and please make any testing of the wiki system in the [[SandBox|Sandbox]].&lt;br /&gt;
*[http://forums.vega-strike.org/viewtopic.php?f=21&amp;amp;t=13186 Village Pump] - Make any discussions you wish about better organizing the wiki, or adding major new additions to the wiki.&lt;br /&gt;
* [[VsWiki:Requested Articles|Article Requests]] - Needed/wanted pages&lt;br /&gt;
* [[Wikipedia:How to edit a page|How to edit a wiki page]]&lt;br /&gt;
* [[:Category:Pages_needing_attention|Pages that need attention]]&lt;br /&gt;
* [[Special:Listusers|User list]] | [[Special:Popularpages|Most popular pages]]&lt;br /&gt;
&lt;br /&gt;
* More special pages are here [[Special:Specialpages]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; style=&amp;quot;border-style:solid;border-width:1px;padding:5px;&amp;quot;|&amp;lt;center&amp;gt;Do you need help?  Then try the forums, the main source for development or help!  Or you can leave the site by any one of a number of other links...&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
* [http://forums.vega-strike.org Vega Strike Forums]&lt;br /&gt;
&lt;br /&gt;
* [[Links]]&lt;br /&gt;
* irc.freenode.net #vegastrike (Main chanel)&lt;br /&gt;
** irc://irc.freenode.net/#vegastrike&lt;br /&gt;
** irc://irc.freenode.net/vegastrike (link for mIRC user)&lt;br /&gt;
* irc.stealth.net #vegastrike (Backup chanel)&lt;br /&gt;
** irc://irc.stealth.net/#vegastrike&lt;br /&gt;
** irc://irc.stealth.net/vegastrike (link for mIRC user)&lt;br /&gt;
&lt;br /&gt;
Recommended open-source multi-protocol clients (IRC, ICQ/AIM, Jabber, Y!M, ...):&lt;br /&gt;
* Linux: [http://kopete.kde.org/ Kopete]&lt;br /&gt;
* Windows: [http://ayttm.sourceforge.net/ Ayttm]&lt;br /&gt;
* Mac: [http://fire.sourceforge.net/ Fire]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;3&amp;quot; class=&amp;quot;mainpagetable&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;color:#493956;border-style:solid;border-width:1px;padding:5px;width:100%;&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; |&amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;3&amp;quot;&amp;gt;'''Creating a wiki account'''&amp;lt;/font&amp;gt;&lt;br /&gt;
If you want to create an account in the wiki, you need to '''go to the [http://forums.vegastrike.org forum] and create an account there'''.&amp;lt;BR/&amp;gt;This is because the logins are linked and creation is only possible there.&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Please see [http://meta.wikipedia.org/wiki/MediaWiki_i18n documentation on customizing the interface]&lt;br /&gt;
and the [http://meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide User's Guide] for usage and configuration help.&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Vegastrike:Credits&amp;diff=18295</id>
		<title>Vegastrike:Credits</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Vegastrike:Credits&amp;diff=18295"/>
				<updated>2011-05-03T22:17:45Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* Supporting Programmers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|En|Vegastrike:Credits}}&lt;br /&gt;
{{NAV_Manual |&lt;br /&gt;
| previous=[[Vegastrike:Features|Features]]&lt;br /&gt;
| up=[[Manual]]&lt;br /&gt;
| next=[[Manual:Install|Installing the game]]&lt;br /&gt;
}}&lt;br /&gt;
{{Fixme}}&lt;br /&gt;
----&lt;br /&gt;
'''This page is severely outdated.  If your name's not here, trust us - it's not out of spite, this page is just going to take a lot of editing to be worthwhile.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
A thought - there should also probably (at some point) be an &amp;quot;Content Credits&amp;quot; page which associates particular pieces of 2D, 3D and Musical art with their creator (I suggest indexing by artist).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
=Project Leads=&lt;br /&gt;
&amp;lt;table width=&amp;quot;100%&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td width=&amp;quot;20%&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;td width=&amp;quot;76%&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Roles&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;tr &amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;Daniel Horn&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;VS Creator. Original Mover. Head honcho. Big cheese (though he's not big on cheese). Many years and mountains of code later, he's still here and we wouldn't be without him. Fortunately for all of us, we don't let him make all the models in Emacs anymore ;-). &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;Patrick Horn&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;td&amp;gt;Lead Python developer, lead networking developer.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;Jack Sampson&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;td&amp;gt;Vega Strike Minister of Information. Arbiter of canon. Herder of cats (Executive Art Director). VS fiction lead. Auxiliary code mangler. &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
==Emeritus==&lt;br /&gt;
&amp;lt;table width=&amp;quot;100%&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;20%&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=&amp;quot;76%&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr &amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Alan Shieh&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;One of the &amp;quot;back in the day&amp;quot; VS fogies, Alan has gone on to discover he actually liked being outside when not working towards his Ph.D. Last seen kayaking, biking, and publishing papers (or something like that).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lead Programmers=&lt;br /&gt;
&amp;lt;table width=&amp;quot;100%&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;2&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td width=&amp;quot;20%&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td width=&amp;quot;76%&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Contributions&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr &amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Claudio Freire&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;From work on graphics and sound to the twines of code at the beating heart of the VS engine. Currently working on moving the graphical backend to OGRE.&lt;br /&gt;
      &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
=Supporting Programmers=&lt;br /&gt;
&amp;lt;table width=&amp;quot;100%&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;2&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td width=&amp;quot;20%&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td width=&amp;quot;76%&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Contributions&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr &amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Kephra &amp;quot;kraehe&amp;quot;&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Code patches.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr &amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;strook&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Ogre port and seamless planetary flight.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Python Scripting==&lt;br /&gt;
&amp;lt;table width=&amp;quot;100%&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;2&amp;quot; &amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;20%&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=&amp;quot;76%&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr &amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Daniel Aleksandrow &amp;quot;dandandaman&amp;quot;&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Many of the python modules.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Development Utilities==&lt;br /&gt;
&amp;lt;table width=&amp;quot;100%&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;2&amp;quot; &amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;20%&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=&amp;quot;76%&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;quot;&amp;lt;i&amp;gt;pontiac&amp;lt;/i&amp;gt;&amp;quot;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Wings 3D art import/export program.&amp;lt;/td&amp;gt;      &lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Coders of Yesteryear==&lt;br /&gt;
&amp;lt;table width=&amp;quot;100%&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;2&amp;quot; &amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;20%&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=&amp;quot;76%&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr &amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Stephane Vaxelaire&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Divided up game into physics and graphics modules, worked on multiplayer infrastructure. &lt;br /&gt;
      &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Alexander Rawass&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Joystick and config files. Wrote a scripting language for missions affectionately known as Cb (&amp;quot;C flat&amp;quot;). Worked on improving missions and scripting.&lt;br /&gt;
      &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr &amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Sabarok Aresh&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Made Vegastrike Setup and Mission Launcher. Wrote mission selector &lt;br /&gt;
        for glut, Worked on Cargo/Docking GUI.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Artists=&lt;br /&gt;
==2D==&lt;br /&gt;
&amp;lt;table width=&amp;quot;100%&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;2&amp;quot; &amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;30%&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=&amp;quot;66%&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Strangelet, Fendorin, Dunkelheit&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Bases and planet backgrounds&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Bálint Szilárd&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Various ship designs&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Dandandaman, Esgaroth, Hellcatv, jackS, Klauss, Pyramid, Strangelet&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Planet textures&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr &amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Pyramid&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Various cargo images&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Oblivion&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Splash screens&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==3D==&lt;br /&gt;
&amp;lt;table width=&amp;quot;100%&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;2&amp;quot; &amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;20%&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=&amp;quot;76%&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr &amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Strangelet&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Many notable models&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr &amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Etheral Walker&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Some key models, assorted WIPs&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr &amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Tiny Paintings&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Various WIPs&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr &amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Chuck &amp;amp; Coffeebot&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Their elevators might even go all the way to the top ;-)&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr &amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Pontiac&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Assorted Models, many WIPs&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
==Graphical Design==&lt;br /&gt;
&amp;lt;table width=&amp;quot;100%&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;2&amp;quot; &amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;20%&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=&amp;quot;76%&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Aazelone 'Zaydana' Pyoleri&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;td&amp;gt;Logo design and future website prototyping.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
==Music==&lt;br /&gt;
&amp;lt;table width=&amp;quot;100%&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;2&amp;quot; &amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;20%&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=&amp;quot;76%&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr &amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Ken Seguro&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr &amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;quot;&amp;lt;i&amp;gt;PeteyG&amp;lt;/i&amp;gt;&amp;quot;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
==Speech==&lt;br /&gt;
&amp;lt;table width=&amp;quot;100%&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;2&amp;quot; &amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;20%&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=&amp;quot;76%&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt; &lt;br /&gt;
    &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Turbo&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Oswald tutorial speech, Aera alien and translator speech&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt; &lt;br /&gt;
    &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;CLoneWolf&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Andolian speech voice acting&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Emeritus==&lt;br /&gt;
&amp;lt;table width=&amp;quot;100%&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;2&amp;quot; &amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;20%&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=&amp;quot;76%&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;H.E. Day&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;td&amp;gt;3D Modeler and texturing professional. Ushered in new quality levels for 0.4.x 3D art. Explosions, cockpits, Rlaan, Aera, and Confederation craft that are likely to remain with us for some time. Left to work on his own project.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt; &lt;br /&gt;
   &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Cub of Judah's Lion&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;td&amp;gt;Some darn good art - and he still stops by on occasion.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
==Artists of Yesteryear==&lt;br /&gt;
&amp;lt;table width=&amp;quot;100%&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;2&amp;quot; &amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;20%&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td width=&amp;quot;76%&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
   &amp;lt;tr &amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;PeteyG&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Wrote much base music, did many models and textures (including our beloved Llama).&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr &amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Electrotech&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;td&amp;gt;3D modeling (derivative convolution determinant, ... ) in data 0.4.0 - 0.4.3.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr &amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Duality&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Terran light map redo and assorted artwork.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;tr &amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Jeff Graw&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;td&amp;gt;Did lots of backgrounds and assorted artwork improvement to 0.3.x. Did comm voices.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr &amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Jason Winzenried&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;3D modeling, cockpit and various starships.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Marcel Paré&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;td&amp;gt;Modeling, 0.3.x ship database. &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr &amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Fire Hawk&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;3D Modeling&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Vortis&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr &amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Martin Baldwin&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Worked on game map for 0.3.x &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Kinnear Penman&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;td&amp;gt;Fixed OpenAL sound to work in XP, and made PiMp Installer Script! Art...fiction&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;RearAdmiralTolwyn&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;td&amp;gt;3D modeling (Longhaul, Katar, Khanjarli) 0.3.x &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr &amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Henrik Eklund&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Celeste story, (0.3.x intro)&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;f109 Vampire&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;td&amp;gt;3D modeling, 0.3.x (f109 Vampire, others)&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr &amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;James Carthew&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;3D modeling 0.2.x? - 0.3.x. Made Missile models and Sol system and Drone model and jump portal. Fixed SDL version in 0.2.9. &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Spiner&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;td&amp;gt;Modeling, 0.3.x (Solar Glares and Asteroid base)&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr &amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Julien Chateau&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Modeling&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;tr &amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Tobias Wollgarn, Major A Payne &amp;amp;amp; Somall&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Made Vegastrike sounds (from scratch)&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
=Testing / Support=&lt;br /&gt;
&amp;lt;table width=&amp;quot;100%&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td width=&amp;quot;20%&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td width=&amp;quot;76%&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Contribution&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr &amp;gt; &lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Eagle-1&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Testing (Multiplayer) &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;Web Development&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;table width=&amp;quot;100%&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;td width=&amp;quot;20%&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td width=&amp;quot;76%&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Contribution&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Matthew Kruer&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Created the Website, installed and configured various aspects of the site (Gallery, Fourms, etc...) Curently working on [http://wasteland.solsector.net Wing Commander: The Wasteland Incident] MOD for the VegaStrike Engine&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{{NAV_Manual |&lt;br /&gt;
| previous=[[Vegastrike:Features|Features]]&lt;br /&gt;
| up=[[Manual]]&lt;br /&gt;
| next=[[Manual:Install|Installing the game]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Roadmap:0.6.0&amp;diff=18294</id>
		<title>Development:Roadmap:0.6.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Roadmap:0.6.0&amp;diff=18294"/>
				<updated>2011-05-03T22:15:48Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* 0.5.2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Vega Strike Upon the Coldest Sea stable version 0.5.0 was released on 2008-04-24.&lt;br /&gt;
&lt;br /&gt;
This is a task list for intermediate 0.5.x releases. The stuff that should get done for each intermediate and until the 0.6.0 release.&lt;br /&gt;
&lt;br /&gt;
=Generic Roadmap=&lt;br /&gt;
This roadmap is in need of further broken down into release specific tasks and assignment of those.&lt;br /&gt;
&lt;br /&gt;
==Factions rework==&lt;br /&gt;
*Hierarchical factions (e.g. *_citizen, affects *) &lt;br /&gt;
*Allowing for non-factions (privateer is already our non-faction, we just need to fix some of the behavior.)&lt;br /&gt;
*Ability for player joining a faction&lt;br /&gt;
&lt;br /&gt;
==AI==&lt;br /&gt;
*Faction-level AI (race / faction strategy)&lt;br /&gt;
*Micro AI (ship, fg, collision avoidance, tactical and navigational AI, roles definition)&lt;br /&gt;
*Macro (fg/faction)&lt;br /&gt;
* Flightgroups&lt;br /&gt;
** Classification (fleet, squadron, flotilla? etc. - something to differentiate between {5 plowshares} and {3 archimedes, 2 Tesla, 8 kahan, 20 schroedinger, 10 goddard, 5 watson} )&lt;br /&gt;
** Flightgroups should have subsets of ships that spawn together (combined arms)&lt;br /&gt;
* add another dimension to roles (attack AND defend/predator AND prey roles) instead of forcing both to be the same.&lt;br /&gt;
* AI spec drive use, escorts...&lt;br /&gt;
&lt;br /&gt;
==Content Creation Tools==&lt;br /&gt;
*Prerequisite: straight XML, DTD (Document Type Definition) support&lt;br /&gt;
*System Editor&lt;br /&gt;
*Unit Editor&lt;br /&gt;
*CSV Editor (MPL, faction_ships.py, units.csv)&lt;br /&gt;
*Mission Editor &lt;br /&gt;
*Campaign Editor&lt;br /&gt;
*Config Editor&lt;br /&gt;
&lt;br /&gt;
==Multiplayer==&lt;br /&gt;
*Persistence (systems, bases, flight groups, …)&lt;br /&gt;
&lt;br /&gt;
==Building/Packaging==&lt;br /&gt;
*Move to cmake&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
*Document the general function/flow of the game &lt;br /&gt;
*Engine internals, API (development documentation)&lt;br /&gt;
*Python bindings&lt;br /&gt;
*Should we use the builtin python documentation standards for documenting this stuff--maybe in the stubs folder?&lt;br /&gt;
*Faction documentation&lt;br /&gt;
&lt;br /&gt;
==Engine rework==&lt;br /&gt;
*Audio subsystem overhaul&lt;br /&gt;
*Support for texture versions and normal map tangents&lt;br /&gt;
*Shader updates&lt;br /&gt;
&lt;br /&gt;
=Release Roadmap=&lt;br /&gt;
&lt;br /&gt;
There are up to three sections in each roadmap release chapter:&lt;br /&gt;
* '''VS Engine''' relates to: modifications to c++, shaders, and python code (not including missions), repository structure changes, packaging system, support tools, ogre version&lt;br /&gt;
* '''VS Data - Upon The Coldest Sea''' relates to: modifications to art, data, and mission scripts for Upon The Coldest Sea (sometimes also called Vega Strike The Game as opposed to Vega Strike The Engine&lt;br /&gt;
* '''Documentation &amp;amp; Mod Tools &amp;amp; Other''' relates to: documentation, wiki, project web page, masters repository, project management&lt;br /&gt;
&lt;br /&gt;
Each task item should also have a prefixed tag in the form of ['''STATUS'''{=OPEN, ONGOING, DONE}, development-coordinator{=''username''}]&lt;br /&gt;
&lt;br /&gt;
== 0.5.1 ==&lt;br /&gt;
&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Separate bin and data tree structure. Note:    those who have data4.x already, set your client to not pull external repos or cancel when it tries to download data4.x. Then move your current data4.x alongside /bin, renaming it to data. Updates should work seamlessly and recurse into /data and /bin afterwards. Newcomers can just pull win32.&lt;br /&gt;
* '''[FINISHED]''' (''ace123'') Rename data4.x to data and patch corresponding source code where necessary.&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Make a high quality graphics texture pack (''hqtextures'').&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Preparation of a cross-platform packaging system (cmake)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Updates to the shader (commit chuck's unit shader)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Correct rings generation to be always in the same plane&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Support for target shield gauges definition&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') Add support for &amp;quot;TexturePackingVersion&amp;quot; variable in xmesh&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') Add support for techniques and far z-buffering correction&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') Tangent support for normal maps&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') sound refactoring phase I - basic functionality&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') movie support&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') CubeMap engine support&lt;br /&gt;
* Minor bug fixes.&lt;br /&gt;
** '''[FINISHED]''' (''ace123'') fixed player relationship with each faction in savegame&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') planetary rings are always coplanar&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') system ownership (faction) and sector info shown in RVDU and on map&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') python modules can be organized in additional subfolders (ai, mission, quests)&lt;br /&gt;
&lt;br /&gt;
'''VS Data - Upon The Coldest Sea'''&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Extensions renaming and standardization (.image, .texture, .sprite).&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Added some textures to hqtextures.  &lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') 8 faces for armor HUD images&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Higher pay for combat missions.&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Tutorial mission&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') splash screen grouping in pre-load and load ani directories&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') additional art (planet backgrounds for lava, forest, rock, and frigid_mud, new space backgrounds, hud images)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') partial extensions renaming (cockpits, sprites, backgrounds)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Visually enhanced target shield gauges&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') New and updated cargo and upgrade image contributions&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Standardized factions coloring scheme&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Units subdirectories for vessels and installations&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Various new ship models (Kahan, Knight, Tridacna, ....) [http://vegastrike.sourceforge.net/devblog/?p=36 see blog]&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Various new installation models (Rlaan, Uln, Shaper, ...) [http://vegastrike.sourceforge.net/devblog/?p=36 see blog]&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Porting of old quests to new engine; done for: blockade, dispute, shipyard bomb, slaver, surplus&lt;br /&gt;
&lt;br /&gt;
'''Documentation &amp;amp; Mod Tools &amp;amp; Other'''&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Unit Converter OBJ-&amp;gt;BFXM - a mesher frontend.&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Re-organization of vessels model requirements on [[Development:3D_Models]].&lt;br /&gt;
&lt;br /&gt;
== 0.5.1.5 ==&lt;br /&gt;
&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[ONGOING]''' (''strook'') Implementing alpha version of VegaOgre, merging it into vegastrike.&lt;br /&gt;
the Ogre technology preview will be executable with '''vegastrike --with-ogre-engine''' until it is released.[http://vegastrike.sourceforge.net/forums/viewtopic.php?f=27&amp;amp;t=15545 see blog]&lt;br /&gt;
&lt;br /&gt;
== 0.5.2 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
*  '''[OPEN]''' (''safemode'') Implement opcode's Ray Collider for ray-mesh collisions. (alongside bsp collider tunable via configure switch ala how opcode was done). Wont be turned on by default until 0.5.3&lt;br /&gt;
* '''[ONGOING]''' (''klauss'') More shader fixes, texture updates/additions.&lt;br /&gt;
* '''[OPEN]''' (''safemode'') Make tools and readers operate on a Proper XML format , this could be switchable via special comment at top of xml input. This is for backwards compat with non proper xml files in mods. To be made default in 0.5.5&lt;br /&gt;
* '''[OPEN]''' (''klauss'') sound refactoring Phase II would add mixer channels (a feature to get seamless blending with music, comm chatter and sfx)&lt;br /&gt;
* '''[OPEN]''' (''klauss'') put gfxlib into a class, or at the _very_least_ a namespace&lt;br /&gt;
* '''[ONGOING]''' (''chuck_starchaser'') CineMut shader family - v0.5&lt;br /&gt;
* '''[OPEN]''' (''strook'') Make VegaOgre Engine using vegastrike engine to implement gameplay with vegaogre.&lt;br /&gt;
* Minor bug fixes and improvements&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') Show, save, and load correct stardate&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') Corrected missing mission description for fixer missions&lt;br /&gt;
** '''[OPEN]''' (''ace123'') show ship sell price in user interface&lt;br /&gt;
&lt;br /&gt;
'''VS Data - Upon The Coldest Sea'''&lt;br /&gt;
* '''[FINISHED]''' ''(pyramid)'' Added quit image with default key mapping&lt;br /&gt;
* '''[OPEN]''' ''(pyramid)'' New quests, missions, and campaigns&lt;br /&gt;
* '''[OPEN]''' ''(pyramid)'' Revision of planet types&lt;br /&gt;
* '''[OPEN]''' (''chuck_starchaser'') Units re-texturing for CineMut texture packing version 0.5&lt;br /&gt;
* '''[ONGOING]''' (''pyramid'') Porting of old quests to new engine&lt;br /&gt;
&lt;br /&gt;
'''Documentation &amp;amp; Mod Tools &amp;amp; Other'''&lt;br /&gt;
* '''[OPEN]''' (''???'') The Player's Guide tutorial glitches: Example: It says to buy the jump drive from Jenek...; The Alt-0 key&lt;br /&gt;
&lt;br /&gt;
== 0.5.3 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' Ray collider turned on, BSP stuff removed.&lt;br /&gt;
* '''[OPEN]''' ''(klauss)'' XGUI support for scripts&lt;br /&gt;
* '''[OPEN]''' ''(klauss)'' More shader fixes (should be pretty good by now), texture updates/additions&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' Continue to work on proper XML parsing in engine&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' update xml files in VS to be proper mode&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' setup tool&lt;br /&gt;
* '''[OPEN]''' (''chuck_starchaser'') CineMut shader family - v1.0&lt;br /&gt;
&lt;br /&gt;
'''VS Data - Upon The Coldest Sea'''&lt;br /&gt;
* '''[OPEN]''' ''(pyramid)'' Create custom systems with Homeworlds for races and factions&lt;br /&gt;
* '''[OPEN]''' (''chuck_starchaser'') Units re-texturing for CineMut texture packing version 1.0&lt;br /&gt;
&lt;br /&gt;
== 0.5.4 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[ONGOING SPECIFICATION]''' (''klauss, darkmage'') content creation tools: end user tools for helping with content creation. These should be a part of vegastrike code-base, to keep things in sync and reduce maintenance. &lt;br /&gt;
* make proper xml mode default, remove code to parse obsolete xml-ish code. &lt;br /&gt;
* Get codebase stabilized in prep for refactoring graphics code.&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' new wormhole effects&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' improved ship AI&lt;br /&gt;
* '''[OPEN]''' ''(klauss)'' cleaning up unused mesh legacy formats (mesh_bin.cpp, ...)&lt;br /&gt;
&lt;br /&gt;
'''VS Data - Upon The Coldest Sea'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.5 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Refactor graphics code.&lt;br /&gt;
* ['''OPEN'''] (''ace123'') Make jump points be drawn on HUD only.&lt;br /&gt;
&lt;br /&gt;
'''VS Data - Upon The Coldest Sea'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.6 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Bug fixes.&lt;br /&gt;
* Texture additions/ etc&lt;br /&gt;
* Document refactored graphics and sound code.&lt;br /&gt;
&lt;br /&gt;
'''VS Data - Upon The Coldest Sea'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.7 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Thread graphics code and sound code with boost threads.&lt;br /&gt;
* Bug Fixing. &lt;br /&gt;
&lt;br /&gt;
'''VS Data - Upon The Coldest Sea'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.9 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* sound refactoring Phase III would add environmental effects&lt;br /&gt;
* Bug Fixing.&lt;br /&gt;
* Documentation&lt;br /&gt;
* Credits&lt;br /&gt;
&lt;br /&gt;
'''VS Data - Upon The Coldest Sea'''&lt;br /&gt;
&lt;br /&gt;
== 0.6.0 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Minor bug fixes from previous revision&lt;br /&gt;
* Packaging&lt;br /&gt;
&lt;br /&gt;
'''VS Data - Upon The Coldest Sea'''&lt;br /&gt;
* documentation&lt;br /&gt;
&lt;br /&gt;
[[Category:Roadmaps]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Roadmap:0.6.0&amp;diff=18293</id>
		<title>Development:Roadmap:0.6.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Roadmap:0.6.0&amp;diff=18293"/>
				<updated>2011-05-03T22:14:59Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* Release Roadmap */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Vega Strike Upon the Coldest Sea stable version 0.5.0 was released on 2008-04-24.&lt;br /&gt;
&lt;br /&gt;
This is a task list for intermediate 0.5.x releases. The stuff that should get done for each intermediate and until the 0.6.0 release.&lt;br /&gt;
&lt;br /&gt;
=Generic Roadmap=&lt;br /&gt;
This roadmap is in need of further broken down into release specific tasks and assignment of those.&lt;br /&gt;
&lt;br /&gt;
==Factions rework==&lt;br /&gt;
*Hierarchical factions (e.g. *_citizen, affects *) &lt;br /&gt;
*Allowing for non-factions (privateer is already our non-faction, we just need to fix some of the behavior.)&lt;br /&gt;
*Ability for player joining a faction&lt;br /&gt;
&lt;br /&gt;
==AI==&lt;br /&gt;
*Faction-level AI (race / faction strategy)&lt;br /&gt;
*Micro AI (ship, fg, collision avoidance, tactical and navigational AI, roles definition)&lt;br /&gt;
*Macro (fg/faction)&lt;br /&gt;
* Flightgroups&lt;br /&gt;
** Classification (fleet, squadron, flotilla? etc. - something to differentiate between {5 plowshares} and {3 archimedes, 2 Tesla, 8 kahan, 20 schroedinger, 10 goddard, 5 watson} )&lt;br /&gt;
** Flightgroups should have subsets of ships that spawn together (combined arms)&lt;br /&gt;
* add another dimension to roles (attack AND defend/predator AND prey roles) instead of forcing both to be the same.&lt;br /&gt;
* AI spec drive use, escorts...&lt;br /&gt;
&lt;br /&gt;
==Content Creation Tools==&lt;br /&gt;
*Prerequisite: straight XML, DTD (Document Type Definition) support&lt;br /&gt;
*System Editor&lt;br /&gt;
*Unit Editor&lt;br /&gt;
*CSV Editor (MPL, faction_ships.py, units.csv)&lt;br /&gt;
*Mission Editor &lt;br /&gt;
*Campaign Editor&lt;br /&gt;
*Config Editor&lt;br /&gt;
&lt;br /&gt;
==Multiplayer==&lt;br /&gt;
*Persistence (systems, bases, flight groups, …)&lt;br /&gt;
&lt;br /&gt;
==Building/Packaging==&lt;br /&gt;
*Move to cmake&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
*Document the general function/flow of the game &lt;br /&gt;
*Engine internals, API (development documentation)&lt;br /&gt;
*Python bindings&lt;br /&gt;
*Should we use the builtin python documentation standards for documenting this stuff--maybe in the stubs folder?&lt;br /&gt;
*Faction documentation&lt;br /&gt;
&lt;br /&gt;
==Engine rework==&lt;br /&gt;
*Audio subsystem overhaul&lt;br /&gt;
*Support for texture versions and normal map tangents&lt;br /&gt;
*Shader updates&lt;br /&gt;
&lt;br /&gt;
=Release Roadmap=&lt;br /&gt;
&lt;br /&gt;
There are up to three sections in each roadmap release chapter:&lt;br /&gt;
* '''VS Engine''' relates to: modifications to c++, shaders, and python code (not including missions), repository structure changes, packaging system, support tools, ogre version&lt;br /&gt;
* '''VS Data - Upon The Coldest Sea''' relates to: modifications to art, data, and mission scripts for Upon The Coldest Sea (sometimes also called Vega Strike The Game as opposed to Vega Strike The Engine&lt;br /&gt;
* '''Documentation &amp;amp; Mod Tools &amp;amp; Other''' relates to: documentation, wiki, project web page, masters repository, project management&lt;br /&gt;
&lt;br /&gt;
Each task item should also have a prefixed tag in the form of ['''STATUS'''{=OPEN, ONGOING, DONE}, development-coordinator{=''username''}]&lt;br /&gt;
&lt;br /&gt;
== 0.5.1 ==&lt;br /&gt;
&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Separate bin and data tree structure. Note:    those who have data4.x already, set your client to not pull external repos or cancel when it tries to download data4.x. Then move your current data4.x alongside /bin, renaming it to data. Updates should work seamlessly and recurse into /data and /bin afterwards. Newcomers can just pull win32.&lt;br /&gt;
* '''[FINISHED]''' (''ace123'') Rename data4.x to data and patch corresponding source code where necessary.&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Make a high quality graphics texture pack (''hqtextures'').&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Preparation of a cross-platform packaging system (cmake)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Updates to the shader (commit chuck's unit shader)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Correct rings generation to be always in the same plane&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Support for target shield gauges definition&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') Add support for &amp;quot;TexturePackingVersion&amp;quot; variable in xmesh&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') Add support for techniques and far z-buffering correction&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') Tangent support for normal maps&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') sound refactoring phase I - basic functionality&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') movie support&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') CubeMap engine support&lt;br /&gt;
* Minor bug fixes.&lt;br /&gt;
** '''[FINISHED]''' (''ace123'') fixed player relationship with each faction in savegame&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') planetary rings are always coplanar&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') system ownership (faction) and sector info shown in RVDU and on map&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') python modules can be organized in additional subfolders (ai, mission, quests)&lt;br /&gt;
&lt;br /&gt;
'''VS Data - Upon The Coldest Sea'''&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Extensions renaming and standardization (.image, .texture, .sprite).&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Added some textures to hqtextures.  &lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') 8 faces for armor HUD images&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Higher pay for combat missions.&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Tutorial mission&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') splash screen grouping in pre-load and load ani directories&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') additional art (planet backgrounds for lava, forest, rock, and frigid_mud, new space backgrounds, hud images)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') partial extensions renaming (cockpits, sprites, backgrounds)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Visually enhanced target shield gauges&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') New and updated cargo and upgrade image contributions&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Standardized factions coloring scheme&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Units subdirectories for vessels and installations&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Various new ship models (Kahan, Knight, Tridacna, ....) [http://vegastrike.sourceforge.net/devblog/?p=36 see blog]&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Various new installation models (Rlaan, Uln, Shaper, ...) [http://vegastrike.sourceforge.net/devblog/?p=36 see blog]&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Porting of old quests to new engine; done for: blockade, dispute, shipyard bomb, slaver, surplus&lt;br /&gt;
&lt;br /&gt;
'''Documentation &amp;amp; Mod Tools &amp;amp; Other'''&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Unit Converter OBJ-&amp;gt;BFXM - a mesher frontend.&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Re-organization of vessels model requirements on [[Development:3D_Models]].&lt;br /&gt;
&lt;br /&gt;
== 0.5.1.5 ==&lt;br /&gt;
&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[ONGOING]''' (''strook'') Implementing alpha version of VegaOgre, merging it into vegastrike.&lt;br /&gt;
the Ogre technology preview will be executable with '''vegastrike --with-ogre-engine''' until it is released.[http://vegastrike.sourceforge.net/forums/viewtopic.php?f=27&amp;amp;t=15545 see blog]&lt;br /&gt;
&lt;br /&gt;
== 0.5.2 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
*  '''[OPEN]''' (''safemode'') Implement opcode's Ray Collider for ray-mesh collisions. (alongside bsp collider tunable via configure switch ala how opcode was done). Wont be turned on by default until 0.5.3&lt;br /&gt;
* '''[ONGOING]''' (''klauss'') More shader fixes, texture updates/additions.&lt;br /&gt;
* '''[OPEN]''' (''safemode'') Make tools and readers operate on a Proper XML format , this could be switchable via special comment at top of xml input. This is for backwards compat with non proper xml files in mods. To be made default in 0.5.5&lt;br /&gt;
* '''[OPEN]''' (''klauss'') sound refactoring Phase II would add mixer channels (a feature to get seamless blending with music, comm chatter and sfx)&lt;br /&gt;
* '''[OPEN]''' (''klauss'') put gfxlib into a class, or at the _very_least_ a namespace&lt;br /&gt;
* '''[ONGOING]''' (''chuck_starchaser'') CineMut shader family - v0.5&lt;br /&gt;
* '''[OPEN]''' (''strook'') Make VegaOgre Engine using vegastrike engine to implement gameplay with vegaogre.&lt;br /&gt;
* Minor bug fixes and improvements&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') Show, save, and load correct stardate&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') Corrected missing mission description for fixer missions&lt;br /&gt;
** '''[OPEN]''' (''ace123'') show ship sell price in user interface&lt;br /&gt;
&lt;br /&gt;
'''VS Data - Upon The Coldest Sea'''&lt;br /&gt;
* '''[FINISHED]''' ''(pyramid)'' Added quit image with default key mapping&lt;br /&gt;
* '''[OPEN]''' ''(pyramid)'' Revision of planet types&lt;br /&gt;
* '''[OPEN]''' (''chuck_starchaser'') Units re-texturing for CineMut texture packing version 0.5&lt;br /&gt;
* '''[ONGOING]''' (''pyramid'') Porting of old quests to new engine&lt;br /&gt;
&lt;br /&gt;
'''Documentation &amp;amp; Mod Tools &amp;amp; Other'''&lt;br /&gt;
* '''[OPEN]''' (''???'') The Player's Guide tutorial glitches: Example: It says to buy the jump drive from Jenek...; The Alt-0 key&lt;br /&gt;
&lt;br /&gt;
== 0.5.3 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' Ray collider turned on, BSP stuff removed.&lt;br /&gt;
* '''[OPEN]''' ''(klauss)'' XGUI support for scripts&lt;br /&gt;
* '''[OPEN]''' ''(klauss)'' More shader fixes (should be pretty good by now), texture updates/additions&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' Continue to work on proper XML parsing in engine&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' update xml files in VS to be proper mode&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' setup tool&lt;br /&gt;
* '''[OPEN]''' (''chuck_starchaser'') CineMut shader family - v1.0&lt;br /&gt;
&lt;br /&gt;
'''VS Data - Upon The Coldest Sea'''&lt;br /&gt;
* '''[OPEN]''' ''(pyramid)'' Create custom systems with Homeworlds for races and factions&lt;br /&gt;
* '''[OPEN]''' (''chuck_starchaser'') Units re-texturing for CineMut texture packing version 1.0&lt;br /&gt;
&lt;br /&gt;
== 0.5.4 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[ONGOING SPECIFICATION]''' (''klauss, darkmage'') content creation tools: end user tools for helping with content creation. These should be a part of vegastrike code-base, to keep things in sync and reduce maintenance. &lt;br /&gt;
* make proper xml mode default, remove code to parse obsolete xml-ish code. &lt;br /&gt;
* Get codebase stabilized in prep for refactoring graphics code.&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' new wormhole effects&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' improved ship AI&lt;br /&gt;
* '''[OPEN]''' ''(klauss)'' cleaning up unused mesh legacy formats (mesh_bin.cpp, ...)&lt;br /&gt;
&lt;br /&gt;
'''VS Data - Upon The Coldest Sea'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.5 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Refactor graphics code.&lt;br /&gt;
* ['''OPEN'''] (''ace123'') Make jump points be drawn on HUD only.&lt;br /&gt;
&lt;br /&gt;
'''VS Data - Upon The Coldest Sea'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.6 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Bug fixes.&lt;br /&gt;
* Texture additions/ etc&lt;br /&gt;
* Document refactored graphics and sound code.&lt;br /&gt;
&lt;br /&gt;
'''VS Data - Upon The Coldest Sea'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.7 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Thread graphics code and sound code with boost threads.&lt;br /&gt;
* Bug Fixing. &lt;br /&gt;
&lt;br /&gt;
'''VS Data - Upon The Coldest Sea'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.9 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* sound refactoring Phase III would add environmental effects&lt;br /&gt;
* Bug Fixing.&lt;br /&gt;
* Documentation&lt;br /&gt;
* Credits&lt;br /&gt;
&lt;br /&gt;
'''VS Data - Upon The Coldest Sea'''&lt;br /&gt;
&lt;br /&gt;
== 0.6.0 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Minor bug fixes from previous revision&lt;br /&gt;
* Packaging&lt;br /&gt;
&lt;br /&gt;
'''VS Data - Upon The Coldest Sea'''&lt;br /&gt;
* documentation&lt;br /&gt;
&lt;br /&gt;
[[Category:Roadmaps]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Roadmap:0.6.0&amp;diff=18292</id>
		<title>Development:Roadmap:0.6.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Roadmap:0.6.0&amp;diff=18292"/>
				<updated>2011-05-03T22:10:04Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* 0.5.1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Vega Strike Upon the Coldest Sea stable version 0.5.0 was released on 2008-04-24.&lt;br /&gt;
&lt;br /&gt;
This is a task list for intermediate 0.5.x releases. The stuff that should get done for each intermediate and until the 0.6.0 release.&lt;br /&gt;
&lt;br /&gt;
=Generic Roadmap=&lt;br /&gt;
This roadmap is in need of further broken down into release specific tasks and assignment of those.&lt;br /&gt;
&lt;br /&gt;
==Factions rework==&lt;br /&gt;
*Hierarchical factions (e.g. *_citizen, affects *) &lt;br /&gt;
*Allowing for non-factions (privateer is already our non-faction, we just need to fix some of the behavior.)&lt;br /&gt;
*Ability for player joining a faction&lt;br /&gt;
&lt;br /&gt;
==AI==&lt;br /&gt;
*Faction-level AI (race / faction strategy)&lt;br /&gt;
*Micro AI (ship, fg, collision avoidance, tactical and navigational AI, roles definition)&lt;br /&gt;
*Macro (fg/faction)&lt;br /&gt;
* Flightgroups&lt;br /&gt;
** Classification (fleet, squadron, flotilla? etc. - something to differentiate between {5 plowshares} and {3 archimedes, 2 Tesla, 8 kahan, 20 schroedinger, 10 goddard, 5 watson} )&lt;br /&gt;
** Flightgroups should have subsets of ships that spawn together (combined arms)&lt;br /&gt;
* add another dimension to roles (attack AND defend/predator AND prey roles) instead of forcing both to be the same.&lt;br /&gt;
* AI spec drive use, escorts...&lt;br /&gt;
&lt;br /&gt;
==Content Creation Tools==&lt;br /&gt;
*Prerequisite: straight XML, DTD (Document Type Definition) support&lt;br /&gt;
*System Editor&lt;br /&gt;
*Unit Editor&lt;br /&gt;
*CSV Editor (MPL, faction_ships.py, units.csv)&lt;br /&gt;
*Mission Editor &lt;br /&gt;
*Campaign Editor&lt;br /&gt;
*Config Editor&lt;br /&gt;
&lt;br /&gt;
==Multiplayer==&lt;br /&gt;
*Persistence (systems, bases, flight groups, …)&lt;br /&gt;
&lt;br /&gt;
==Building/Packaging==&lt;br /&gt;
*Move to cmake&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
*Document the general function/flow of the game &lt;br /&gt;
*Engine internals, API (development documentation)&lt;br /&gt;
*Python bindings&lt;br /&gt;
*Should we use the builtin python documentation standards for documenting this stuff--maybe in the stubs folder?&lt;br /&gt;
*Faction documentation&lt;br /&gt;
&lt;br /&gt;
==Engine rework==&lt;br /&gt;
*Audio subsystem overhaul&lt;br /&gt;
*Support for texture versions and normal map tangents&lt;br /&gt;
*Shader updates&lt;br /&gt;
&lt;br /&gt;
=Release Roadmap=&lt;br /&gt;
&lt;br /&gt;
There are up to three sections in each roadmap release chapter:&lt;br /&gt;
* '''VS Engine''' relates to: modifications to c++, shaders, and python code (not including missions), repository structure changes, packaging system, support tools, ogre version&lt;br /&gt;
* '''VS Data''' relates to: modifications to art, data, and mission scripts&lt;br /&gt;
* '''Other''' relates to: documentation, wiki, project web page, masters repository, project management&lt;br /&gt;
&lt;br /&gt;
Each task item should also have a prefixed tag in the form of ['''STATUS'''{=OPEN, ONGOING, DONE}, development-coordinator{=''username''}]&lt;br /&gt;
&lt;br /&gt;
== 0.5.1 ==&lt;br /&gt;
&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Separate bin and data tree structure. Note:    those who have data4.x already, set your client to not pull external repos or cancel when it tries to download data4.x. Then move your current data4.x alongside /bin, renaming it to data. Updates should work seamlessly and recurse into /data and /bin afterwards. Newcomers can just pull win32.&lt;br /&gt;
* '''[FINISHED]''' (''ace123'') Rename data4.x to data and patch corresponding source code where necessary.&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Make a high quality graphics texture pack (''hqtextures'').&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Preparation of a cross-platform packaging system (cmake)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Updates to the shader (commit chuck's unit shader)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Correct rings generation to be always in the same plane&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Support for target shield gauges definition&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') Add support for &amp;quot;TexturePackingVersion&amp;quot; variable in xmesh&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') Add support for techniques and far z-buffering correction&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') Tangent support for normal maps&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') sound refactoring phase I - basic functionality&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') movie support&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') CubeMap engine support&lt;br /&gt;
* Minor bug fixes.&lt;br /&gt;
** '''[FINISHED]''' (''ace123'') fixed player relationship with each faction in savegame&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') planetary rings are always coplanar&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') system ownership (faction) and sector info shown in RVDU and on map&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') python modules can be organized in additional subfolders (ai, mission, quests)&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Extensions renaming and standardization (.image, .texture, .sprite).&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Added some textures to hqtextures.  &lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') 8 faces for armor HUD images&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Higher pay for combat missions.&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Tutorial mission&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') splash screen grouping in pre-load and load ani directories&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') additional art (planet backgrounds for lava, forest, rock, and frigid_mud, new space backgrounds, hud images)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') partial extensions renaming (cockpits, sprites, backgrounds)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Visually enhanced target shield gauges&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') New and updated cargo and upgrade image contributions&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Standardized factions coloring scheme&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Units subdirectories for vessels and installations&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Various new ship models (Kahan, Knight, Tridacna, ....) [http://vegastrike.sourceforge.net/devblog/?p=36 see blog]&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Various new installation models (Rlaan, Uln, Shaper, ...) [http://vegastrike.sourceforge.net/devblog/?p=36 see blog]&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Porting of old quests to new engine; done for: blockade, dispute, shipyard bomb, slaver, surplus&lt;br /&gt;
&lt;br /&gt;
'''Documentation &amp;amp; Mod Tools &amp;amp; Other'''&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Unit Converter OBJ-&amp;gt;BFXM - a mesher frontend.&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Re-organization of vessels model requirements on [[Development:3D_Models]].&lt;br /&gt;
&lt;br /&gt;
== 0.5.1.5 ==&lt;br /&gt;
&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[ONGOING]''' (''strook'') Implementing alpha version of VegaOgre, merging it into vegastrike.&lt;br /&gt;
the Ogre technology preview will be executable with '''vegastrike --with-ogre-engine''' until it is released.[http://vegastrike.sourceforge.net/forums/viewtopic.php?f=27&amp;amp;t=15545 see blog]&lt;br /&gt;
&lt;br /&gt;
== 0.5.2 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
*  '''[OPEN]''' (''safemode'') Implement opcode's Ray Collider for ray-mesh collisions. (alongside bsp collider tunable via configure switch ala how opcode was done). Wont be turned on by default until 0.5.3&lt;br /&gt;
* '''[ONGOING]''' (''klauss'') More shader fixes, texture updates/additions.&lt;br /&gt;
* '''[OPEN]''' (''safemode'') Make tools and readers operate on a Proper XML format , this could be switchable via special comment at top of xml input. This is for backwards compat with non proper xml files in mods. To be made default in 0.5.5&lt;br /&gt;
* '''[OPEN]''' (''klauss'') sound refactoring Phase II would add mixer channels (a feature to get seamless blending with music, comm chatter and sfx)&lt;br /&gt;
* '''[OPEN]''' (''klauss'') put gfxlib into a class, or at the _very_least_ a namespace&lt;br /&gt;
* '''[ONGOING]''' (''chuck_starchaser'') CineMut shader family - v0.5&lt;br /&gt;
* '''[OPEN]''' (''strook'') Make VegaOgre Engine using vegastrike engine to implement gameplay with vegaogre.&lt;br /&gt;
* Minor bug fixes and improvements&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') Show, save, and load correct stardate&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') Corrected missing mission description for fixer missions&lt;br /&gt;
** '''[OPEN]''' (''ace123'') show ship sell price in user interface&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
* '''[OPEN]''' ''(pyramid)'' Revision of planet types&lt;br /&gt;
* '''[OPEN]''' (''chuck_starchaser'') Units re-texturing for CineMut texture packing version 0.5&lt;br /&gt;
* '''[ONGOING]''' (''pyramid'') Porting of old quests to new engine&lt;br /&gt;
&lt;br /&gt;
'''Documentation &amp;amp; Mod Tools &amp;amp; Other'''&lt;br /&gt;
* '''[OPEN]''' (''???'') The Player's Guide tutorial glitches: Example: It says to buy the jump drive from Jenek...; The Alt-0 key&lt;br /&gt;
&lt;br /&gt;
== 0.5.3 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' Ray collider turned on, BSP stuff removed.&lt;br /&gt;
* '''[OPEN]''' ''(klauss)'' XGUI support for scripts&lt;br /&gt;
* '''[OPEN]''' ''(klauss)'' More shader fixes (should be pretty good by now), texture updates/additions&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' Continue to work on proper XML parsing in engine&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' update xml files in VS to be proper mode&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' setup tool&lt;br /&gt;
* '''[OPEN]''' (''chuck_starchaser'') CineMut shader family - v1.0&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
* '''[OPEN]''' ''(pyramid)'' Create custom systems with Homeworlds for races and factions&lt;br /&gt;
* '''[OPEN]''' (''chuck_starchaser'') Units re-texturing for CineMut texture packing version 1.0&lt;br /&gt;
&lt;br /&gt;
== 0.5.4 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[ONGOING SPECIFICATION]''' (''klauss, darkmage'') content creation tools: end user tools for helping with content creation. These should be a part of vegastrike code-base, to keep things in sync and reduce maintenance. &lt;br /&gt;
* make proper xml mode default, remove code to parse obsolete xml-ish code. &lt;br /&gt;
* Get codebase stabilized in prep for refactoring graphics code.&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' new wormhole effects&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' improved ship AI&lt;br /&gt;
* '''[OPEN]''' ''(klauss)'' cleaning up unused mesh legacy formats (mesh_bin.cpp, ...)&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.5 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Refactor graphics code.&lt;br /&gt;
* ['''OPEN'''] (''ace123'') Make jump points be drawn on HUD only.&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.6 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Bug fixes.&lt;br /&gt;
* Texture additions/ etc&lt;br /&gt;
* Document refactored graphics and sound code.&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.7 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Thread graphics code and sound code with boost threads.&lt;br /&gt;
* Bug Fixing. &lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.9 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* sound refactoring Phase III would add environmental effects&lt;br /&gt;
* Bug Fixing.&lt;br /&gt;
* Documentation&lt;br /&gt;
* Credits&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.6.0 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Minor bug fixes from previous revision&lt;br /&gt;
* Packaging&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
* documentation&lt;br /&gt;
&lt;br /&gt;
[[Category:Roadmaps]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Roadmap:0.6.0&amp;diff=18291</id>
		<title>Development:Roadmap:0.6.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Roadmap:0.6.0&amp;diff=18291"/>
				<updated>2011-05-03T22:09:29Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* 0.5.1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Vega Strike Upon the Coldest Sea stable version 0.5.0 was released on 2008-04-24.&lt;br /&gt;
&lt;br /&gt;
This is a task list for intermediate 0.5.x releases. The stuff that should get done for each intermediate and until the 0.6.0 release.&lt;br /&gt;
&lt;br /&gt;
=Generic Roadmap=&lt;br /&gt;
This roadmap is in need of further broken down into release specific tasks and assignment of those.&lt;br /&gt;
&lt;br /&gt;
==Factions rework==&lt;br /&gt;
*Hierarchical factions (e.g. *_citizen, affects *) &lt;br /&gt;
*Allowing for non-factions (privateer is already our non-faction, we just need to fix some of the behavior.)&lt;br /&gt;
*Ability for player joining a faction&lt;br /&gt;
&lt;br /&gt;
==AI==&lt;br /&gt;
*Faction-level AI (race / faction strategy)&lt;br /&gt;
*Micro AI (ship, fg, collision avoidance, tactical and navigational AI, roles definition)&lt;br /&gt;
*Macro (fg/faction)&lt;br /&gt;
* Flightgroups&lt;br /&gt;
** Classification (fleet, squadron, flotilla? etc. - something to differentiate between {5 plowshares} and {3 archimedes, 2 Tesla, 8 kahan, 20 schroedinger, 10 goddard, 5 watson} )&lt;br /&gt;
** Flightgroups should have subsets of ships that spawn together (combined arms)&lt;br /&gt;
* add another dimension to roles (attack AND defend/predator AND prey roles) instead of forcing both to be the same.&lt;br /&gt;
* AI spec drive use, escorts...&lt;br /&gt;
&lt;br /&gt;
==Content Creation Tools==&lt;br /&gt;
*Prerequisite: straight XML, DTD (Document Type Definition) support&lt;br /&gt;
*System Editor&lt;br /&gt;
*Unit Editor&lt;br /&gt;
*CSV Editor (MPL, faction_ships.py, units.csv)&lt;br /&gt;
*Mission Editor &lt;br /&gt;
*Campaign Editor&lt;br /&gt;
*Config Editor&lt;br /&gt;
&lt;br /&gt;
==Multiplayer==&lt;br /&gt;
*Persistence (systems, bases, flight groups, …)&lt;br /&gt;
&lt;br /&gt;
==Building/Packaging==&lt;br /&gt;
*Move to cmake&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
*Document the general function/flow of the game &lt;br /&gt;
*Engine internals, API (development documentation)&lt;br /&gt;
*Python bindings&lt;br /&gt;
*Should we use the builtin python documentation standards for documenting this stuff--maybe in the stubs folder?&lt;br /&gt;
*Faction documentation&lt;br /&gt;
&lt;br /&gt;
==Engine rework==&lt;br /&gt;
*Audio subsystem overhaul&lt;br /&gt;
*Support for texture versions and normal map tangents&lt;br /&gt;
*Shader updates&lt;br /&gt;
&lt;br /&gt;
=Release Roadmap=&lt;br /&gt;
&lt;br /&gt;
There are up to three sections in each roadmap release chapter:&lt;br /&gt;
* '''VS Engine''' relates to: modifications to c++, shaders, and python code (not including missions), repository structure changes, packaging system, support tools, ogre version&lt;br /&gt;
* '''VS Data''' relates to: modifications to art, data, and mission scripts&lt;br /&gt;
* '''Other''' relates to: documentation, wiki, project web page, masters repository, project management&lt;br /&gt;
&lt;br /&gt;
Each task item should also have a prefixed tag in the form of ['''STATUS'''{=OPEN, ONGOING, DONE}, development-coordinator{=''username''}]&lt;br /&gt;
&lt;br /&gt;
== 0.5.1 ==&lt;br /&gt;
&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Separate bin and data tree structure. Note:    those who have data4.x already, set your client to not pull external repos or cancel when it tries to download data4.x. Then move your current data4.x alongside /bin, renaming it to data. Updates should work seamlessly and recurse into /data and /bin afterwards. Newcomers can just pull win32.&lt;br /&gt;
* '''[FINISHED]''' (''ace123'') Rename data4.x to data and patch corresponding source code where necessary.&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Make a high quality graphics texture pack (''hqtextures'').&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Preparation of a cross-platform packaging system (cmake)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Updates to the shader (commit chuck's unit shader)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Correct rings generation to be always in the same plane&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Support for target shield gauges definition&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') Add support for &amp;quot;TexturePackingVersion&amp;quot; variable in xmesh&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') Add support for techniques and far z-buffering correction&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') Tangent support for normal maps&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') sound refactoring phase I - basic functionality&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') movie support&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') CubeMap engine support&lt;br /&gt;
* Minor bug fixes.&lt;br /&gt;
** '''[FINISHED]''' (''ace123'') fixed player relationship with each faction in savegame&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') planetary rings are always coplanar&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') system ownership (faction) and sector info shown in &lt;br /&gt;
RVDU and on map&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') python modules can be organized in additional subfolders (ai, mission, quests)&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Extensions renaming and standardization (.image, .texture, .sprite).&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Added some textures to hqtextures.  &lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') 8 faces for armor HUD images&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Higher pay for combat missions.&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Tutorial mission&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') splash screen grouping in pre-load and load ani directories&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') additional art (planet backgrounds for lava, forest, rock, and frigid_mud, new space backgrounds, hud images)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') partial extensions renaming (cockpits, sprites, backgrounds)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Visually enhanced target shield gauges&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') New and updated cargo and upgrade image contributions&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Standardized factions coloring scheme&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Units subdirectories for vessels and installations&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Various new ship models (Kahan, Knight, Tridacna, ....) [http://vegastrike.sourceforge.net/devblog/?p=36 see blog]&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Various new installation models (Rlaan, Uln, Shaper, ...) [http://vegastrike.sourceforge.net/devblog/?p=36 see blog]&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Porting of old quests to new engine; done for: blockade, dispute, shipyard bomb, slaver, surplus&lt;br /&gt;
&lt;br /&gt;
'''Documentation &amp;amp; Mod Tools &amp;amp; Other'''&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Unit Converter OBJ-&amp;gt;BFXM - a mesher frontend.&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Re-organization of vessels model requirements on [[Development:3D_Models]].&lt;br /&gt;
&lt;br /&gt;
== 0.5.1.5 ==&lt;br /&gt;
&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[ONGOING]''' (''strook'') Implementing alpha version of VegaOgre, merging it into vegastrike.&lt;br /&gt;
the Ogre technology preview will be executable with '''vegastrike --with-ogre-engine''' until it is released.[http://vegastrike.sourceforge.net/forums/viewtopic.php?f=27&amp;amp;t=15545 see blog]&lt;br /&gt;
&lt;br /&gt;
== 0.5.2 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
*  '''[OPEN]''' (''safemode'') Implement opcode's Ray Collider for ray-mesh collisions. (alongside bsp collider tunable via configure switch ala how opcode was done). Wont be turned on by default until 0.5.3&lt;br /&gt;
* '''[ONGOING]''' (''klauss'') More shader fixes, texture updates/additions.&lt;br /&gt;
* '''[OPEN]''' (''safemode'') Make tools and readers operate on a Proper XML format , this could be switchable via special comment at top of xml input. This is for backwards compat with non proper xml files in mods. To be made default in 0.5.5&lt;br /&gt;
* '''[OPEN]''' (''klauss'') sound refactoring Phase II would add mixer channels (a feature to get seamless blending with music, comm chatter and sfx)&lt;br /&gt;
* '''[OPEN]''' (''klauss'') put gfxlib into a class, or at the _very_least_ a namespace&lt;br /&gt;
* '''[ONGOING]''' (''chuck_starchaser'') CineMut shader family - v0.5&lt;br /&gt;
* '''[OPEN]''' (''strook'') Make VegaOgre Engine using vegastrike engine to implement gameplay with vegaogre.&lt;br /&gt;
* Minor bug fixes and improvements&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') Show, save, and load correct stardate&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') Corrected missing mission description for fixer missions&lt;br /&gt;
** '''[OPEN]''' (''ace123'') show ship sell price in user interface&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
* '''[OPEN]''' ''(pyramid)'' Revision of planet types&lt;br /&gt;
* '''[OPEN]''' (''chuck_starchaser'') Units re-texturing for CineMut texture packing version 0.5&lt;br /&gt;
* '''[ONGOING]''' (''pyramid'') Porting of old quests to new engine&lt;br /&gt;
&lt;br /&gt;
'''Documentation &amp;amp; Mod Tools &amp;amp; Other'''&lt;br /&gt;
* '''[OPEN]''' (''???'') The Player's Guide tutorial glitches: Example: It says to buy the jump drive from Jenek...; The Alt-0 key&lt;br /&gt;
&lt;br /&gt;
== 0.5.3 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' Ray collider turned on, BSP stuff removed.&lt;br /&gt;
* '''[OPEN]''' ''(klauss)'' XGUI support for scripts&lt;br /&gt;
* '''[OPEN]''' ''(klauss)'' More shader fixes (should be pretty good by now), texture updates/additions&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' Continue to work on proper XML parsing in engine&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' update xml files in VS to be proper mode&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' setup tool&lt;br /&gt;
* '''[OPEN]''' (''chuck_starchaser'') CineMut shader family - v1.0&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
* '''[OPEN]''' ''(pyramid)'' Create custom systems with Homeworlds for races and factions&lt;br /&gt;
* '''[OPEN]''' (''chuck_starchaser'') Units re-texturing for CineMut texture packing version 1.0&lt;br /&gt;
&lt;br /&gt;
== 0.5.4 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[ONGOING SPECIFICATION]''' (''klauss, darkmage'') content creation tools: end user tools for helping with content creation. These should be a part of vegastrike code-base, to keep things in sync and reduce maintenance. &lt;br /&gt;
* make proper xml mode default, remove code to parse obsolete xml-ish code. &lt;br /&gt;
* Get codebase stabilized in prep for refactoring graphics code.&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' new wormhole effects&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' improved ship AI&lt;br /&gt;
* '''[OPEN]''' ''(klauss)'' cleaning up unused mesh legacy formats (mesh_bin.cpp, ...)&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.5 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Refactor graphics code.&lt;br /&gt;
* ['''OPEN'''] (''ace123'') Make jump points be drawn on HUD only.&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.6 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Bug fixes.&lt;br /&gt;
* Texture additions/ etc&lt;br /&gt;
* Document refactored graphics and sound code.&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.7 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Thread graphics code and sound code with boost threads.&lt;br /&gt;
* Bug Fixing. &lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.9 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* sound refactoring Phase III would add environmental effects&lt;br /&gt;
* Bug Fixing.&lt;br /&gt;
* Documentation&lt;br /&gt;
* Credits&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.6.0 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Minor bug fixes from previous revision&lt;br /&gt;
* Packaging&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
* documentation&lt;br /&gt;
&lt;br /&gt;
[[Category:Roadmaps]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Roadmap:0.6.0&amp;diff=18290</id>
		<title>Development:Roadmap:0.6.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Roadmap:0.6.0&amp;diff=18290"/>
				<updated>2011-05-03T22:08:45Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* 0.5.2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Vega Strike Upon the Coldest Sea stable version 0.5.0 was released on 2008-04-24.&lt;br /&gt;
&lt;br /&gt;
This is a task list for intermediate 0.5.x releases. The stuff that should get done for each intermediate and until the 0.6.0 release.&lt;br /&gt;
&lt;br /&gt;
=Generic Roadmap=&lt;br /&gt;
This roadmap is in need of further broken down into release specific tasks and assignment of those.&lt;br /&gt;
&lt;br /&gt;
==Factions rework==&lt;br /&gt;
*Hierarchical factions (e.g. *_citizen, affects *) &lt;br /&gt;
*Allowing for non-factions (privateer is already our non-faction, we just need to fix some of the behavior.)&lt;br /&gt;
*Ability for player joining a faction&lt;br /&gt;
&lt;br /&gt;
==AI==&lt;br /&gt;
*Faction-level AI (race / faction strategy)&lt;br /&gt;
*Micro AI (ship, fg, collision avoidance, tactical and navigational AI, roles definition)&lt;br /&gt;
*Macro (fg/faction)&lt;br /&gt;
* Flightgroups&lt;br /&gt;
** Classification (fleet, squadron, flotilla? etc. - something to differentiate between {5 plowshares} and {3 archimedes, 2 Tesla, 8 kahan, 20 schroedinger, 10 goddard, 5 watson} )&lt;br /&gt;
** Flightgroups should have subsets of ships that spawn together (combined arms)&lt;br /&gt;
* add another dimension to roles (attack AND defend/predator AND prey roles) instead of forcing both to be the same.&lt;br /&gt;
* AI spec drive use, escorts...&lt;br /&gt;
&lt;br /&gt;
==Content Creation Tools==&lt;br /&gt;
*Prerequisite: straight XML, DTD (Document Type Definition) support&lt;br /&gt;
*System Editor&lt;br /&gt;
*Unit Editor&lt;br /&gt;
*CSV Editor (MPL, faction_ships.py, units.csv)&lt;br /&gt;
*Mission Editor &lt;br /&gt;
*Campaign Editor&lt;br /&gt;
*Config Editor&lt;br /&gt;
&lt;br /&gt;
==Multiplayer==&lt;br /&gt;
*Persistence (systems, bases, flight groups, …)&lt;br /&gt;
&lt;br /&gt;
==Building/Packaging==&lt;br /&gt;
*Move to cmake&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
*Document the general function/flow of the game &lt;br /&gt;
*Engine internals, API (development documentation)&lt;br /&gt;
*Python bindings&lt;br /&gt;
*Should we use the builtin python documentation standards for documenting this stuff--maybe in the stubs folder?&lt;br /&gt;
*Faction documentation&lt;br /&gt;
&lt;br /&gt;
==Engine rework==&lt;br /&gt;
*Audio subsystem overhaul&lt;br /&gt;
*Support for texture versions and normal map tangents&lt;br /&gt;
*Shader updates&lt;br /&gt;
&lt;br /&gt;
=Release Roadmap=&lt;br /&gt;
&lt;br /&gt;
There are up to three sections in each roadmap release chapter:&lt;br /&gt;
* '''VS Engine''' relates to: modifications to c++, shaders, and python code (not including missions), repository structure changes, packaging system, support tools, ogre version&lt;br /&gt;
* '''VS Data''' relates to: modifications to art, data, and mission scripts&lt;br /&gt;
* '''Other''' relates to: documentation, wiki, project web page, masters repository, project management&lt;br /&gt;
&lt;br /&gt;
Each task item should also have a prefixed tag in the form of ['''STATUS'''{=OPEN, ONGOING, DONE}, development-coordinator{=''username''}]&lt;br /&gt;
&lt;br /&gt;
== 0.5.1 ==&lt;br /&gt;
&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Separate bin and data tree structure. Note:    those who have data4.x already, set your client to not pull external repos or cancel when it tries to download data4.x. Then move your current data4.x alongside /bin, renaming it to data. Updates should work seamlessly and recurse into /data and /bin afterwards. Newcomers can just pull win32.&lt;br /&gt;
* '''[FINISHED]''' (''ace123'') Rename data4.x to data and patch corresponding source code where necessary.&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Make a high quality graphics texture pack (''hqtextures'').&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Preparation of a cross-platform packaging system (cmake)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Updates to the shader (commit chuck's unit shader)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Correct rings generation to be always in the same plane&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Support for target shield gauges definition&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') Add support for &amp;quot;TexturePackingVersion&amp;quot; variable in xmesh&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') Add support for techniques and far z-buffering correction&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') Tangent support for normal maps&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') sound refactoring phase I - basic functionality&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') movie support&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') CubeMap engine support&lt;br /&gt;
* Minor bug fixes.&lt;br /&gt;
** '''[FINISHED]''' (''ace123'') fixed player relationship with each faction in savegame&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') planetary rings are always coplanar&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') system ownership (faction) and sector info shown in &lt;br /&gt;
RVDU and on map&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') python modules can be organized in additional subfolders (ai, mission, quests)&lt;br /&gt;
** '''[OPEN]''' (''ace123'') show ship sell price in user interface&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Added some textures to hqtextures.  &lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') 8 faces for armor HUD images&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Higher pay for combat missions.&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Tutorial mission&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') splash screen grouping in pre-load and load ani directories&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') additional art (planet backgrounds for lava, forest, rock, and frigid_mud, new space backgrounds, hud images)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') partial extensions renaming (cockpits, sprites, backgrounds)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Visually enhanced target shield gauges&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') New and updated cargo and upgrade image contributions&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Standardized factions coloring scheme&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Units subdirectories for vessels and installations&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Various new ship models (Kahan, Knight, Tridacna, ....) [http://vegastrike.sourceforge.net/devblog/?p=36 see blog]&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Various new installation models (Rlaan, Uln, Shaper, ...) [http://vegastrike.sourceforge.net/devblog/?p=36 see blog]&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Porting of old quests to new engine; done for: blockade, dispute, shipyard bomb, slaver, surplus&lt;br /&gt;
&lt;br /&gt;
'''Documentation &amp;amp; Mod Tools &amp;amp; Other'''&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Unit Converter OBJ-&amp;gt;BFXM - a mesher frontend.&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Re-organization of vessels model requirements on [[Development:3D_Models]].&lt;br /&gt;
&lt;br /&gt;
== 0.5.1.5 ==&lt;br /&gt;
&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[ONGOING]''' (''strook'') Implementing alpha version of VegaOgre, merging it into vegastrike.&lt;br /&gt;
the Ogre technology preview will be executable with '''vegastrike --with-ogre-engine''' until it is released.[http://vegastrike.sourceforge.net/forums/viewtopic.php?f=27&amp;amp;t=15545 see blog]&lt;br /&gt;
&lt;br /&gt;
== 0.5.2 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
*  '''[OPEN]''' (''safemode'') Implement opcode's Ray Collider for ray-mesh collisions. (alongside bsp collider tunable via configure switch ala how opcode was done). Wont be turned on by default until 0.5.3&lt;br /&gt;
* '''[ONGOING]''' (''klauss'') More shader fixes, texture updates/additions.&lt;br /&gt;
* '''[OPEN]''' (''safemode'') Make tools and readers operate on a Proper XML format , this could be switchable via special comment at top of xml input. This is for backwards compat with non proper xml files in mods. To be made default in 0.5.5&lt;br /&gt;
* '''[OPEN]''' (''klauss'') sound refactoring Phase II would add mixer channels (a feature to get seamless blending with music, comm chatter and sfx)&lt;br /&gt;
* '''[OPEN]''' (''klauss'') put gfxlib into a class, or at the _very_least_ a namespace&lt;br /&gt;
* '''[ONGOING]''' (''chuck_starchaser'') CineMut shader family - v0.5&lt;br /&gt;
* '''[OPEN]''' (''strook'') Make VegaOgre Engine using vegastrike engine to implement gameplay with vegaogre.&lt;br /&gt;
* Minor bug fixes and improvements&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') Show, save, and load correct stardate&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') Corrected missing mission description for fixer missions&lt;br /&gt;
** '''[OPEN]''' (''ace123'') show ship sell price in user interface&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
* '''[OPEN]''' ''(pyramid)'' Revision of planet types&lt;br /&gt;
* '''[OPEN]''' (''chuck_starchaser'') Units re-texturing for CineMut texture packing version 0.5&lt;br /&gt;
* '''[ONGOING]''' (''pyramid'') Porting of old quests to new engine&lt;br /&gt;
&lt;br /&gt;
'''Documentation &amp;amp; Mod Tools &amp;amp; Other'''&lt;br /&gt;
* '''[OPEN]''' (''???'') The Player's Guide tutorial glitches: Example: It says to buy the jump drive from Jenek...; The Alt-0 key&lt;br /&gt;
&lt;br /&gt;
== 0.5.3 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' Ray collider turned on, BSP stuff removed.&lt;br /&gt;
* '''[OPEN]''' ''(klauss)'' XGUI support for scripts&lt;br /&gt;
* '''[OPEN]''' ''(klauss)'' More shader fixes (should be pretty good by now), texture updates/additions&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' Continue to work on proper XML parsing in engine&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' update xml files in VS to be proper mode&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' setup tool&lt;br /&gt;
* '''[OPEN]''' (''chuck_starchaser'') CineMut shader family - v1.0&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
* '''[OPEN]''' ''(pyramid)'' Create custom systems with Homeworlds for races and factions&lt;br /&gt;
* '''[OPEN]''' (''chuck_starchaser'') Units re-texturing for CineMut texture packing version 1.0&lt;br /&gt;
&lt;br /&gt;
== 0.5.4 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[ONGOING SPECIFICATION]''' (''klauss, darkmage'') content creation tools: end user tools for helping with content creation. These should be a part of vegastrike code-base, to keep things in sync and reduce maintenance. &lt;br /&gt;
* make proper xml mode default, remove code to parse obsolete xml-ish code. &lt;br /&gt;
* Get codebase stabilized in prep for refactoring graphics code.&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' new wormhole effects&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' improved ship AI&lt;br /&gt;
* '''[OPEN]''' ''(klauss)'' cleaning up unused mesh legacy formats (mesh_bin.cpp, ...)&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.5 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Refactor graphics code.&lt;br /&gt;
* ['''OPEN'''] (''ace123'') Make jump points be drawn on HUD only.&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.6 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Bug fixes.&lt;br /&gt;
* Texture additions/ etc&lt;br /&gt;
* Document refactored graphics and sound code.&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.7 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Thread graphics code and sound code with boost threads.&lt;br /&gt;
* Bug Fixing. &lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.9 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* sound refactoring Phase III would add environmental effects&lt;br /&gt;
* Bug Fixing.&lt;br /&gt;
* Documentation&lt;br /&gt;
* Credits&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.6.0 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Minor bug fixes from previous revision&lt;br /&gt;
* Packaging&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
* documentation&lt;br /&gt;
&lt;br /&gt;
[[Category:Roadmaps]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Roadmap:0.6.0&amp;diff=18289</id>
		<title>Development:Roadmap:0.6.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Roadmap:0.6.0&amp;diff=18289"/>
				<updated>2011-05-03T22:07:58Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* 0.5.2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Vega Strike Upon the Coldest Sea stable version 0.5.0 was released on 2008-04-24.&lt;br /&gt;
&lt;br /&gt;
This is a task list for intermediate 0.5.x releases. The stuff that should get done for each intermediate and until the 0.6.0 release.&lt;br /&gt;
&lt;br /&gt;
=Generic Roadmap=&lt;br /&gt;
This roadmap is in need of further broken down into release specific tasks and assignment of those.&lt;br /&gt;
&lt;br /&gt;
==Factions rework==&lt;br /&gt;
*Hierarchical factions (e.g. *_citizen, affects *) &lt;br /&gt;
*Allowing for non-factions (privateer is already our non-faction, we just need to fix some of the behavior.)&lt;br /&gt;
*Ability for player joining a faction&lt;br /&gt;
&lt;br /&gt;
==AI==&lt;br /&gt;
*Faction-level AI (race / faction strategy)&lt;br /&gt;
*Micro AI (ship, fg, collision avoidance, tactical and navigational AI, roles definition)&lt;br /&gt;
*Macro (fg/faction)&lt;br /&gt;
* Flightgroups&lt;br /&gt;
** Classification (fleet, squadron, flotilla? etc. - something to differentiate between {5 plowshares} and {3 archimedes, 2 Tesla, 8 kahan, 20 schroedinger, 10 goddard, 5 watson} )&lt;br /&gt;
** Flightgroups should have subsets of ships that spawn together (combined arms)&lt;br /&gt;
* add another dimension to roles (attack AND defend/predator AND prey roles) instead of forcing both to be the same.&lt;br /&gt;
* AI spec drive use, escorts...&lt;br /&gt;
&lt;br /&gt;
==Content Creation Tools==&lt;br /&gt;
*Prerequisite: straight XML, DTD (Document Type Definition) support&lt;br /&gt;
*System Editor&lt;br /&gt;
*Unit Editor&lt;br /&gt;
*CSV Editor (MPL, faction_ships.py, units.csv)&lt;br /&gt;
*Mission Editor &lt;br /&gt;
*Campaign Editor&lt;br /&gt;
*Config Editor&lt;br /&gt;
&lt;br /&gt;
==Multiplayer==&lt;br /&gt;
*Persistence (systems, bases, flight groups, …)&lt;br /&gt;
&lt;br /&gt;
==Building/Packaging==&lt;br /&gt;
*Move to cmake&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
*Document the general function/flow of the game &lt;br /&gt;
*Engine internals, API (development documentation)&lt;br /&gt;
*Python bindings&lt;br /&gt;
*Should we use the builtin python documentation standards for documenting this stuff--maybe in the stubs folder?&lt;br /&gt;
*Faction documentation&lt;br /&gt;
&lt;br /&gt;
==Engine rework==&lt;br /&gt;
*Audio subsystem overhaul&lt;br /&gt;
*Support for texture versions and normal map tangents&lt;br /&gt;
*Shader updates&lt;br /&gt;
&lt;br /&gt;
=Release Roadmap=&lt;br /&gt;
&lt;br /&gt;
There are up to three sections in each roadmap release chapter:&lt;br /&gt;
* '''VS Engine''' relates to: modifications to c++, shaders, and python code (not including missions), repository structure changes, packaging system, support tools, ogre version&lt;br /&gt;
* '''VS Data''' relates to: modifications to art, data, and mission scripts&lt;br /&gt;
* '''Other''' relates to: documentation, wiki, project web page, masters repository, project management&lt;br /&gt;
&lt;br /&gt;
Each task item should also have a prefixed tag in the form of ['''STATUS'''{=OPEN, ONGOING, DONE}, development-coordinator{=''username''}]&lt;br /&gt;
&lt;br /&gt;
== 0.5.1 ==&lt;br /&gt;
&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Separate bin and data tree structure. Note:    those who have data4.x already, set your client to not pull external repos or cancel when it tries to download data4.x. Then move your current data4.x alongside /bin, renaming it to data. Updates should work seamlessly and recurse into /data and /bin afterwards. Newcomers can just pull win32.&lt;br /&gt;
* '''[FINISHED]''' (''ace123'') Rename data4.x to data and patch corresponding source code where necessary.&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Make a high quality graphics texture pack (''hqtextures'').&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Preparation of a cross-platform packaging system (cmake)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Updates to the shader (commit chuck's unit shader)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Correct rings generation to be always in the same plane&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Support for target shield gauges definition&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') Add support for &amp;quot;TexturePackingVersion&amp;quot; variable in xmesh&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') Add support for techniques and far z-buffering correction&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') Tangent support for normal maps&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') sound refactoring phase I - basic functionality&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') movie support&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') CubeMap engine support&lt;br /&gt;
* Minor bug fixes.&lt;br /&gt;
** '''[FINISHED]''' (''ace123'') fixed player relationship with each faction in savegame&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') planetary rings are always coplanar&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') system ownership (faction) and sector info shown in &lt;br /&gt;
RVDU and on map&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') python modules can be organized in additional subfolders (ai, mission, quests)&lt;br /&gt;
** '''[OPEN]''' (''ace123'') show ship sell price in user interface&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Added some textures to hqtextures.  &lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') 8 faces for armor HUD images&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Higher pay for combat missions.&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Tutorial mission&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') splash screen grouping in pre-load and load ani directories&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') additional art (planet backgrounds for lava, forest, rock, and frigid_mud, new space backgrounds, hud images)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') partial extensions renaming (cockpits, sprites, backgrounds)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Visually enhanced target shield gauges&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') New and updated cargo and upgrade image contributions&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Standardized factions coloring scheme&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Units subdirectories for vessels and installations&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Various new ship models (Kahan, Knight, Tridacna, ....) [http://vegastrike.sourceforge.net/devblog/?p=36 see blog]&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Various new installation models (Rlaan, Uln, Shaper, ...) [http://vegastrike.sourceforge.net/devblog/?p=36 see blog]&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Porting of old quests to new engine; done for: blockade, dispute, shipyard bomb, slaver, surplus&lt;br /&gt;
&lt;br /&gt;
'''Documentation &amp;amp; Mod Tools &amp;amp; Other'''&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Unit Converter OBJ-&amp;gt;BFXM - a mesher frontend.&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Re-organization of vessels model requirements on [[Development:3D_Models]].&lt;br /&gt;
&lt;br /&gt;
== 0.5.1.5 ==&lt;br /&gt;
&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[ONGOING]''' (''strook'') Implementing alpha version of VegaOgre, merging it into vegastrike.&lt;br /&gt;
the Ogre technology preview will be executable with '''vegastrike --with-ogre-engine''' until it is released.[http://vegastrike.sourceforge.net/forums/viewtopic.php?f=27&amp;amp;t=15545 see blog]&lt;br /&gt;
&lt;br /&gt;
== 0.5.2 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
*  '''[OPEN]''' (''safemode'') Implement opcode's Ray Collider for ray-mesh collisions. (alongside bsp collider tunable via configure switch ala how opcode was done). Wont be turned on by default until 0.5.3&lt;br /&gt;
* '''[ONGOING]''' (''klauss'') More shader fixes, texture updates/additions.&lt;br /&gt;
* '''[OPEN]''' (''safemode'') Make tools and readers operate on a Proper XML format , this could be switchable via special comment at top of xml input. This is for backwards compat with non proper xml files in mods. To be made default in 0.5.5&lt;br /&gt;
* '''[OPEN]''' (''klauss'') sound refactoring Phase II would add mixer channels (a feature to get seamless blending with music, comm chatter and sfx)&lt;br /&gt;
* '''[OPEN]''' (''klauss'') put gfxlib into a class, or at the _very_least_ a namespace&lt;br /&gt;
* '''[ONGOING]''' (''chuck_starchaser'') CineMut shader family - v0.5&lt;br /&gt;
* '''[OPEN]''' (''strook'') Make VegaOgre Engine using vegastrike engine to implement gameplay with vegaogre.&lt;br /&gt;
* Minor bug fixes and improvements&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') Show, save, and load correct stardate&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') Corrected missing mission description for fixer missions&lt;br /&gt;
** '''[OPEN]''' (''ace123'') show ship sell price in user interface&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
* '''[ONGOING]''' (''pyramid'') Extensions renaming and standardization (.image, .texture, .sprite).&lt;br /&gt;
* '''[OPEN]''' ''(pyramid)'' Revision of planet types&lt;br /&gt;
* '''[OPEN]''' (''chuck_starchaser'') Units re-texturing for CineMut texture packing version 0.5&lt;br /&gt;
* '''[ONGOING]''' (''pyramid'') Porting of old quests to new engine&lt;br /&gt;
&lt;br /&gt;
'''Documentation &amp;amp; Mod Tools &amp;amp; Other'''&lt;br /&gt;
* '''[OPEN]''' (''???'') The Player's Guide tutorial glitches: Example: It says to buy the jump drive from Jenek...; The Alt-0 key&lt;br /&gt;
&lt;br /&gt;
== 0.5.3 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' Ray collider turned on, BSP stuff removed.&lt;br /&gt;
* '''[OPEN]''' ''(klauss)'' XGUI support for scripts&lt;br /&gt;
* '''[OPEN]''' ''(klauss)'' More shader fixes (should be pretty good by now), texture updates/additions&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' Continue to work on proper XML parsing in engine&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' update xml files in VS to be proper mode&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' setup tool&lt;br /&gt;
* '''[OPEN]''' (''chuck_starchaser'') CineMut shader family - v1.0&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
* '''[OPEN]''' ''(pyramid)'' Create custom systems with Homeworlds for races and factions&lt;br /&gt;
* '''[OPEN]''' (''chuck_starchaser'') Units re-texturing for CineMut texture packing version 1.0&lt;br /&gt;
&lt;br /&gt;
== 0.5.4 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[ONGOING SPECIFICATION]''' (''klauss, darkmage'') content creation tools: end user tools for helping with content creation. These should be a part of vegastrike code-base, to keep things in sync and reduce maintenance. &lt;br /&gt;
* make proper xml mode default, remove code to parse obsolete xml-ish code. &lt;br /&gt;
* Get codebase stabilized in prep for refactoring graphics code.&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' new wormhole effects&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' improved ship AI&lt;br /&gt;
* '''[OPEN]''' ''(klauss)'' cleaning up unused mesh legacy formats (mesh_bin.cpp, ...)&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.5 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Refactor graphics code.&lt;br /&gt;
* ['''OPEN'''] (''ace123'') Make jump points be drawn on HUD only.&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.6 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Bug fixes.&lt;br /&gt;
* Texture additions/ etc&lt;br /&gt;
* Document refactored graphics and sound code.&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.7 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Thread graphics code and sound code with boost threads.&lt;br /&gt;
* Bug Fixing. &lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.9 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* sound refactoring Phase III would add environmental effects&lt;br /&gt;
* Bug Fixing.&lt;br /&gt;
* Documentation&lt;br /&gt;
* Credits&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.6.0 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Minor bug fixes from previous revision&lt;br /&gt;
* Packaging&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
* documentation&lt;br /&gt;
&lt;br /&gt;
[[Category:Roadmaps]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Roadmap:0.6.0&amp;diff=18288</id>
		<title>Development:Roadmap:0.6.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Roadmap:0.6.0&amp;diff=18288"/>
				<updated>2011-05-03T22:04:36Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* 0.5.1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Vega Strike Upon the Coldest Sea stable version 0.5.0 was released on 2008-04-24.&lt;br /&gt;
&lt;br /&gt;
This is a task list for intermediate 0.5.x releases. The stuff that should get done for each intermediate and until the 0.6.0 release.&lt;br /&gt;
&lt;br /&gt;
=Generic Roadmap=&lt;br /&gt;
This roadmap is in need of further broken down into release specific tasks and assignment of those.&lt;br /&gt;
&lt;br /&gt;
==Factions rework==&lt;br /&gt;
*Hierarchical factions (e.g. *_citizen, affects *) &lt;br /&gt;
*Allowing for non-factions (privateer is already our non-faction, we just need to fix some of the behavior.)&lt;br /&gt;
*Ability for player joining a faction&lt;br /&gt;
&lt;br /&gt;
==AI==&lt;br /&gt;
*Faction-level AI (race / faction strategy)&lt;br /&gt;
*Micro AI (ship, fg, collision avoidance, tactical and navigational AI, roles definition)&lt;br /&gt;
*Macro (fg/faction)&lt;br /&gt;
* Flightgroups&lt;br /&gt;
** Classification (fleet, squadron, flotilla? etc. - something to differentiate between {5 plowshares} and {3 archimedes, 2 Tesla, 8 kahan, 20 schroedinger, 10 goddard, 5 watson} )&lt;br /&gt;
** Flightgroups should have subsets of ships that spawn together (combined arms)&lt;br /&gt;
* add another dimension to roles (attack AND defend/predator AND prey roles) instead of forcing both to be the same.&lt;br /&gt;
* AI spec drive use, escorts...&lt;br /&gt;
&lt;br /&gt;
==Content Creation Tools==&lt;br /&gt;
*Prerequisite: straight XML, DTD (Document Type Definition) support&lt;br /&gt;
*System Editor&lt;br /&gt;
*Unit Editor&lt;br /&gt;
*CSV Editor (MPL, faction_ships.py, units.csv)&lt;br /&gt;
*Mission Editor &lt;br /&gt;
*Campaign Editor&lt;br /&gt;
*Config Editor&lt;br /&gt;
&lt;br /&gt;
==Multiplayer==&lt;br /&gt;
*Persistence (systems, bases, flight groups, …)&lt;br /&gt;
&lt;br /&gt;
==Building/Packaging==&lt;br /&gt;
*Move to cmake&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
*Document the general function/flow of the game &lt;br /&gt;
*Engine internals, API (development documentation)&lt;br /&gt;
*Python bindings&lt;br /&gt;
*Should we use the builtin python documentation standards for documenting this stuff--maybe in the stubs folder?&lt;br /&gt;
*Faction documentation&lt;br /&gt;
&lt;br /&gt;
==Engine rework==&lt;br /&gt;
*Audio subsystem overhaul&lt;br /&gt;
*Support for texture versions and normal map tangents&lt;br /&gt;
*Shader updates&lt;br /&gt;
&lt;br /&gt;
=Release Roadmap=&lt;br /&gt;
&lt;br /&gt;
There are up to three sections in each roadmap release chapter:&lt;br /&gt;
* '''VS Engine''' relates to: modifications to c++, shaders, and python code (not including missions), repository structure changes, packaging system, support tools, ogre version&lt;br /&gt;
* '''VS Data''' relates to: modifications to art, data, and mission scripts&lt;br /&gt;
* '''Other''' relates to: documentation, wiki, project web page, masters repository, project management&lt;br /&gt;
&lt;br /&gt;
Each task item should also have a prefixed tag in the form of ['''STATUS'''{=OPEN, ONGOING, DONE}, development-coordinator{=''username''}]&lt;br /&gt;
&lt;br /&gt;
== 0.5.1 ==&lt;br /&gt;
&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Separate bin and data tree structure. Note:    those who have data4.x already, set your client to not pull external repos or cancel when it tries to download data4.x. Then move your current data4.x alongside /bin, renaming it to data. Updates should work seamlessly and recurse into /data and /bin afterwards. Newcomers can just pull win32.&lt;br /&gt;
* '''[FINISHED]''' (''ace123'') Rename data4.x to data and patch corresponding source code where necessary.&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Make a high quality graphics texture pack (''hqtextures'').&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Preparation of a cross-platform packaging system (cmake)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Updates to the shader (commit chuck's unit shader)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Correct rings generation to be always in the same plane&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Support for target shield gauges definition&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') Add support for &amp;quot;TexturePackingVersion&amp;quot; variable in xmesh&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') Add support for techniques and far z-buffering correction&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') Tangent support for normal maps&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') sound refactoring phase I - basic functionality&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') movie support&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') CubeMap engine support&lt;br /&gt;
* Minor bug fixes.&lt;br /&gt;
** '''[FINISHED]''' (''ace123'') fixed player relationship with each faction in savegame&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') planetary rings are always coplanar&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') system ownership (faction) and sector info shown in &lt;br /&gt;
RVDU and on map&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') python modules can be organized in additional subfolders (ai, mission, quests)&lt;br /&gt;
** '''[OPEN]''' (''ace123'') show ship sell price in user interface&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Added some textures to hqtextures.  &lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') 8 faces for armor HUD images&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Higher pay for combat missions.&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Tutorial mission&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') splash screen grouping in pre-load and load ani directories&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') additional art (planet backgrounds for lava, forest, rock, and frigid_mud, new space backgrounds, hud images)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') partial extensions renaming (cockpits, sprites, backgrounds)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Visually enhanced target shield gauges&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') New and updated cargo and upgrade image contributions&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Standardized factions coloring scheme&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Units subdirectories for vessels and installations&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Various new ship models (Kahan, Knight, Tridacna, ....) [http://vegastrike.sourceforge.net/devblog/?p=36 see blog]&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Various new installation models (Rlaan, Uln, Shaper, ...) [http://vegastrike.sourceforge.net/devblog/?p=36 see blog]&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Porting of old quests to new engine; done for: blockade, dispute, shipyard bomb, slaver, surplus&lt;br /&gt;
&lt;br /&gt;
'''Documentation &amp;amp; Mod Tools &amp;amp; Other'''&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Unit Converter OBJ-&amp;gt;BFXM - a mesher frontend.&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Re-organization of vessels model requirements on [[Development:3D_Models]].&lt;br /&gt;
&lt;br /&gt;
== 0.5.1.5 ==&lt;br /&gt;
&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[ONGOING]''' (''strook'') Implementing alpha version of VegaOgre, merging it into vegastrike.&lt;br /&gt;
the Ogre technology preview will be executable with '''vegastrike --with-ogre-engine''' until it is released.[http://vegastrike.sourceforge.net/forums/viewtopic.php?f=27&amp;amp;t=15545 see blog]&lt;br /&gt;
&lt;br /&gt;
== 0.5.2 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
*  '''[OPEN]''' (''safemode'') Implement opcode's Ray Collider for ray-mesh collisions. (alongside bsp collider tunable via configure switch ala how opcode was done). Wont be turned on by default until 0.5.3&lt;br /&gt;
* '''[OPEN]''' (''klauss'') More shader fixes, texture updates/additions.&lt;br /&gt;
* '''[OPEN]''' (''safemode'') Make tools and readers operate on a Proper XML format , this could be switchable via special comment at top of xml input. This is for backwards compat with non proper xml files in mods. To be made default in 0.5.5&lt;br /&gt;
* '''[OPEN]''' (''klauss'') sound refactoring Phase II would add mixer channels (a feature to get seamless blending with music, comm chatter and sfx)&lt;br /&gt;
* '''[OPEN]''' (''klauss'') put gfxlib into a class, or at the _very_least_ a namespace&lt;br /&gt;
* '''[ONGOING]''' (''chuck_starchaser'') CineMut shader family - v0.5&lt;br /&gt;
* '''[OPEN]''' (''strook'') Make VegaOgre Engine using vegastrike engine to implement gameplay with vegaogre. &lt;br /&gt;
'''VS Data'''&lt;br /&gt;
* '''[ONGOING]''' (''pyramid'') Extensions renaming and standardization (.image, .texture, .sprite).&lt;br /&gt;
* '''[OPEN]''' ''(pyramid)'' Revision of planet types&lt;br /&gt;
* '''[OPEN]''' (''chuck_starchaser'') Units re-texturing for CineMut texture packing version 0.5&lt;br /&gt;
* '''[ONGOING]''' (''pyramid'') Porting of old quests to new engine&lt;br /&gt;
&lt;br /&gt;
'''Documentation &amp;amp; Mod Tools &amp;amp; Other'''&lt;br /&gt;
* '''[OPEN]''' (''???'') The Player's Guide tutorial glitches: Example: It says to buy the jump drive from Jenek...; The Alt-0 key&lt;br /&gt;
&lt;br /&gt;
== 0.5.3 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' Ray collider turned on, BSP stuff removed.&lt;br /&gt;
* '''[OPEN]''' ''(klauss)'' XGUI support for scripts&lt;br /&gt;
* '''[OPEN]''' ''(klauss)'' More shader fixes (should be pretty good by now), texture updates/additions&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' Continue to work on proper XML parsing in engine&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' update xml files in VS to be proper mode&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' setup tool&lt;br /&gt;
* '''[OPEN]''' (''chuck_starchaser'') CineMut shader family - v1.0&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
* '''[OPEN]''' ''(pyramid)'' Create custom systems with Homeworlds for races and factions&lt;br /&gt;
* '''[OPEN]''' (''chuck_starchaser'') Units re-texturing for CineMut texture packing version 1.0&lt;br /&gt;
&lt;br /&gt;
== 0.5.4 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[ONGOING SPECIFICATION]''' (''klauss, darkmage'') content creation tools: end user tools for helping with content creation. These should be a part of vegastrike code-base, to keep things in sync and reduce maintenance. &lt;br /&gt;
* make proper xml mode default, remove code to parse obsolete xml-ish code. &lt;br /&gt;
* Get codebase stabilized in prep for refactoring graphics code.&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' new wormhole effects&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' improved ship AI&lt;br /&gt;
* '''[OPEN]''' ''(klauss)'' cleaning up unused mesh legacy formats (mesh_bin.cpp, ...)&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.5 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Refactor graphics code.&lt;br /&gt;
* ['''OPEN'''] (''ace123'') Make jump points be drawn on HUD only.&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.6 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Bug fixes.&lt;br /&gt;
* Texture additions/ etc&lt;br /&gt;
* Document refactored graphics and sound code.&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.7 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Thread graphics code and sound code with boost threads.&lt;br /&gt;
* Bug Fixing. &lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.9 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* sound refactoring Phase III would add environmental effects&lt;br /&gt;
* Bug Fixing.&lt;br /&gt;
* Documentation&lt;br /&gt;
* Credits&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.6.0 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Minor bug fixes from previous revision&lt;br /&gt;
* Packaging&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
* documentation&lt;br /&gt;
&lt;br /&gt;
[[Category:Roadmaps]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Roadmap:0.6.0&amp;diff=18287</id>
		<title>Development:Roadmap:0.6.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Roadmap:0.6.0&amp;diff=18287"/>
				<updated>2011-05-03T21:58:53Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* 0.5.2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Vega Strike Upon the Coldest Sea stable version 0.5.0 was released on 2008-04-24.&lt;br /&gt;
&lt;br /&gt;
This is a task list for intermediate 0.5.x releases. The stuff that should get done for each intermediate and until the 0.6.0 release.&lt;br /&gt;
&lt;br /&gt;
=Generic Roadmap=&lt;br /&gt;
This roadmap is in need of further broken down into release specific tasks and assignment of those.&lt;br /&gt;
&lt;br /&gt;
==Factions rework==&lt;br /&gt;
*Hierarchical factions (e.g. *_citizen, affects *) &lt;br /&gt;
*Allowing for non-factions (privateer is already our non-faction, we just need to fix some of the behavior.)&lt;br /&gt;
*Ability for player joining a faction&lt;br /&gt;
&lt;br /&gt;
==AI==&lt;br /&gt;
*Faction-level AI (race / faction strategy)&lt;br /&gt;
*Micro AI (ship, fg, collision avoidance, tactical and navigational AI, roles definition)&lt;br /&gt;
*Macro (fg/faction)&lt;br /&gt;
* Flightgroups&lt;br /&gt;
** Classification (fleet, squadron, flotilla? etc. - something to differentiate between {5 plowshares} and {3 archimedes, 2 Tesla, 8 kahan, 20 schroedinger, 10 goddard, 5 watson} )&lt;br /&gt;
** Flightgroups should have subsets of ships that spawn together (combined arms)&lt;br /&gt;
* add another dimension to roles (attack AND defend/predator AND prey roles) instead of forcing both to be the same.&lt;br /&gt;
* AI spec drive use, escorts...&lt;br /&gt;
&lt;br /&gt;
==Content Creation Tools==&lt;br /&gt;
*Prerequisite: straight XML, DTD (Document Type Definition) support&lt;br /&gt;
*System Editor&lt;br /&gt;
*Unit Editor&lt;br /&gt;
*CSV Editor (MPL, faction_ships.py, units.csv)&lt;br /&gt;
*Mission Editor &lt;br /&gt;
*Campaign Editor&lt;br /&gt;
*Config Editor&lt;br /&gt;
&lt;br /&gt;
==Multiplayer==&lt;br /&gt;
*Persistence (systems, bases, flight groups, …)&lt;br /&gt;
&lt;br /&gt;
==Building/Packaging==&lt;br /&gt;
*Move to cmake&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
*Document the general function/flow of the game &lt;br /&gt;
*Engine internals, API (development documentation)&lt;br /&gt;
*Python bindings&lt;br /&gt;
*Should we use the builtin python documentation standards for documenting this stuff--maybe in the stubs folder?&lt;br /&gt;
*Faction documentation&lt;br /&gt;
&lt;br /&gt;
==Engine rework==&lt;br /&gt;
*Audio subsystem overhaul&lt;br /&gt;
*Support for texture versions and normal map tangents&lt;br /&gt;
*Shader updates&lt;br /&gt;
&lt;br /&gt;
=Release Roadmap=&lt;br /&gt;
&lt;br /&gt;
There are up to three sections in each roadmap release chapter:&lt;br /&gt;
* '''VS Engine''' relates to: modifications to c++, shaders, and python code (not including missions), repository structure changes, packaging system, support tools, ogre version&lt;br /&gt;
* '''VS Data''' relates to: modifications to art, data, and mission scripts&lt;br /&gt;
* '''Other''' relates to: documentation, wiki, project web page, masters repository, project management&lt;br /&gt;
&lt;br /&gt;
Each task item should also have a prefixed tag in the form of ['''STATUS'''{=OPEN, ONGOING, DONE}, development-coordinator{=''username''}]&lt;br /&gt;
&lt;br /&gt;
== 0.5.1 ==&lt;br /&gt;
&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Separate bin and data tree structure. Note:    those who have data4.x already, set your client to not pull external repos or cancel when it tries to download data4.x. Then move your current data4.x alongside /bin, renaming it to data. Updates should work seamlessly and recurse into /data and /bin afterwards. Newcomers can just pull win32.&lt;br /&gt;
* '''[FINISHED]''' (''ace123'') Rename data4.x to data and patch corresponding source code where necessary.&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Make a high quality graphics texture pack (''hqtextures'').&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Preparation of a cross-platform packaging system (cmake)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Updates to the shader (commit chuck's unit shader)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Correct rings generation to be always in the same plane&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Support for target shield gauges definition&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') Add support for &amp;quot;TexturePackingVersion&amp;quot; variable in xmesh&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') Add support for techniques and far z-buffering correction&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') Tangent support for normal maps&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') sound refactoring phase I - basic functionality&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') movie support&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') CubeMap engine support&lt;br /&gt;
* Minor bug fixes.&lt;br /&gt;
** '''[FINISHED]''' (''ace123'') fixed player relationship with each faction in savegame&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') planetary rings are always coplanar&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') system ownership (faction) and sector info shown in &lt;br /&gt;
RVDU and on map&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') python modules can be organized in additional subfolders (ai, mission, quests)&lt;br /&gt;
** '''[OPEN]''' (''ace123'') show ship sell price in user interface&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Added some textures to hqtextures.  &lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') 8 faces for armor HUD images&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Higher pay for combat missions.&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Tutorial mission&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') splash screen grouping in pre-load and load ani directories&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') additional art (planet backgrounds for lava, forest, rock, and frigid_mud, new space backgrounds, hud images)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') partial extensions renaming (cockpits, sprites, backgrounds)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Visually enhanced target shield gauges&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') New and updated cargo and upgrade image contributions&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Standardized factions coloring scheme&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Units subdirectories for vessels and installations&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Various new ship models (Kahan, Knight, Tridacna, ....) [http://vegastrike.sourceforge.net/devblog/?p=36 see blog]&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Various new installation models (Rlaan, Uln, Shaper, ...) [http://vegastrike.sourceforge.net/devblog/?p=36 see blog]&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Porting of old quests to new engine; done for: blockade, dispute, shipyard bomb, slaver, surplus&lt;br /&gt;
&lt;br /&gt;
'''Documentation &amp;amp; Mod Tools &amp;amp; Other'''&lt;br /&gt;
* '''[OPEN]''' (''???'') The Player's Guide tutorial glitches: Example: It says to buy the jump drive from Jenek...; The Alt-0 key was replaced with D.&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Unit Converter OBJ-&amp;gt;BFXM - a mesher frontend.&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Re-organization of vessels model requirements on [[Development:3D_Models]].&lt;br /&gt;
&lt;br /&gt;
== 0.5.1.5 ==&lt;br /&gt;
&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[ONGOING]''' (''strook'') Implementing alpha version of VegaOgre, merging it into vegastrike.&lt;br /&gt;
the Ogre technology preview will be executable with '''vegastrike --with-ogre-engine''' until it is released.[http://vegastrike.sourceforge.net/forums/viewtopic.php?f=27&amp;amp;t=15545 see blog]&lt;br /&gt;
&lt;br /&gt;
== 0.5.2 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
*  '''[OPEN]''' (''safemode'') Implement opcode's Ray Collider for ray-mesh collisions. (alongside bsp collider tunable via configure switch ala how opcode was done). Wont be turned on by default until 0.5.3&lt;br /&gt;
* '''[OPEN]''' (''klauss'') More shader fixes, texture updates/additions.&lt;br /&gt;
* '''[OPEN]''' (''safemode'') Make tools and readers operate on a Proper XML format , this could be switchable via special comment at top of xml input. This is for backwards compat with non proper xml files in mods. To be made default in 0.5.5&lt;br /&gt;
* '''[OPEN]''' (''klauss'') sound refactoring Phase II would add mixer channels (a feature to get seamless blending with music, comm chatter and sfx)&lt;br /&gt;
* '''[OPEN]''' (''klauss'') put gfxlib into a class, or at the _very_least_ a namespace&lt;br /&gt;
* '''[ONGOING]''' (''chuck_starchaser'') CineMut shader family - v0.5&lt;br /&gt;
* '''[OPEN]''' (''strook'') Make VegaOgre Engine using vegastrike engine to implement gameplay with vegaogre. &lt;br /&gt;
'''VS Data'''&lt;br /&gt;
* '''[ONGOING]''' (''pyramid'') Extensions renaming and standardization (.image, .texture, .sprite).&lt;br /&gt;
* '''[OPEN]''' ''(pyramid)'' Revision of planet types&lt;br /&gt;
* '''[OPEN]''' (''chuck_starchaser'') Units re-texturing for CineMut texture packing version 0.5&lt;br /&gt;
* '''[ONGOING]''' (''pyramid'') Porting of old quests to new engine&lt;br /&gt;
&lt;br /&gt;
'''Documentation &amp;amp; Mod Tools &amp;amp; Other'''&lt;br /&gt;
* '''[OPEN]''' (''???'') The Player's Guide tutorial glitches: Example: It says to buy the jump drive from Jenek...; The Alt-0 key&lt;br /&gt;
&lt;br /&gt;
== 0.5.3 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' Ray collider turned on, BSP stuff removed.&lt;br /&gt;
* '''[OPEN]''' ''(klauss)'' XGUI support for scripts&lt;br /&gt;
* '''[OPEN]''' ''(klauss)'' More shader fixes (should be pretty good by now), texture updates/additions&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' Continue to work on proper XML parsing in engine&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' update xml files in VS to be proper mode&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' setup tool&lt;br /&gt;
* '''[OPEN]''' (''chuck_starchaser'') CineMut shader family - v1.0&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
* '''[OPEN]''' ''(pyramid)'' Create custom systems with Homeworlds for races and factions&lt;br /&gt;
* '''[OPEN]''' (''chuck_starchaser'') Units re-texturing for CineMut texture packing version 1.0&lt;br /&gt;
&lt;br /&gt;
== 0.5.4 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[ONGOING SPECIFICATION]''' (''klauss, darkmage'') content creation tools: end user tools for helping with content creation. These should be a part of vegastrike code-base, to keep things in sync and reduce maintenance. &lt;br /&gt;
* make proper xml mode default, remove code to parse obsolete xml-ish code. &lt;br /&gt;
* Get codebase stabilized in prep for refactoring graphics code.&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' new wormhole effects&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' improved ship AI&lt;br /&gt;
* '''[OPEN]''' ''(klauss)'' cleaning up unused mesh legacy formats (mesh_bin.cpp, ...)&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.5 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Refactor graphics code.&lt;br /&gt;
* ['''OPEN'''] (''ace123'') Make jump points be drawn on HUD only.&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.6 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Bug fixes.&lt;br /&gt;
* Texture additions/ etc&lt;br /&gt;
* Document refactored graphics and sound code.&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.7 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Thread graphics code and sound code with boost threads.&lt;br /&gt;
* Bug Fixing. &lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.9 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* sound refactoring Phase III would add environmental effects&lt;br /&gt;
* Bug Fixing.&lt;br /&gt;
* Documentation&lt;br /&gt;
* Credits&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.6.0 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Minor bug fixes from previous revision&lt;br /&gt;
* Packaging&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
* documentation&lt;br /&gt;
&lt;br /&gt;
[[Category:Roadmaps]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Roadmap:0.6.0&amp;diff=18286</id>
		<title>Development:Roadmap:0.6.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Roadmap:0.6.0&amp;diff=18286"/>
				<updated>2011-05-03T21:58:38Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* 0.5.1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Vega Strike Upon the Coldest Sea stable version 0.5.0 was released on 2008-04-24.&lt;br /&gt;
&lt;br /&gt;
This is a task list for intermediate 0.5.x releases. The stuff that should get done for each intermediate and until the 0.6.0 release.&lt;br /&gt;
&lt;br /&gt;
=Generic Roadmap=&lt;br /&gt;
This roadmap is in need of further broken down into release specific tasks and assignment of those.&lt;br /&gt;
&lt;br /&gt;
==Factions rework==&lt;br /&gt;
*Hierarchical factions (e.g. *_citizen, affects *) &lt;br /&gt;
*Allowing for non-factions (privateer is already our non-faction, we just need to fix some of the behavior.)&lt;br /&gt;
*Ability for player joining a faction&lt;br /&gt;
&lt;br /&gt;
==AI==&lt;br /&gt;
*Faction-level AI (race / faction strategy)&lt;br /&gt;
*Micro AI (ship, fg, collision avoidance, tactical and navigational AI, roles definition)&lt;br /&gt;
*Macro (fg/faction)&lt;br /&gt;
* Flightgroups&lt;br /&gt;
** Classification (fleet, squadron, flotilla? etc. - something to differentiate between {5 plowshares} and {3 archimedes, 2 Tesla, 8 kahan, 20 schroedinger, 10 goddard, 5 watson} )&lt;br /&gt;
** Flightgroups should have subsets of ships that spawn together (combined arms)&lt;br /&gt;
* add another dimension to roles (attack AND defend/predator AND prey roles) instead of forcing both to be the same.&lt;br /&gt;
* AI spec drive use, escorts...&lt;br /&gt;
&lt;br /&gt;
==Content Creation Tools==&lt;br /&gt;
*Prerequisite: straight XML, DTD (Document Type Definition) support&lt;br /&gt;
*System Editor&lt;br /&gt;
*Unit Editor&lt;br /&gt;
*CSV Editor (MPL, faction_ships.py, units.csv)&lt;br /&gt;
*Mission Editor &lt;br /&gt;
*Campaign Editor&lt;br /&gt;
*Config Editor&lt;br /&gt;
&lt;br /&gt;
==Multiplayer==&lt;br /&gt;
*Persistence (systems, bases, flight groups, …)&lt;br /&gt;
&lt;br /&gt;
==Building/Packaging==&lt;br /&gt;
*Move to cmake&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
*Document the general function/flow of the game &lt;br /&gt;
*Engine internals, API (development documentation)&lt;br /&gt;
*Python bindings&lt;br /&gt;
*Should we use the builtin python documentation standards for documenting this stuff--maybe in the stubs folder?&lt;br /&gt;
*Faction documentation&lt;br /&gt;
&lt;br /&gt;
==Engine rework==&lt;br /&gt;
*Audio subsystem overhaul&lt;br /&gt;
*Support for texture versions and normal map tangents&lt;br /&gt;
*Shader updates&lt;br /&gt;
&lt;br /&gt;
=Release Roadmap=&lt;br /&gt;
&lt;br /&gt;
There are up to three sections in each roadmap release chapter:&lt;br /&gt;
* '''VS Engine''' relates to: modifications to c++, shaders, and python code (not including missions), repository structure changes, packaging system, support tools, ogre version&lt;br /&gt;
* '''VS Data''' relates to: modifications to art, data, and mission scripts&lt;br /&gt;
* '''Other''' relates to: documentation, wiki, project web page, masters repository, project management&lt;br /&gt;
&lt;br /&gt;
Each task item should also have a prefixed tag in the form of ['''STATUS'''{=OPEN, ONGOING, DONE}, development-coordinator{=''username''}]&lt;br /&gt;
&lt;br /&gt;
== 0.5.1 ==&lt;br /&gt;
&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Separate bin and data tree structure. Note:    those who have data4.x already, set your client to not pull external repos or cancel when it tries to download data4.x. Then move your current data4.x alongside /bin, renaming it to data. Updates should work seamlessly and recurse into /data and /bin afterwards. Newcomers can just pull win32.&lt;br /&gt;
* '''[FINISHED]''' (''ace123'') Rename data4.x to data and patch corresponding source code where necessary.&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Make a high quality graphics texture pack (''hqtextures'').&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Preparation of a cross-platform packaging system (cmake)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Updates to the shader (commit chuck's unit shader)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Correct rings generation to be always in the same plane&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Support for target shield gauges definition&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') Add support for &amp;quot;TexturePackingVersion&amp;quot; variable in xmesh&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') Add support for techniques and far z-buffering correction&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') Tangent support for normal maps&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') sound refactoring phase I - basic functionality&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') movie support&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') CubeMap engine support&lt;br /&gt;
* Minor bug fixes.&lt;br /&gt;
** '''[FINISHED]''' (''ace123'') fixed player relationship with each faction in savegame&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') planetary rings are always coplanar&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') system ownership (faction) and sector info shown in &lt;br /&gt;
RVDU and on map&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') python modules can be organized in additional subfolders (ai, mission, quests)&lt;br /&gt;
** '''[OPEN]''' (''ace123'') show ship sell price in user interface&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Added some textures to hqtextures.  &lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') 8 faces for armor HUD images&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Higher pay for combat missions.&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Tutorial mission&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') splash screen grouping in pre-load and load ani directories&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') additional art (planet backgrounds for lava, forest, rock, and frigid_mud, new space backgrounds, hud images)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') partial extensions renaming (cockpits, sprites, backgrounds)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Visually enhanced target shield gauges&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') New and updated cargo and upgrade image contributions&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Standardized factions coloring scheme&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Units subdirectories for vessels and installations&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Various new ship models (Kahan, Knight, Tridacna, ....) [http://vegastrike.sourceforge.net/devblog/?p=36 see blog]&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Various new installation models (Rlaan, Uln, Shaper, ...) [http://vegastrike.sourceforge.net/devblog/?p=36 see blog]&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Porting of old quests to new engine; done for: blockade, dispute, shipyard bomb, slaver, surplus&lt;br /&gt;
&lt;br /&gt;
'''Documentation &amp;amp; Mod Tools &amp;amp; Other'''&lt;br /&gt;
* '''[OPEN]''' (''???'') The Player's Guide tutorial glitches: Example: It says to buy the jump drive from Jenek...; The Alt-0 key was replaced with D.&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Unit Converter OBJ-&amp;gt;BFXM - a mesher frontend.&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Re-organization of vessels model requirements on [[Development:3D_Models]].&lt;br /&gt;
&lt;br /&gt;
== 0.5.1.5 ==&lt;br /&gt;
&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[ONGOING]''' (''strook'') Implementing alpha version of VegaOgre, merging it into vegastrike.&lt;br /&gt;
the Ogre technology preview will be executable with '''vegastrike --with-ogre-engine''' until it is released.[http://vegastrike.sourceforge.net/forums/viewtopic.php?f=27&amp;amp;t=15545 see blog]&lt;br /&gt;
&lt;br /&gt;
== 0.5.2 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
*  '''[OPEN]''' (''safemode'') Implement opcode's Ray Collider for ray-mesh collisions. (alongside bsp collider tunable via configure switch ala how opcode was done). Wont be turned on by default until 0.5.3&lt;br /&gt;
* '''[OPEN]''' (''klauss'') More shader fixes, texture updates/additions.&lt;br /&gt;
* '''[OPEN]''' (''safemode'') Make tools and readers operate on a Proper XML format , this could be switchable via special comment at top of xml input. This is for backwards compat with non proper xml files in mods. To be made default in 0.5.5&lt;br /&gt;
* '''[OPEN]''' (''klauss'') sound refactoring Phase II would add mixer channels (a feature to get seamless blending with music, comm chatter and sfx)&lt;br /&gt;
* '''[OPEN]''' (''klauss'') put gfxlib into a class, or at the _very_least_ a namespace&lt;br /&gt;
* '''[ONGOING]''' (''chuck_starchaser'') CineMut shader family - v0.5&lt;br /&gt;
* '''[OPEN]''' (''strook'') Make VegaOgre Engine using vegastrike engine to implement gameplay with vegaogre. &lt;br /&gt;
'''VS Data'''&lt;br /&gt;
* '''[ONGOING]''' (''pyramid'') Extensions renaming and standardization (.image, .texture, .sprite).&lt;br /&gt;
* '''[OPEN]''' ''(pyramid)'' Revision of planet types&lt;br /&gt;
* '''[OPEN]''' (''chuck_starchaser'') Units re-texturing for CineMut texture packing version 0.5&lt;br /&gt;
* '''[ONGOING]''' (''pyramid'') Porting of old quests to new engine&lt;br /&gt;
&lt;br /&gt;
== 0.5.3 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' Ray collider turned on, BSP stuff removed.&lt;br /&gt;
* '''[OPEN]''' ''(klauss)'' XGUI support for scripts&lt;br /&gt;
* '''[OPEN]''' ''(klauss)'' More shader fixes (should be pretty good by now), texture updates/additions&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' Continue to work on proper XML parsing in engine&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' update xml files in VS to be proper mode&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' setup tool&lt;br /&gt;
* '''[OPEN]''' (''chuck_starchaser'') CineMut shader family - v1.0&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
* '''[OPEN]''' ''(pyramid)'' Create custom systems with Homeworlds for races and factions&lt;br /&gt;
* '''[OPEN]''' (''chuck_starchaser'') Units re-texturing for CineMut texture packing version 1.0&lt;br /&gt;
&lt;br /&gt;
== 0.5.4 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[ONGOING SPECIFICATION]''' (''klauss, darkmage'') content creation tools: end user tools for helping with content creation. These should be a part of vegastrike code-base, to keep things in sync and reduce maintenance. &lt;br /&gt;
* make proper xml mode default, remove code to parse obsolete xml-ish code. &lt;br /&gt;
* Get codebase stabilized in prep for refactoring graphics code.&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' new wormhole effects&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' improved ship AI&lt;br /&gt;
* '''[OPEN]''' ''(klauss)'' cleaning up unused mesh legacy formats (mesh_bin.cpp, ...)&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.5 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Refactor graphics code.&lt;br /&gt;
* ['''OPEN'''] (''ace123'') Make jump points be drawn on HUD only.&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.6 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Bug fixes.&lt;br /&gt;
* Texture additions/ etc&lt;br /&gt;
* Document refactored graphics and sound code.&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.7 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Thread graphics code and sound code with boost threads.&lt;br /&gt;
* Bug Fixing. &lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.9 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* sound refactoring Phase III would add environmental effects&lt;br /&gt;
* Bug Fixing.&lt;br /&gt;
* Documentation&lt;br /&gt;
* Credits&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.6.0 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Minor bug fixes from previous revision&lt;br /&gt;
* Packaging&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
* documentation&lt;br /&gt;
&lt;br /&gt;
[[Category:Roadmaps]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Roadmap:0.6.0&amp;diff=18285</id>
		<title>Development:Roadmap:0.6.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Roadmap:0.6.0&amp;diff=18285"/>
				<updated>2011-05-03T21:57:38Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* 0.5.2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Vega Strike Upon the Coldest Sea stable version 0.5.0 was released on 2008-04-24.&lt;br /&gt;
&lt;br /&gt;
This is a task list for intermediate 0.5.x releases. The stuff that should get done for each intermediate and until the 0.6.0 release.&lt;br /&gt;
&lt;br /&gt;
=Generic Roadmap=&lt;br /&gt;
This roadmap is in need of further broken down into release specific tasks and assignment of those.&lt;br /&gt;
&lt;br /&gt;
==Factions rework==&lt;br /&gt;
*Hierarchical factions (e.g. *_citizen, affects *) &lt;br /&gt;
*Allowing for non-factions (privateer is already our non-faction, we just need to fix some of the behavior.)&lt;br /&gt;
*Ability for player joining a faction&lt;br /&gt;
&lt;br /&gt;
==AI==&lt;br /&gt;
*Faction-level AI (race / faction strategy)&lt;br /&gt;
*Micro AI (ship, fg, collision avoidance, tactical and navigational AI, roles definition)&lt;br /&gt;
*Macro (fg/faction)&lt;br /&gt;
* Flightgroups&lt;br /&gt;
** Classification (fleet, squadron, flotilla? etc. - something to differentiate between {5 plowshares} and {3 archimedes, 2 Tesla, 8 kahan, 20 schroedinger, 10 goddard, 5 watson} )&lt;br /&gt;
** Flightgroups should have subsets of ships that spawn together (combined arms)&lt;br /&gt;
* add another dimension to roles (attack AND defend/predator AND prey roles) instead of forcing both to be the same.&lt;br /&gt;
* AI spec drive use, escorts...&lt;br /&gt;
&lt;br /&gt;
==Content Creation Tools==&lt;br /&gt;
*Prerequisite: straight XML, DTD (Document Type Definition) support&lt;br /&gt;
*System Editor&lt;br /&gt;
*Unit Editor&lt;br /&gt;
*CSV Editor (MPL, faction_ships.py, units.csv)&lt;br /&gt;
*Mission Editor &lt;br /&gt;
*Campaign Editor&lt;br /&gt;
*Config Editor&lt;br /&gt;
&lt;br /&gt;
==Multiplayer==&lt;br /&gt;
*Persistence (systems, bases, flight groups, …)&lt;br /&gt;
&lt;br /&gt;
==Building/Packaging==&lt;br /&gt;
*Move to cmake&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
*Document the general function/flow of the game &lt;br /&gt;
*Engine internals, API (development documentation)&lt;br /&gt;
*Python bindings&lt;br /&gt;
*Should we use the builtin python documentation standards for documenting this stuff--maybe in the stubs folder?&lt;br /&gt;
*Faction documentation&lt;br /&gt;
&lt;br /&gt;
==Engine rework==&lt;br /&gt;
*Audio subsystem overhaul&lt;br /&gt;
*Support for texture versions and normal map tangents&lt;br /&gt;
*Shader updates&lt;br /&gt;
&lt;br /&gt;
=Release Roadmap=&lt;br /&gt;
&lt;br /&gt;
There are up to three sections in each roadmap release chapter:&lt;br /&gt;
* '''VS Engine''' relates to: modifications to c++, shaders, and python code (not including missions), repository structure changes, packaging system, support tools, ogre version&lt;br /&gt;
* '''VS Data''' relates to: modifications to art, data, and mission scripts&lt;br /&gt;
* '''Other''' relates to: documentation, wiki, project web page, masters repository, project management&lt;br /&gt;
&lt;br /&gt;
Each task item should also have a prefixed tag in the form of ['''STATUS'''{=OPEN, ONGOING, DONE}, development-coordinator{=''username''}]&lt;br /&gt;
&lt;br /&gt;
== 0.5.1 ==&lt;br /&gt;
&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Separate bin and data tree structure. Note:    those who have data4.x already, set your client to not pull external repos or cancel when it tries to download data4.x. Then move your current data4.x alongside /bin, renaming it to data. Updates should work seamlessly and recurse into /data and /bin afterwards. Newcomers can just pull win32.&lt;br /&gt;
* '''[FINISHED]''' (''ace123'') Rename data4.x to data and patch corresponding source code where necessary.&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Make a high quality graphics texture pack (''hqtextures'').&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Preparation of a cross-platform packaging system (cmake)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Updates to the shader (commit chuck's unit shader)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Correct rings generation to be always in the same plane&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Support for target shield gauges definition&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') Add support for &amp;quot;TexturePackingVersion&amp;quot; variable in xmesh&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') Add support for techniques and far z-buffering correction&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') Tangent support for normal maps&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') sound refactoring phase I - basic functionality&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') movie support&lt;br /&gt;
* '''[FINISHED]''' (''klauss'') CubeMap engine support&lt;br /&gt;
* Minor bug fixes.&lt;br /&gt;
** '''[FINISHED]''' (''ace123'') fixed player relationship with each faction in savegame&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') planetary rings are always coplanar&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') system ownership (faction) and sector info shown in &lt;br /&gt;
RVDU and on map&lt;br /&gt;
** '''[FINISHED]''' (''pyramid'') python modules can be organized in additional subfolders (ai, mission, quests)&lt;br /&gt;
** '''[OPEN]''' (''ace123'') show ship sell price in user interface&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
* '''[FINISHED]''' (''safemode'') Added some textures to hqtextures.  &lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') 8 faces for armor HUD images&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Higher pay for combat missions.&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Tutorial mission&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') splash screen grouping in pre-load and load ani directories&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') additional art (planet backgrounds for lava, forest, rock, and frigid_mud, new space backgrounds, hud images)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') partial extensions renaming (cockpits, sprites, backgrounds)&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Visually enhanced target shield gauges&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') New and updated cargo and upgrade image contributions&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Standardized factions coloring scheme&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Units subdirectories for vessels and installations&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Various new ship models (Kahan, Knight, Tridacna, ....) [http://vegastrike.sourceforge.net/devblog/?p=36 see blog]&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Various new installation models (Rlaan, Uln, Shaper, ...) [http://vegastrike.sourceforge.net/devblog/?p=36 see blog]&lt;br /&gt;
* '''[ONGOING]''' (''pyramid'') Porting of old quests to new engine (done: blockade, dispute, shipyard bomb, slaver, surplus) &lt;br /&gt;
&lt;br /&gt;
'''Documentation &amp;amp; Mod Tools &amp;amp; Other'''&lt;br /&gt;
* '''[OPEN]''' (''???'') The Player's Guide tutorial glitches: Example: It says to buy the jump drive from Jenek...; The Alt-0 key was replaced with D.&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Unit Converter OBJ-&amp;gt;BFXM - a mesher frontend.&lt;br /&gt;
* '''[FINISHED]''' (''pyramid'') Re-organization of vessels model requirements on [[Development:3D_Models]].&lt;br /&gt;
&lt;br /&gt;
== 0.5.1.5 ==&lt;br /&gt;
&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[ONGOING]''' (''strook'') Implementing alpha version of VegaOgre, merging it into vegastrike.&lt;br /&gt;
the Ogre technology preview will be executable with '''vegastrike --with-ogre-engine''' until it is released.[http://vegastrike.sourceforge.net/forums/viewtopic.php?f=27&amp;amp;t=15545 see blog]&lt;br /&gt;
&lt;br /&gt;
== 0.5.2 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
*  '''[OPEN]''' (''safemode'') Implement opcode's Ray Collider for ray-mesh collisions. (alongside bsp collider tunable via configure switch ala how opcode was done). Wont be turned on by default until 0.5.3&lt;br /&gt;
* '''[OPEN]''' (''klauss'') More shader fixes, texture updates/additions.&lt;br /&gt;
* '''[OPEN]''' (''safemode'') Make tools and readers operate on a Proper XML format , this could be switchable via special comment at top of xml input. This is for backwards compat with non proper xml files in mods. To be made default in 0.5.5&lt;br /&gt;
* '''[OPEN]''' (''klauss'') sound refactoring Phase II would add mixer channels (a feature to get seamless blending with music, comm chatter and sfx)&lt;br /&gt;
* '''[OPEN]''' (''klauss'') put gfxlib into a class, or at the _very_least_ a namespace&lt;br /&gt;
* '''[ONGOING]''' (''chuck_starchaser'') CineMut shader family - v0.5&lt;br /&gt;
* '''[OPEN]''' (''strook'') Make VegaOgre Engine using vegastrike engine to implement gameplay with vegaogre. &lt;br /&gt;
'''VS Data'''&lt;br /&gt;
* '''[ONGOING]''' (''pyramid'') Extensions renaming and standardization (.image, .texture, .sprite).&lt;br /&gt;
* '''[OPEN]''' ''(pyramid)'' Revision of planet types&lt;br /&gt;
* '''[OPEN]''' (''chuck_starchaser'') Units re-texturing for CineMut texture packing version 0.5&lt;br /&gt;
* '''[ONGOING]''' (''pyramid'') Porting of old quests to new engine&lt;br /&gt;
&lt;br /&gt;
== 0.5.3 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' Ray collider turned on, BSP stuff removed.&lt;br /&gt;
* '''[OPEN]''' ''(klauss)'' XGUI support for scripts&lt;br /&gt;
* '''[OPEN]''' ''(klauss)'' More shader fixes (should be pretty good by now), texture updates/additions&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' Continue to work on proper XML parsing in engine&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' update xml files in VS to be proper mode&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' setup tool&lt;br /&gt;
* '''[OPEN]''' (''chuck_starchaser'') CineMut shader family - v1.0&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
* '''[OPEN]''' ''(pyramid)'' Create custom systems with Homeworlds for races and factions&lt;br /&gt;
* '''[OPEN]''' (''chuck_starchaser'') Units re-texturing for CineMut texture packing version 1.0&lt;br /&gt;
&lt;br /&gt;
== 0.5.4 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* '''[ONGOING SPECIFICATION]''' (''klauss, darkmage'') content creation tools: end user tools for helping with content creation. These should be a part of vegastrike code-base, to keep things in sync and reduce maintenance. &lt;br /&gt;
* make proper xml mode default, remove code to parse obsolete xml-ish code. &lt;br /&gt;
* Get codebase stabilized in prep for refactoring graphics code.&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' new wormhole effects&lt;br /&gt;
* '''[OPEN]''' ''(safemode)'' improved ship AI&lt;br /&gt;
* '''[OPEN]''' ''(klauss)'' cleaning up unused mesh legacy formats (mesh_bin.cpp, ...)&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.5 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Refactor graphics code.&lt;br /&gt;
* ['''OPEN'''] (''ace123'') Make jump points be drawn on HUD only.&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.6 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Bug fixes.&lt;br /&gt;
* Texture additions/ etc&lt;br /&gt;
* Document refactored graphics and sound code.&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.7 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Thread graphics code and sound code with boost threads.&lt;br /&gt;
* Bug Fixing. &lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.5.9 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* sound refactoring Phase III would add environmental effects&lt;br /&gt;
* Bug Fixing.&lt;br /&gt;
* Documentation&lt;br /&gt;
* Credits&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
&lt;br /&gt;
== 0.6.0 ==&lt;br /&gt;
'''VS Engine'''&lt;br /&gt;
* Minor bug fixes from previous revision&lt;br /&gt;
* Packaging&lt;br /&gt;
&lt;br /&gt;
'''VS Data'''&lt;br /&gt;
* documentation&lt;br /&gt;
&lt;br /&gt;
[[Category:Roadmaps]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Vegastrike:Project&amp;diff=18283</id>
		<title>Vegastrike:Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Vegastrike:Project&amp;diff=18283"/>
				<updated>2011-04-30T00:59:27Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* On The Web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Project Information&lt;br /&gt;
&lt;br /&gt;
=About=&lt;br /&gt;
Vega Strike is an Open Source 3d Space Simulator. Work is proceeding on both the Vega Strike game engine and a Vega Strike Universe game data set. Both, engine and data, are in a playable state, but under continuous development.&lt;br /&gt;
&lt;br /&gt;
The Vega Strike engine serves as the foundation for the Parallel Universe, Privateer Gemini Gold, Privateer Remake, Vega Trek, and Pi Armada projects, whose websites can be reached via the sidebar to the right on the project web page.&lt;br /&gt;
&lt;br /&gt;
= Vision =&lt;br /&gt;
&lt;br /&gt;
We enjoy the futuristic genre, and we enjoy creating content for this genre in an interesting, vast, and profoundly complex but believable universe with endless expansion and enhancement possibilities.&lt;br /&gt;
&lt;br /&gt;
We want to create a generic, open, and free space simulator game of outstanding quality, both in technology and content.&lt;br /&gt;
&lt;br /&gt;
We want to be the vehicle for the creation and recreation of other space games and provide the possibility for users to create their own stories.&lt;br /&gt;
&lt;br /&gt;
= Mission =&lt;br /&gt;
&lt;br /&gt;
We have three development drivers:&lt;br /&gt;
* The Vega Strike Game &lt;br /&gt;
* The Modding capability&lt;br /&gt;
* The Engine that enables both&lt;br /&gt;
&lt;br /&gt;
VS (the engine) is a vehicle for groups of people to produce content in a set of genres that they enjoy creating and playing.&lt;br /&gt;
&lt;br /&gt;
The particular universe (VS game) that the Minister of Information (jackS) has been working on for some time now should be the target game, to help focus and separate required features from nice features. We also want to create an entangling, profound, and believable space game whose story is set in the Vega Strike Universe.&lt;br /&gt;
&lt;br /&gt;
We want to maintain close relationship with and provide to the freedom loving community a moddable open source space simulation engine that can be used to create other independent space games.&lt;br /&gt;
&lt;br /&gt;
We develop feature sets for the underlying content that requires those features: a campaign, a story, a well defined economy model, well defined game play mechanics, modding requirements.&lt;br /&gt;
&lt;br /&gt;
Our approach is not myopic because of a particular perception as to what resources/technology will be available.&lt;br /&gt;
&lt;br /&gt;
Users can write their own stories for the universe and share them around - and if they're good we can include them as well. Think of it as universe supporting easy-to-make fan-fiction (which can include mod-based fiction).&lt;br /&gt;
&lt;br /&gt;
Factions are given the ability to make their own decisions ... God's (campaign) commands are suggestions ... the campaign evolves as the players force it, and the goals need to be written to handle that.&lt;br /&gt;
&lt;br /&gt;
Shortly, Vega Strike will become a space combat/simulator game and engine with fully dynamic universe creation, scriptable ai responses with dynamic decision ability, completely non-determinant campaigns, fully functional economic system that responds to the real-time gameplay state of&lt;br /&gt;
the universe, shader-fied openGL graphics with nifty special effects.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;One universe, infinite possibilities&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
&lt;br /&gt;
See [[Vegastrike:Features]]&lt;br /&gt;
&lt;br /&gt;
= Active Development Team =&lt;br /&gt;
&lt;br /&gt;
== Project Leads and Lead Developers ==&lt;br /&gt;
* Daniel R Horn aka ''hellcatv'',''danielrh'' (overall coordination, lead programming, ...)&lt;br /&gt;
* Patrick Horn aka ''ace123'' (lead development, multiplayer, python, forum support)&lt;br /&gt;
* Jack Sampson aka ''jackS'' (Minister of Information, VS Universe development, art directing)&lt;br /&gt;
&lt;br /&gt;
== Programmers and Developers ==&lt;br /&gt;
* Claudio Freire aka ''klauss'', ''klausfreire'' (engine and python development)&lt;br /&gt;
* Ed Sweetman aka ''safemode'' (engine development)&lt;br /&gt;
* aka ''pyramid'', ''pyramid3d'' (art development, python scripting, documentation)&lt;br /&gt;
&lt;br /&gt;
== Developers and Contributors ==&lt;br /&gt;
&lt;br /&gt;
There are also developers that have in the past but do not contribute actively at this moment. Those are listed in the credits.&lt;br /&gt;
&lt;br /&gt;
Besides the developers, there is a large number of contributors from the community, be it for the engine or art and other content type for VS game.&lt;br /&gt;
&lt;br /&gt;
And not to forget the modders, who give significant direction and contribution to engine development.&lt;br /&gt;
&lt;br /&gt;
See: [[Vegastrike:Credits]]&lt;br /&gt;
&lt;br /&gt;
= Artistic Organization =&lt;br /&gt;
This is the artistic organization for unit model (ships, bases) development in Vega Strike - Upon The Coldest Sea.&lt;br /&gt;
&lt;br /&gt;
'''Art Director''' - provides the design briefs, gives the model final approval before it goes into the game.&lt;br /&gt;
* jackS&lt;br /&gt;
&lt;br /&gt;
'''Art Administrator''' - knows what models go where, organizes the wiki, prioritizes development&lt;br /&gt;
* pyramid&lt;br /&gt;
&lt;br /&gt;
'''Technical Liaison''' - tells artists what to do with regard to technical stuff&lt;br /&gt;
* chuck_starchaser&lt;br /&gt;
&lt;br /&gt;
'''Concept Artists''' - come up with concept art&lt;br /&gt;
* Fendorin&lt;br /&gt;
&lt;br /&gt;
'''Modeling Artists''' - model the ships and other assets&lt;br /&gt;
* Fendorin - senior modeling artists&lt;br /&gt;
* Deus Siddis&lt;br /&gt;
* rivalin&lt;br /&gt;
&lt;br /&gt;
'''Texture Artists''' - texture the ships and stations&lt;br /&gt;
* Fendorin - senior texture artists&lt;br /&gt;
&lt;br /&gt;
'''Voice Artists''' - provide speech voices&lt;br /&gt;
* [[User:Turbo|Turbo]] (tutorial quest voice, alien speech audio)&lt;br /&gt;
* CLoneWolf (andolian speech audio)&lt;br /&gt;
&lt;br /&gt;
'''Data Integrators''' - contributors that integrate the models into the game data, fill in missing simple textures and placeholders, do file format conversions&lt;br /&gt;
* jackS&lt;br /&gt;
* esgaroth&lt;br /&gt;
* pyramid&lt;br /&gt;
&lt;br /&gt;
'''Front End Artist''' - does overlays, wallpapers, screen savers, renders, runs the ModDB page, a deviantart page, conceptart.org thread, Game-Artist.net thread&lt;br /&gt;
* rivalin&lt;br /&gt;
&lt;br /&gt;
= Project Setup =&lt;br /&gt;
&lt;br /&gt;
== Open Source Principles ==&lt;br /&gt;
&lt;br /&gt;
We often hear the complaint that features don't get implemented for a long time though they are being requested over and over again.&lt;br /&gt;
&lt;br /&gt;
Being an open source community, most developers or contributors have their day-time jobs or commitments. Time is a scarce resource for those people and naturally they tend to prioritize their work on things that they are personally most interested in. Active developers do not dictate what gets contributed and what doesn't. The dictate is solely coming from contributions.&lt;br /&gt;
&lt;br /&gt;
The really best way to see a particular feature implemented quickly is to pull up your sleeves and start implementing them, first integrating with your local VS copy, and when a particular feature is working satisfactory, submit it to one of the active developers for inclusion. Bear in mind that only, and only working code will get committed fast. If code or data needs additional work it will most certainly have to wait either for developer time or interest.&lt;br /&gt;
&lt;br /&gt;
In this way, contributors who submit a lot will become developers.&lt;br /&gt;
&lt;br /&gt;
Don't know how and what to contribute? Have a look at the [[HowTo:Contribute]] page for a starter.&lt;br /&gt;
&lt;br /&gt;
== Communication Structure ==&lt;br /&gt;
&lt;br /&gt;
Developers communicate between themselves on a need basis via forum personal messages, email, and irc. In addition there are frequent project meetings scheduled to discuss online ongoing developments.&lt;br /&gt;
&lt;br /&gt;
In addition, we communicate with the community primarily through the forum, the web page, the dev blogs, the wiki, and equally through pm's and irc.&lt;br /&gt;
&lt;br /&gt;
= History =&lt;br /&gt;
&lt;br /&gt;
I read it somewhere but can't find the text right now.&lt;br /&gt;
&lt;br /&gt;
In any case, it was ''hellcatv'' who started it all. The first news entry on the project page is from March 1, 1998 with news about flight engine completion, basic AI functionality, and 4 available ships. This suggests that development was going on already before that time.&lt;br /&gt;
&lt;br /&gt;
= On The Web =&lt;br /&gt;
&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Vega_Strike Vega Strike] Wikipedia entry.&lt;br /&gt;
* [http://www.youtube.com/results?search_query=Vega+Strike&amp;amp;aq=f VS on YouTube].&lt;br /&gt;
* [http://www.facebook.com/pages/Vega-Strike/112577708757768 Vega Strike] on facebook.&lt;br /&gt;
* [http://www.linuxlinks.com/article/20080523214626193/VegaStrike.html Vega Strike] on linuxlinks.com.&lt;br /&gt;
* [http://www.onlylinuxgames.com/vega-strike/ Vega Strike] on OnlyLinuxGames.&lt;br /&gt;
* 2010: [http://www.makeuseof.com/tag/space-adventures-vega-strike/ Go On Space Adventures With Vega Strike] in makeuseof.&lt;br /&gt;
2010: [http://www.dodownload.com/games/simulator/vega+strike.html Vega Strike 0.5] on dodownload.&lt;br /&gt;
* 2009: [http://blog.eracc.com/2009/09/24/gnulinux-gaming-vega-strike-for-all/ GNU/Linux Gaming – Vega Strike for All] on The ERACC Web Log.&lt;br /&gt;
* 2009: [http://www.webupd8.org/2009/10/free-open-source-space-simulation-game.html Vega Strike: Free, Open Source Space Simulation Game for Windows, Linux and Mac OSX].&lt;br /&gt;
* 2009 (DE): [http://www.linux-community.de/Internal/Artikel/Online-Artikel/Das-Spiel-zum-Wochenende-Vega-Strike Das Spiel zum Wochenende: Vega Strike ] on linux-community.&lt;br /&gt;
* 2007: [http://www.freesoftwaremagazine.com/articles/vegastrike Vega Strike - My kind of fun] in the [http://www.freesoftwaremagazine.com/ Free Software Magazine]&lt;br /&gt;
* 2003: [http://www.insidemacgames.com/news/story.php?ArticleID=6826 Vega Strike Released for Mac OS X] on insidemacgames.&lt;br /&gt;
* [http://tvtropes.org/pmwiki/pmwiki.php/Main/VegaStrike Vega Strike] on tvtropes.&lt;br /&gt;
* [http://linux.about.com/od/softgame/fr/fr_VegaS.htm Linux Game: Vega Strike] on About.com.&lt;br /&gt;
* [http://www.reloaded.org/download/Vega-Strike/40/ Vega Strike] on reloaded.org.&lt;br /&gt;
* [http://www.absoluteastronomy.com/topics/Vega_Strike Vega Strike] on absoluteastronomy.&lt;br /&gt;
&lt;br /&gt;
= Roadmap =&lt;br /&gt;
See [[Development:Roadmap]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Vegastrike:Project&amp;diff=18282</id>
		<title>Vegastrike:Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Vegastrike:Project&amp;diff=18282"/>
				<updated>2011-04-30T00:18:43Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* On The Web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Project Information&lt;br /&gt;
&lt;br /&gt;
=About=&lt;br /&gt;
Vega Strike is an Open Source 3d Space Simulator. Work is proceeding on both the Vega Strike game engine and a Vega Strike Universe game data set. Both, engine and data, are in a playable state, but under continuous development.&lt;br /&gt;
&lt;br /&gt;
The Vega Strike engine serves as the foundation for the Parallel Universe, Privateer Gemini Gold, Privateer Remake, Vega Trek, and Pi Armada projects, whose websites can be reached via the sidebar to the right on the project web page.&lt;br /&gt;
&lt;br /&gt;
= Vision =&lt;br /&gt;
&lt;br /&gt;
We enjoy the futuristic genre, and we enjoy creating content for this genre in an interesting, vast, and profoundly complex but believable universe with endless expansion and enhancement possibilities.&lt;br /&gt;
&lt;br /&gt;
We want to create a generic, open, and free space simulator game of outstanding quality, both in technology and content.&lt;br /&gt;
&lt;br /&gt;
We want to be the vehicle for the creation and recreation of other space games and provide the possibility for users to create their own stories.&lt;br /&gt;
&lt;br /&gt;
= Mission =&lt;br /&gt;
&lt;br /&gt;
We have three development drivers:&lt;br /&gt;
* The Vega Strike Game &lt;br /&gt;
* The Modding capability&lt;br /&gt;
* The Engine that enables both&lt;br /&gt;
&lt;br /&gt;
VS (the engine) is a vehicle for groups of people to produce content in a set of genres that they enjoy creating and playing.&lt;br /&gt;
&lt;br /&gt;
The particular universe (VS game) that the Minister of Information (jackS) has been working on for some time now should be the target game, to help focus and separate required features from nice features. We also want to create an entangling, profound, and believable space game whose story is set in the Vega Strike Universe.&lt;br /&gt;
&lt;br /&gt;
We want to maintain close relationship with and provide to the freedom loving community a moddable open source space simulation engine that can be used to create other independent space games.&lt;br /&gt;
&lt;br /&gt;
We develop feature sets for the underlying content that requires those features: a campaign, a story, a well defined economy model, well defined game play mechanics, modding requirements.&lt;br /&gt;
&lt;br /&gt;
Our approach is not myopic because of a particular perception as to what resources/technology will be available.&lt;br /&gt;
&lt;br /&gt;
Users can write their own stories for the universe and share them around - and if they're good we can include them as well. Think of it as universe supporting easy-to-make fan-fiction (which can include mod-based fiction).&lt;br /&gt;
&lt;br /&gt;
Factions are given the ability to make their own decisions ... God's (campaign) commands are suggestions ... the campaign evolves as the players force it, and the goals need to be written to handle that.&lt;br /&gt;
&lt;br /&gt;
Shortly, Vega Strike will become a space combat/simulator game and engine with fully dynamic universe creation, scriptable ai responses with dynamic decision ability, completely non-determinant campaigns, fully functional economic system that responds to the real-time gameplay state of&lt;br /&gt;
the universe, shader-fied openGL graphics with nifty special effects.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;One universe, infinite possibilities&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
&lt;br /&gt;
See [[Vegastrike:Features]]&lt;br /&gt;
&lt;br /&gt;
= Active Development Team =&lt;br /&gt;
&lt;br /&gt;
== Project Leads and Lead Developers ==&lt;br /&gt;
* Daniel R Horn aka ''hellcatv'',''danielrh'' (overall coordination, lead programming, ...)&lt;br /&gt;
* Patrick Horn aka ''ace123'' (lead development, multiplayer, python, forum support)&lt;br /&gt;
* Jack Sampson aka ''jackS'' (Minister of Information, VS Universe development, art directing)&lt;br /&gt;
&lt;br /&gt;
== Programmers and Developers ==&lt;br /&gt;
* Claudio Freire aka ''klauss'', ''klausfreire'' (engine and python development)&lt;br /&gt;
* Ed Sweetman aka ''safemode'' (engine development)&lt;br /&gt;
* aka ''pyramid'', ''pyramid3d'' (art development, python scripting, documentation)&lt;br /&gt;
&lt;br /&gt;
== Developers and Contributors ==&lt;br /&gt;
&lt;br /&gt;
There are also developers that have in the past but do not contribute actively at this moment. Those are listed in the credits.&lt;br /&gt;
&lt;br /&gt;
Besides the developers, there is a large number of contributors from the community, be it for the engine or art and other content type for VS game.&lt;br /&gt;
&lt;br /&gt;
And not to forget the modders, who give significant direction and contribution to engine development.&lt;br /&gt;
&lt;br /&gt;
See: [[Vegastrike:Credits]]&lt;br /&gt;
&lt;br /&gt;
= Artistic Organization =&lt;br /&gt;
This is the artistic organization for unit model (ships, bases) development in Vega Strike - Upon The Coldest Sea.&lt;br /&gt;
&lt;br /&gt;
'''Art Director''' - provides the design briefs, gives the model final approval before it goes into the game.&lt;br /&gt;
* jackS&lt;br /&gt;
&lt;br /&gt;
'''Art Administrator''' - knows what models go where, organizes the wiki, prioritizes development&lt;br /&gt;
* pyramid&lt;br /&gt;
&lt;br /&gt;
'''Technical Liaison''' - tells artists what to do with regard to technical stuff&lt;br /&gt;
* chuck_starchaser&lt;br /&gt;
&lt;br /&gt;
'''Concept Artists''' - come up with concept art&lt;br /&gt;
* Fendorin&lt;br /&gt;
&lt;br /&gt;
'''Modeling Artists''' - model the ships and other assets&lt;br /&gt;
* Fendorin - senior modeling artists&lt;br /&gt;
* Deus Siddis&lt;br /&gt;
* rivalin&lt;br /&gt;
&lt;br /&gt;
'''Texture Artists''' - texture the ships and stations&lt;br /&gt;
* Fendorin - senior texture artists&lt;br /&gt;
&lt;br /&gt;
'''Voice Artists''' - provide speech voices&lt;br /&gt;
* [[User:Turbo|Turbo]] (tutorial quest voice, alien speech audio)&lt;br /&gt;
* CLoneWolf (andolian speech audio)&lt;br /&gt;
&lt;br /&gt;
'''Data Integrators''' - contributors that integrate the models into the game data, fill in missing simple textures and placeholders, do file format conversions&lt;br /&gt;
* jackS&lt;br /&gt;
* esgaroth&lt;br /&gt;
* pyramid&lt;br /&gt;
&lt;br /&gt;
'''Front End Artist''' - does overlays, wallpapers, screen savers, renders, runs the ModDB page, a deviantart page, conceptart.org thread, Game-Artist.net thread&lt;br /&gt;
* rivalin&lt;br /&gt;
&lt;br /&gt;
= Project Setup =&lt;br /&gt;
&lt;br /&gt;
== Open Source Principles ==&lt;br /&gt;
&lt;br /&gt;
We often hear the complaint that features don't get implemented for a long time though they are being requested over and over again.&lt;br /&gt;
&lt;br /&gt;
Being an open source community, most developers or contributors have their day-time jobs or commitments. Time is a scarce resource for those people and naturally they tend to prioritize their work on things that they are personally most interested in. Active developers do not dictate what gets contributed and what doesn't. The dictate is solely coming from contributions.&lt;br /&gt;
&lt;br /&gt;
The really best way to see a particular feature implemented quickly is to pull up your sleeves and start implementing them, first integrating with your local VS copy, and when a particular feature is working satisfactory, submit it to one of the active developers for inclusion. Bear in mind that only, and only working code will get committed fast. If code or data needs additional work it will most certainly have to wait either for developer time or interest.&lt;br /&gt;
&lt;br /&gt;
In this way, contributors who submit a lot will become developers.&lt;br /&gt;
&lt;br /&gt;
Don't know how and what to contribute? Have a look at the [[HowTo:Contribute]] page for a starter.&lt;br /&gt;
&lt;br /&gt;
== Communication Structure ==&lt;br /&gt;
&lt;br /&gt;
Developers communicate between themselves on a need basis via forum personal messages, email, and irc. In addition there are frequent project meetings scheduled to discuss online ongoing developments.&lt;br /&gt;
&lt;br /&gt;
In addition, we communicate with the community primarily through the forum, the web page, the dev blogs, the wiki, and equally through pm's and irc.&lt;br /&gt;
&lt;br /&gt;
= History =&lt;br /&gt;
&lt;br /&gt;
I read it somewhere but can't find the text right now.&lt;br /&gt;
&lt;br /&gt;
In any case, it was ''hellcatv'' who started it all. The first news entry on the project page is from March 1, 1998 with news about flight engine completion, basic AI functionality, and 4 available ships. This suggests that development was going on already before that time.&lt;br /&gt;
&lt;br /&gt;
= On The Web =&lt;br /&gt;
&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Vega_Strike Vega Strike] Wikipedia entry.&lt;br /&gt;
* [http://www.youtube.com/results?search_query=Vega+Strike&amp;amp;aq=f VS on YouTube].&lt;br /&gt;
* [http://www.facebook.com/pages/Vega-Strike/112577708757768 Vega Strike] on facebook.&lt;br /&gt;
* [http://www.linuxlinks.com/article/20080523214626193/VegaStrike.html Vega Strike] on linuxlinks.com.&lt;br /&gt;
* 2010: [http://www.makeuseof.com/tag/space-adventures-vega-strike/ Go On Space Adventures With Vega Strike] in makeuseof.&lt;br /&gt;
* 2007: [http://www.freesoftwaremagazine.com/articles/vegastrike Vega Strike - My kind of fun] in the [http://www.freesoftwaremagazine.com/ Free Software Magazine]&lt;br /&gt;
* [http://tvtropes.org/pmwiki/pmwiki.php/Main/VegaStrike Vega Strike] on tvtropes.&lt;br /&gt;
* [http://linux.about.com/od/softgame/fr/fr_VegaS.htm Linux Game: Vega Strike] on About.com.&lt;br /&gt;
* [http://www.reloaded.org/download/Vega-Strike/40/ Vega Strike] on reloaded.org.&lt;br /&gt;
&lt;br /&gt;
= Roadmap =&lt;br /&gt;
See [[Development:Roadmap]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Vegastrike:Project&amp;diff=18281</id>
		<title>Vegastrike:Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Vegastrike:Project&amp;diff=18281"/>
				<updated>2011-04-30T00:10:10Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* On The Web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Project Information&lt;br /&gt;
&lt;br /&gt;
=About=&lt;br /&gt;
Vega Strike is an Open Source 3d Space Simulator. Work is proceeding on both the Vega Strike game engine and a Vega Strike Universe game data set. Both, engine and data, are in a playable state, but under continuous development.&lt;br /&gt;
&lt;br /&gt;
The Vega Strike engine serves as the foundation for the Parallel Universe, Privateer Gemini Gold, Privateer Remake, Vega Trek, and Pi Armada projects, whose websites can be reached via the sidebar to the right on the project web page.&lt;br /&gt;
&lt;br /&gt;
= Vision =&lt;br /&gt;
&lt;br /&gt;
We enjoy the futuristic genre, and we enjoy creating content for this genre in an interesting, vast, and profoundly complex but believable universe with endless expansion and enhancement possibilities.&lt;br /&gt;
&lt;br /&gt;
We want to create a generic, open, and free space simulator game of outstanding quality, both in technology and content.&lt;br /&gt;
&lt;br /&gt;
We want to be the vehicle for the creation and recreation of other space games and provide the possibility for users to create their own stories.&lt;br /&gt;
&lt;br /&gt;
= Mission =&lt;br /&gt;
&lt;br /&gt;
We have three development drivers:&lt;br /&gt;
* The Vega Strike Game &lt;br /&gt;
* The Modding capability&lt;br /&gt;
* The Engine that enables both&lt;br /&gt;
&lt;br /&gt;
VS (the engine) is a vehicle for groups of people to produce content in a set of genres that they enjoy creating and playing.&lt;br /&gt;
&lt;br /&gt;
The particular universe (VS game) that the Minister of Information (jackS) has been working on for some time now should be the target game, to help focus and separate required features from nice features. We also want to create an entangling, profound, and believable space game whose story is set in the Vega Strike Universe.&lt;br /&gt;
&lt;br /&gt;
We want to maintain close relationship with and provide to the freedom loving community a moddable open source space simulation engine that can be used to create other independent space games.&lt;br /&gt;
&lt;br /&gt;
We develop feature sets for the underlying content that requires those features: a campaign, a story, a well defined economy model, well defined game play mechanics, modding requirements.&lt;br /&gt;
&lt;br /&gt;
Our approach is not myopic because of a particular perception as to what resources/technology will be available.&lt;br /&gt;
&lt;br /&gt;
Users can write their own stories for the universe and share them around - and if they're good we can include them as well. Think of it as universe supporting easy-to-make fan-fiction (which can include mod-based fiction).&lt;br /&gt;
&lt;br /&gt;
Factions are given the ability to make their own decisions ... God's (campaign) commands are suggestions ... the campaign evolves as the players force it, and the goals need to be written to handle that.&lt;br /&gt;
&lt;br /&gt;
Shortly, Vega Strike will become a space combat/simulator game and engine with fully dynamic universe creation, scriptable ai responses with dynamic decision ability, completely non-determinant campaigns, fully functional economic system that responds to the real-time gameplay state of&lt;br /&gt;
the universe, shader-fied openGL graphics with nifty special effects.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;One universe, infinite possibilities&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
&lt;br /&gt;
See [[Vegastrike:Features]]&lt;br /&gt;
&lt;br /&gt;
= Active Development Team =&lt;br /&gt;
&lt;br /&gt;
== Project Leads and Lead Developers ==&lt;br /&gt;
* Daniel R Horn aka ''hellcatv'',''danielrh'' (overall coordination, lead programming, ...)&lt;br /&gt;
* Patrick Horn aka ''ace123'' (lead development, multiplayer, python, forum support)&lt;br /&gt;
* Jack Sampson aka ''jackS'' (Minister of Information, VS Universe development, art directing)&lt;br /&gt;
&lt;br /&gt;
== Programmers and Developers ==&lt;br /&gt;
* Claudio Freire aka ''klauss'', ''klausfreire'' (engine and python development)&lt;br /&gt;
* Ed Sweetman aka ''safemode'' (engine development)&lt;br /&gt;
* aka ''pyramid'', ''pyramid3d'' (art development, python scripting, documentation)&lt;br /&gt;
&lt;br /&gt;
== Developers and Contributors ==&lt;br /&gt;
&lt;br /&gt;
There are also developers that have in the past but do not contribute actively at this moment. Those are listed in the credits.&lt;br /&gt;
&lt;br /&gt;
Besides the developers, there is a large number of contributors from the community, be it for the engine or art and other content type for VS game.&lt;br /&gt;
&lt;br /&gt;
And not to forget the modders, who give significant direction and contribution to engine development.&lt;br /&gt;
&lt;br /&gt;
See: [[Vegastrike:Credits]]&lt;br /&gt;
&lt;br /&gt;
= Artistic Organization =&lt;br /&gt;
This is the artistic organization for unit model (ships, bases) development in Vega Strike - Upon The Coldest Sea.&lt;br /&gt;
&lt;br /&gt;
'''Art Director''' - provides the design briefs, gives the model final approval before it goes into the game.&lt;br /&gt;
* jackS&lt;br /&gt;
&lt;br /&gt;
'''Art Administrator''' - knows what models go where, organizes the wiki, prioritizes development&lt;br /&gt;
* pyramid&lt;br /&gt;
&lt;br /&gt;
'''Technical Liaison''' - tells artists what to do with regard to technical stuff&lt;br /&gt;
* chuck_starchaser&lt;br /&gt;
&lt;br /&gt;
'''Concept Artists''' - come up with concept art&lt;br /&gt;
* Fendorin&lt;br /&gt;
&lt;br /&gt;
'''Modeling Artists''' - model the ships and other assets&lt;br /&gt;
* Fendorin - senior modeling artists&lt;br /&gt;
* Deus Siddis&lt;br /&gt;
* rivalin&lt;br /&gt;
&lt;br /&gt;
'''Texture Artists''' - texture the ships and stations&lt;br /&gt;
* Fendorin - senior texture artists&lt;br /&gt;
&lt;br /&gt;
'''Voice Artists''' - provide speech voices&lt;br /&gt;
* [[User:Turbo|Turbo]] (tutorial quest voice, alien speech audio)&lt;br /&gt;
* CLoneWolf (andolian speech audio)&lt;br /&gt;
&lt;br /&gt;
'''Data Integrators''' - contributors that integrate the models into the game data, fill in missing simple textures and placeholders, do file format conversions&lt;br /&gt;
* jackS&lt;br /&gt;
* esgaroth&lt;br /&gt;
* pyramid&lt;br /&gt;
&lt;br /&gt;
'''Front End Artist''' - does overlays, wallpapers, screen savers, renders, runs the ModDB page, a deviantart page, conceptart.org thread, Game-Artist.net thread&lt;br /&gt;
* rivalin&lt;br /&gt;
&lt;br /&gt;
= Project Setup =&lt;br /&gt;
&lt;br /&gt;
== Open Source Principles ==&lt;br /&gt;
&lt;br /&gt;
We often hear the complaint that features don't get implemented for a long time though they are being requested over and over again.&lt;br /&gt;
&lt;br /&gt;
Being an open source community, most developers or contributors have their day-time jobs or commitments. Time is a scarce resource for those people and naturally they tend to prioritize their work on things that they are personally most interested in. Active developers do not dictate what gets contributed and what doesn't. The dictate is solely coming from contributions.&lt;br /&gt;
&lt;br /&gt;
The really best way to see a particular feature implemented quickly is to pull up your sleeves and start implementing them, first integrating with your local VS copy, and when a particular feature is working satisfactory, submit it to one of the active developers for inclusion. Bear in mind that only, and only working code will get committed fast. If code or data needs additional work it will most certainly have to wait either for developer time or interest.&lt;br /&gt;
&lt;br /&gt;
In this way, contributors who submit a lot will become developers.&lt;br /&gt;
&lt;br /&gt;
Don't know how and what to contribute? Have a look at the [[HowTo:Contribute]] page for a starter.&lt;br /&gt;
&lt;br /&gt;
== Communication Structure ==&lt;br /&gt;
&lt;br /&gt;
Developers communicate between themselves on a need basis via forum personal messages, email, and irc. In addition there are frequent project meetings scheduled to discuss online ongoing developments.&lt;br /&gt;
&lt;br /&gt;
In addition, we communicate with the community primarily through the forum, the web page, the dev blogs, the wiki, and equally through pm's and irc.&lt;br /&gt;
&lt;br /&gt;
= History =&lt;br /&gt;
&lt;br /&gt;
I read it somewhere but can't find the text right now.&lt;br /&gt;
&lt;br /&gt;
In any case, it was ''hellcatv'' who started it all. The first news entry on the project page is from March 1, 1998 with news about flight engine completion, basic AI functionality, and 4 available ships. This suggests that development was going on already before that time.&lt;br /&gt;
&lt;br /&gt;
= On The Web =&lt;br /&gt;
&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Vega_Strike Vega Strike] Wikipedia entry.&lt;br /&gt;
* [http://www.facebook.com/pages/Vega-Strike/112577708757768 Vega Strike] on facebook.&lt;br /&gt;
* [http://www.linuxlinks.com/article/20080523214626193/VegaStrike.html Vega Strike] on linuxlinks.com.&lt;br /&gt;
* 2010: [http://www.makeuseof.com/tag/space-adventures-vega-strike/ Go On Space Adventures With Vega Strike] in makeuseof.&lt;br /&gt;
* 2007: [http://www.freesoftwaremagazine.com/articles/vegastrike Vega Strike - My kind of fun] in the [http://www.freesoftwaremagazine.com/ Free Software Magazine]&lt;br /&gt;
&lt;br /&gt;
= Roadmap =&lt;br /&gt;
See [[Development:Roadmap]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Vegastrike:Project&amp;diff=18280</id>
		<title>Vegastrike:Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Vegastrike:Project&amp;diff=18280"/>
				<updated>2011-04-29T23:59:52Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* On The Web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Project Information&lt;br /&gt;
&lt;br /&gt;
=About=&lt;br /&gt;
Vega Strike is an Open Source 3d Space Simulator. Work is proceeding on both the Vega Strike game engine and a Vega Strike Universe game data set. Both, engine and data, are in a playable state, but under continuous development.&lt;br /&gt;
&lt;br /&gt;
The Vega Strike engine serves as the foundation for the Parallel Universe, Privateer Gemini Gold, Privateer Remake, Vega Trek, and Pi Armada projects, whose websites can be reached via the sidebar to the right on the project web page.&lt;br /&gt;
&lt;br /&gt;
= Vision =&lt;br /&gt;
&lt;br /&gt;
We enjoy the futuristic genre, and we enjoy creating content for this genre in an interesting, vast, and profoundly complex but believable universe with endless expansion and enhancement possibilities.&lt;br /&gt;
&lt;br /&gt;
We want to create a generic, open, and free space simulator game of outstanding quality, both in technology and content.&lt;br /&gt;
&lt;br /&gt;
We want to be the vehicle for the creation and recreation of other space games and provide the possibility for users to create their own stories.&lt;br /&gt;
&lt;br /&gt;
= Mission =&lt;br /&gt;
&lt;br /&gt;
We have three development drivers:&lt;br /&gt;
* The Vega Strike Game &lt;br /&gt;
* The Modding capability&lt;br /&gt;
* The Engine that enables both&lt;br /&gt;
&lt;br /&gt;
VS (the engine) is a vehicle for groups of people to produce content in a set of genres that they enjoy creating and playing.&lt;br /&gt;
&lt;br /&gt;
The particular universe (VS game) that the Minister of Information (jackS) has been working on for some time now should be the target game, to help focus and separate required features from nice features. We also want to create an entangling, profound, and believable space game whose story is set in the Vega Strike Universe.&lt;br /&gt;
&lt;br /&gt;
We want to maintain close relationship with and provide to the freedom loving community a moddable open source space simulation engine that can be used to create other independent space games.&lt;br /&gt;
&lt;br /&gt;
We develop feature sets for the underlying content that requires those features: a campaign, a story, a well defined economy model, well defined game play mechanics, modding requirements.&lt;br /&gt;
&lt;br /&gt;
Our approach is not myopic because of a particular perception as to what resources/technology will be available.&lt;br /&gt;
&lt;br /&gt;
Users can write their own stories for the universe and share them around - and if they're good we can include them as well. Think of it as universe supporting easy-to-make fan-fiction (which can include mod-based fiction).&lt;br /&gt;
&lt;br /&gt;
Factions are given the ability to make their own decisions ... God's (campaign) commands are suggestions ... the campaign evolves as the players force it, and the goals need to be written to handle that.&lt;br /&gt;
&lt;br /&gt;
Shortly, Vega Strike will become a space combat/simulator game and engine with fully dynamic universe creation, scriptable ai responses with dynamic decision ability, completely non-determinant campaigns, fully functional economic system that responds to the real-time gameplay state of&lt;br /&gt;
the universe, shader-fied openGL graphics with nifty special effects.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;One universe, infinite possibilities&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
&lt;br /&gt;
See [[Vegastrike:Features]]&lt;br /&gt;
&lt;br /&gt;
= Active Development Team =&lt;br /&gt;
&lt;br /&gt;
== Project Leads and Lead Developers ==&lt;br /&gt;
* Daniel R Horn aka ''hellcatv'',''danielrh'' (overall coordination, lead programming, ...)&lt;br /&gt;
* Patrick Horn aka ''ace123'' (lead development, multiplayer, python, forum support)&lt;br /&gt;
* Jack Sampson aka ''jackS'' (Minister of Information, VS Universe development, art directing)&lt;br /&gt;
&lt;br /&gt;
== Programmers and Developers ==&lt;br /&gt;
* Claudio Freire aka ''klauss'', ''klausfreire'' (engine and python development)&lt;br /&gt;
* Ed Sweetman aka ''safemode'' (engine development)&lt;br /&gt;
* aka ''pyramid'', ''pyramid3d'' (art development, python scripting, documentation)&lt;br /&gt;
&lt;br /&gt;
== Developers and Contributors ==&lt;br /&gt;
&lt;br /&gt;
There are also developers that have in the past but do not contribute actively at this moment. Those are listed in the credits.&lt;br /&gt;
&lt;br /&gt;
Besides the developers, there is a large number of contributors from the community, be it for the engine or art and other content type for VS game.&lt;br /&gt;
&lt;br /&gt;
And not to forget the modders, who give significant direction and contribution to engine development.&lt;br /&gt;
&lt;br /&gt;
See: [[Vegastrike:Credits]]&lt;br /&gt;
&lt;br /&gt;
= Artistic Organization =&lt;br /&gt;
This is the artistic organization for unit model (ships, bases) development in Vega Strike - Upon The Coldest Sea.&lt;br /&gt;
&lt;br /&gt;
'''Art Director''' - provides the design briefs, gives the model final approval before it goes into the game.&lt;br /&gt;
* jackS&lt;br /&gt;
&lt;br /&gt;
'''Art Administrator''' - knows what models go where, organizes the wiki, prioritizes development&lt;br /&gt;
* pyramid&lt;br /&gt;
&lt;br /&gt;
'''Technical Liaison''' - tells artists what to do with regard to technical stuff&lt;br /&gt;
* chuck_starchaser&lt;br /&gt;
&lt;br /&gt;
'''Concept Artists''' - come up with concept art&lt;br /&gt;
* Fendorin&lt;br /&gt;
&lt;br /&gt;
'''Modeling Artists''' - model the ships and other assets&lt;br /&gt;
* Fendorin - senior modeling artists&lt;br /&gt;
* Deus Siddis&lt;br /&gt;
* rivalin&lt;br /&gt;
&lt;br /&gt;
'''Texture Artists''' - texture the ships and stations&lt;br /&gt;
* Fendorin - senior texture artists&lt;br /&gt;
&lt;br /&gt;
'''Voice Artists''' - provide speech voices&lt;br /&gt;
* [[User:Turbo|Turbo]] (tutorial quest voice, alien speech audio)&lt;br /&gt;
* CLoneWolf (andolian speech audio)&lt;br /&gt;
&lt;br /&gt;
'''Data Integrators''' - contributors that integrate the models into the game data, fill in missing simple textures and placeholders, do file format conversions&lt;br /&gt;
* jackS&lt;br /&gt;
* esgaroth&lt;br /&gt;
* pyramid&lt;br /&gt;
&lt;br /&gt;
'''Front End Artist''' - does overlays, wallpapers, screen savers, renders, runs the ModDB page, a deviantart page, conceptart.org thread, Game-Artist.net thread&lt;br /&gt;
* rivalin&lt;br /&gt;
&lt;br /&gt;
= Project Setup =&lt;br /&gt;
&lt;br /&gt;
== Open Source Principles ==&lt;br /&gt;
&lt;br /&gt;
We often hear the complaint that features don't get implemented for a long time though they are being requested over and over again.&lt;br /&gt;
&lt;br /&gt;
Being an open source community, most developers or contributors have their day-time jobs or commitments. Time is a scarce resource for those people and naturally they tend to prioritize their work on things that they are personally most interested in. Active developers do not dictate what gets contributed and what doesn't. The dictate is solely coming from contributions.&lt;br /&gt;
&lt;br /&gt;
The really best way to see a particular feature implemented quickly is to pull up your sleeves and start implementing them, first integrating with your local VS copy, and when a particular feature is working satisfactory, submit it to one of the active developers for inclusion. Bear in mind that only, and only working code will get committed fast. If code or data needs additional work it will most certainly have to wait either for developer time or interest.&lt;br /&gt;
&lt;br /&gt;
In this way, contributors who submit a lot will become developers.&lt;br /&gt;
&lt;br /&gt;
Don't know how and what to contribute? Have a look at the [[HowTo:Contribute]] page for a starter.&lt;br /&gt;
&lt;br /&gt;
== Communication Structure ==&lt;br /&gt;
&lt;br /&gt;
Developers communicate between themselves on a need basis via forum personal messages, email, and irc. In addition there are frequent project meetings scheduled to discuss online ongoing developments.&lt;br /&gt;
&lt;br /&gt;
In addition, we communicate with the community primarily through the forum, the web page, the dev blogs, the wiki, and equally through pm's and irc.&lt;br /&gt;
&lt;br /&gt;
= History =&lt;br /&gt;
&lt;br /&gt;
I read it somewhere but can't find the text right now.&lt;br /&gt;
&lt;br /&gt;
In any case, it was ''hellcatv'' who started it all. The first news entry on the project page is from March 1, 1998 with news about flight engine completion, basic AI functionality, and 4 available ships. This suggests that development was going on already before that time.&lt;br /&gt;
&lt;br /&gt;
= On The Web =&lt;br /&gt;
&lt;br /&gt;
* 2011: [http://en.wikipedia.org/wiki/Vega_Strike Vega Strike] Wikipedia entry.&lt;br /&gt;
* 2010: [http://www.makeuseof.com/tag/space-adventures-vega-strike/ Go On Space Adventures With Vega Strike] in makeuseof.&lt;br /&gt;
* 2007: [http://www.freesoftwaremagazine.com/articles/vegastrike Vega Strike - My kind of fun] in the [http://www.freesoftwaremagazine.com/ Free Software Magazine]&lt;br /&gt;
&lt;br /&gt;
= Roadmap =&lt;br /&gt;
See [[Development:Roadmap]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Vegastrike:Project&amp;diff=18279</id>
		<title>Vegastrike:Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Vegastrike:Project&amp;diff=18279"/>
				<updated>2011-04-29T23:55:34Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* In The News */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Project Information&lt;br /&gt;
&lt;br /&gt;
=About=&lt;br /&gt;
Vega Strike is an Open Source 3d Space Simulator. Work is proceeding on both the Vega Strike game engine and a Vega Strike Universe game data set. Both, engine and data, are in a playable state, but under continuous development.&lt;br /&gt;
&lt;br /&gt;
The Vega Strike engine serves as the foundation for the Parallel Universe, Privateer Gemini Gold, Privateer Remake, Vega Trek, and Pi Armada projects, whose websites can be reached via the sidebar to the right on the project web page.&lt;br /&gt;
&lt;br /&gt;
= Vision =&lt;br /&gt;
&lt;br /&gt;
We enjoy the futuristic genre, and we enjoy creating content for this genre in an interesting, vast, and profoundly complex but believable universe with endless expansion and enhancement possibilities.&lt;br /&gt;
&lt;br /&gt;
We want to create a generic, open, and free space simulator game of outstanding quality, both in technology and content.&lt;br /&gt;
&lt;br /&gt;
We want to be the vehicle for the creation and recreation of other space games and provide the possibility for users to create their own stories.&lt;br /&gt;
&lt;br /&gt;
= Mission =&lt;br /&gt;
&lt;br /&gt;
We have three development drivers:&lt;br /&gt;
* The Vega Strike Game &lt;br /&gt;
* The Modding capability&lt;br /&gt;
* The Engine that enables both&lt;br /&gt;
&lt;br /&gt;
VS (the engine) is a vehicle for groups of people to produce content in a set of genres that they enjoy creating and playing.&lt;br /&gt;
&lt;br /&gt;
The particular universe (VS game) that the Minister of Information (jackS) has been working on for some time now should be the target game, to help focus and separate required features from nice features. We also want to create an entangling, profound, and believable space game whose story is set in the Vega Strike Universe.&lt;br /&gt;
&lt;br /&gt;
We want to maintain close relationship with and provide to the freedom loving community a moddable open source space simulation engine that can be used to create other independent space games.&lt;br /&gt;
&lt;br /&gt;
We develop feature sets for the underlying content that requires those features: a campaign, a story, a well defined economy model, well defined game play mechanics, modding requirements.&lt;br /&gt;
&lt;br /&gt;
Our approach is not myopic because of a particular perception as to what resources/technology will be available.&lt;br /&gt;
&lt;br /&gt;
Users can write their own stories for the universe and share them around - and if they're good we can include them as well. Think of it as universe supporting easy-to-make fan-fiction (which can include mod-based fiction).&lt;br /&gt;
&lt;br /&gt;
Factions are given the ability to make their own decisions ... God's (campaign) commands are suggestions ... the campaign evolves as the players force it, and the goals need to be written to handle that.&lt;br /&gt;
&lt;br /&gt;
Shortly, Vega Strike will become a space combat/simulator game and engine with fully dynamic universe creation, scriptable ai responses with dynamic decision ability, completely non-determinant campaigns, fully functional economic system that responds to the real-time gameplay state of&lt;br /&gt;
the universe, shader-fied openGL graphics with nifty special effects.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;One universe, infinite possibilities&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
&lt;br /&gt;
See [[Vegastrike:Features]]&lt;br /&gt;
&lt;br /&gt;
= Active Development Team =&lt;br /&gt;
&lt;br /&gt;
== Project Leads and Lead Developers ==&lt;br /&gt;
* Daniel R Horn aka ''hellcatv'',''danielrh'' (overall coordination, lead programming, ...)&lt;br /&gt;
* Patrick Horn aka ''ace123'' (lead development, multiplayer, python, forum support)&lt;br /&gt;
* Jack Sampson aka ''jackS'' (Minister of Information, VS Universe development, art directing)&lt;br /&gt;
&lt;br /&gt;
== Programmers and Developers ==&lt;br /&gt;
* Claudio Freire aka ''klauss'', ''klausfreire'' (engine and python development)&lt;br /&gt;
* Ed Sweetman aka ''safemode'' (engine development)&lt;br /&gt;
* aka ''pyramid'', ''pyramid3d'' (art development, python scripting, documentation)&lt;br /&gt;
&lt;br /&gt;
== Developers and Contributors ==&lt;br /&gt;
&lt;br /&gt;
There are also developers that have in the past but do not contribute actively at this moment. Those are listed in the credits.&lt;br /&gt;
&lt;br /&gt;
Besides the developers, there is a large number of contributors from the community, be it for the engine or art and other content type for VS game.&lt;br /&gt;
&lt;br /&gt;
And not to forget the modders, who give significant direction and contribution to engine development.&lt;br /&gt;
&lt;br /&gt;
See: [[Vegastrike:Credits]]&lt;br /&gt;
&lt;br /&gt;
= Artistic Organization =&lt;br /&gt;
This is the artistic organization for unit model (ships, bases) development in Vega Strike - Upon The Coldest Sea.&lt;br /&gt;
&lt;br /&gt;
'''Art Director''' - provides the design briefs, gives the model final approval before it goes into the game.&lt;br /&gt;
* jackS&lt;br /&gt;
&lt;br /&gt;
'''Art Administrator''' - knows what models go where, organizes the wiki, prioritizes development&lt;br /&gt;
* pyramid&lt;br /&gt;
&lt;br /&gt;
'''Technical Liaison''' - tells artists what to do with regard to technical stuff&lt;br /&gt;
* chuck_starchaser&lt;br /&gt;
&lt;br /&gt;
'''Concept Artists''' - come up with concept art&lt;br /&gt;
* Fendorin&lt;br /&gt;
&lt;br /&gt;
'''Modeling Artists''' - model the ships and other assets&lt;br /&gt;
* Fendorin - senior modeling artists&lt;br /&gt;
* Deus Siddis&lt;br /&gt;
* rivalin&lt;br /&gt;
&lt;br /&gt;
'''Texture Artists''' - texture the ships and stations&lt;br /&gt;
* Fendorin - senior texture artists&lt;br /&gt;
&lt;br /&gt;
'''Voice Artists''' - provide speech voices&lt;br /&gt;
* [[User:Turbo|Turbo]] (tutorial quest voice, alien speech audio)&lt;br /&gt;
* CLoneWolf (andolian speech audio)&lt;br /&gt;
&lt;br /&gt;
'''Data Integrators''' - contributors that integrate the models into the game data, fill in missing simple textures and placeholders, do file format conversions&lt;br /&gt;
* jackS&lt;br /&gt;
* esgaroth&lt;br /&gt;
* pyramid&lt;br /&gt;
&lt;br /&gt;
'''Front End Artist''' - does overlays, wallpapers, screen savers, renders, runs the ModDB page, a deviantart page, conceptart.org thread, Game-Artist.net thread&lt;br /&gt;
* rivalin&lt;br /&gt;
&lt;br /&gt;
= Project Setup =&lt;br /&gt;
&lt;br /&gt;
== Open Source Principles ==&lt;br /&gt;
&lt;br /&gt;
We often hear the complaint that features don't get implemented for a long time though they are being requested over and over again.&lt;br /&gt;
&lt;br /&gt;
Being an open source community, most developers or contributors have their day-time jobs or commitments. Time is a scarce resource for those people and naturally they tend to prioritize their work on things that they are personally most interested in. Active developers do not dictate what gets contributed and what doesn't. The dictate is solely coming from contributions.&lt;br /&gt;
&lt;br /&gt;
The really best way to see a particular feature implemented quickly is to pull up your sleeves and start implementing them, first integrating with your local VS copy, and when a particular feature is working satisfactory, submit it to one of the active developers for inclusion. Bear in mind that only, and only working code will get committed fast. If code or data needs additional work it will most certainly have to wait either for developer time or interest.&lt;br /&gt;
&lt;br /&gt;
In this way, contributors who submit a lot will become developers.&lt;br /&gt;
&lt;br /&gt;
Don't know how and what to contribute? Have a look at the [[HowTo:Contribute]] page for a starter.&lt;br /&gt;
&lt;br /&gt;
== Communication Structure ==&lt;br /&gt;
&lt;br /&gt;
Developers communicate between themselves on a need basis via forum personal messages, email, and irc. In addition there are frequent project meetings scheduled to discuss online ongoing developments.&lt;br /&gt;
&lt;br /&gt;
In addition, we communicate with the community primarily through the forum, the web page, the dev blogs, the wiki, and equally through pm's and irc.&lt;br /&gt;
&lt;br /&gt;
= History =&lt;br /&gt;
&lt;br /&gt;
I read it somewhere but can't find the text right now.&lt;br /&gt;
&lt;br /&gt;
In any case, it was ''hellcatv'' who started it all. The first news entry on the project page is from March 1, 1998 with news about flight engine completion, basic AI functionality, and 4 available ships. This suggests that development was going on already before that time.&lt;br /&gt;
&lt;br /&gt;
= On The Web =&lt;br /&gt;
&lt;br /&gt;
* [http://www.freesoftwaremagazine.com/articles/vegastrike Vega Strike - My kind of fun] in the [http://www.freesoftwaremagazine.com/ Free Software Magazine]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Vega_Strike Vega Strike] Wikipedia entry.&lt;br /&gt;
&lt;br /&gt;
= Roadmap =&lt;br /&gt;
See [[Development:Roadmap]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Vegastrike:Project&amp;diff=18278</id>
		<title>Vegastrike:Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Vegastrike:Project&amp;diff=18278"/>
				<updated>2011-04-29T21:52:04Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* History */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Project Information&lt;br /&gt;
&lt;br /&gt;
=About=&lt;br /&gt;
Vega Strike is an Open Source 3d Space Simulator. Work is proceeding on both the Vega Strike game engine and a Vega Strike Universe game data set. Both, engine and data, are in a playable state, but under continuous development.&lt;br /&gt;
&lt;br /&gt;
The Vega Strike engine serves as the foundation for the Parallel Universe, Privateer Gemini Gold, Privateer Remake, Vega Trek, and Pi Armada projects, whose websites can be reached via the sidebar to the right on the project web page.&lt;br /&gt;
&lt;br /&gt;
= Vision =&lt;br /&gt;
&lt;br /&gt;
We enjoy the futuristic genre, and we enjoy creating content for this genre in an interesting, vast, and profoundly complex but believable universe with endless expansion and enhancement possibilities.&lt;br /&gt;
&lt;br /&gt;
We want to create a generic, open, and free space simulator game of outstanding quality, both in technology and content.&lt;br /&gt;
&lt;br /&gt;
We want to be the vehicle for the creation and recreation of other space games and provide the possibility for users to create their own stories.&lt;br /&gt;
&lt;br /&gt;
= Mission =&lt;br /&gt;
&lt;br /&gt;
We have three development drivers:&lt;br /&gt;
* The Vega Strike Game &lt;br /&gt;
* The Modding capability&lt;br /&gt;
* The Engine that enables both&lt;br /&gt;
&lt;br /&gt;
VS (the engine) is a vehicle for groups of people to produce content in a set of genres that they enjoy creating and playing.&lt;br /&gt;
&lt;br /&gt;
The particular universe (VS game) that the Minister of Information (jackS) has been working on for some time now should be the target game, to help focus and separate required features from nice features. We also want to create an entangling, profound, and believable space game whose story is set in the Vega Strike Universe.&lt;br /&gt;
&lt;br /&gt;
We want to maintain close relationship with and provide to the freedom loving community a moddable open source space simulation engine that can be used to create other independent space games.&lt;br /&gt;
&lt;br /&gt;
We develop feature sets for the underlying content that requires those features: a campaign, a story, a well defined economy model, well defined game play mechanics, modding requirements.&lt;br /&gt;
&lt;br /&gt;
Our approach is not myopic because of a particular perception as to what resources/technology will be available.&lt;br /&gt;
&lt;br /&gt;
Users can write their own stories for the universe and share them around - and if they're good we can include them as well. Think of it as universe supporting easy-to-make fan-fiction (which can include mod-based fiction).&lt;br /&gt;
&lt;br /&gt;
Factions are given the ability to make their own decisions ... God's (campaign) commands are suggestions ... the campaign evolves as the players force it, and the goals need to be written to handle that.&lt;br /&gt;
&lt;br /&gt;
Shortly, Vega Strike will become a space combat/simulator game and engine with fully dynamic universe creation, scriptable ai responses with dynamic decision ability, completely non-determinant campaigns, fully functional economic system that responds to the real-time gameplay state of&lt;br /&gt;
the universe, shader-fied openGL graphics with nifty special effects.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;One universe, infinite possibilities&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
&lt;br /&gt;
See [[Vegastrike:Features]]&lt;br /&gt;
&lt;br /&gt;
= Active Development Team =&lt;br /&gt;
&lt;br /&gt;
== Project Leads and Lead Developers ==&lt;br /&gt;
* Daniel R Horn aka ''hellcatv'',''danielrh'' (overall coordination, lead programming, ...)&lt;br /&gt;
* Patrick Horn aka ''ace123'' (lead development, multiplayer, python, forum support)&lt;br /&gt;
* Jack Sampson aka ''jackS'' (Minister of Information, VS Universe development, art directing)&lt;br /&gt;
&lt;br /&gt;
== Programmers and Developers ==&lt;br /&gt;
* Claudio Freire aka ''klauss'', ''klausfreire'' (engine and python development)&lt;br /&gt;
* Ed Sweetman aka ''safemode'' (engine development)&lt;br /&gt;
* aka ''pyramid'', ''pyramid3d'' (art development, python scripting, documentation)&lt;br /&gt;
&lt;br /&gt;
== Developers and Contributors ==&lt;br /&gt;
&lt;br /&gt;
There are also developers that have in the past but do not contribute actively at this moment. Those are listed in the credits.&lt;br /&gt;
&lt;br /&gt;
Besides the developers, there is a large number of contributors from the community, be it for the engine or art and other content type for VS game.&lt;br /&gt;
&lt;br /&gt;
And not to forget the modders, who give significant direction and contribution to engine development.&lt;br /&gt;
&lt;br /&gt;
See: [[Vegastrike:Credits]]&lt;br /&gt;
&lt;br /&gt;
= Artistic Organization =&lt;br /&gt;
This is the artistic organization for unit model (ships, bases) development in Vega Strike - Upon The Coldest Sea.&lt;br /&gt;
&lt;br /&gt;
'''Art Director''' - provides the design briefs, gives the model final approval before it goes into the game.&lt;br /&gt;
* jackS&lt;br /&gt;
&lt;br /&gt;
'''Art Administrator''' - knows what models go where, organizes the wiki, prioritizes development&lt;br /&gt;
* pyramid&lt;br /&gt;
&lt;br /&gt;
'''Technical Liaison''' - tells artists what to do with regard to technical stuff&lt;br /&gt;
* chuck_starchaser&lt;br /&gt;
&lt;br /&gt;
'''Concept Artists''' - come up with concept art&lt;br /&gt;
* Fendorin&lt;br /&gt;
&lt;br /&gt;
'''Modeling Artists''' - model the ships and other assets&lt;br /&gt;
* Fendorin - senior modeling artists&lt;br /&gt;
* Deus Siddis&lt;br /&gt;
* rivalin&lt;br /&gt;
&lt;br /&gt;
'''Texture Artists''' - texture the ships and stations&lt;br /&gt;
* Fendorin - senior texture artists&lt;br /&gt;
&lt;br /&gt;
'''Voice Artists''' - provide speech voices&lt;br /&gt;
* [[User:Turbo|Turbo]] (tutorial quest voice, alien speech audio)&lt;br /&gt;
* CLoneWolf (andolian speech audio)&lt;br /&gt;
&lt;br /&gt;
'''Data Integrators''' - contributors that integrate the models into the game data, fill in missing simple textures and placeholders, do file format conversions&lt;br /&gt;
* jackS&lt;br /&gt;
* esgaroth&lt;br /&gt;
* pyramid&lt;br /&gt;
&lt;br /&gt;
'''Front End Artist''' - does overlays, wallpapers, screen savers, renders, runs the ModDB page, a deviantart page, conceptart.org thread, Game-Artist.net thread&lt;br /&gt;
* rivalin&lt;br /&gt;
&lt;br /&gt;
= Project Setup =&lt;br /&gt;
&lt;br /&gt;
== Open Source Principles ==&lt;br /&gt;
&lt;br /&gt;
We often hear the complaint that features don't get implemented for a long time though they are being requested over and over again.&lt;br /&gt;
&lt;br /&gt;
Being an open source community, most developers or contributors have their day-time jobs or commitments. Time is a scarce resource for those people and naturally they tend to prioritize their work on things that they are personally most interested in. Active developers do not dictate what gets contributed and what doesn't. The dictate is solely coming from contributions.&lt;br /&gt;
&lt;br /&gt;
The really best way to see a particular feature implemented quickly is to pull up your sleeves and start implementing them, first integrating with your local VS copy, and when a particular feature is working satisfactory, submit it to one of the active developers for inclusion. Bear in mind that only, and only working code will get committed fast. If code or data needs additional work it will most certainly have to wait either for developer time or interest.&lt;br /&gt;
&lt;br /&gt;
In this way, contributors who submit a lot will become developers.&lt;br /&gt;
&lt;br /&gt;
Don't know how and what to contribute? Have a look at the [[HowTo:Contribute]] page for a starter.&lt;br /&gt;
&lt;br /&gt;
== Communication Structure ==&lt;br /&gt;
&lt;br /&gt;
Developers communicate between themselves on a need basis via forum personal messages, email, and irc. In addition there are frequent project meetings scheduled to discuss online ongoing developments.&lt;br /&gt;
&lt;br /&gt;
In addition, we communicate with the community primarily through the forum, the web page, the dev blogs, the wiki, and equally through pm's and irc.&lt;br /&gt;
&lt;br /&gt;
= History =&lt;br /&gt;
&lt;br /&gt;
I read it somewhere but can't find the text right now.&lt;br /&gt;
&lt;br /&gt;
In any case, it was ''hellcatv'' who started it all. The first news entry on the project page is from March 1, 1998 with news about flight engine completion, basic AI functionality, and 4 available ships. This suggests that development was going on already before that time.&lt;br /&gt;
&lt;br /&gt;
= In The News =&lt;br /&gt;
&lt;br /&gt;
* [http://www.freesoftwaremagazine.com/articles/vegastrike Vega Strike - My kind of fun] in the [http://www.freesoftwaremagazine.com/ Free Software Magazine]&lt;br /&gt;
&lt;br /&gt;
= Roadmap =&lt;br /&gt;
See [[Development:Roadmap]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development&amp;diff=18277</id>
		<title>Development</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development&amp;diff=18277"/>
				<updated>2011-04-18T21:10:23Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* 3D Models */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Wiki_Nav_Index}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Development &amp;amp; Modding=&lt;br /&gt;
&lt;br /&gt;
==Developer information pages==&lt;br /&gt;
General information on contribution:&lt;br /&gt;
* [[HowTo:Contribute|The Vega Strike Contributor's Guide]]&lt;br /&gt;
* [[Database:GPUs|GPU information database]]&lt;br /&gt;
* [[HowTo:MOD|How to create MODs]]&lt;br /&gt;
* [[Development:File_Structure|File and Directory Structure]]&lt;br /&gt;
&lt;br /&gt;
==Status/task list pages==&lt;br /&gt;
* [[Development:3D_Models|3D Models]] - Organisation and contribution information.&lt;br /&gt;
* [[Development:2D_Images|2D Images]] - Organisation and contribution information.&lt;br /&gt;
* [[Development:Roadmap|Roadmap]] - The Vega Strike development roadmap.&lt;br /&gt;
* [[Development:Compatibility]] - Making sure the game works on all hardware&lt;br /&gt;
* [[Development:Rebalance]] - Information and task list for the Rebalance.&lt;br /&gt;
* [[Development:Performance]] - Goals to achieve required performance&lt;br /&gt;
* [[Development:AI Navigation]] - Overhauling the ships' navigation routines&lt;br /&gt;
* [[Development:Misc Engine Work]] - Various engine and backend work information.&lt;br /&gt;
* [[Development:Ogre]] - Information on the OGRE port.&lt;br /&gt;
&lt;br /&gt;
= Artistic Contribution =&lt;br /&gt;
&lt;br /&gt;
===Art Guidelines===&lt;br /&gt;
Please read this '''[[Development:Graphics_Requirements]]''' page first before continuing to the specific requirements.&lt;br /&gt;
See also: [[Links:Graphic_Applications]] and [[Links:3D_Applications]] for applications listings.&lt;br /&gt;
&lt;br /&gt;
Further, the [[Artstyle_guides|Art Style Guides]] might prove useful during your creationist endeavors.&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
There are also guidelines for sound and music creation available in '''[[Development:Audio]]'''.&lt;br /&gt;
&lt;br /&gt;
===3D Models===&lt;br /&gt;
The modeling related information is just being restructured.&lt;br /&gt;
* [[Development:Model Guidelines|'''Guidelines Portal for Creating 3D Models''']] is the main page for complete guidance on developing ship and installation models for Vega Strike&lt;br /&gt;
** [[Development:3D_Models|3D models list and status]]&lt;br /&gt;
&lt;br /&gt;
=== Space Scapes ===&lt;br /&gt;
* [[Development:Orbital Planet Surfaces|Orbital Planet Surfaces]] - General guidance for development of planet surfaces visible from orbit.&lt;br /&gt;
* [[Development:System_Backgrounds|Generating star system backgrounds]]&lt;br /&gt;
* [[Development:Base_Backgrounds|Creating and adding backgrounds for bases, planets, or capital ships]]&lt;br /&gt;
&lt;br /&gt;
=== Cargo ===&lt;br /&gt;
* [[Development:Cargo (graphics)|Creating Cargo Graphics]] - Images to be displayed in the trading interface for cargo items.&lt;br /&gt;
** [[Cargo]] - Detailed descriptions of cargo items, listed by category.&lt;br /&gt;
* [[Development:Balancing|Faction Balancing]] - General guidelines to keep in mind when play balancing the Vega Strike factions.&lt;br /&gt;
&lt;br /&gt;
=== Other Graphics ===&lt;br /&gt;
* [[Development:Logos &amp;amp; Signage|Logos &amp;amp; Signage]]&lt;br /&gt;
&lt;br /&gt;
= Python Scripting =&lt;br /&gt;
&lt;br /&gt;
=== Quests &amp;amp; Campaigns ===&lt;br /&gt;
* [[Development:Quests_&amp;amp;_Campaigns|Quests &amp;amp; Campaigns]] Reference portal for creation of campaigns, missions, quests &amp;amp; adventures.&lt;br /&gt;
** [[Development:Quests|Quests]] Creating quests and adventures&lt;br /&gt;
** [[Development:Missions|Developing Missions]] Creation of missions&lt;br /&gt;
** [[Development:AIScripts|Developing AI Behaviors]] Customizing AI combat reactions&lt;br /&gt;
** [[Development:Campaigns]] Making campaigns&lt;br /&gt;
&lt;br /&gt;
=== Other Scripts ===&lt;br /&gt;
* [[HowTo:Edit News|Editing News]]&lt;br /&gt;
* [[HowTo:Add Conversations|Adding Conversations]]&lt;br /&gt;
* [[Development:Base_Backgrounds|Changing Base Backgrounds and Base Computer GUI]]&lt;br /&gt;
&lt;br /&gt;
= Data Modding =&lt;br /&gt;
&lt;br /&gt;
=== Game Assets ===&lt;br /&gt;
* [[HowTo:Edit_units.csv| Editing units.csv]]&lt;br /&gt;
* [[HowTo:Make Weapons|Adding new weapons to the game]]&lt;br /&gt;
* [[HowTo:Add Cargo|Adding new cargo to the game]]&lt;br /&gt;
* [[HowTo:Add Descriptions|Putting ship and goods descriptions into the game]]&lt;br /&gt;
**[[HowTo:Edit master_part_list.csv|Editing the Master_part_list.csv file]]&lt;br /&gt;
* [[HowTo:Edit Systems|Creating or editing star systems]]&lt;br /&gt;
* [[HowTo:Make Splash Screens|Making splash screens that display at startup]]&lt;br /&gt;
* [[HowTo:Edit faction relationships|Edit the relationships between the existing factions]] (the &amp;lt;code&amp;gt;factions.xml&amp;lt;/code&amp;gt; file)&lt;br /&gt;
* [[HowTo:Add Upgrades|Adding new upgrades to the game]]&lt;br /&gt;
* [[HowTo:Nav Computer Interface|Edit the navigation computer interface]]&lt;br /&gt;
* [[HowTo:Create_Cockpit_in_Wings3d|Creating a 3D cockpit for your ship]]&lt;br /&gt;
* [[HowTo:Edit_HUDs|Editing HUDs, placing radars]]&lt;br /&gt;
&lt;br /&gt;
=== Events ===&lt;br /&gt;
* [[HowTo:Add Conversations|Adding more conversation lines to the game]]&lt;br /&gt;
* [[HowTo:Edit News|Creating or editing news events]]&lt;br /&gt;
* [[HowTo:Edit AI|Creating or editing Ship AI's]]&lt;br /&gt;
&lt;br /&gt;
===Configuration ===&lt;br /&gt;
* [[Manual:Config:Advanced:Variables|Configuration Variables]]&lt;br /&gt;
* [[CONFVAR|CONFVAR - Complete Variable Listing]]&lt;br /&gt;
&lt;br /&gt;
===Internationalization/Localisation-related===&lt;br /&gt;
* [[Development:Translations|Translation projects]]&lt;br /&gt;
&lt;br /&gt;
=== Modding Tools ===&lt;br /&gt;
* [[Development:Scripts &amp;amp; Tools|Scripts &amp;amp; Tools]] - to make your life easier&lt;br /&gt;
** [[Development:Tools:UnitConverter|Unit Converter Manual]] - tool to convert Wavefront obj files to bfxm format including texture conversion, units stats editor, and visualization with Vega Strike.&lt;br /&gt;
** [[Development:Script:obj2obj converter|obj2obj converter]] (Perl, commandline) - Converts obj files to cockpit files. or extracts tag-data from the models. (''At least that's what is planned, Testing under Win32/Linux. [[User:pontiac|Pontiac]]'')&lt;br /&gt;
* [[OOG_Tools|Out-Of-Game Player Tools]]&lt;br /&gt;
&lt;br /&gt;
=== Front End ===&lt;br /&gt;
* [[HowTo:Take Screenshots|Taking really awesome screenshots]]&lt;br /&gt;
&lt;br /&gt;
= Vega Strike The Game Mechanisms =&lt;br /&gt;
* [[Development:Realism vs Believability|Realism vs Believability]]&lt;br /&gt;
* [[Development:Economy|Economy]] - How ingame economy should work.&lt;br /&gt;
* [[Development:Political system|Political system]]&lt;br /&gt;
&lt;br /&gt;
= Code-related Development =&lt;br /&gt;
* [[Development:Dependencies|Dependencies]] - A guide to system dependencies, broken down by subsystem.&lt;br /&gt;
* [[Development:SVN Tree|SVN Tree]] - A guide to the layout of the Subversion tree.&lt;br /&gt;
* [[Development:Code style|Code style]] -  A guide/manual to write code for Vegastrike that fits in and is readable.&lt;br /&gt;
* [[Development:Network|Network]] - Everything network related goes in here.&lt;br /&gt;
** [[Development:Network:Packet format|Packet format]] - A description of the packet format that had been implemented a few years ago.&lt;br /&gt;
** [[Development:Network:Todo|Todo]] - What still needs to be done.&lt;br /&gt;
** [[Development:Network:Testing|Testing]] - Testing the network code.&lt;br /&gt;
* [[Development:Keyboard layout|Keyboard layout]] - Discuss and display new keyboard layouts here.&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
* [[HowTos]]&lt;br /&gt;
* [[FAQ:Feature_Requests|Feature Requests]]&lt;br /&gt;
* [[Development:Audio#Voice_Acting]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development&amp;diff=18273</id>
		<title>Development</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development&amp;diff=18273"/>
				<updated>2011-04-14T17:59:52Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* Game Assets */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Wiki_Nav_Index}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Development &amp;amp; Modding=&lt;br /&gt;
&lt;br /&gt;
==Developer information pages==&lt;br /&gt;
General information on contribution:&lt;br /&gt;
* [[HowTo:Contribute|The Vega Strike Contributor's Guide]]&lt;br /&gt;
* [[Database:GPUs|GPU information database]]&lt;br /&gt;
* [[HowTo:MOD|How to create MODs]]&lt;br /&gt;
* [[Development:File_Structure|File and Directory Structure]]&lt;br /&gt;
&lt;br /&gt;
==Status/task list pages==&lt;br /&gt;
* [[Development:3D_Models|3D Models]] - Organisation and contribution information.&lt;br /&gt;
* [[Development:2D_Images|2D Images]] - Organisation and contribution information.&lt;br /&gt;
* [[Development:Roadmap|Roadmap]] - The Vega Strike development roadmap.&lt;br /&gt;
* [[Development:Compatibility]] - Making sure the game works on all hardware&lt;br /&gt;
* [[Development:Rebalance]] - Information and task list for the Rebalance.&lt;br /&gt;
* [[Development:Performance]] - Goals to achieve required performance&lt;br /&gt;
* [[Development:AI Navigation]] - Overhauling the ships' navigation routines&lt;br /&gt;
* [[Development:Misc Engine Work]] - Various engine and backend work information.&lt;br /&gt;
* [[Development:Ogre]] - Information on the OGRE port.&lt;br /&gt;
&lt;br /&gt;
= Artistic Contribution =&lt;br /&gt;
&lt;br /&gt;
===Art Guidelines===&lt;br /&gt;
Please read this '''[[Development:Graphics_Requirements]]''' page first before continuing to the specific requirements.&lt;br /&gt;
See also: [[Links:Graphic_Applications]] and [[Links:3D_Applications]] for applications listings.&lt;br /&gt;
&lt;br /&gt;
Further, the [[Artstyle_guides|Art Style Guides]] might prove useful during your creationist endeavors.&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
There are also guidelines for sound and music creation available in '''[[Development:Audio]]'''.&lt;br /&gt;
&lt;br /&gt;
===3D Models===&lt;br /&gt;
The modeling related information is just being restructured.&lt;br /&gt;
* [[Development:Model Guidelines|Guidelines Portal for Creating 3D Models]] is the main page for complete guidance on developing ship and installation models for Vega Strike&lt;br /&gt;
** [[Development:3D_Models|3D models list and status]]&lt;br /&gt;
&lt;br /&gt;
=== Space Scapes ===&lt;br /&gt;
* [[Development:Orbital Planet Surfaces|Orbital Planet Surfaces]] - General guidance for development of planet surfaces visible from orbit.&lt;br /&gt;
* [[Development:System_Backgrounds|Generating star system backgrounds]]&lt;br /&gt;
* [[Development:Base_Backgrounds|Creating and adding backgrounds for bases, planets, or capital ships]]&lt;br /&gt;
&lt;br /&gt;
=== Cargo ===&lt;br /&gt;
* [[Development:Cargo (graphics)|Creating Cargo Graphics]] - Images to be displayed in the trading interface for cargo items.&lt;br /&gt;
** [[Cargo]] - Detailed descriptions of cargo items, listed by category.&lt;br /&gt;
* [[Development:Balancing|Faction Balancing]] - General guidelines to keep in mind when play balancing the Vega Strike factions.&lt;br /&gt;
&lt;br /&gt;
=== Other Graphics ===&lt;br /&gt;
* [[Development:Logos &amp;amp; Signage|Logos &amp;amp; Signage]]&lt;br /&gt;
&lt;br /&gt;
= Python Scripting =&lt;br /&gt;
&lt;br /&gt;
=== Quests &amp;amp; Campaigns ===&lt;br /&gt;
* [[Development:Quests_&amp;amp;_Campaigns|Quests &amp;amp; Campaigns]] Reference portal for creation of campaigns, missions, quests &amp;amp; adventures.&lt;br /&gt;
** [[Development:Quests|Quests]] Creating quests and adventures&lt;br /&gt;
** [[Development:Missions|Developing Missions]] Creation of missions&lt;br /&gt;
** [[Development:AIScripts|Developing AI Behaviors]] Customizing AI combat reactions&lt;br /&gt;
** [[Development:Campaigns]] Making campaigns&lt;br /&gt;
&lt;br /&gt;
=== Other Scripts ===&lt;br /&gt;
* [[HowTo:Edit News|Editing News]]&lt;br /&gt;
* [[HowTo:Add Conversations|Adding Conversations]]&lt;br /&gt;
* [[Development:Base_Backgrounds|Changing Base Backgrounds and Base Computer GUI]]&lt;br /&gt;
&lt;br /&gt;
= Data Modding =&lt;br /&gt;
&lt;br /&gt;
=== Game Assets ===&lt;br /&gt;
* [[HowTo:Edit_units.csv| Editing units.csv]]&lt;br /&gt;
* [[HowTo:Make Weapons|Adding new weapons to the game]]&lt;br /&gt;
* [[HowTo:Add Cargo|Adding new cargo to the game]]&lt;br /&gt;
* [[HowTo:Add Descriptions|Putting ship and goods descriptions into the game]]&lt;br /&gt;
**[[HowTo:Edit master_part_list.csv|Editing the Master_part_list.csv file]]&lt;br /&gt;
* [[HowTo:Edit Systems|Creating or editing star systems]]&lt;br /&gt;
* [[HowTo:Make Splash Screens|Making splash screens that display at startup]]&lt;br /&gt;
* [[HowTo:Edit faction relationships|Edit the relationships between the existing factions]] (the &amp;lt;code&amp;gt;factions.xml&amp;lt;/code&amp;gt; file)&lt;br /&gt;
* [[HowTo:Add Upgrades|Adding new upgrades to the game]]&lt;br /&gt;
* [[HowTo:Nav Computer Interface|Edit the navigation computer interface]]&lt;br /&gt;
* [[HowTo:Create_Cockpit_in_Wings3d|Creating a 3D cockpit for your ship]]&lt;br /&gt;
* [[HowTo:Edit_HUDs|Editing HUDs, placing radars]]&lt;br /&gt;
&lt;br /&gt;
=== Events ===&lt;br /&gt;
* [[HowTo:Add Conversations|Adding more conversation lines to the game]]&lt;br /&gt;
* [[HowTo:Edit News|Creating or editing news events]]&lt;br /&gt;
* [[HowTo:Edit AI|Creating or editing Ship AI's]]&lt;br /&gt;
&lt;br /&gt;
===Configuration ===&lt;br /&gt;
* [[Manual:Config:Advanced:Variables|Configuration Variables]]&lt;br /&gt;
* [[CONFVAR|CONFVAR - Complete Variable Listing]]&lt;br /&gt;
&lt;br /&gt;
===Internationalization/Localisation-related===&lt;br /&gt;
* [[Development:Translations|Translation projects]]&lt;br /&gt;
&lt;br /&gt;
=== Modding Tools ===&lt;br /&gt;
* [[Development:Scripts &amp;amp; Tools|Scripts &amp;amp; Tools]] - to make your life easier&lt;br /&gt;
** [[Development:Tools:UnitConverter|Unit Converter Manual]] - tool to convert Wavefront obj files to bfxm format including texture conversion, units stats editor, and visualization with Vega Strike.&lt;br /&gt;
** [[Development:Script:obj2obj converter|obj2obj converter]] (Perl, commandline) - Converts obj files to cockpit files. or extracts tag-data from the models. (''At least that's what is planned, Testing under Win32/Linux. [[User:pontiac|Pontiac]]'')&lt;br /&gt;
* [[OOG_Tools|Out-Of-Game Player Tools]]&lt;br /&gt;
&lt;br /&gt;
=== Front End ===&lt;br /&gt;
* [[HowTo:Take Screenshots|Taking really awesome screenshots]]&lt;br /&gt;
&lt;br /&gt;
= Vega Strike The Game Mechanisms =&lt;br /&gt;
* [[Development:Realism vs Believability|Realism vs Believability]]&lt;br /&gt;
* [[Development:Economy|Economy]] - How ingame economy should work.&lt;br /&gt;
* [[Development:Political system|Political system]]&lt;br /&gt;
&lt;br /&gt;
= Code-related Development =&lt;br /&gt;
* [[Development:Dependencies|Dependencies]] - A guide to system dependencies, broken down by subsystem.&lt;br /&gt;
* [[Development:SVN Tree|SVN Tree]] - A guide to the layout of the Subversion tree.&lt;br /&gt;
* [[Development:Code style|Code style]] -  A guide/manual to write code for Vegastrike that fits in and is readable.&lt;br /&gt;
* [[Development:Network|Network]] - Everything network related goes in here.&lt;br /&gt;
** [[Development:Network:Packet format|Packet format]] - A description of the packet format that had been implemented a few years ago.&lt;br /&gt;
** [[Development:Network:Todo|Todo]] - What still needs to be done.&lt;br /&gt;
** [[Development:Network:Testing|Testing]] - Testing the network code.&lt;br /&gt;
* [[Development:Keyboard layout|Keyboard layout]] - Discuss and display new keyboard layouts here.&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
* [[HowTos]]&lt;br /&gt;
* [[FAQ:Feature_Requests|Feature Requests]]&lt;br /&gt;
* [[Development:Audio#Voice_Acting]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Vessel:Ox&amp;diff=18272</id>
		<title>Vessel:Ox</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Vessel:Ox&amp;diff=18272"/>
				<updated>2011-04-10T22:52:57Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Description:Vessel|&lt;br /&gt;
|IMAGE=vessels/Ox/ox-hud.png&lt;br /&gt;
|CAPTION=http://vegastrike.sourceforge.net/albums/wiki_manual/Ship-Profiles/Ox_profile.jpg&lt;br /&gt;
|NAME=Ox&lt;br /&gt;
|PRODUCER=Merchants&lt;br /&gt;
|MORE PRODUCERS=(Interstellar Shipping and Mercantile Guild)&lt;br /&gt;
|ROLE_SUMMARY=External Container transport&lt;br /&gt;
|COMBAT BEHAVIOR=Lightly, and defensively armed. May engage pirates if flight is not an option, will otherwise flee or surrender.&lt;br /&gt;
|VARIANTS=Base chassis is constant, but containers are interchangeable&lt;br /&gt;
|TENURE=&lt;br /&gt;
|USERS=Merchants&lt;br /&gt;
|ROLE_VERBOSE=&lt;br /&gt;
|COMMENTS=&lt;br /&gt;
|MASS=30M&lt;br /&gt;
|LENGTH=908&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Vessels:Civilian|Ox]][[Category:Vessels:Cargo|Ox]]  [[Category:Used By:Merchants|Ox]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Template:Description:Vessel&amp;diff=18271</id>
		<title>Template:Description:Vessel</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Template:Description:Vessel&amp;diff=18271"/>
				<updated>2011-04-10T22:52:39Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Database]] [[Category:VS Tech]] [[Category:Vessels|{{{NAME}}}]]&lt;br /&gt;
[[Category:Produced By:{{{PRODUCER}}}|{{{NAME}}}]]&lt;br /&gt;
{{parent_link|parent=[[Vessels &amp;amp; Installations]]}}&lt;br /&gt;
----&lt;br /&gt;
{| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| width =&amp;quot;40%&amp;quot; | http://vegastrike.svn.sourceforge.net/svnroot/vegastrike/trunk/masters/units/{{{IMAGE}}}&lt;br /&gt;
{{{CAPTION}}}&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width =&amp;quot;25%&amp;quot; |&lt;br /&gt;
{| class=&amp;quot;toccolours&amp;quot; style=&amp;quot;margin-left: 1em; width: 100%&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;font-size:larger;&amp;quot; | '''Performance Statistics'''&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;background: #9D9CF2; color: #0000FF; text-align:center;&amp;quot; | '''{{{NAME}}}'''&lt;br /&gt;
|-&lt;br /&gt;
| '''Mass''' (empty)&lt;br /&gt;
| {{{MASS}}}&lt;br /&gt;
| ''metric tons''&lt;br /&gt;
|-&lt;br /&gt;
| '''Length'''&lt;br /&gt;
| {{{LENGTH}}}&lt;br /&gt;
| ''meters''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;35%&amp;quot;| &lt;br /&gt;
{| class=&amp;quot;toccolours&amp;quot; style=&amp;quot;margin-left: 1em; width: 100%&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;font-size:larger;&amp;quot; | '''Manufacturing Details'''&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;background: #9D9CF2; color: #0000FF; text-align:center;&amp;quot; | '''{{{NAME}}}'''&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|'''Manufacturing Faction:''' &lt;br /&gt;
|{{{PRODUCER}}} {{{MORE PRODUCERS}}}&lt;br /&gt;
|-&lt;br /&gt;
|'''Known Major Variants:''' &lt;br /&gt;
|{{{VARIANTS}}}&lt;br /&gt;
|-&lt;br /&gt;
|'''Tenure of Service:'''&lt;br /&gt;
| {{{TENURE}}}&lt;br /&gt;
|-&lt;br /&gt;
|'''Utilization:'''&lt;br /&gt;
| {{{USERS}}}&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;font-size:larger;&amp;quot; | '''Role Details'''&lt;br /&gt;
|- &lt;br /&gt;
| width=&amp;quot;10%&amp;quot; |'''Role Summary:''' &lt;br /&gt;
|{{{ROLE_SUMMARY}}}&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;br/&amp;gt;&lt;br /&gt;
|&amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | '''Role Details:''' &lt;br /&gt;
|{{{ROLE_VERBOSE}}}&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;br/&amp;gt;&lt;br /&gt;
|&amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | '''Combat Behavior:''' &lt;br /&gt;
|{{{COMBAT BEHAVIOR}}}&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;br/&amp;gt;&lt;br /&gt;
|&amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | '''Comments:'''&lt;br /&gt;
|{{{COMMENTS}}}&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development:3D_Models&amp;diff=18270</id>
		<title>Development:3D Models</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development:3D_Models&amp;diff=18270"/>
				<updated>2011-04-10T22:31:43Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* M-O */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{parent_link|parent=[[Development]]}}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
This is meant to become a '''task/status list''' for all 3d models in [[Vegastrike]].&lt;br /&gt;
&lt;br /&gt;
= Vessels =&lt;br /&gt;
&lt;br /&gt;
== Abbreviations ==&lt;br /&gt;
&lt;br /&gt;
The following to do list for vessels is divided into smaller sections to simplify updating and handling of the list in the wiki editor. The new tables have been expanded and atomized in their content. The columns are:&lt;br /&gt;
;Name: name of the vessel and link to wiki page with description and concept art or ship profile id card with in-game render&lt;br /&gt;
;Type: vessel type&lt;br /&gt;
;Species: manufacturing species&lt;br /&gt;
;Faction: manufacturing faction&lt;br /&gt;
;Style: link to artstyle guide&lt;br /&gt;
;Thread: link(s) to thread(s) with discussion of any of the vessel aspects, from artstyle to screen shots&lt;br /&gt;
;Concept: link to thread or image of the concept art on forums, wiki, or gallery&lt;br /&gt;
;Mesh: information if the mesh(es) was(were) received AND stored in masters&lt;br /&gt;
:* &amp;lt;tt&amp;gt;Un&amp;lt;/tt&amp;gt; - Unit/vessel mesh with submeshes&lt;br /&gt;
:* &amp;lt;tt&amp;gt;Sh&amp;lt;/tt&amp;gt; - custom shield mesh&lt;br /&gt;
:* &amp;lt;tt&amp;gt;LoD&amp;lt;/tt&amp;gt; - LOD meshes&lt;br /&gt;
;Textures: lists required texture types and the availability thereof (green=available, red=unavailable) including masters, for the sake of abbreviation, textures are using the following acronyms:&lt;br /&gt;
:* &amp;lt;tt&amp;gt;Di&amp;lt;/tt&amp;gt; - Diffuse&lt;br /&gt;
:* &amp;lt;tt&amp;gt;Sp&amp;lt;/tt&amp;gt; - Specular&lt;br /&gt;
:* &amp;lt;tt&amp;gt;Dm&amp;lt;/tt&amp;gt; - Damage&lt;br /&gt;
:* &amp;lt;tt&amp;gt;Gl&amp;lt;/tt&amp;gt; - Glow&lt;br /&gt;
:* &amp;lt;tt&amp;gt;No&amp;lt;/tt&amp;gt; - Normal&lt;br /&gt;
;Data: Data integration, including mesh conversion to bfxm, textures conversion and compression, update of units.csv, spawning update, hud image&lt;br /&gt;
:* &amp;lt;tt&amp;gt;Un&amp;lt;/tt&amp;gt; - Unit/vessel integration&lt;br /&gt;
:* &amp;lt;tt&amp;gt;Hud&amp;lt;/tt&amp;gt; - HUD image integration&lt;br /&gt;
:* &amp;lt;tt&amp;gt;St&amp;lt;/tt&amp;gt; - Unit stats&lt;br /&gt;
:* &amp;lt;tt&amp;gt;LoD&amp;lt;/tt&amp;gt; - LOD meshes&lt;br /&gt;
:* &amp;lt;tt&amp;gt;En&amp;lt;/tt&amp;gt; - Engine glow&lt;br /&gt;
;Frontend: availability of frontend data:&lt;br /&gt;
:* &amp;lt;tt&amp;gt;Wi&amp;lt;/tt&amp;gt; - Vessel ID image in the [http://vegastrike.sourceforge.net/wiki/Vessels_%26_Installations vessels catalog] linked either from the [http://vegastrike.sourceforge.net/forums/cpg/thumbnails.php?album=3 ship profile gallery] or [http://vegastrike.sourceforge.net/forums/cpg/thumbnails.php?album=6 concept profile gallery] (resolution 512x384)&lt;br /&gt;
:* &amp;lt;tt&amp;gt;Sc&amp;lt;/tt&amp;gt; - screen shots in [http://vegastrike.sourceforge.net/forums/cpg/thumbnails.php?album=11 screenshot gallery]&lt;br /&gt;
:* &amp;lt;tt&amp;gt;Wa&amp;lt;/tt&amp;gt; - wall paper(s) in [http://vegastrike.sourceforge.net/forums/cpg/thumbnails.php?album=16 wallpaper gallery] (optional)&lt;br /&gt;
:* &amp;lt;tt&amp;gt;Ex&amp;lt;/tt&amp;gt; - external art pages ([http://www.deviantart.com DeviantART], [http://www.conceptart.org ConceptArt.org]) (optional)&lt;br /&gt;
;To do: brief description of open things as far as not fitting into previous categories&lt;br /&gt;
;Artist(s): artists that have been contributing to the model&lt;br /&gt;
;Status: Use the following status types&lt;br /&gt;
:* {{open|OPEN}} - any of the listed items is not completed and waiting for assignment&lt;br /&gt;
:* {{assg|ASSIGNED}} (name) - somebody is knowingly working on the item noted in &amp;quot;To do&amp;quot;&lt;br /&gt;
:* {{done|DONE}} - model included in game including stats and frontend stuff&lt;br /&gt;
&lt;br /&gt;
== A-C ==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; rules=&amp;quot;rows&amp;quot; frame=&amp;quot;void&amp;quot; style=&amp;quot;width:100%;&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|'''Name'''&lt;br /&gt;
|'''Type'''&lt;br /&gt;
|'''Species'''&lt;br /&gt;
|'''Faction'''&lt;br /&gt;
|'''Style'''&lt;br /&gt;
|'''Thread'''&lt;br /&gt;
|'''Concept'''	 &lt;br /&gt;
|'''Mesh'''&lt;br /&gt;
|'''Textures'''&lt;br /&gt;
|'''Data'''&lt;br /&gt;
|'''Front -end'''&lt;br /&gt;
|'''To do'''&lt;br /&gt;
|'''Artist(s)'''&lt;br /&gt;
|'''Status'''&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Acrotatus|Acrotatus]]&lt;br /&gt;
| Small Passenger Craft&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| Multiple&lt;br /&gt;
| [[Artstyle guide:Aeran#Civilian|Aeran Civilian]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=6513 1]&lt;br /&gt;
| {{assg|A}}&lt;br /&gt;
| {{assg|Y}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| concept improvement&lt;br /&gt;
| Link&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Admonisher|Admonisher]]&lt;br /&gt;
| Light Assault/Interdiction Craft&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Homeland Security|Homeland Security]]&lt;br /&gt;
| [[Artstyle guide:Homeland Security|Homeland Security]]&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Additional (Bump, etc) maps&lt;br /&gt;
| Howard E. Day&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Agasicles|Agasicles]] (formerly 'Vark')&lt;br /&gt;
| Destroyer, venerable&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| [[Artstyle guide:Aeran|Aeran]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=2681 1], [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=4177 2]&lt;br /&gt;
| {{assg|Y}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| improve concept, create new model&lt;br /&gt;
| [[User:F1gm3nt3d|F1gm3nt3d]]&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Agesipolis|Agesipolis]] (formerly 'Vitik')&lt;br /&gt;
| Fleet Carrier, Venerable&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| [[Faction:Aera|Aera]]&lt;br /&gt;
| [[Artstyle guide:Aeran|Aeran]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=5509 1]&lt;br /&gt;
| {{assg|A}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| concept approval, new model&lt;br /&gt;
| chuck_starchaser&lt;br /&gt;
| {{assg|ASSIGNED}} (jackS)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Agis|Agis]]&lt;br /&gt;
| Aera Assault Corvette&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| [[Faction:Aera|Aera]]&lt;br /&gt;
| [[Artstyle guide:Aeran|Aeran]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=3808 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| needs model&lt;br /&gt;
| Major (concept)&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Aidi|Aidi]]&lt;br /&gt;
| Civilian&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| Multiple&lt;br /&gt;
| [[Artstyle guide:Rlaan#Civilian|Rlaan Civilian]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?f=4&amp;amp;t=13181 1]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| concept design &amp;amp; approval&lt;br /&gt;
| Fendorin&lt;br /&gt;
| {{assg|ASSIGNED}} (Fendorin) (jackS)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Ancestor|Ancestor]]&lt;br /&gt;
| Aerospace Frame &lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Shaper|Shapers]]&lt;br /&gt;
| [[Artstyle guide:Shaper|Shaper]]&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Additional (Bump, etc) maps&lt;br /&gt;
| Howard E. Day&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Archimedes|Archimedes]]&lt;br /&gt;
| Heavy Cruiser&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Andolian|Andolian]]&lt;br /&gt;
| [[Artstyle guide:Andolian|Andolian]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=10205 1]	&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Un}} {{open|Sh}} {{open|LoD}}&lt;br /&gt;
| {{done|Di}} {{done|Gl}} {{open|Sp}} {{open|Dm}} {{open|No}}&lt;br /&gt;
| {{done|Un}} {{done|Hud}} {{open|St}} {{open|LoD}} {{done|En}}&lt;br /&gt;
| {{done|Wi}} {{open|Sc}} {{open|Wa}} {{open|Ex}}&lt;br /&gt;
| shield mesh. needs stats, turrets.&lt;br /&gt;
| [[User:Fendorin|Fendorin]]&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Areus|Areus]]&lt;br /&gt;
| Fighter/Bomber&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| [[Faction:Aera|Aera]]&lt;br /&gt;
| [[Artstyle guide:Aeran|Aeran]]&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Touchups of geometric imperfections. Canon related nudging. Shield Mesh.&lt;br /&gt;
| Howard E. Day&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Ariston|Ariston]]&lt;br /&gt;
| Heavy (Escort/Superiority) Fighter&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| [[Faction:Aera|Aera]]&lt;br /&gt;
| [[Artstyle guide:Aeran|Aeran]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?f=4&amp;amp;t=13251 1]&lt;br /&gt;
| {{assg|Y}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| new concept approval&lt;br /&gt;
| Nozmajner, Howard E. Day&lt;br /&gt;
| {{assg|ASSIGNED}} (jackS) (Nozmajner)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Baron|Baron]]&lt;br /&gt;
| Uln Patrol Craft&lt;br /&gt;
| [[Species:Uln|Uln]]&lt;br /&gt;
| Uln Constabulary&lt;br /&gt;
| [[Artstyle guide:Uln(Non-Fleet)|Uln Constabulary]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=10918 1]&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| concept improvement&lt;br /&gt;
| [[User:Fendorin|Fendorin]]&lt;br /&gt;
| {{assg|ASSIGNED}} (Fendorin)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Baronet|Baronet]]&lt;br /&gt;
| Uln Fighter&lt;br /&gt;
| [[Species:Uln|Uln]]&lt;br /&gt;
| Multiple&lt;br /&gt;
| [[Artstyle guide:Uln(Royal Ingatwa Fleet)|Uln Fleet]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=12089 1]&lt;br /&gt;
| {{assg|A}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| approve concept&lt;br /&gt;
| Nózmájner&lt;br /&gt;
| {{assg|ASSIGNED}} (jackS)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Bell|Bell]]&lt;br /&gt;
| Andolian Communications Vessel&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Andolian|Andolian]]&lt;br /&gt;
| [[Artstyle guide:Andolian|Andolian]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=10917 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Un}} {{done|Sh}} {{open|LoD}}&lt;br /&gt;
| {{done|Di}} {{done|Gl}} {{done|Sp}} {{open|Dm}} {{open|No}}&lt;br /&gt;
| {{done|Un}} {{done|Hud}} {{open|St}} {{done|En}}&lt;br /&gt;
| {{done|Wi}} {{open|Sc}} {{open|Wa}} {{open|Ex}}&lt;br /&gt;
| stats review, screen shot, wallpaper&lt;br /&gt;
| [[User:Fendorin|Fendorin]]&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Camus|Camus]]&lt;br /&gt;
| Klk'k system patrol frigate&lt;br /&gt;
| [[Species:Klk'k|Klk'k]]&lt;br /&gt;
| [[Faction:Klk'k|Klk'k]] &amp;amp; [[Faction:Andolian Protectorate|Andolian Protectorate]]&lt;br /&gt;
| [[Artstyle guide:Klk'k|Klk'k]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=7580 1]&lt;br /&gt;
| {{assg|Y}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| concept improvement&lt;br /&gt;
| [[User:light_gemini|light_gemini]]&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Capybara|Capybara]]&lt;br /&gt;
| LIHW Public mass interplanetary transit&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:League of Independent Human Worlds|LIHW]]&lt;br /&gt;
| [[Artstyle guide:LIHW|LIHW]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=11819 1]&lt;br /&gt;
| {{assg|A}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| concept refinement and approval&lt;br /&gt;
| Fendorin&lt;br /&gt;
| {{assg|ASSIGNED}} (Fendorin)(jackS)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Catfish|Catfish]]&lt;br /&gt;
| Utility Mass Transport&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Forsaken|Forsaken]]&lt;br /&gt;
| [[Artstyle guide:Forsaken|Forsaken]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=1980 1], [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=2636 2]&lt;br /&gt;
| {{assg|A}}&lt;br /&gt;
| {{assg|Y}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| recover original concept [2]&lt;br /&gt;
| [[User:Pontiac|Pontiac]] Oblivion&lt;br /&gt;
| {{assg|ASSIGNED}} (pyramid)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Charillus|Charillus]]&lt;br /&gt;
| Aera Mining Craft&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| [[Faction:Aeran Merchant Marine|Aeran Merchant Marine]]&lt;br /&gt;
| [[Artstyle guide:Aeran#Civilian|Aeran &amp;quot;Civilian&amp;quot;]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=9068 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Di}} {{done|Gl}} {{done|Sp}} {{done|Dm}} {{open|No}}&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
| needs to be redone to look more Aeran; texture packing&lt;br /&gt;
| Fendorin&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Cleombrotus|Cleombrotus]]&lt;br /&gt;
| Aera Cargo Mover&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| [[Faction:Aeran Merchant Marine|Aeran Merchant Marine]]&lt;br /&gt;
| [[Artstyle guide:Aeran#Civilian|Aeran Civilian]]&lt;br /&gt;
| previously assigned to pontiac, thread?&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| need concept art&lt;br /&gt;
| &lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Clydesdale|Clydesdale]]&lt;br /&gt;
| Cruiser &lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| Member states of the [[Faction:Confederation of Inhabited Worlds|Confederation]]&lt;br /&gt;
| [[Artstyle guide:Interstellar Shipping and Mercantile Guild|Interstellar Shipping and Mercantile Guild]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Texture is too small for ship this large. Needs texture touchup + detail textures + bumpmaps. (needs redress for closeup inspections)&lt;br /&gt;
| Howard E. Day&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Convolution|Convolution]]&lt;br /&gt;
| Assault (Fighter) &lt;br /&gt;
| [[Species:Humanity|Humanity]] &lt;br /&gt;
| [[Faction:Unadorned|Unadorned]] &lt;br /&gt;
| [[Artstyle guide:Unadorned|Unadorned]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=4043 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{assg|Y}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| clean mesh. nees textures&lt;br /&gt;
| [[User:Etheral walker|Etheral walker]]&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Cultivator|Cultivator]]&lt;br /&gt;
| Shaper mining/resource gathering vessel&lt;br /&gt;
| [[Species:Humanity|Human]]&lt;br /&gt;
| [[Faction:Shaper|Shaper]]&lt;br /&gt;
| [[Artstyle guide:Shaper|Shaper]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=9531 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Di}} {{done|Gl}} {{open|Sp}} {{open|Dm}} {{open|No}}&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Wi}} {{open|Sc}} [http://vegastrike.sourceforge.net/gallery2/main.php?g2_view=core.ShowItem&amp;amp;g2_itemId=8265 {{done|Wa}}] {{open|Ex}}&lt;br /&gt;
| frontend&lt;br /&gt;
| Fendorin&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== D-F ==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; rules=&amp;quot;rows&amp;quot; frame=&amp;quot;void&amp;quot; style=&amp;quot;width:100%;&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|'''Name'''&lt;br /&gt;
|'''Type'''&lt;br /&gt;
|'''Species'''&lt;br /&gt;
|'''Faction'''&lt;br /&gt;
|'''Style'''&lt;br /&gt;
|'''Thread'''&lt;br /&gt;
|'''Concept'''	 &lt;br /&gt;
|'''Mesh'''&lt;br /&gt;
|'''Textures'''&lt;br /&gt;
|'''Data'''&lt;br /&gt;
|'''Front -end'''&lt;br /&gt;
|'''To do'''&lt;br /&gt;
|'''Artist(s)'''&lt;br /&gt;
|'''Status'''&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Derivative|Derivative]]&lt;br /&gt;
| Interceptor&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Unadorned|Unadorned]]&lt;br /&gt;
| [[Artstyle guide:Unadorned|Unadorned]] &lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=11270 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Di}} {{done|Gl}} {{done|Sp}} {{open|Dm}} {{done|No}}&lt;br /&gt;
| {{assg|Y}}&lt;br /&gt;
| {{assg|Wi}} {{open|Sc}} {{open|Wa}} {{open|Ex}}&lt;br /&gt;
| current model: stats, mesh orientation/size/detail, improve textures, engine exhaust. or new model.&lt;br /&gt;
| [[User:Deus Siddis|Deus Siddis]] [[User:Nózmájner|Nózmájner]]  &lt;br /&gt;
| {{assg|ASSIGNED}} (Deus Siddis) (Nózmájner)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Determinant|Determinant]]&lt;br /&gt;
| Fighter&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Unadorned|Unadorned]]&lt;br /&gt;
| [[Artstyle guide:Unadorned|Unadorned]] &lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=4401 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Un}} {{open|Sh}} {{open|LoD}}&lt;br /&gt;
| {{open|Di}} {{open|Gl}} {{open|Sp}} {{open|Dm}} {{open|No}}&lt;br /&gt;
| {{done|Un}} {{open|Hud}} {{open|St}} {{open|LoD}} {{open|En}}&lt;br /&gt;
| {{open|Wi}} {{open|Sc}} {{open|Wa}} {{open|Ex}}&lt;br /&gt;
| needs artstyle guide for texturing. needs texturing.&lt;br /&gt;
| [[User:Etheral walker|Etheral walker]] [[User:Nózmájner|Nózmájner]]&lt;br /&gt;
| {{assg|ASSIGNED}} (jackS) (Fendorin)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Diligence|Diligence]]&lt;br /&gt;
| Mining Craft&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Purist|Purist]]&lt;br /&gt;
| [[Artstyle guide:Purist|Purist]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=8575 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Un}} {{open|Sh}} {{open|LoD}}&lt;br /&gt;
| {{done|Di}} {{open|Gl}} {{open|Sp}} {{open|Dm}} {{open|No}}&lt;br /&gt;
| {{done|Un}} {{done|Hud}} {{open|St}} {{open|LoD}} {{done|En}} | {{done|Wi}} {{open|Sc}} {{open|Wa}} {{open|Ex}}&lt;br /&gt;
| needs shield mesh&lt;br /&gt;
| [[User:Fendorin|Fendorin]]&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Dirge|Dirge]]&lt;br /&gt;
| Insystem Utility Fighter&lt;br /&gt;
| [[Species:Shmrn|Shmrn]]&lt;br /&gt;
| [[Faction:Shmrn|Shmrn]]&lt;br /&gt;
| [[Artstyle guide:Shmrn|Shmrn]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=2984 1]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Finish tweaking cockpit ugliness, figure out what to do with cockpit interior. Add middle LOD, tweak LOD distances. Shield Mesh? Additional (Bump, etc) maps.&lt;br /&gt;
| [[User:Strangelet|Strangelet]]&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Dodo|Dodo]] Working name is Skate.&lt;br /&gt;
| Cargo Tug&lt;br /&gt;
| [[Species:Dgn|Dgn]]&lt;br /&gt;
| [[Faction:Dgn|Dgn]]&lt;br /&gt;
| [[Artstyle guide:Dgn|Dgn]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=5976 1] [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=6851 2] [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=6895 3]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Needs Texture (ingame with temp texture)&lt;br /&gt;
| [[User:Oblivion|Oblivion]]&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Dostoevsky|Dostoevsky]]&lt;br /&gt;
| Mass Production Fighter&lt;br /&gt;
| [[Species:Klk'k|Klk'k]] &amp;amp; [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Klk'k|Klk'k]] &amp;amp; [[Faction:Andolian Protectorate|Andolian Protectorate]]&lt;br /&gt;
| [[Artstyle guide:Andolian Protectorate|Andolian Protectorate]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Shield Mesh? Additional (Bump, Lighting, etc) maps. Minor Touchups at some later date&lt;br /&gt;
| [[User:Major|Major]]&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Duelist|Duelist]]&lt;br /&gt;
| Heavy Fighter constructed by High-Born Luxury Transport Conglomerate under contract from the Hunter’s Guild&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Hunter|Hunter]]&lt;br /&gt;
| [[Artstyle guide:Hunter's Guild|Hunter's Guild]]	 &lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=12007 1]	 &lt;br /&gt;
| {{open|N}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| concept required&lt;br /&gt;
| -&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Duke|Duke]]	 &lt;br /&gt;
| Uln Missile Barge&lt;br /&gt;
| [[Species:Uln|Uln]]	 &lt;br /&gt;
| [[Faction:Uln|Uln]]&lt;br /&gt;
| [[Artstyle guide:Uln(Royal Ingatwa Fleet)|Uln(Royal Ingatwa Fleet)]]	 &lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=7690 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{open|Un}} {{open|Sh}} {{open|LoD}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| needs model. needs textures&lt;br /&gt;
| Oblivion&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Duzong|Duzong]]&lt;br /&gt;
| Rlaan Occupation Vessel&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan]]&lt;br /&gt;
| [[Artstyle guide:Rlaan Enforcers|Rlaan Enforcers]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=6181 1] &lt;br /&gt;
| {{assg|Y}}&lt;br /&gt;
| {{assg|N}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| needs concept improvement and mesh&lt;br /&gt;
| concept:Ares&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Elephant|Elephant]]&lt;br /&gt;
| Merchant Mega-Hauler&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Interstellar Shipping and Mercantile Guild|Interstellar Shipping and Mercantile Guild]]&lt;br /&gt;
| [[Artstyle guide:Interstellar Shipping and Mercantile Guild|Interstellar Shipping and Mercantile Guild]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?f=4&amp;amp;t=13248 1]&lt;br /&gt;
| {{assg|Y}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| concept approval&lt;br /&gt;
| programmerandrew&lt;br /&gt;
| {{assg|ASSIGNED}} (jackS)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Ellison|Ellison]]&lt;br /&gt;
| Private yacht&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Highborn|Highborn]]&lt;br /&gt;
| [[Artstyle guide:Highborn|Highborn]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=4423 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{open|Di}} {{open|Gl}} {{open|Sp}} {{open|Dm}} {{open|No}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
| both concepts are vialble; textures&lt;br /&gt;
| [[User:tiny paintings|tiny paintings]]&lt;br /&gt;
| {{assg|ASSIGNED}} (chuck_starchaser)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Emu|Emu]]&lt;br /&gt;
| Planetary Lift Vehicle &lt;br /&gt;
| [[Species:Dgn|Dgn]] &lt;br /&gt;
| [[Faction:Dgn|Dgn]] &lt;br /&gt;
| [[Artstyle guide:Dgn|Dgn]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=9125 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Di}} {{done|Gl}} {{done|Sp}} {{done|Dm}} {{open|No}}&lt;br /&gt;
| {{assg|Y}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
| needs stats&lt;br /&gt;
| Fendorin&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Entourage|Entourage]]&lt;br /&gt;
| Luxury Personal Transportation&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Luxury Travel Conglomerate|Luxury Travel Conglomerate]]&lt;br /&gt;
| [[Artstyle guide:Luxury Travel Conglomerate|Luxury Travel Conglomerate]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=9074 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Un}} {{done|Sh}} {{open|LoD}}&lt;br /&gt;
| {{done|Di}} {{done|Gl}} {{done|Sp}} {{open|Dm}} {{open|No}}&lt;br /&gt;
| {{done|Un}} {{done|Hud}} {{open|St}} {{open|LoD}} {{done|En}}&lt;br /&gt;
| {{done|Wi}} {{open|Sc}} {{open|Wa}} {{open|Ex}}&lt;br /&gt;
| stats review. needs frontend.&lt;br /&gt;
| Fendorin&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Eurypon|Eurypon]]	 &lt;br /&gt;
| Aeran Exploration/Science Vessel	&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| [[Faction:Aera|Aera]]&lt;br /&gt;
| [[Artstyle guide:Aeran|Aeran]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?p=101500 1]&lt;br /&gt;
| {{assg|A}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| improve concept&lt;br /&gt;
| Fendorin&lt;br /&gt;
| {{assg|ASSIGNED}} (Fendorin)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== G-I ==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; rules=&amp;quot;rows&amp;quot; frame=&amp;quot;void&amp;quot; style=&amp;quot;width:100%;&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|'''Name'''&lt;br /&gt;
|'''Type'''&lt;br /&gt;
|'''Species'''&lt;br /&gt;
|'''Faction'''&lt;br /&gt;
|'''Style'''&lt;br /&gt;
|'''Thread'''&lt;br /&gt;
|'''Concept'''	 &lt;br /&gt;
|'''Mesh'''&lt;br /&gt;
|'''Textures'''&lt;br /&gt;
|'''Data'''&lt;br /&gt;
|'''Front -end'''&lt;br /&gt;
|'''To do'''&lt;br /&gt;
|'''Artist(s)'''&lt;br /&gt;
|'''Status'''&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Galahad|Galahad]]&lt;br /&gt;
| High-Born multi-purpose corvette&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Highborn|High-Born]]&lt;br /&gt;
| [[Artstyle guide:Highborn|Highborn]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?p=101500 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{open|Un}} {{open|Sh}} {{open|LoD}}&lt;br /&gt;
| {{open|Di}} {{open|Gl}} {{open|Sp}} {{open|Dm}} {{open|No}}&lt;br /&gt;
| {{open|Un}} {{open|Hud}} {{open|St}} {{open|LoD}} {{open|En}}&lt;br /&gt;
| {{done|Wi}} {{open|Sc}} {{open|Wa}} {{open|Ex}}&lt;br /&gt;
| model ship&lt;br /&gt;
| Fendorin&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Gaozong|Gaozong]]&lt;br /&gt;
| Mobile Sensor Drone&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan]]&lt;br /&gt;
| [[Artstyle guide:Rlaan|Rlaan]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=7315 1]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Needs in-game testing - custom shield meshes, etc? Needs stats, currently dummy stats.&lt;br /&gt;
| Oblivion&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Gawain|Gawain]]&lt;br /&gt;
| Highborn Interceptor&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Highborn|Highborn]]&lt;br /&gt;
| [[Artstyle guide:Highborn|Highborn]]&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Custom shield mesh? (can't recall). Factional textures (like everything else).&lt;br /&gt;
| Howard E. Day (Additional factional textures by Oblivion)&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Gleaner|Gleaner]] (Ishmael Cruiser/Voidfish model)&lt;br /&gt;
| Freighter.&lt;br /&gt;
| [[Species:Uln|Uln]]&lt;br /&gt;
| [[Faction:Uln|Uln]]&lt;br /&gt;
| [[Artstyle guide:Uln(Non-Fleet)|Uln(Non-Fleet)]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Clean up masts and engines (assigned to [[User:Halleck|Halleck]]), Minor touchups&lt;br /&gt;
| [[User:Strangelet|Strangelet]]&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Goddard|Goddard]]&lt;br /&gt;
| Bomber, recent&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Andolian|Andolian]]&lt;br /&gt;
| [[Artstyle guide:Andolian|Andolian]]&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| needs custom turrets. shield mesh. canon-redressing.&lt;br /&gt;
| Howard E. Day&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:GTIO|GTIO]]&lt;br /&gt;
| &amp;quot;Sports/Muscleship&amp;quot; civilian vessel&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Purist|Purist]]&lt;br /&gt;
| [[Artstyle guide:Purist#Civilian|Purist Civilian]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=2984 1]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Custom shield mesh, additional textures. unit has dummy stats. Needs hud pic.&lt;br /&gt;
| Strangelet (submitted as Inachiel)&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:H496|H496]]&lt;br /&gt;
| Limousine for the starfaring crowd&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Luxury Travel Conglomerate|Luxury Travel Conglomerate]]&lt;br /&gt;
| [[Artstyle guide:Luxury Travel Conglomerate|Luxury Travel Conglomerate]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=9024 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Un}} {{done|Sh}}&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:#000033;background-color:#999999&amp;quot;&amp;gt;'''LoD'''&amp;lt;/font&amp;gt;&lt;br /&gt;
| {{done|Di}} {{done|Gl}} {{done|Sp}} {{done|Dm}} {{open|No}}&lt;br /&gt;
| {{done|Un}} {{done|Hud}} {{assg|St}} {{open|LoD}} {{done|En}}&lt;br /&gt;
| {{done|Wi}} {{open|Sc}} {{open|Wa}} {{open|Ex}}&lt;br /&gt;
| stats tweaking&lt;br /&gt;
| [[User:Fendorin|Fendorin]]&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Hammer|Hammer]]&lt;br /&gt;
| LIHW Heavy fighter (aka &amp;quot;Toad&amp;quot;)&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:League of Independent Human Worlds|LIHW]], [[Faction:Interstellar Socialist Organization|ISO]]&lt;br /&gt;
| [[Artstyle guide:LIHW|LIHW]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=4708 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{assg|A}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
| model review and textures&lt;br /&gt;
| [[User:tiny paintings|tiny paintings]]&lt;br /&gt;
| {{assg|ASSIGNED}} (chuck_starchaser)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Hawking|Hawking]]&lt;br /&gt;
| Anti-Capital Energy-based Cruiser&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Andolian|Andolian]]&lt;br /&gt;
| [[Artstyle guide:Andolian|Andolian]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=8928 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Un}} {{open|Sh}} {{open|LoD}}&lt;br /&gt;
| {{done|Di}} {{done|Gl}} {{done|Sp}} {{open|Dm}} {{done|No}}&lt;br /&gt;
| {{done|Un}} {{done|Hud}} {{done|St}} {{open|LoD}} {{done|En}}&lt;br /&gt;
| {{done|Wi}} {{open|Sc}} {{open|Wa}} {{open|Ex}}&lt;br /&gt;
| needs shield mesh.&lt;br /&gt;
| Oblivion&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Hidalgo|Hidalgo]]&lt;br /&gt;
| Luxury yacht&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| Highborn, Pirates&lt;br /&gt;
| [[Artstyle guide:Highborn#Luxury Travel Conglomerate|Higborn Luxury Travel Conglomerate]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=1688 1]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| new textures. model to be replaced.&lt;br /&gt;
| Ares (model) Oblivion (textures)&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Hyena|Hyena]]&lt;br /&gt;
| Heavy &amp;quot;fighter&amp;quot; design.&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Forsaken|Forsaken]] &amp;amp; various pirate groups and civvies.&lt;br /&gt;
| [[Artstyle guide:Forsaken|Forsaken]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=1955 1] [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=9636 2]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Custom shield mesh? Additional textures.&lt;br /&gt;
| Howard E. Day (Additional textures by Oblivion)&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== J-L ==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; rules=&amp;quot;rows&amp;quot; frame=&amp;quot;void&amp;quot; style=&amp;quot;width:100%;&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|'''Name'''&lt;br /&gt;
|'''Type'''&lt;br /&gt;
|'''Species'''&lt;br /&gt;
|'''Faction'''&lt;br /&gt;
|'''Style'''&lt;br /&gt;
|'''Thread'''&lt;br /&gt;
|'''Concept'''	 &lt;br /&gt;
|'''Mesh'''&lt;br /&gt;
|'''Textures'''&lt;br /&gt;
|'''Data'''&lt;br /&gt;
|'''Front -end'''&lt;br /&gt;
|'''To do'''&lt;br /&gt;
|'''Artist(s)'''&lt;br /&gt;
|'''Status'''&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Jackal|Jackal]]&lt;br /&gt;
| Forsaken Interceptor, newer than Hyena.&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Forsaken|Forsaken]]&lt;br /&gt;
| [[Artstyle guide:Forsaken|Forsaken]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=7413 1] [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=12023 2]&lt;br /&gt;
| {{assg|Y}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
| needs remodeling&lt;br /&gt;
| Oblivion&lt;br /&gt;
| {{assg|ASSIGNED}} (Phlogios)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Kafka|Kafka]]&lt;br /&gt;
| Unarmed light cargo shuttle&lt;br /&gt;
| [[Species:Klk'k|Klk'k]]&lt;br /&gt;
| [[Faction:Klk'k|Klk'k]] (actually used throughout Protectorate)&lt;br /&gt;
| [[Artstyle guide:Klk'k|Klk'k]]&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| More texturing. Eventual retouch. Custom shield mesh. Needs re-stat&lt;br /&gt;
| PeteyG?&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Kahan|Kahan]]&lt;br /&gt;
| Modern, but aging Andolian destroyer&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Andolian|Andolian]] (&amp;amp; Protectorate, and Confed Fleet)&lt;br /&gt;
| [[Artstyle guide:Andolian|Andolian]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=10205 1] [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=11851 2]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Un}} {{done|Sh}} {{open|LoD}}&lt;br /&gt;
| {{done|Di}} {{done|Gl}} {{done|Sp}} {{open|Dm}} {{done|No}}&lt;br /&gt;
| {{done|Un}} {{done|Hud}} {{open|St}} {{open|LoD}} {{open|En}}&lt;br /&gt;
| {{done|Wi}} {{open|Sc}} {{open|Wa}} {{open|Ex}}&lt;br /&gt;
| screen shot. wallpaper.&lt;br /&gt;
| [[User:Fendorin|Fendorin]]&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Kierkegaard|Kierkegaard]]&lt;br /&gt;
| Torpedo Boat&lt;br /&gt;
| [[Species:Klk'k|Klk'k]]&lt;br /&gt;
| [[Faction:Klk'k|Klk'k]]&lt;br /&gt;
| [[Artstyle guide:Andolian Protectorate|Andolian Protectorate]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=2117 1]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| More textures, custom shield meshes, custom turrets. could really use some custom turret art. Unit needs re-stat&lt;br /&gt;
| Major &lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;	 &lt;br /&gt;
| [[Vessel:Knight|Knight]]&lt;br /&gt;
| Uln Interceptor&lt;br /&gt;
| [[Species:Uln|Uln]]&lt;br /&gt;
| [[Faction:Uln|Uln]]&lt;br /&gt;
| [[Artstyle guide:Uln(Royal Ingatwa Fleet)|Uln(Royal Ingatwa Fleet)]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=11884 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Un}} {{done|Sh}} &amp;lt;font style=&amp;quot;color:#000033;background-color:#999999&amp;quot;&amp;gt;'''LoD'''&amp;lt;/font&amp;gt;&lt;br /&gt;
| {{done|Di}} {{done|Sp}} {{open|Dm}} {{done|Gl}} {{done|No}}&lt;br /&gt;
| {{done|Un}} {{done|Hud}} {{open|St}}&lt;br /&gt;
| {{done|Wi}} [http://vegastrike.sourceforge.net/gallery2/main.php?g2_view=core.DownloadItem&amp;amp;g2_itemId=9809&amp;amp;g2_serialNumber=2 {{done|Sc}}] {{open|Wa}} {{open|Ex}}&lt;br /&gt;
| stats. wallpaper.&lt;br /&gt;
| Fendorin&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Koala|Koala]]&lt;br /&gt;
| LIHW Space Taxi.&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:League of Independent Human Worlds|LIHW]]&lt;br /&gt;
| LIHW&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Add blinking lights (blink.ani), touch-ups later&lt;br /&gt;
| Strangelet&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Lancelot|Lancelot]]&lt;br /&gt;
| Extremely capable, but questionably cost-effective, superiority fighter&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Highborn|Highborn]]&lt;br /&gt;
| [[Artstyle guide:Highborn|Highborn]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Factional textures.&lt;br /&gt;
| Howard E.Day&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Lemma|Lemma]]&lt;br /&gt;
| Corvette&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Unadorned|Unadorned]]&lt;br /&gt;
| [[Artstyle guide:Unadorned|Unadorned]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=12019 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Un}} {{open|Sh}} {{open|LoD}}&lt;br /&gt;
| {{assg|A}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
| model needs cleaning. shield and LOD meshes. needs texturing.&lt;br /&gt;
| [[User:Nózmájner|Nózmájner]]&lt;br /&gt;
| {{assg|ASSIGNED}} (Nózmájner)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Llama|Llama]]&lt;br /&gt;
| LIHW light mixed-cargo shuttle&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:League of Independent Human Worlds|LIHW]]&lt;br /&gt;
| [[Artstyle guide:LIHW|LIHW]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=2018 1]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Custom shield mesh, factional textures. face lift at some later point in time&lt;br /&gt;
| PeteyG&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== M-O ==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; rules=&amp;quot;rows&amp;quot; frame=&amp;quot;void&amp;quot; style=&amp;quot;width:100%;&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|'''Name'''&lt;br /&gt;
|'''Type'''&lt;br /&gt;
|'''Species'''&lt;br /&gt;
|'''Faction'''&lt;br /&gt;
|'''Style'''&lt;br /&gt;
|'''Thread'''&lt;br /&gt;
|'''Concept'''	 &lt;br /&gt;
|'''Mesh'''&lt;br /&gt;
|'''Textures'''&lt;br /&gt;
|'''Data'''&lt;br /&gt;
|'''Front -end'''&lt;br /&gt;
|'''To do'''&lt;br /&gt;
|'''Artist(s)'''&lt;br /&gt;
|'''Status'''&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:MacGyver|MacGyver]]&lt;br /&gt;
| Maintenance and Construction Flyer &lt;br /&gt;
| [[Species:Humanity|Human]] &lt;br /&gt;
| [[Faction:Spaceborn|Spaceborn]] &lt;br /&gt;
| [[Artstyle guide:Spaceborn|Spaceborn]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=9474 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Un}} {{done|Sh}}&lt;br /&gt;
| {{done|Di}} {{done|Gl}} {{done|Sp}} {{open|Dm}} {{done|No}}&lt;br /&gt;
| {{done|Un}} {{done|Hud}} {{done|En}} {{open|St}}&lt;br /&gt;
| {{done|Wi}} {{open|Sc}} [http://vegastrike.sourceforge.net/gallery2/main.php?g2_view=core.ShowItem&amp;amp;g2_itemId=10214 {{done|Wa}}] [http://vegastrike.sourceforge.net/gallery2/main.php?g2_view=core.ShowItem&amp;amp;g2_itemId=10216 {{done|WWa2}}] {{open|Ex}}&lt;br /&gt;
| screenshot. stats.&lt;br /&gt;
| Fendorin&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Midwife|Midwife]]&lt;br /&gt;
| Shaper Auxiliary Carrier&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Shaper|Shaper]]&lt;br /&gt;
| [[Artstyle guide:Shaper|Shaper]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=8395 1]&lt;br /&gt;
| {{assg|A}}&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{assg|A}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
| Improve new concept.&lt;br /&gt;
| [[User:Fendorin|Fendorin]]&lt;br /&gt;
| {{assg|ASSIGNED}} (Fendorin)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| [[Vessel:Battle Cruiser Mk. 32|Mk. 32 Battle Cruiser]]&lt;br /&gt;
| Battle Cruiser constructed by [[Faction:Mechanist|Mechanists]] under Confed contract. Recent&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Confederation of Inhabited Worlds|Confederation]]&lt;br /&gt;
| [[Artstyle guide:Mechanist|Mechanist]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=8377 1] [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=12001 2]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Un}} {{open|Sh}} | {{done|Di}} {{done|Gl}} {{done|Sp}} {{done|Dm}} {{open|No}}&lt;br /&gt;
| {{done|Un}} {{done|Hud}} {{open|En}} {{open|St}}&lt;br /&gt;
| {{done|Wi}} [http://vegastrike.sourceforge.net/forums/cpg/displayimage.php?pid=1140&amp;amp;fullsize=1 {{done|Sc}}] {{open|Wa}} {{open|Ex}}&lt;br /&gt;
| stats.&lt;br /&gt;
| [[User:Fendorin|Fendorin]]&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| [[Vessel:Interceptor Mk. 212|Mk. 212 Interceptor]]&lt;br /&gt;
| Mechanist Interceptor (Missile based)&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Mechanist|Mechanist]]&lt;br /&gt;
| [[Artstyle guide:Mechanist|Mechanist]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=7496 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{assg|A}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
| recover model&lt;br /&gt;
| Oblivion&lt;br /&gt;
| {{assg|ASSIGNED}} (Oblivion)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Mule|Mule]]&lt;br /&gt;
| Logistical Support Rapid Resupply vessel&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Interstellar Shipping and Mercantile Guild|Merchant]]&lt;br /&gt;
| [[Artstyle guide:Interstellar Shipping and Mercantile Guild|Merchant]]&lt;br /&gt;
| -&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Factional texture touchups, custom turrets.&lt;br /&gt;
| Howard E. Day&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| [[Vessel:Nicander|Nicander]]&lt;br /&gt;
| Interceptor&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| [[Faction:Aera|Aera]]&lt;br /&gt;
| [[Artstyle guide:Aeran|Aeran]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?f=4&amp;amp;t=13251 1]&lt;br /&gt;
| {{assg|Y}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| new concept approval&lt;br /&gt;
| Nozmajner, Howard E. Day&lt;br /&gt;
| {{assg|ASSIGNED}} (jackS) (Nozmajner)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Nietzsche|Nietzsche]]&lt;br /&gt;
| Capital Escort (Destroyer)&lt;br /&gt;
| [[Species:Humanity|Humanity]], [[Species:Klk'k|Klk'k]]&lt;br /&gt;
| [[Faction:Andolian Protectorate|Andolian Protectorate]]&lt;br /&gt;
| [[Artstyle guide:Andolian Protectorate|Andolian Protectorate]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=11168 1] [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=12123 2]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{assg|Y}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
| model detailing. textures.&lt;br /&gt;
| [[User:Etheral Walker|Etheral Walker]], [[User:CubOfJudahsLion|CoJL]], [[User:bgaskey|bgaskey]]&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| [[Vessel:Ox|Ox]]&lt;br /&gt;
| Container transport&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Interstellar Shipping and Mercantile Guild|Merchant]]&lt;br /&gt;
| [[Artstyle guide:Interstellar Shipping and Mercantile Guild|Interstellar Shipping and Mercantile Guild]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?f=4&amp;amp;t=13481 1]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Needs integration&lt;br /&gt;
| Pincushionman&lt;br /&gt;
| {{assg|ASSIGNED}} (pyramid)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== P-R ==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; rules=&amp;quot;rows&amp;quot; frame=&amp;quot;void&amp;quot; style=&amp;quot;width:100%;&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|'''Name'''&lt;br /&gt;
|'''Type'''&lt;br /&gt;
|'''Species'''&lt;br /&gt;
|'''Faction'''&lt;br /&gt;
|'''Style'''&lt;br /&gt;
|'''Thread'''&lt;br /&gt;
|'''Concept'''	 &lt;br /&gt;
|'''Mesh'''&lt;br /&gt;
|'''Textures'''&lt;br /&gt;
|'''Data'''&lt;br /&gt;
|'''Front -end'''&lt;br /&gt;
|'''To do'''&lt;br /&gt;
|'''Artist(s)'''&lt;br /&gt;
|'''Status'''&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Pacifier|Pacifier]]&lt;br /&gt;
| Aging Fighter-Bomber&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Purist|Purist]]&lt;br /&gt;
| [[Artstyle guide:Purist|Purist]]&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Shield mesh? Factional textures.&lt;br /&gt;
| Howard E. Day&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Patterson|Patterson]]&lt;br /&gt;
| Andolian Escort Frigate&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Andolian|Andolian]]&lt;br /&gt;
| [[Artstyle guide:Andolian|Andolian]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=7967 1]&lt;br /&gt;
| {{done|N}}&lt;br /&gt;
| {{assg|N}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| improve concept&lt;br /&gt;
| [[User:Phlogios|Phlogios]]&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;	 &lt;br /&gt;
| [[Vessel:Pavlov|Pavlov]]&lt;br /&gt;
| Andolian Bomber and Interceptor Drone.&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Andolian Protectorate|Andolian Protectorate]]&lt;br /&gt;
| [[Artstyle guide:Andolian Protectorate|Andolian Protectorate]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=11883 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{open|Un}} {{open|Sh}} {{open|LoD}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| needs mesh&lt;br /&gt;
| Fendorin&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Plowshare|Plowshare]]&lt;br /&gt;
| Cargo Shuttle&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Purist|Purist]]&lt;br /&gt;
| [[Artstyle guide:Purist|Purist]]&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Factional Texturing&lt;br /&gt;
| Howard E. Day&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Polydectes|Polydectes]]&lt;br /&gt;
| Aeran Escort Corvette&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| [[Faction:Aera|Aera]]&lt;br /&gt;
| [[Artstyle guide:Aeran|Aeran]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=7413 1] [http://vegastrike.sourceforge.net/forums/viewtopic.php?p=101736 2]&lt;br /&gt;
| {{assg|A}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| improve concept&lt;br /&gt;
| Oblivion&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;	 &lt;br /&gt;
| [[Vessel:Progenitor|Progenitor]]&lt;br /&gt;
| Shaper Terraforming Ship&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Shaper|Shaper]]&lt;br /&gt;
| [[Artstyle guide:Shaper|Shaper]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=8377 1]&lt;br /&gt;
| {{assg|N}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| concept required&lt;br /&gt;
| Fendorin&lt;br /&gt;
| {{assg|ASSIGNED}} (Fendorin)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Progeny|Progeny]]&lt;br /&gt;
| Light Interceptor&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Shaper|Shaper]]&lt;br /&gt;
| [[Artstyle guide:Shaper|Shaper]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Factional textures, eventual canon related redress. good model, but DO NOT, IN ANY WAY use as basis for Shaper art.&lt;br /&gt;
| Howard E. Day&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Prytanis|Prytanis]]&lt;br /&gt;
| Unarmed Aeran Shuttle&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| [[Faction:Aera|Aera]]&lt;br /&gt;
| [[Artstyle guide:Aeran|Aeran]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=7413 1] [http://vegastrike.sourceforge.net/forums/viewtopic.php?f=4&amp;amp;t=13251 2]&lt;br /&gt;
| {{assg|Y}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
| concept approval&lt;br /&gt;
| Nozmajner, Oblivion (concept)&lt;br /&gt;
| {{assg|ASSIGNED}} (jackS) (Nozmajner)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Quicksilver|Quicksilver]]&lt;br /&gt;
| Courier Ship&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Confederation of Inhabited Worlds|Confederation]]&lt;br /&gt;
| [[Artstyle guide:Confederation|Confederation]]&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Factional Texturing, Shield Mesh. Minor Touchups Desired&lt;br /&gt;
| Major&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Raven|Raven]] &lt;br /&gt;
| Most recent Forsaken superiority fighter.&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Forsaken|Forsaken]]&lt;br /&gt;
| [[Artstyle guide:Forsaken|Forsaken]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=12007 1]	 &lt;br /&gt;
| {{assg|A}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| concept improvement&lt;br /&gt;
| Fendorin&lt;br /&gt;
| {{assg|ASSIGNED}} (Fendorin)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Redeemer|Redeemer]]&lt;br /&gt;
| Fighter&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Interstellar Church of True Form's Return|Luddites]]&lt;br /&gt;
| [[Artstyle guide:Interstellar Church of True Form's Return|Interstellar Church of True Form's Return]]&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Shield Mesh, touchup work? Missing engine pontoons.&lt;br /&gt;
| Etheral Walker&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Regret|Regret]]&lt;br /&gt;
| Shmrn Insystem Superiority Fighter&lt;br /&gt;
| [[Species:Shmrn|Shmrn]]&lt;br /&gt;
| [[Faction:Shmrn|Shmrn]]&lt;br /&gt;
| [[Artstyle guide:Shmrn|Shmrn]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=9729 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Un}} {{done|Sh}} &amp;lt;font style=&amp;quot;color:#000033;background-color:#999999&amp;quot;&amp;gt;'''LoD'''&amp;lt;/font&amp;gt;&lt;br /&gt;
| {{done|Di}} {{done|Gl}} {{done|Sp}} {{open|Dm}} {{done|No}}&lt;br /&gt;
| {{done|Un}} {{done|Hud}} {{done|En}} {{open|St}}&lt;br /&gt;
| {{done|Wi}} {{open|Sc}} {{open|Wa}} {{open|Ex}}&lt;br /&gt;
| stats. frontend.&lt;br /&gt;
| Fendorin&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Reindeer|Reindeer]]&lt;br /&gt;
| Merchant cargo transfer shuttle.&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Interstellar Shipping and Mercantile Guild|Merchants]]&lt;br /&gt;
| [[Artstyle guide:Interstellar Shipping and Mercantile Guild|Interstellar Shipping and Mercantile Guild]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=7528 1]&lt;br /&gt;
| {{assg|Y}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| improve and finalize concept.&lt;br /&gt;
| Phlogios&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Robin|Robin]]&lt;br /&gt;
| Venerable LIHW multi-role fighter craft&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:League of Independent Human Worlds|LIHW]]&lt;br /&gt;
| [[Artstyle guide:LIHW|LIHW]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=11605 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{assg|A}}&lt;br /&gt;
| {{assg|A}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
| new model and textures&lt;br /&gt;
| [[User:Terazilla|Terazilla]]&lt;br /&gt;
| {{assg|ASSIGNED}} (Terazilla)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Ruizong|Ruizong]]&lt;br /&gt;
| Destroyer&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan]]&lt;br /&gt;
| [[Artstyle guide:Rlaan|Rlaan]]&lt;br /&gt;
| -&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Un}} {{done|Sh}} {{open|LoD}}&lt;br /&gt;
| {{done|Di}} {{open|Gl}} {{done|Sp}} {{open|Dm}} {{open|No}}&lt;br /&gt;
| {{done|Un}} {{done|Hud}} {{open|St}} {{open|LoD}} &amp;lt;font style=&amp;quot;color:#000033;background-color:#999999&amp;quot;&amp;gt;'''En'''&amp;lt;/font&amp;gt;&lt;br /&gt;
| {{open|Wi}} {{open|Sc}} {{open|Wa}} {{open|Ex}}&lt;br /&gt;
| stats. wiki profile.&lt;br /&gt;
| Howard E. Day&lt;br /&gt;
| {{assg|ASSIGNED}} (pyramid)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== S-U ==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; rules=&amp;quot;rows&amp;quot; frame=&amp;quot;void&amp;quot; style=&amp;quot;width:100%;&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|'''Name'''&lt;br /&gt;
|'''Type'''&lt;br /&gt;
|'''Species'''&lt;br /&gt;
|'''Faction'''&lt;br /&gt;
|'''Style'''&lt;br /&gt;
|'''Thread'''&lt;br /&gt;
|'''Concept'''	 &lt;br /&gt;
|'''Mesh'''&lt;br /&gt;
|'''Textures'''&lt;br /&gt;
|'''Data'''&lt;br /&gt;
|'''Front -end'''&lt;br /&gt;
|'''To do'''&lt;br /&gt;
|'''Artist(s)'''&lt;br /&gt;
|'''Status'''&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Sartre|Sartre]]&lt;br /&gt;
| Shuttle&lt;br /&gt;
| [[Species:Klk'k|Klk'k]] and [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Klk'k|Klk'k]], [[Faction:Purth|Purth]], and [[Faction:Andolian|Andolian]]&lt;br /&gt;
| [[Artstyle guide:Andolian Protectorate|Andolian Protectorate]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=1376 1]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Texture touchups, shield mesh, factionalizations.&lt;br /&gt;
| Major&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Schroedinger|Schroedinger]]&lt;br /&gt;
| Scout craft&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Andolian|Andolian]]&lt;br /&gt;
| [[Artstyle guide:Andolian|Andolian]] current model is non-canon.&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Factional textures? Shield Mesh?&lt;br /&gt;
| Howard E. Day&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:SeaxBane|SeaxBane]]&lt;br /&gt;
| Station security drone&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Highborn|Highborn]]&lt;br /&gt;
| [[Artstyle guide:Highborn|Highborn]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=8627 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
| wiki description, screen shots&lt;br /&gt;
| Oblivion&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Shenzong|Shenzong]]&lt;br /&gt;
| Cargo Shuttle&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan Civilian]]&lt;br /&gt;
| [[Artstyle guide:Rlaan#Civilian|Rlaan Civilian]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=7352 1]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| Oblivion&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Shizong|Shizong]]&lt;br /&gt;
| Light, rapid response craft&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan_Enforcers|Rlaan Enforcers]]&lt;br /&gt;
| [[Artstyle guide:Rlaan_Enforcers|Rlaan Enforcers]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=9601 1]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| Oblivion&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Shizu|Shizu]]&lt;br /&gt;
| Rlaan Scout ship&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan]]&lt;br /&gt;
| [[Artstyle guide:Rlaan|Rlaan]]&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| shield mesh?&lt;br /&gt;
| Howard E. Day&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Shundi|Shundi]] (aka 'lodur')&lt;br /&gt;
| Rlaan Cruiser&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan]]&lt;br /&gt;
| [[Artstyle guide:Rlaan|Rlaan]]&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| x&lt;br /&gt;
| Howard E. Day&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Sickle|Sickle]]&lt;br /&gt;
| Interceptor&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:ISO|ISO]], [[Faction:League of Independent Human Worlds|LIHW]], and [[Faction:Hunter|Hunter]]&lt;br /&gt;
| [[Artstyle guide:LIHW|LIHW]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=10875 1]&lt;br /&gt;
[http://vegastrike.sourceforge.net/forums/viewtopic.php?t=11697 2]&lt;br /&gt;
| {{assg|Y}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
| concept improvement&lt;br /&gt;
| Dunkelheit&lt;br /&gt;
| {{assg|ASSIGNED}} (Dunkelheit)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;	 &lt;br /&gt;
| [[Vessel:Squire|Squire]]&lt;br /&gt;
| Uln Flight Tender&lt;br /&gt;
| [[Species:Uln|Uln]]&lt;br /&gt;
| [[Faction:Uln|Uln]]&lt;br /&gt;
| [[Artstyle guide:Uln(Royal Ingatwa Fleet)|Uln(Royal Ingatwa Fleet)]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=8615 1]&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| concept required&lt;br /&gt;
| &lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Taizong|Taizong]]&lt;br /&gt;
| Assault Craft (Fighter/Bomber)&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan]]&lt;br /&gt;
| [[Artstyle guide:Rlaan|Rlaan]]&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Shield mesh.&lt;br /&gt;
| Howard E. Day&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Thales|Thales]]&lt;br /&gt;
| Corvette&lt;br /&gt;
| [[Species:Humanity|Humanity]] / Various&lt;br /&gt;
| original of [[Faction:Andolian|Andolian]] manufacture&lt;br /&gt;
| [[Artstyle guide:Andolian|Andolian]]&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Shield meshes, factional textures. Minor Touchups warranted.&lt;br /&gt;
| Etheral Walker&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Tridacna|Tridacna]]&lt;br /&gt;
| Forsaken FTL Colony Ship &lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Forsaken|Forsaken]]&lt;br /&gt;
| [[Artstyle guide:Forsaken|Forsaken]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=8633 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Un}} {{done|Sh}}&lt;br /&gt;
| {{done|Di}} {{done|Gl}} {{done|Sp}} {{open|Dm}} {{done|No}}&lt;br /&gt;
| {{done|Un}} {{done|Hud}} {{open|St}} {{done|En}}&lt;br /&gt;
| {{done|Wi}} {{open|Sc}} [http://vegastrike.sourceforge.net/gallery2/main.php?g2_view=core.ShowItem&amp;amp;g2_itemId=9488 {{done|Wa}}] {{open|Ex}}&lt;br /&gt;
| screenshot. needs stats.&lt;br /&gt;
| [[User:Fendorin|Fendorin]]&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== V-Z ==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; rules=&amp;quot;rows&amp;quot; frame=&amp;quot;void&amp;quot; style=&amp;quot;width:100%;&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|'''Name'''&lt;br /&gt;
|'''Type'''&lt;br /&gt;
|'''Species'''&lt;br /&gt;
|'''Faction'''&lt;br /&gt;
|'''Style'''&lt;br /&gt;
|'''Thread'''&lt;br /&gt;
|'''Concept'''	 &lt;br /&gt;
|'''Mesh'''&lt;br /&gt;
|'''Textures'''&lt;br /&gt;
|'''Data'''&lt;br /&gt;
|'''Front -end'''&lt;br /&gt;
|'''To do'''&lt;br /&gt;
|'''Artist(s)'''&lt;br /&gt;
|'''Status'''&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Vendetta|Vendetta]]&lt;br /&gt;
| Light Fighter&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Hunter|Hunter]]&lt;br /&gt;
| [[Artstyle guide:Hunter's Guild|Hunter's Guild]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=7784 1]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| * LODs(?) If absolutely needed, the polycount is quite low. * No shield mesh. * More factional textures? * Additional lights animation might be nice. * Needs better/more engine placements.&lt;br /&gt;
| Oblivion&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Vigilance|Vigilance]]&lt;br /&gt;
| Purist Corvette&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Purist|Purist]]&lt;br /&gt;
| [[Artstyle guide:Purist|Purist]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=8377 1] [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=8400 2]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Un}} {{open|Sh}}&lt;br /&gt;
| {{done|Di}} {{done|Gl}} {{done|Sp}} {{done|Dm}} {{done|No}}&lt;br /&gt;
| {{done|Un}} {{done|Hud}} {{open|St}} {{open|En}}&lt;br /&gt;
| {{done|Wi}} {{open|Sc}} [http://vegastrike.sourceforge.net/gallery2/main.php?g2_view=core.ShowItem&amp;amp;g2_itemId=10222 {{done|Wa}}] {{open|Ex}}&lt;br /&gt;
| frontend&lt;br /&gt;
| Fendorin&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Vulture|Vulture]]&lt;br /&gt;
| Forsaken Corvette&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Forsaken|Forsaken]]&lt;br /&gt;
| [[Artstyle guide:Forsaken|Forsaken]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=4658 1]&lt;br /&gt;
| {{assg|Y}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| improve concept&lt;br /&gt;
| tiny paintings&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Watson|Watson]]&lt;br /&gt;
| Flight Tender &amp;amp; Auxiliary Carrier&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Andolian|Andolian]] and allied groups&lt;br /&gt;
| [[Artstyle guide:Andolian|Andolian]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=10205 1]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Punch it in, figure out what to do with variants&lt;br /&gt;
| Fendorin&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Xuanzong|Xuanzong]]&lt;br /&gt;
| Rlaan Gas Miner&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan]]&lt;br /&gt;
| [[Artstyle guide:Rlaan#Civilian|Rlaan Civilian]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=10167 1] &lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Di}} {{open|Gl}} {{open|Sp}} {{open|Sh}} {{open|Dm}} {{open|Ao}} {{open|De}} {{open|No}} {{open|Dt}}&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Wi}} {{open|Sc}} {{open|Wa}} {{open|Ex}}&lt;br /&gt;
| frontend&lt;br /&gt;
| [[User:Fendorin|Fendorin]]&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Yeoman|Yeoman]] (&amp;quot;Stoic&amp;quot; model)&lt;br /&gt;
| Container freighter.&lt;br /&gt;
| [[Species:Uln|Uln]]&lt;br /&gt;
| [[Faction:Uln|Uln]]&lt;br /&gt;
| [[Artstyle guide:Uln(Non-Fleet)|Uln(Non-Fleet)]]&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ?&lt;br /&gt;
| [[User:Strangelet|Strangelet]]&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Zhuangzong|Zhuangzong]]&lt;br /&gt;
| Fighter&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan]]&lt;br /&gt;
| [[Artstyle guide:Rlaan|Rlaan]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Shield meshes? Touchups?&lt;br /&gt;
| Howard E. Day&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Unassigned and Private Vessels ==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; rules=&amp;quot;rows&amp;quot; frame=&amp;quot;void&amp;quot; style=&amp;quot;width:100%;&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|'''Name'''&lt;br /&gt;
|'''Type'''&lt;br /&gt;
|'''Species'''&lt;br /&gt;
|'''Faction'''&lt;br /&gt;
|'''Style'''&lt;br /&gt;
|'''Thread'''&lt;br /&gt;
|'''Concept'''	 &lt;br /&gt;
|'''Mesh'''&lt;br /&gt;
|'''Textures'''&lt;br /&gt;
|'''Data'''&lt;br /&gt;
|'''Front -end'''&lt;br /&gt;
|'''To do'''&lt;br /&gt;
|'''Artist(s)'''&lt;br /&gt;
|'''Status'''&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Atlantia (codename)&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=6475 1]&lt;br /&gt;
| {{assg|Y}}&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
| chrisdn&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| CT1000&lt;br /&gt;
| LIHW &lt;br /&gt;
| LIHW&lt;br /&gt;
| LIHW&lt;br /&gt;
| [[Artstyle guide:LIHW|LIHW]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=12134 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| needs textures&lt;br /&gt;
| rivalin &lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| CT2000&lt;br /&gt;
| LIHW Corporate Shuttle manufactured by Wake Industries&lt;br /&gt;
| LIHW&lt;br /&gt;
| LIHW&lt;br /&gt;
| [[Artstyle guide:LIHW|LIHW]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=11630 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Un}} {{open|Sh}}&lt;br /&gt;
| {{done|Di}} {{done|Gl}} {{done|Sp}} {{open|Dm}} {{open|No}}&lt;br /&gt;
| {{done|Un}} {{done|Hud}} {{open|En}} {{open|St}}&lt;br /&gt;
| {{done|Wi}} {{open|Sc}} {{open|Wa}} {{open|Ex}}&lt;br /&gt;
| needs improved textures. shield mesh. engine glow.&lt;br /&gt;
| rivalin &lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| CT3000&lt;br /&gt;
| LIHW &lt;br /&gt;
| LIHW&lt;br /&gt;
| LIHW&lt;br /&gt;
| [[Artstyle guide:LIHW|LIHW]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=12134 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| needs textures&lt;br /&gt;
| rivalin &lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Dragan&lt;br /&gt;
| Super Cargo Vessel &lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| Member states of the [[Faction:Confederation of Inhabited Worlds|Confederation]]&lt;br /&gt;
| [[Artstyle guide:Interstellar Shipping and Mercantile Guild|Interstellar Shipping and Mercantile Guild]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=11820 1]&lt;br /&gt;
| {{assg|Y}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
| rivalin &lt;br /&gt;
| {{assg|ASSIGNED}} (rivalin)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Private Assault Ship&lt;br /&gt;
|&lt;br /&gt;
| Humanity&lt;br /&gt;
| Used by private security forces and obscure organizations &lt;br /&gt;
| Highborn&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=7390 1]&lt;br /&gt;
| {{open|Y}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| improve existing concept&lt;br /&gt;
| Oblivion&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Science Vessel&lt;br /&gt;
| Highborn Science Ship&lt;br /&gt;
| Humanity&lt;br /&gt;
| [[Artstyle guide:Highborn|Highborn]]&lt;br /&gt;
| -&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=4303 1]&lt;br /&gt;
| {{done|A}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| continue modeling&lt;br /&gt;
| Ares&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Transporter&lt;br /&gt;
| Uln Transporter&lt;br /&gt;
| [[Species:Uln|Uln]]&lt;br /&gt;
| [[Faction:Uln|Uln]]&lt;br /&gt;
| [[Artstyle guide:Uln|Uln]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=11946 1]&lt;br /&gt;
| {{done|A}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| concept improvement&lt;br /&gt;
| Sindwiller&lt;br /&gt;
| {{assg|ASSIGNED}} (Sindwiller)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Unknown Vessel&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=11949 1]&lt;br /&gt;
| {{assg|A}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| concept development&lt;br /&gt;
| Ares&lt;br /&gt;
| {{assg|ASSIGNED}} (Ares)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Concept Art Requested==	 &lt;br /&gt;
* Models in this category are unclaimed by any artist and work on them has not commenced.&lt;br /&gt;
 &lt;br /&gt;
{|border=&amp;quot;1&amp;quot; rules=&amp;quot;rows&amp;quot; frame=&amp;quot;void&amp;quot; style=&amp;quot;width:100%;&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|'''Name'''&lt;br /&gt;
|'''Type'''&lt;br /&gt;
|'''Species'''&lt;br /&gt;
|'''Faction'''&lt;br /&gt;
|'''Style'''&lt;br /&gt;
|'''Thread'''&lt;br /&gt;
|'''Concept'''&lt;br /&gt;
|'''Mesh'''&lt;br /&gt;
|'''Textures'''&lt;br /&gt;
|'''Data'''&lt;br /&gt;
|'''Front -end'''&lt;br /&gt;
|'''To do'''&lt;br /&gt;
|'''Artist(s)'''&lt;br /&gt;
|'''Status'''&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Agesilaus|Agesilaus]]&lt;br /&gt;
| Diplomatic Transport&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| &lt;br /&gt;
| [[Artstyle guide:Aeran|Aeran]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;Priority: Medium&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Alcmenes|Alcmenes]]&lt;br /&gt;
| Dropship&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| &lt;br /&gt;
| [[Artstyle guide:Aeran|Aeran]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;Priority: Medium&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Anaxander|Anaxander]]&lt;br /&gt;
| Cruiser, Old&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| &lt;br /&gt;
| [[Artstyle guide:Aeran|Aeran]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;Priority: Medium&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Anaxandridas|Anaxandridas]]&lt;br /&gt;
| Battle Cruiser&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| &lt;br /&gt;
| [[Artstyle guide:Aeran|Aeran]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;Priority: Medium&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Anaxidamus|Anaxidamus]] (formerly 'Yrilan')&lt;br /&gt;
| Heavy Cruiser, Recent&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| &lt;br /&gt;
| [[Artstyle guide:Aeran|Aeran]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ''needs new model+texture''&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;Priority: Medium&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Andi|Andi]]&lt;br /&gt;
| Orbital Cargo Transport &lt;br /&gt;
| [[Species:Rlaan|Rlaan]] &lt;br /&gt;
|  &lt;br /&gt;
| [[Artstyle guide:Rlaan#Civilian|Rlaan Civilian]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;Priority: Medium&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Assault Shuttle Mk. 85|Mk. 85]]&lt;br /&gt;
| Assault Shuttle/Boarding craft&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Mechanist|Mechanist]]&lt;br /&gt;
| [[Artstyle guide:Mechanist|Mechanist]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Baird|Baird]]&lt;br /&gt;
| Aged System Patrol Boat&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Andolian|Andolian]]&lt;br /&gt;
| [[Artstyle guide:Andolian|Andolian]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Beauvoir|Beauvoir]]&lt;br /&gt;
| Primarily Klk'k operated (mixed Klk'k &amp;amp; Human crew) Mixed Transport vessel, used throughout [[Faction:Andolian Protectorate|Andolian Protectorate]] space.&lt;br /&gt;
| [[Species:Klk'k|Klk'k]] &amp;amp; [[Species:Humanity|Humanity]]&lt;br /&gt;
| Multiple&lt;br /&gt;
| [[Artstyle guide:Andolian Protectorate|Andolian Protectorate]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;Priority: Medium&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Beholder|Beholder]]&lt;br /&gt;
| Drone ship&lt;br /&gt;
| [[Species:Ancients|Ancients]]&lt;br /&gt;
| &lt;br /&gt;
| [[Artstyle guide:Ancients|Ancients]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ''deserves new texture, deserves new model''&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;Priority: Medium&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Bomber Mk. 37|Mk. 37]]&lt;br /&gt;
| Bomber&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Mechanist|Mechanists]]&lt;br /&gt;
| [[Artstyle guide:Mechanist|Mechanist]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;Priority: Medium&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:CARD|CARD]] Confederation Atmosphere Reprocessing Drone&lt;br /&gt;
| Atmosphere Reprocessing Drone made for the Confederation by the Andolians&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Andolian Protectorate|Andolian Protectorate]]&lt;br /&gt;
| [[Artstyle guide:Andolian Protectorate|Andolian Protectorate]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:CHARM|CHARM]]&lt;br /&gt;
| Confederation Homing Advanced Reconnaissance Motile&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Unadorned|Unadorned]]&lt;br /&gt;
| [[Artstyle guide:Unadorned|Unadorned]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Chengdi|Chengdi]]&lt;br /&gt;
| Lander&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan]]&lt;br /&gt;
| [[Artstyle guide:Rlaan|Rlaan]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;Priority: Medium&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Chengzong|Chengzong]]&lt;br /&gt;
| Refuse &amp;amp; Salvage Scow&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan]]&lt;br /&gt;
| [[Artstyle guide:Rlaan#Civilian|Rlaan Civilian]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;Priority: Medium&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Chongdi|Chongdi]]&lt;br /&gt;
| Cargo Shuttle&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan]]&lt;br /&gt;
| [[Artstyle guide:Rlaan#Civilian|Rlaan Civilian]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;Priority: Medium&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Chudi|Chudi]]&lt;br /&gt;
| Resupply ship&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan]]&lt;br /&gt;
| [[Artstyle guide:Rlaan#Civilian|Rlaan Civilian]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;Priority: Medium&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:CILiA|CILiA]]&lt;br /&gt;
| Confederation Initial Lifeform Applicator. Secondary Terraforming Vessel&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Confederation of Inhabited Worlds|Confed]]&lt;br /&gt;
| [[Artstyle guide:Confederation|Confederation]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Cleomenes|Cleomenes]]&lt;br /&gt;
| Mobile Sensor Platform&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| Multiple&lt;br /&gt;
| [[Artstyle guide:Aeran|Aeran]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;Priority: Medium&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:COMB|COMB]]&lt;br /&gt;
| Confederation Osmotic Mining Boat (Gas Miner)&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Confederation of Inhabited Worlds|Confederation]]&lt;br /&gt;
| [[Artstyle guide:Confederation|Confederation]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Condor|Condor]]&lt;br /&gt;
| Frigate&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Forsaken|Forsaken]]&lt;br /&gt;
| [[Artstyle guide:Forsaken|Forsaken]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;Priority: Medium&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Continuity|Continuity]]&lt;br /&gt;
| Colonization Vessel&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Purist|Purist]]&lt;br /&gt;
| [[Artstyle guide:Purist|Purist]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Consequence|Consequence]]&lt;br /&gt;
| Interceptor&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Purist|Purist]]&lt;br /&gt;
| [[Artstyle guide:Purist|Purist]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:CoTTON|CoTTON]]&lt;br /&gt;
| Confederation Total Terraforming Operations Nexus. Primary Confed Terraforming vessel&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Confederation of Inhabited Worlds|Confederation]]&lt;br /&gt;
| [[Artstyle guide:Confederation|Confederation]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Crayfish|Crayfish]]&lt;br /&gt;
| Gunboat, Recent&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Forsaken|Forsaken]]&lt;br /&gt;
| [[Artstyle guide:Forsaken|Forsaken]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;Priority: Medium&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:CUSP|CUSP]]&lt;br /&gt;
| Confederation Universal Scientific Platform. Confed Science/Exploration vessel&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Confederation of Inhabited Worlds|Confederation]]&lt;br /&gt;
| [[Artstyle guide:Confederation|Confederation]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Daizong|Daizong]]&lt;br /&gt;
| Flight Tender (Methane)&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan]]&lt;br /&gt;
| [[Artstyle guide:Rlaan|Rlaan]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;Priority: Medium&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Demaratus|Demaratus]]&lt;br /&gt;
| &amp;quot;Aenethformer&amp;quot; Auxiliary&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| [[Faction:Aera|Aera]]&lt;br /&gt;
| [[Artstyle guide:Aeran|Aeran]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;Priority: Medium&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Dependent|Dependent]]&lt;br /&gt;
| Assault Shuttle&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Shaper|Shaper]]&lt;br /&gt;
| [[Artstyle guide:Shaper|Shaper]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Dezong|Dezong]]&lt;br /&gt;
| Battleship&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan]]&lt;br /&gt;
| [[Artstyle guide:Rlaan|Rlaan]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;Priority: Medium&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Dorissus|Dorissus]]&lt;br /&gt;
| Flight Tender&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| [[Faction:Aera|Aera]]&lt;br /&gt;
| [[Artstyle guide:Aeran|Aeran]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;Priority: Medium&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Dropship Mk. 302|Mk. 302]]&lt;br /&gt;
| Drop Ship&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Mechanist|Mechanist]]&lt;br /&gt;
| [[Artstyle guide:Mechanist|Mechanist]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Duanzong|Duanzong]]&lt;br /&gt;
| Orbital Sniper Ship, Recent&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan]]&lt;br /&gt;
| [[Artstyle guide:Rlaan|Rlaan]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;Priority: Medium&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Echestratus|Echestratus]]&lt;br /&gt;
| Scout Frigate&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| [[Faction:Aera|Aera]]&lt;br /&gt;
| [[Artstyle guide:Aeran|Aeran]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Edison|Edison]]&lt;br /&gt;
| Drone manager&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Andolian Protectorate|Andolian Protectorate]]&lt;br /&gt;
| [[Artstyle guide:Andolian Protectorate|Andolian Protectorate]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Eurycratides|Eurycratides]]&lt;br /&gt;
| Communications Vessel&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| [[Faction:Aera|Aera]]&lt;br /&gt;
| [[Artstyle guide:Aeran|Aeran]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Faraday|Faraday]]&lt;br /&gt;
| Shock Trooper Support Craft &lt;br /&gt;
| [[Species:Humanity|Humanity]] &lt;br /&gt;
| [[Faction:Andolian Protectorate|Andolian Protectorate]] &lt;br /&gt;
| [[Artstyle guide:Andolian Protectorate|Andolian Protectorate]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Feidi|Feidi]]&lt;br /&gt;
| Dropship (Orbit-Ground Assault landing/supply)&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan]]&lt;br /&gt;
| [[Artstyle guide:Rlaan|Rlaan]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Forebear|Forebear]]&lt;br /&gt;
| Colonization Vessel&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Shaper|Shaper]]&lt;br /&gt;
| [[Artstyle guide:Shaper|Shaper]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Fortitude|Fortitude]]&lt;br /&gt;
| Planetary Landing Craft&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Purist|Purist]]&lt;br /&gt;
| [[Artstyle guide:Purist|Purist]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Franklin|Franklin]]&lt;br /&gt;
| Diplomatic transport&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Andolian|Andolian]]&lt;br /&gt;
| [[Artstyle guide:Andolian|Andolian]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| needs new texture, deserves new model+texture&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Gaodi|Gaodi]]&lt;br /&gt;
| Forcible Compliance Planetary Drone Craft&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan]]&lt;br /&gt;
| [[Artstyle guide:Rlaan|Rlaan]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Gaozu|Gaozu]]&lt;br /&gt;
| Chlorine (for Saahasayaay) Flight Tender&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan]]&lt;br /&gt;
| [[Artstyle guide:Rlaan|Rlaan]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Gondi|Gondi]]&lt;br /&gt;
| Colonization ship&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan]]&lt;br /&gt;
| [[Artstyle guide:Rlaan#Civilian|Rlaan Civilian]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Gongti|Gongti]]&lt;br /&gt;
| (Oxygen-breathing) client colonization ship&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan]]&lt;br /&gt;
| [[Artstyle guide:Rlaan#Civilian|Rlaan Civilian]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Guangzong|Guangzong]]&lt;br /&gt;
| Repair/Maintenance craft&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan]]&lt;br /&gt;
| [[Artstyle guide:Rlaan#Civilian|Rlaan Civilian]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Hagfish|Hagfish]]&lt;br /&gt;
| Space-Marine Boarding Unit&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Forsaken|Forsaken]]&lt;br /&gt;
| [[Artstyle guide:Forsaken|Forsaken]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Han|Han]]&lt;br /&gt;
| Exploration Ship&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan]]&lt;br /&gt;
| [[Artstyle guide:Rlaan#Civilian|Rlaan Civilian]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Humility|Humility]]&lt;br /&gt;
| Refuse and Salvage Scow&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Purist|Purist]]&lt;br /&gt;
| [[Artstyle guide:Purist|Purist]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Interceptor Mk. 273|Mk. 273]]&lt;br /&gt;
| Interceptor (Spinal Mount based)&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Mechanist|Mechanist]]&lt;br /&gt;
| [[Artstyle guide:Mechanist|Mechanist]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Janissary|Janissary]]&lt;br /&gt;
| Rlaan constructed Fighter/Assault&lt;br /&gt;
| [[Species:Saahasayaay|Saahasayaay]]&lt;br /&gt;
| [[Faction:Saahasayaay|Saahasayaay]]&lt;br /&gt;
| [[Artstyle guide:Saahasayaay|Saahasayaay]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Jouppi|Jouppi]]&lt;br /&gt;
| Multi-species capable colonization vessel&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Andolian Protectorate|Andolian Protectorate]]&lt;br /&gt;
| [[Artstyle guide:Andolian Protectorate|Andolian Protectorate]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Kindred|Kindred]]&lt;br /&gt;
| Mini Troop ship &lt;br /&gt;
| [[Species:Humanity|Humanity]] &lt;br /&gt;
| [[Faction:Shaper|Shaper]] &lt;br /&gt;
| [[Artstyle guide:Shaper|Shaper]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Kiwi|Kiwi]]&lt;br /&gt;
| Cargo container mover&lt;br /&gt;
| [[Species:Dgn|Dgn]]&lt;br /&gt;
| [[Faction:Dgn|Dgn]]&lt;br /&gt;
| [[Artstyle guide:Dgn|Dgn]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Lament|Lament]]&lt;br /&gt;
| Passenger Transport&lt;br /&gt;
| [[Species:Shmrn|Shmrn]]&lt;br /&gt;
| [[Faction:Shmrn|Shmrn]]&lt;br /&gt;
| [[Artstyle guide:Shmrn|Shmrn]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Lander Mk. 159|Mk. 159]]&lt;br /&gt;
| Planetary Lander&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Mechanist|Mechanist]]&lt;br /&gt;
| [[Artstyle guide:Mechanist|Mechanist]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Leon|Leon]]&lt;br /&gt;
| Resupply Vessel&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| [[Faction:Aera|Aera]]&lt;br /&gt;
| [[Artstyle guide:Aeran|Aeran]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Leonidas|Leonidas]] (formerly 'Yavok')&lt;br /&gt;
| Newly introduced Dreadnaught&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| [[Faction:Aera|Aera]]&lt;br /&gt;
| [[Artstyle guide:Aeran|Aeran]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Needs new model and texture (ALL)&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Mach|Mach]]&lt;br /&gt;
| Dropship&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Andolian Protectorate|Andolian Protectorate]]&lt;br /&gt;
| [[Artstyle guide:Andolian Protectorate|Andolian Protectorate]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Maxwell|Maxwell]]&lt;br /&gt;
| Orbital Troop Insertion Vessel&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Andolian Protectorate|Andolian Protectorate]]&lt;br /&gt;
| [[Artstyle guide:Andolian Protectorate|Andolian Protectorate]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:MESS|MESS]]&lt;br /&gt;
| Mishtali Experimental Slingshot Ship&lt;br /&gt;
| [[Species:Mishtali|Mishtali]]&lt;br /&gt;
| [[Faction:Mishtali|Mishtali]]&lt;br /&gt;
| [[Artstyle guide:Mishtali|Mishtali]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Miner Mk. 351|Mk. 351]]&lt;br /&gt;
| Mining craft&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Mechanist|Mechanist]]&lt;br /&gt;
| [[Artstyle guide:Mechanist|Mechanist]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Monaco|Monaco]]&lt;br /&gt;
| Luxury Mega-Cruiseship&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Luxury Travel Conglomerate|Luxury Travel Conglomerate]]&lt;br /&gt;
| [[Artstyle guide:Luxury Travel Conglomerate|Luxury Travel Conglomerate]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Niniane|Niniane]]&lt;br /&gt;
| Auxiliary Carrier&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Highborn|Highborn]]&lt;br /&gt;
| [[Artstyle guide:Highborn|Highborn]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Otto-Maddox|Otto-Maddox]]&lt;br /&gt;
| Salvage vessel&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Spaceborn|Spaceborn]]&lt;br /&gt;
| [[Artstyle guide:Spaceborn|Spaceborn]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Pacific|Pacific]]&lt;br /&gt;
| Personal Transport&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Purist|Purist]]&lt;br /&gt;
| [[Artstyle guide:Purist|Purist]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Patience|Patience]]&lt;br /&gt;
| Commuter Passenger Spacecraft&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Purist|Purist]]&lt;br /&gt;
| [[Artstyle guide:Purist|Purist]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Patrol Boat Mk. 460|Mk. 460]]&lt;br /&gt;
| System Patrol Craft&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Mechanist|Mechanist]]&lt;br /&gt;
| [[Artstyle guide:Mechanist|Mechanist]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Pausanias|Pausanias]]&lt;br /&gt;
| Gas Miner&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| [[Faction:Aeran Merchant Marine|Aeran Merchant Marine]]&lt;br /&gt;
| [[Artstyle guide:Aeran Merchant Marine|Aeran Merchant Marine]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Pelleus|Pelleus]]&lt;br /&gt;
| Newest High-Born Interceptor&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Highborn|Highborn]]&lt;br /&gt;
| [[Artstyle guide:Highborn|Highborn]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Penitence|Penitence]]&lt;br /&gt;
| Prisoner Transport&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Homeland Security|Homeland Security]]&lt;br /&gt;
| [[Artstyle guide:Homeland Security|Homeland Security]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:People-Mover Mk. 78|Mk. 78]]&lt;br /&gt;
| Passenger Hauler&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Mechanist|Mechanist]]&lt;br /&gt;
| [[Artstyle guide:Mechanist|Mechanist]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Percival|Percival]]&lt;br /&gt;
| Fleet Tender&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Highborn|Highborn]]&lt;br /&gt;
| [[Artstyle guide:Highborn|Highborn]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Pleistarchus|Pleistarchus]]&lt;br /&gt;
| Probe/Surveillance craft&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| [[Faction:Aera|Aera]]&lt;br /&gt;
| [[Artstyle guide:Aeran|Aeran]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Pleistoanax|Pleistoanax]]&lt;br /&gt;
| Repair and Maintenance craft&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| [[Faction:Aeran Merchant Marine|Aeran Merchant Marine]]&lt;br /&gt;
| [[Artstyle guide:Aeran Merchant Marine|Aeran Merchant Marine]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Polydorus|Polydorus]]&lt;br /&gt;
| Assault Shuttle&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| [[Faction:Aera|Aera]]&lt;br /&gt;
| [[Artstyle guide:Aeran|Aeran]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Procles|Procles]]&lt;br /&gt;
| Colonization Ship&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| [[Faction:Aera|Aera]]&lt;br /&gt;
| [[Artstyle guide:Aeran|Aeran]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Prudence|Prudence]]&lt;br /&gt;
| Orbital Cargo transport&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Purist|Purist]]&lt;br /&gt;
| [[Artstyle guide:Purist|Purist]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:PSC-U Mk. 29|PSC-U Mk. 29]]&lt;br /&gt;
| Ultra-Light Planetary Superiority Craft&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Mechanist|Mechanist]]&lt;br /&gt;
| [[Artstyle guide:Mechanist|Mechanist]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Reeve|Reeve]]&lt;br /&gt;
| Colonization Vessel&lt;br /&gt;
| [[Species:Uln|Uln]]&lt;br /&gt;
| [[Faction:Uln|Uln]]&lt;br /&gt;
| [[Artstyle guide:Uln(Royal Ingatwa Fleet)|Uln(Royal Ingatwa Fleet)]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Resupply and Refuel Mk. 451|Mk. 451]]&lt;br /&gt;
| Resupply and Refuel Fleet Tender&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Mechanist|Mechanist]]&lt;br /&gt;
| [[Artstyle guide:Mechanist|Mechanist]]&lt;br /&gt;
| x &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Rhincodon|Rhincodon]]&lt;br /&gt;
| Jump Ferry&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:League of Independent Human Worlds|LIHW]]&lt;br /&gt;
| [[Artstyle guide:LIHW|LIHW]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| concept&lt;br /&gt;
| -&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Scarab|Scarab]]&lt;br /&gt;
| Multi-use shuttle chassis, used for both civilian and military applications within Forsaken space. Often associated with the [[Vessel:Catfish|Catfish]].&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Forsaken|Forsaken]]&lt;br /&gt;
| [[Artstyle guide:Forsaken|Forsaken]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Shangdi|Shangdi]]&lt;br /&gt;
| Bulk Transport. This massive cargo vessel, abundant in Rlaan space, is the backbone of their interstellar movement of goods.&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan Merchants]]&lt;br /&gt;
| [[Artstyle guide:Rlaan#Civilian|Rlaan Civilian(Merchant)]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Sobriety|Sobriety]]&lt;br /&gt;
| Craft impound vessel &lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Homeland Security|Homeland Security]]&lt;br /&gt;
| [[Artstyle guide:Homeland Security|Homeland Security]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Sofono|Sofono]]&lt;br /&gt;
| Battle Cruiser &lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Andolian|Andolian]]&lt;br /&gt;
| [[Artstyle guide:Andolian|Andolian]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Soos|Soos]]&lt;br /&gt;
| Refuse and Salvage Scow &lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| [[Faction:Aeran Merchant Marine|Aeran Merchant Marine]]&lt;br /&gt;
| [[Artstyle guide:Aeran Merchant Marine|Aeran Merchant Marine]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Sorrow|Sorrow]]&lt;br /&gt;
| Interceptor. Has both insystem and outsystem variants, the interstellar variant being armed for long, dogged pursuits rather than the interdictory form of interception.&lt;br /&gt;
| [[Species:Shmrn|Shmrn]]&lt;br /&gt;
| [[Faction:Shmrn|Shmrn]]&lt;br /&gt;
| [[Artstyle guide:Shmrn|Shmrn]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Taizu|Taizu]]&lt;br /&gt;
| Methane Breather Heavy Cargo Shuttle&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan]]&lt;br /&gt;
| [[Artstyle guide:Rlaan#Civilian|Rlaan Civilian]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Teleclus|Teleclus]]&lt;br /&gt;
| Troopship&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| [[Faction:Aera|Aera]]&lt;br /&gt;
| [[Artstyle guide:Aeran|Aeran]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Tesla|Tesla]]&lt;br /&gt;
| Anti-capital cruiser. Highly specialized, and oriented around spinal mounted weaponry, this vessel is as much &amp;quot;artillery&amp;quot; as cruiser.&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Andolian|Andolian]]&lt;br /&gt;
| [[Artstyle guide:Andolian|Andolian]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Deserves new model/texture to correspond more closely to the role of the craft. The re-envisioning will preserve some stylistic features of the low-polygon original.&lt;br /&gt;
| Not Recorded - Find out&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Theopompus|Theopompus]]&lt;br /&gt;
| Aenethformer (terraforming analog) main craft&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| [[Faction:Aera|Aera]]&lt;br /&gt;
| [[Artstyle guide:Aeran|Aeran]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Tsiolkovsky|Tsiolkovsky]]&lt;br /&gt;
| Interceptor &lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Andolian Protectorate|Andolian Protectorate]]&lt;br /&gt;
| [[Artstyle guide:Andolian Protectorate|Andolian Protectorate]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Vanderbilt|Vanderbilt]]&lt;br /&gt;
| Luxury Racer &lt;br /&gt;
| [[Species:Humanity|Humanity]] &lt;br /&gt;
| [[Faction:Luxury Travel Conglomerate|Luxury Travel Conglomerate]]&lt;br /&gt;
| [[Artstyle guide:Luxury Travel Conglomerate|Luxury Travel Conglomerate]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Wendi|Wendi]]&lt;br /&gt;
| Prisoner Transport&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan Enforcers|Rlaan Enforcers]]&lt;br /&gt;
| [[Artstyle guide:Rlaan Enforcers|Rlaan Enforcers]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Wudi|Wudi]]&lt;br /&gt;
| Ship Impound Transport&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan Enforcers|Rlaan Enforcers]]&lt;br /&gt;
| [[Artstyle guide:Rlaan Enforcers|Rlaan Enforcers]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Xianzong|Xianzong]]&lt;br /&gt;
| Mining Craft&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan]]&lt;br /&gt;
| [[Artstyle guide:Rlaan#Civilian|Rlaan Civilian]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Xiaozong|Xiaozong]]&lt;br /&gt;
| Patrol Craft&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan]]&lt;br /&gt;
| [[Artstyle guide:Rlaan|Rlaan]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Xizong|Xizong]]&lt;br /&gt;
| Oxygen Breather Heavy Cargo Shuttle&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan]]&lt;br /&gt;
| [[Artstyle guide:Rlaan#Civilian|Rlaan Civilian]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Xuande|Xuande]]&lt;br /&gt;
| Light Passenger Transport&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan]]&lt;br /&gt;
| [[Artstyle guide:Rlaan#Civilian|Rlaan Civilian]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Yindi|Yindi]]&lt;br /&gt;
| Extermination Craft&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan Enforcers|Rlaan Enforcers]]&lt;br /&gt;
| [[Artstyle guide:Rlaan Enforcers|Rlaan Enforcers]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Zeuxidamus|Zeuxidamus]]&lt;br /&gt;
| Mass Cargo Hauler&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| [[Faction:Aera|Aera]]&lt;br /&gt;
| [[Artstyle guide:Aeran Merchant Marine|Aeran Merchant Marine]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Zhaozong|Zhaozong]]&lt;br /&gt;
| Heavy Enforcer Ship&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan Enforcers|Rlaan Enforcers]]&lt;br /&gt;
| [[Artstyle guide:Rlaan Enforcers|Rlaan Enforcers]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Vessel:Zhezong|Zhezong]]&lt;br /&gt;
| Mass passenger liner&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan]]&lt;br /&gt;
| [[Artstyle guide:Rlaan#Civilian|Rlaan Civilian]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&amp;lt;BR&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Installations=&lt;br /&gt;
&lt;br /&gt;
The sorting of the following table is alphabetical ascending by Installation '''Type'''.&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; rules=&amp;quot;rows&amp;quot; frame=&amp;quot;void&amp;quot; style=&amp;quot;width:100%;&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|'''Name'''&lt;br /&gt;
|'''Type'''&lt;br /&gt;
|'''Species'''&lt;br /&gt;
|'''Faction'''&lt;br /&gt;
|'''Style'''&lt;br /&gt;
|'''Forum Thread'''&lt;br /&gt;
|'''Concept'''&lt;br /&gt;
|'''Mesh'''&lt;br /&gt;
|'''Textures'''&lt;br /&gt;
|'''Data'''&lt;br /&gt;
|'''Front -end'''&lt;br /&gt;
|'''To do'''&lt;br /&gt;
|'''Artist(s)'''&lt;br /&gt;
|'''Status'''&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Confed Agricultural Station&lt;br /&gt;
| Agricultural Station&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Confederation of Inhabited Worlds|Confederation]]&lt;br /&gt;
| [[Artstyle guide:Confederation|Confederation]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| -&lt;br /&gt;
| [[User:Strangelet|Strangelet]]&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Installation:Aeran Anti-matter Refinery|Aeran Anti-matter Refinery]]&lt;br /&gt;
| Antimatter Refinery&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| [[Faction:Aera|Aera]]&lt;br /&gt;
| [[Artstyle guide:Aeran|Aeran]]&lt;br /&gt;
| x&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| concept required&lt;br /&gt;
| -&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Installation:Confederation Anti-matter Refinery|Confederation Anti-matter Refinery]]&lt;br /&gt;
| Antimatter Refinery&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| Various&lt;br /&gt;
| [[Artstyle guide:Confederation|Confederation]]&lt;br /&gt;
| x&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| concept required&lt;br /&gt;
| -&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Installation:Rlaan Anti-matter Refinery|Rlaan Anti-matter Refinery]]&lt;br /&gt;
| Antimatter Refinery&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| Various&lt;br /&gt;
| [[Artstyle guide:Rlaan|Rlaan]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?f=4&amp;amp;t=11301 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{assg|Y}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| mesh rework.&lt;br /&gt;
| concept:Link mesh: chuck_starchaser&lt;br /&gt;
| {{assg|ASSIGNED}} (chuck_starchaser)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Installation:Shmrn Area Fortifications|Shmrn Area Fortifications]]&lt;br /&gt;
| Area Fortifications&lt;br /&gt;
| [[Species:Shmrn|Shmrn]]&lt;br /&gt;
| [[Faction:Shmrn|Shmrn]]&lt;br /&gt;
| [[Artstyle guide:Shmrn|Shmrn]]&lt;br /&gt;
| x&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| concept required&lt;br /&gt;
| -&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Installation:Aeran Asteroid Fighter-Base|Aeran Asteroid Fighter-Base]]&lt;br /&gt;
| Asteroid Fighter-Base&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| [[Faction:Aera|Aera]]&lt;br /&gt;
| [[Artstyle guide:Aeran|Aeran]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| dummy base exists. Needs serious work to scale and set up subunits/turrets&lt;br /&gt;
| Ryder P. Moses&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Installation:Confederation Asteroid Fighter-Base|Confederation Asteroid Fighter-Base]]&lt;br /&gt;
| Asteroid Fighter-Base&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Confederation of Inhabited Worlds|Confederation]]&lt;br /&gt;
| [[Artstyle guide:Confederation|Confederation]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| -&lt;br /&gt;
| [[User:Strangelet|Strangelet]]&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Installation:Rlaan Asteroid Fighter-Base|Rlaan Asteroid Fighter-Base]]&lt;br /&gt;
| Asteroid Fighter-Base&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan]]&lt;br /&gt;
| [[Artstyle guide:Rlaan|Rlaan]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ''deserves new model+texture''&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Installation:Uln Asteroid Refinery|Uln Asteroid Refinery]]&lt;br /&gt;
| Asteroid Refinery&lt;br /&gt;
| [[Species:Uln|Uln]]&lt;br /&gt;
| [[Faction:Uln|Uln]]&lt;br /&gt;
| [[Artstyle guide:Uln|Uln]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?f=4&amp;amp;t=7126 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Un}} {{open|Sh}} {{open|LoD}}&lt;br /&gt;
| {{done|Di}} {{done|Gl}} {{done|Sp}} {{open|Dm}} {{open|No}}&lt;br /&gt;
| {{done|Un}} {{done|Hud}} {{open|St}} {{open|LoD}} {{done|Do}}&lt;br /&gt;
| {{open|Wi}} {{done|Sc}} {{open|Wa}} {{open|Ex}}&lt;br /&gt;
| stats. frontend.&lt;br /&gt;
| Oblivion&amp;lt;br&amp;gt;Fendorin&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Installation:Civilian Asteroid Shipyard|Civilian Asteroid Shipyard]]&lt;br /&gt;
| Asteroid Shipyard &lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Confederation of Inhabited Worlds|Confederation]]&lt;br /&gt;
| [[Artstyle guide:Confederation|Confederation]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?f=4&amp;amp;t=11586 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{assg|Y}}&lt;br /&gt;
| {{open|Wi}} [http://vegastrike.sourceforge.net/forums/cpg/displayimage.php?album=13&amp;amp;pos=0 {{done|Sc}}] {{open|Wa}} {{open|Ex}}&lt;br /&gt;
| -&lt;br /&gt;
| [[User:Fendorin|Fendorin]]&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Installation:Shaper Bio-Adaptation Station|Shaper Bio-Adaptation Station]]&lt;br /&gt;
| Bio-Adaptation and Isolation Station&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Shaper|Shaper]]&lt;br /&gt;
| [[Artstyle guide:Shaper|Shaper]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?f=4&amp;amp;t=9539 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Un}} {{open|Sh}} {{open|LoD}}&lt;br /&gt;
| {{done|Di}} {{done|Gl}} {{done|Sp}} {{open|Dm}} {{done|No}}&lt;br /&gt;
| {{done|Un}} {{done|Hud}} {{open|St}} {{open|LoD}} {{done|Do}}&lt;br /&gt;
| {{open|Wi}} {{done|Sc}} {{open|Wa}} {{open|Ex}}&lt;br /&gt;
| wiki profile, wallpaper&lt;br /&gt;
| Fendorin&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Installation:Rlaan-Briin Bio-Mod Research Station|Rlaan Briin Bio-Mod Research Station]]&lt;br /&gt;
| Bio-Modification Research Station&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan Briin|Rlaan Briin]]&lt;br /&gt;
| [[Artstyle guide:Rlaan Briin|Rlaan Briin]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| * ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Installation:Rlaan Civilian Population Defense Redoubt|Rlaan Civilian Population Defense Redoubt]]&lt;br /&gt;
| Civilian Population Defense Redoubt&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan]]&lt;br /&gt;
| [[Artstyle guide:Rlaan#Civilian|Rlaan Civilian]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|  * ALL&lt;br /&gt;
| x&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Installation:Confederation Commerce Center|Confederation Commerce Center]]&lt;br /&gt;
| Commerce Center (Design Licensed From an ISMG Controlled Entity)&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| Member states of the [[Faction:Confederation of Inhabited Worlds|Confederation]] &lt;br /&gt;
| [[Artstyle guide:Interstellar Shipping and Mercantile Guild|Interstellar Shipping and Mercantile Guild]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| * Additional (Bump, etc) maps&lt;br /&gt;
| [[User:Strangelet|Strangelet]]&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Rlaan Commerce Center&lt;br /&gt;
| Commerce Center&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan]]&lt;br /&gt;
| [[Artstyle guide:Rlaan|Rlaan]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?f=4&amp;amp;t=11973 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
| -&lt;br /&gt;
| Fendorin&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Uln Commerce Center&lt;br /&gt;
| Commerce Center&lt;br /&gt;
| [[Species:Uln|Uln]]&lt;br /&gt;
| [[Faction:Uln|Uln]]&lt;br /&gt;
| [[Artstyle guide:Uln|Uln]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?f=4&amp;amp;t=7126 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
| -&lt;br /&gt;
| Oblivion&amp;lt;br&amp;gt;Fendorin&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Diplomatic Center&lt;br /&gt;
| Diplomatic Center&lt;br /&gt;
| Uln?&lt;br /&gt;
| Uln?&lt;br /&gt;
| x&lt;br /&gt;
| x&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{assg|Y}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
| -&lt;br /&gt;
| [[User:Strangelet|Strangelet]]&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Confed Factory&lt;br /&gt;
| Factory&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Confederation of Inhabited Worlds|Confederation]]&lt;br /&gt;
| [[Artstyle guide:Confederation|Confederation]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| -&lt;br /&gt;
| artist?&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Confed Fighter Barracks&lt;br /&gt;
| Fighter Barracks&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Confederation of Inhabited Worlds|Confederation]]&lt;br /&gt;
| [[Artstyle guide:Confederation|Confederation]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| -&lt;br /&gt;
| artist unknown&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Rlaan Fighter Barracks&lt;br /&gt;
| Fighter Barracks&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan]]&lt;br /&gt;
| [[Artstyle guide:Rlaan|Rlaan]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?f=4&amp;amp;t=11973 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Un}} {{open|Sh}} {{open|LoD}}&lt;br /&gt;
| {{done|Di}} {{done|Gl}} {{done|Sp}} {{open|Dm}} {{done|No}}&lt;br /&gt;
| {{done|Un}} {{done|Hud}} {{open|St}} {{open|LoD}} {{done|Do}}&lt;br /&gt;
| {{open|Wi}} {{open|Sc}} {{open|Wa}} {{open|Ex}}&lt;br /&gt;
| wiki profile&lt;br /&gt;
| [[User:Fendorin|Fendorin]]&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Confed Gas Mine&lt;br /&gt;
| Gas Mine&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Confederation of Inhabited Worlds|Confederation]]&lt;br /&gt;
| [[Artstyle guide:Confederation|Confederation]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| -&lt;br /&gt;
| [[User:Strangelet|Strangelet]]&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Aeran Medical Station&lt;br /&gt;
| Medical Station&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| [[Faction:Aera|Aera]]&lt;br /&gt;
| [[Artstyle guide:Aeran|Aeran]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?f=28&amp;amp;t=8925 1]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| improve model + texture&lt;br /&gt;
| Fendorin&lt;br /&gt;
| {{assg|ASSIGNED}} (Fendorin)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Confed Medical Station&lt;br /&gt;
| Medical Station&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Confederation of Inhabited Worlds|Confed]]&lt;br /&gt;
| [[Artstyle guide:Confederation|Confederation]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ?&lt;br /&gt;
| &lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Rlaan Medical Station&lt;br /&gt;
| Medical Station&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan]]&lt;br /&gt;
| [[Artstyle guide:Rlaan|Rlaan]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?f=4&amp;amp;t=11973 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Un}} {{open|Sh}} {{open|LoD}}&lt;br /&gt;
| {{done|Di}} {{done|Gl}} {{done|Sp}} {{open|Dm}} {{done|No}}&lt;br /&gt;
| {{done|Un}} {{done|Hud}} {{open|St}} {{open|LoD}}&lt;br /&gt;
| {{open|Wi}} {{open|Sc}} {{open|Wa}} {{open|Ex}}&lt;br /&gt;
| wiki profile. screen shot.&lt;br /&gt;
| Fendorin&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Mining Base&lt;br /&gt;
| Mining Base&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?f=4&amp;amp;t=11159 1]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| integrate improved Base model&lt;br /&gt;
| [[User:chuck_starchaser|chuck_starchaser]]&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Aera Mining Base&lt;br /&gt;
| Mining Base&lt;br /&gt;
| [[Species:Aera|Aera]]&lt;br /&gt;
| [[Faction:Aera|Aera]]&lt;br /&gt;
| [[Artstyle guide:Aeran|Aeran]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?f=4&amp;amp;t=2822 1]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| needs mesh cleaning&lt;br /&gt;
| kark88&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Pirate Mining Base&lt;br /&gt;
| Mining Base&lt;br /&gt;
| [[Species:Humanity|Human]]&lt;br /&gt;
| [[Faction:Pirates|Pirates]]&lt;br /&gt;
| [[Artstyle guide:Pirates|Pirates]]&lt;br /&gt;
| Supplementary glowmap made by Halleck&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| * Update HUD Image * Lighten up materials? * Mounts + docking points&lt;br /&gt;
| [[User:Fendorin|Fendorin]]&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Rlaan Mining Base&lt;br /&gt;
| Mining Base&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan]]&lt;br /&gt;
| [[Artstyle guide:Rlaan|Rlaan]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?f=4&amp;amp;t=9755 1] [http://vegastrike.sourceforge.net/forums/viewtopic.php?f=4&amp;amp;t=11973 2]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Un}} {{open|Sh}} {{open|LoD}}&lt;br /&gt;
| {{done|Di}} {{done|Gl}} {{done|Sp}} {{open|Dm}} {{open|No}}&lt;br /&gt;
| {{done|Un}} {{done|Hud}} {{open|St}} {{open|LoD}} {{done|Do}}&lt;br /&gt;
| {{open|Wi}} {{open|Sc}} {{open|Wa}} {{open|Ex}}&lt;br /&gt;
| wiki profile&lt;br /&gt;
| Fendorin&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Confederation Outpost&lt;br /&gt;
| Outpost&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Confederation of Inhabited Worlds|Confed]] + [[Faction:Forsaken|Forsaken]]&lt;br /&gt;
| [[Artstyle guide:Confederation|Confederation]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?f=4&amp;amp;t=6397&amp;amp;st=0&amp;amp;sk=t&amp;amp;sd=a&amp;amp;start=120 1]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| -&lt;br /&gt;
| Kangaroo?&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Rlaan Outpost&lt;br /&gt;
| Outpost&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan]]&lt;br /&gt;
| [[Artstyle guide:Rlaan|Rlaan]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?f=4&amp;amp;t=11973 1]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| improve model&lt;br /&gt;
| Fendorin&lt;br /&gt;
| {{assg|ASSIGNED}} (Fendorin)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Confed Refinery&lt;br /&gt;
| Refinery&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Confederation of Inhabited Worlds|Confed]]&lt;br /&gt;
| [[Artstyle guide:Confederation|Confederation]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ?&lt;br /&gt;
| &lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Uln Refinery&lt;br /&gt;
| Refinery&lt;br /&gt;
| [[Species:Uln|Uln]]&lt;br /&gt;
| [[Faction:Uln|Uln]]&lt;br /&gt;
| [[Artstyle guide:Uln|Uln]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?f=4&amp;amp;t=7126 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Un}} {{open|Sh}} {{open|LoD}}&lt;br /&gt;
| {{done|Di}} {{done|Gl}} {{done|Sp}} {{open|Dm}} {{open|No}}&lt;br /&gt;
| {{done|Un}} {{done|Hud}} {{open|St}} {{open|LoD}} {{done|Do}}&lt;br /&gt;
| {{open|Wi}} {{open|Sc}} {{open|Wa}} {{open|Ex}}&lt;br /&gt;
| stats. frontend.&lt;br /&gt;
| Oblivion&amp;lt;br&amp;gt;Fendorin&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Confed Relay Station&lt;br /&gt;
| Relay Station&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Confederation of Inhabited Worlds|Confed]]&lt;br /&gt;
| [[Artstyle guide:Confederation|Confederation]]&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| -&lt;br /&gt;
| ?&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Forsaken Relay Station&lt;br /&gt;
| Relay Station&lt;br /&gt;
| [[Species:Humanity|Humanity]] &lt;br /&gt;
| [[Faction:Forsaken|Forsaken]]&lt;br /&gt;
| [[Artstyle guide:Forsaken|Forsaken]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?f=4&amp;amp;t=12130 1]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| provide model&lt;br /&gt;
| Fendorin&lt;br /&gt;
| {{assg|ASSIGNED}} (Fendorin)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Confed Research Station&lt;br /&gt;
| Research Station&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Confederation of Inhabited Worlds|Confederation]]&lt;br /&gt;
| [[Artstyle guide:Confederation|Confederation]]&lt;br /&gt;
| x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| -&lt;br /&gt;
| ?&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Forsaken Shipyard&lt;br /&gt;
| Shipyard &lt;br /&gt;
| [[Species:Humanity|Humanity]] &lt;br /&gt;
| [[Faction:Forsaken|Forsaken]]&lt;br /&gt;
| [[Artstyle guide:Forsaken|Forsaken]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?f=28&amp;amp;t=8761 1]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| provide model&lt;br /&gt;
| [[User:Fendorin|Fendorin]]&lt;br /&gt;
| {{assg|ASSIGNED}} (Fendorin)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Space Colony&lt;br /&gt;
| Space Colony&lt;br /&gt;
| [[Species:Humanity|Humanity]] &lt;br /&gt;
| [[Faction:Forsaken|Forsaken]]&lt;br /&gt;
| [[Artstyle guide:Forsaken|Forsaken]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?f=4&amp;amp;t=6397 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
| texturing required&lt;br /&gt;
| chuck_starchaser&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Installation:Confederation_Star_Fortress|Confederation Star Fortress]]&lt;br /&gt;
| Star Fortress&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| Member states of the [[Faction:Confederation of Inhabited Worlds|Confederation]] &lt;br /&gt;
| [[Artstyle guide:Confederation|Confederation]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?f=4&amp;amp;t=2432 1]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| x&lt;br /&gt;
| ?&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Installation:Rlaan_Star_Fortress|Rlaan Star Fortress]]&lt;br /&gt;
| Star Fortress&lt;br /&gt;
| [[Species:Rlaan|Rlaan]]&lt;br /&gt;
| [[Faction:Rlaan|Rlaan]]&lt;br /&gt;
| [[Artstyle guide:Rlaan|Rlaan]]&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?f=4&amp;amp;t=11973 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Un}} {{open|Sh}} {{open|LoD}}&lt;br /&gt;
| {{done|Di}} {{done|Gl}} {{done|Sp}} {{open|Dm}} {{open|No}}&lt;br /&gt;
| {{done|Un}} {{done|Hud}} {{open|St}} {{open|LoD}} {{done|Do}}&lt;br /&gt;
| {{open|Wi}} {{done|Sc}} {{open|Wa}} {{open|Ex}}&lt;br /&gt;
| stats. frontend.&lt;br /&gt;
| Fendorin&lt;br /&gt;
| {{done|DONE}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Turrets and Subunits=&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; rules=&amp;quot;rows&amp;quot; frame=&amp;quot;void&amp;quot; style=&amp;quot;width:100%;&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|'''Name'''&lt;br /&gt;
|'''Type'''&lt;br /&gt;
|'''Species'''&lt;br /&gt;
|'''Faction'''&lt;br /&gt;
|'''Style'''&lt;br /&gt;
|'''Thread'''&lt;br /&gt;
|'''Concept'''&lt;br /&gt;
|'''Mesh'''&lt;br /&gt;
|'''Textures'''&lt;br /&gt;
|'''Data'''&lt;br /&gt;
|'''Front -end'''&lt;br /&gt;
|'''To do'''&lt;br /&gt;
|'''Artist(s)'''&lt;br /&gt;
|'''Status'''&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Mechanical Arm&lt;br /&gt;
| Mechanical Arm&lt;br /&gt;
| any&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=3182 1]&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| -&lt;br /&gt;
| [[User:Pontiac|Pontiac]]&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Cockpits=&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; rules=&amp;quot;rows&amp;quot; frame=&amp;quot;void&amp;quot; style=&amp;quot;width:100%;&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|'''Name'''&lt;br /&gt;
|'''Species / Faction / Type'''&lt;br /&gt;
|'''Style / Concept art'''&lt;br /&gt;
|'''Comments &amp;amp; Criticisms'''&lt;br /&gt;
|'''To do'''&lt;br /&gt;
|'''Artist(s)'''&lt;br /&gt;
|'''Status'''&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Bomber Cockpit&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|{{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Heavy Cockpit&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|{{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Light Cockpit&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|Strangelet&lt;br /&gt;
|{{done|DONE}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Medium Cockpit&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|{{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Rlaan Cockpit&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|who's the artist?&lt;br /&gt;
|{{done|DONE}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Cargo=&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; rules=&amp;quot;rows&amp;quot; frame=&amp;quot;void&amp;quot; style=&amp;quot;width:100%;&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|'''Name'''&lt;br /&gt;
|'''Species / Faction / Type'''&lt;br /&gt;
|'''Style / Concept art'''&lt;br /&gt;
|'''Comments &amp;amp; Criticisms'''&lt;br /&gt;
|'''To do'''&lt;br /&gt;
|'''Artist(s)'''&lt;br /&gt;
|'''Status'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Equipment=&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; rules=&amp;quot;rows&amp;quot; frame=&amp;quot;void&amp;quot; style=&amp;quot;width:100%;&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|'''Name'''&lt;br /&gt;
|'''Type'''&lt;br /&gt;
|'''Species'''&lt;br /&gt;
|'''Faction'''&lt;br /&gt;
|'''Style'''&lt;br /&gt;
|'''Thread'''&lt;br /&gt;
|'''Concept'''&lt;br /&gt;
|'''Mesh'''&lt;br /&gt;
|'''Textures'''&lt;br /&gt;
|'''Data'''&lt;br /&gt;
|'''Front -end'''&lt;br /&gt;
|'''To do'''&lt;br /&gt;
|'''Artist(s)'''&lt;br /&gt;
|'''Status'''&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Mobile Battery Platform&lt;br /&gt;
| Mobile Battery Platform&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| x&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?f=4&amp;amp;t=6925 1]&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
|&lt;br /&gt;
| check status&lt;br /&gt;
| Oblivion&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nav &amp;amp; Comm Buoy&lt;br /&gt;
| Navigation and Communication Buoy&lt;br /&gt;
| [[Species:Humanity|Humanity]]&lt;br /&gt;
| [[Faction:Confederation of Inhabited Worlds|Confed]] + [[Faction:Forsaken|Forsaken]]&lt;br /&gt;
| [[Artstyle guide:Confederation]], [[Artstyle guide:ISO|Confederation]], [[Artstyle guide:ISO]] &lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=2636 1]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| * pending for inclusion - waiting on code that uses zones of control&lt;br /&gt;
| [[User:Pontiac|Pontiac]]&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Relay Satellite&lt;br /&gt;
| Relay Satellite&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| x&lt;br /&gt;
| x&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{open|N}}&lt;br /&gt;
|&lt;br /&gt;
| spawning?&lt;br /&gt;
| ?&lt;br /&gt;
| {{open|OPEN}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Table Template=&lt;br /&gt;
Use and leave this as template.&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; rules=&amp;quot;rows&amp;quot; frame=&amp;quot;void&amp;quot; style=&amp;quot;width:100%;&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|'''Name'''&lt;br /&gt;
|'''Type'''&lt;br /&gt;
|'''Species'''&lt;br /&gt;
|'''Faction'''&lt;br /&gt;
|'''Style'''&lt;br /&gt;
|'''Thread'''&lt;br /&gt;
|'''Concept'''	 &lt;br /&gt;
|'''Mesh'''&lt;br /&gt;
|'''Textures'''&lt;br /&gt;
|'''Data'''&lt;br /&gt;
|'''Front -end'''&lt;br /&gt;
|'''To do'''&lt;br /&gt;
|'''Artist(s)'''&lt;br /&gt;
|'''Status'''&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| [[Species:|Species:]]&lt;br /&gt;
| [[Faction:|Faction:]]&lt;br /&gt;
| [[Artstyle guide:|Artstyle guide:]]&lt;br /&gt;
|?&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Un}} {{open|Sh}} {{open|LoD}}&lt;br /&gt;
| {{done|Di}} {{done|Gl}} {{open|Sp}} {{open|Dm}} {{open|No}}&lt;br /&gt;
| {{done|Un}} {{done|Hud}} {{open|St}} {{open|LoD}} {{done|En}}&lt;br /&gt;
| {{done|Wi}} {{open|Sc}} {{open|Wa}} {{open|Ex}}&lt;br /&gt;
|?&lt;br /&gt;
| [[User:|User:]]&lt;br /&gt;
| {{done|DONE}} {{assg|ASSIGNED}} (username) {{open|OPEN}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; rules=&amp;quot;rows&amp;quot; frame=&amp;quot;void&amp;quot; style=&amp;quot;width:100%;&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|'''Name'''&lt;br /&gt;
|'''Type'''&lt;br /&gt;
|'''Species'''&lt;br /&gt;
|'''Faction'''&lt;br /&gt;
|'''Style'''&lt;br /&gt;
|'''Thread'''&lt;br /&gt;
|'''Concept'''	 &lt;br /&gt;
|'''Mesh'''&lt;br /&gt;
|'''Textures'''&lt;br /&gt;
|'''Data'''&lt;br /&gt;
|'''Front -end'''&lt;br /&gt;
|'''To do'''&lt;br /&gt;
|'''Artist(s)'''&lt;br /&gt;
|'''Status'''&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| [[Species:|Species:]]&lt;br /&gt;
| [[Faction:|Faction:]]&lt;br /&gt;
| [[Artstyle guide:|Artstyle guide:]]&lt;br /&gt;
|?&lt;br /&gt;
| {{done|Y}}&lt;br /&gt;
| {{done|Un}} {{open|Sh}} {{open|LoD}}&lt;br /&gt;
| {{done|Di}} {{done|Gl}} {{open|Sp}} {{open|Dm}} {{open|No}}&lt;br /&gt;
| {{done|Un}} {{done|Hud}} {{open|St}} {{open|LoD}} {{done|En}}&lt;br /&gt;
| {{done|Wi}} {{open|Sc}} {{open|Wa}} {{open|Ex}}&lt;br /&gt;
|?&lt;br /&gt;
| [[User:|User:]]&lt;br /&gt;
| {{done|DONE}} {{assg|ASSIGNED}} (username) {{open|OPEN}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
* [[Vessels &amp;amp; Installations]]&lt;br /&gt;
* [[Artstyle guides|Artstyle guides]]&lt;br /&gt;
* [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=2491 Ships, installations, and model status]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Graphics]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Model_Guidelines&amp;diff=18269</id>
		<title>Development:Model Guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Model_Guidelines&amp;diff=18269"/>
				<updated>2011-04-10T22:22:56Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* Modeling Pipeline Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{parent_link|parent=[[Development]]}}&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
The intention of this document is to give artists using the Vega Strike engine some suggested guidelines to follow in creating models. You may also wish to have a look at the corresponding [[Development:Texture_Guidelines|texturing guidelines]].&lt;br /&gt;
&lt;br /&gt;
So you want to create a new ship for Vega Strike, do you?  While virtually all models are welcome, well before you start cranking out wonderfully designed models we request that you first check what models are still required.&lt;br /&gt;
&lt;br /&gt;
{{warning_text |&lt;br /&gt;
| text='''Note:''' If you wish to contribute a new or updated model (ship, installation, turret, cockpit, ..) to the game Vega Strike, please see the [[Development:3D_Models|'''3D Models''']] page for models requiring attention.}}&lt;br /&gt;
&lt;br /&gt;
Alternatively, contact [[User:jackS|jackS]] or [[User:pyramid|pyramid]].&lt;br /&gt;
&lt;br /&gt;
= Modeling Pipeline Overview =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;2&amp;quot; rules=&amp;quot;rows&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;1&amp;quot; style=&amp;quot;width:100%; text-align:center; background-color:#98ffb2&amp;quot; |&lt;br /&gt;
|'''Step&lt;br /&gt;
|'''Input&lt;br /&gt;
|'''Output&lt;br /&gt;
|'''Tools&lt;br /&gt;
|'''Requirements&lt;br /&gt;
|'''Tutorials&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Model Selection&lt;br /&gt;
| -&lt;br /&gt;
| required model&lt;br /&gt;
| [[Development:3D_Models|model task list]]&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Conceptualization&lt;br /&gt;
| selected model&lt;br /&gt;
| model concept&lt;br /&gt;
| pen &amp;amp; paper, artwork forum&lt;br /&gt;
| artstyle guide&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Modeling&lt;br /&gt;
| concept&lt;br /&gt;
| model mesh, obj files&lt;br /&gt;
| blender, forum&lt;br /&gt;
| many&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Texturing&lt;br /&gt;
| model mesh&lt;br /&gt;
| textures&lt;br /&gt;
| gimp, forum&lt;br /&gt;
| texture requirements&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Integration&lt;br /&gt;
| model + textures&lt;br /&gt;
| bfxm + dds textures&lt;br /&gt;
| mesher + UnitConverter&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Testing&lt;br /&gt;
| bfxm model + dds textures&lt;br /&gt;
| visual + behavior&lt;br /&gt;
| vegastrike + modelview.mission&lt;br /&gt;
| pass or rework&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Submission&lt;br /&gt;
| blender file + obj, master textures, bfxm + dds textures&lt;br /&gt;
| archive or svn&lt;br /&gt;
| mail, svn client&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Model Requirements=&lt;br /&gt;
&lt;br /&gt;
==Requirements Checklist==&lt;br /&gt;
&lt;br /&gt;
Considerations for a successful model submission:&lt;br /&gt;
* Model is in the requirements list [[Development:3D_Models|-&amp;gt;]]&lt;br /&gt;
* Abides to faction visual guidelines&lt;br /&gt;
* Has approved concept&lt;br /&gt;
* Provides model source file (blender, Wings3D, ...)&lt;br /&gt;
* Provides OBJ file&lt;br /&gt;
* Has model mesh, shield mesh, LoD meshes, helper meshes&lt;br /&gt;
* Provides uncompressed textures in png format (and optionally faction textures)&lt;br /&gt;
* Provides texture source files (GIMP, ...)&lt;br /&gt;
* Provides HUD png image with correct orientation&lt;br /&gt;
* Provides units.csv file entry&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Model Requirements Details==&lt;br /&gt;
&lt;br /&gt;
==Visual Guidelines==&lt;br /&gt;
&lt;br /&gt;
For particular aesthetic guidelines, please see the [[Artstyle guides]] page. Please note that many of the existing models are used because of expedience, not because they fit well with VS canon (i.e. if you make something new look like what's there, it still might not be what we're looking for). If in doubt, please ask on the [http://vegastrike.sourceforge.net/forums/viewforum.php?f=4 Artwork &amp;amp; Content Vetting forum]. &lt;br /&gt;
&lt;br /&gt;
To absolutely sure, for new models, please create a drawing of your proposed concept and let it be discussed and approved on the [http://vegastrike.sourceforge.net/forums/viewforum.php?f=4 Artwork &amp;amp; Content Vetting forum].&lt;br /&gt;
&lt;br /&gt;
See also [[Development:Texture Guidelines]]&lt;br /&gt;
&lt;br /&gt;
==Model File Format==&lt;br /&gt;
The preferred format for submission (for public disbursement - whatever native format is used inside your favorite modeling suite is fortunately a non-issue) is currently Wavefront OBJ file format, as this is the most easily converted between manipulation (assorted modeling tools) and presentation (currently BFXM, later to be the OGRE .mesh format). Model &amp;quot;source&amp;quot; therefore, is, at present (Sep. 2008), most usefully uploaded as .OBJ.&lt;br /&gt;
&lt;br /&gt;
Until such a time as a visual model editing tool is completed, conversion to a game-ready format will likely pass through the .xmesh format for insertion of LOD references into top level mesh(es), correction of coordinate &amp;quot;handedness&amp;quot; (if the ordering of the coordinate axes is incompatible, as appears to happen with the output of some modeling tools).&lt;br /&gt;
&lt;br /&gt;
See [[HowTo:Add_Ships]] for information on using mesher to convert to a presentation format (such as BFXM). Note that an old utility, objconv, is '''not''' mesher, and should not be used for this task. Source files for the mesher utility are included along with VS source. Windows users may download updated mesher binaries from their SVN interface of choice (the binary will be in the \bin directory).&lt;br /&gt;
&lt;br /&gt;
==Polygon/Vertex Count==&lt;br /&gt;
In broadest terms, the desired polygon count for a particular model is dependent on three major factors: &lt;br /&gt;
*The amount of screen real-estate that the model is likely to be viewed at the majority of time that a user will be seeing it (i.e. a 2 meter long rocket doesn't deserve the same order of magnitude of attention to detail as a large base or vessel unless the rocket is expected to be mounted in front of a camera. Likewise, even at the same level of attention in terms of polygons per square meter, it would have far fewer total polygons.)&lt;br /&gt;
*The intrinsic surface complexity of the model. If one is modeling a box for freight cargo, one is not going to need as many polygons as if one needed to model one of the Vega Strike developers (not that we're necessarily model material ;-)). If you don't use enough polygons, no amount of texture magic can save a model from being ugly. That said, if you are modeling a cargo freight container and you use thousands of polygons, you're being negligent and wasteful of resources.&lt;br /&gt;
*Engine limitations. Engine limitations is a bit of a misnomer, as the performance of the graphical engine is more hardware dependent than anything else, but it's a good heading for lumping any non-artistic hurdles under. This is the most complicated of the three major factors, because it represents a moving target. Suffice it to say that in order to preserve playability on a broad range of systems, there is a premium placed on making a model aesthetically appropriate with the minimum number of polygons.&lt;br /&gt;
&lt;br /&gt;
Rough guideline:&lt;br /&gt;
*Fighter: 15k triangles&lt;br /&gt;
*Corvette: 30k tris&lt;br /&gt;
*Cruiserer: 60k&lt;br /&gt;
*Carrier: 120k&lt;br /&gt;
*Space station: 250k&lt;br /&gt;
&lt;br /&gt;
However, significant discression, and the possibility for using large numbers of polygons to prettify an object remain with the artist, provided they make appropriate use of [[Terminology:LODs|LODs]]. The primary focus needs to be on making a model aesthetically appropriate, for an intended common viewing distance, and then catering to the needs of the engine by introducing lower LODs (if necessary) and catering to artistic desires by introducing higher LODs (if appropriate). There is also an element of minor future proofing that occurs with providing a robust range of LOD poly counts - namely, multiple versions of the data set can be constructed targeted at different hardware points by shifting up or down along the LOD set (although this currently isn't bothered with, if and when we develop a true source repository for models and textures, this will likely become more common, as postprocessing of submitted art will become tenable).&lt;br /&gt;
&lt;br /&gt;
One more point to consider before attempting to set a polygon goal for a model is what the likely total contribution from all instances on screen of a given model will be - if the model represents something particularly rare, then it is likely that a few more polygons can easily be spared on its model than for more common objects of otherwise similar size, complexity, etc.&lt;br /&gt;
&lt;br /&gt;
Above all, use common sense - if it's visually hideous because it doesn't have enough polygons, it's not your top level model, and if it's in the 5 digit range for polygon count, it's not your lowest level LOD. Take into consideration how much screen real estate, based on the intended in-game size of the model (and if you don't have any idea how big it's supposed to be - you're doing something wrong already) the model will be taking up at various distances, and calibrate detail appropriately (this will become a much easier task once there is a visual modeling tool from the VS side) - to belabor the obvious, the difference between 500 polygons and 5000 gets somewhat obscured when the object is only drawn using 64 pixels. Note therefore that larger objects will often necessitate higher polygon counts merely because there's more of them to see.&lt;br /&gt;
&lt;br /&gt;
(Note that there is no need to continue adding LODs beyond a point of &amp;quot;diminishing artistic returns&amp;quot; - if adding more detail won't help, don't bother. If adding detail helps, but is too expensive to be practical, then it may still be worthwhile for later inclusion as hardware resources increase.)&lt;br /&gt;
&lt;br /&gt;
For small to moderate craft and installations, something along the lines of either of the following is not inappropriate:&lt;br /&gt;
&lt;br /&gt;
(Exponential Scaling)&lt;br /&gt;
*LOD 0 &amp;lt;= 500 tri's.&lt;br /&gt;
*LOD 1 &amp;lt;= 2000&lt;br /&gt;
*LOD 2 &amp;lt;= 4000&lt;br /&gt;
*LOD 3 &amp;lt;= 8000&lt;br /&gt;
*LOD 4 &amp;lt;= 16000&lt;br /&gt;
*LOD 5 &amp;gt;16000&lt;br /&gt;
&lt;br /&gt;
(Quadratic Scaling)&lt;br /&gt;
*LOD 0 &amp;lt;= 500 tri's.&lt;br /&gt;
*LOD 1 &amp;lt;= 2000&lt;br /&gt;
*LOD 2 &amp;lt;= 4500&lt;br /&gt;
*LOD 3 &amp;lt;= 8000&lt;br /&gt;
*LOD 4 &amp;lt;= 12500&lt;br /&gt;
*LOD 5 &amp;lt;= 18000&lt;br /&gt;
*LOD 6 &amp;gt;18000&lt;br /&gt;
&lt;br /&gt;
Larger models, such as capital vessels and large installations will likely follow a similar curve, but at a higher offset, due to increased size. Truly massive models should be partitioned into multiple meshes, each with its own set of LODs such that nearer portions of the model can be independently represented at higher LOD than more distant ones. Partitioning into multiple meshes may be preferable even for merely &amp;quot;largish&amp;quot; models so as to preserve reasonable correspondence between single pixels and the size of represented features when texturing.&lt;br /&gt;
&lt;br /&gt;
==Textures==&lt;br /&gt;
&lt;br /&gt;
Texture maps should also be made accordingly, although clearly artistic integrity trivially trumps the following rough guideline (if you need more pixels, use them) and the appropriate texture size may depend greatly upon the size of the model.&lt;br /&gt;
&lt;br /&gt;
*LOD 1 128x128&lt;br /&gt;
*LOD 2 256x256&lt;br /&gt;
*LOD 3 512x512&lt;br /&gt;
*LOD 4 1024x1024&lt;br /&gt;
*LOD 5 and up having multiple 1024x1024 textures&lt;br /&gt;
&lt;br /&gt;
Be careful with ''texture lodding abuse''. Each LOD that uses its own texture will require more memory (video memory), and breaks batching between instances (slows down rendering of many instances of this model). Even so, texture lodding actually frees up memory most of the time, since only lesser versions are used in the distance. A general rule of thumb is to never have more than two or at most three versions of the same texture. Also take any opportunity to convert textures to greyscale when the color loss is not quite noticeable (most commonly with glow maps and specular maps).&lt;br /&gt;
&lt;br /&gt;
Likewise, for larger models, do not neglect the potential addition of detail textures.&lt;br /&gt;
&lt;br /&gt;
See also [[Development:Texture Guidelines]] and [[Development:Graphics_Requirements]].&lt;br /&gt;
&lt;br /&gt;
===Faction Textures===&lt;br /&gt;
&lt;br /&gt;
To include and successfully test faction textures in your data, you need to:&lt;br /&gt;
* set the corresponding vegastrike.config variable (&amp;lt;code&amp;gt;var name=&amp;quot;faction_dependant_textures&amp;quot; value=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;).&lt;br /&gt;
* prefix default textures with the faction name, e.g. when your default texture is called &amp;quot;tex_000.texture&amp;quot;, to enable the faction texture for &amp;quot;pirates&amp;quot; you'll need to add the texture &amp;quot;pirates_tex_000.texture&amp;quot;.&lt;br /&gt;
* change configuration to one of the 2 highest computer modes (512M+1GB or 1024MB).&lt;br /&gt;
&lt;br /&gt;
==Shield and Collision Meshes==&lt;br /&gt;
Separate shield meshes are highly desirable. Shield meshes should also be done using LODs, although shield meshes should remain simple - that is, their top level meshes should not contain odious numbers of polygons for something that is only infrequently displayed.&lt;br /&gt;
&lt;br /&gt;
Collision meshes need not (and cannot) have LODs. For complex models, it is wise to provide a dumbed-down version of the model that reasonably approximates its shape - minor features and greebles can be safely removed, for instance - to improve performance on the physics engine. Polycount should be kept to a minimum, '''without sacrificing any major features''' of the top-level LOD. Very small vessels (or appropriately shaped ones) may opt to not specify a collision mesh, which will make the physics layer treat this mesh as a spherical object (most efficient).&lt;br /&gt;
&lt;br /&gt;
==HUD Image==&lt;br /&gt;
&lt;br /&gt;
Provides perspective view of the model oriented with the nose towards the left-bottom corner of the image.&lt;br /&gt;
The master image resolution should start at 256x256 pixels with transparency around the vessel.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
For an example of an entity that is composed of multiple meshes, uses LODs, and shield meshes, examine the Clydesdale. (Note that shield and collision meshes are specified in the units.csv file, not by the model.)&lt;br /&gt;
&lt;br /&gt;
=Model Creation=&lt;br /&gt;
&lt;br /&gt;
The first (and most enjoyable) job is to design and draw your model (the geometrical object) within your program.&lt;br /&gt;
&lt;br /&gt;
Feel free to use any modeling program, but it must be able to export models in either (Wavefront) .OBJ or (Vega Strike) .xmesh format. If you don't know where to start, see [[Links:3D Applications]] for a list of modeling software. [http://www.wings3d.com/ Wings 3D] is recommended for modeling beginners. [http://www.blender.org/ '''Blender'''] is the tool of choice for VS artistic community.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Orientation==&lt;br /&gt;
First off, do yourself a favor and line your model up correctly before you begin. For the purposes of Vega Strike, Z+ is forwards and Y+ is up. The model's nose should be pointing forward along the Z+ axis (so that the Z+ axis would theoretically be visible from the cockpit). The mesh should also be properly centered.&lt;br /&gt;
Summing up:&lt;br /&gt;
* Z+ -&amp;gt; Forward direction&lt;br /&gt;
* Y+ -&amp;gt; Up direction&lt;br /&gt;
* Centered&lt;br /&gt;
&lt;br /&gt;
== Tutorials==&lt;br /&gt;
&lt;br /&gt;
{{warning_text |&lt;br /&gt;
| text='''Note:''' The tutorials overview is not complete. Many of the available tutorials have not yet been integrated into this page. Refer also to the [[HowTos|'''How-Tos Tutorials''']] page for additional tutorials.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;2&amp;quot; rules=&amp;quot;rows&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;1&amp;quot; style=&amp;quot;width:100%; text-align:center; background-color:#98b2ee&amp;quot; |&lt;br /&gt;
|'''Modeling Step&lt;br /&gt;
|'''Blender&lt;br /&gt;
|'''Wings3D&lt;br /&gt;
|-&lt;br /&gt;
| Create mesh&lt;br /&gt;
| -&lt;br /&gt;
| [[HowTo:Create Ships in Wings3D|Creating a 3D-model]]&lt;br /&gt;
|-&lt;br /&gt;
| Smoothing&lt;br /&gt;
| [[HowTo:Smooth Groups|Smoothing]]&amp;lt;br&amp;gt; [[HowTo:Weld|Smooth Welding]]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Mesh cleanup&lt;br /&gt;
| [[HowTo:Bevel|Beveling]]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Unwrapping&lt;br /&gt;
| [[HowTo:Unwrap_in_Blender|Unwrapping 1]]&amp;lt;br&amp;gt;[[HowTo:Unwrap|Unwrapping 2]] &amp;lt;br&amp;gt;[[HowTo:FullUnwrapBlender|Ship unwrap]]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Radiosity Baking&lt;br /&gt;
| [[HowTo:Radiosity baking in Blender|Radiosity baking]]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Exporting&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This articles are WIP, means still need to be reviewed and decided how to restructure them:&lt;br /&gt;
* [[HowTo:Create Cockpit in Wings3d|Creating a 3D cockpit for your ship.]]&lt;br /&gt;
* [[HowTo:Add LODs|Adding Levels of Detail]]&lt;br /&gt;
* [[HowTo:Add Ships|Adding your ship to Vega Strike]] - An overview of how to create and add ships to the game&lt;br /&gt;
* [[HowTo:Create Models]] - Links to forum discussions. Page will become generic model creation tutorial.&lt;br /&gt;
* Modeling Tutorials: [[HowTos#Modeling]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Blender Basics===&lt;br /&gt;
* [[HowTo:Basic Blender Tutorial|A basic Blender3D tutorial]]: [http://www.cdschools.org/54223045235521/blank/browse.asp?A=383&amp;amp;BMDRN=2000&amp;amp;BCOB=0&amp;amp;C=55205 Blender Basics - 3rd Edition] - not specific to ships, though...&lt;br /&gt;
&lt;br /&gt;
===Wings3D Basics===&lt;br /&gt;
&lt;br /&gt;
===Other Software Basics===&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Model a Ship|Brad Mick's video tutorial on ship modeling]] - using Lightwave, but the concept is general: ''Rapid Prototyping''&lt;br /&gt;
&lt;br /&gt;
=Texture Creation=&lt;br /&gt;
&lt;br /&gt;
==Unwrapping==&lt;br /&gt;
&lt;br /&gt;
Please make non-overlapping UV unwraps for all future models. You can't bake a proper AO with overlapping islands.&lt;br /&gt;
&lt;br /&gt;
==Unsorted==&lt;br /&gt;
&lt;br /&gt;
(general guidelines, tips, best practices, app specific tutorials, ...)&lt;br /&gt;
&lt;br /&gt;
* [http://netzwelt.gaming-hut.de/vegatexturing/ WIP VegaStrike texturing page by Major]&lt;br /&gt;
* [http://edice.netfirms.com/tuts/texturetut.htm Texturing tutorial by Duality]&lt;br /&gt;
&lt;br /&gt;
For the time being, you may wish to have a look at the corresponding [[Development:Texture_Guidelines|Texturing Guidelines]].&lt;br /&gt;
&lt;br /&gt;
* [[Development:Texture Guidelines|Guidelines for creating ship materials]]&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Add Per Pixel Lighting|Adding per-pixel lighting to your 3D model]]&lt;br /&gt;
* [[HowTo:IntroToShaders|Introduction to shaders, and what they mean for you]] --Bumpmaps, Normalmaps, Shininess maps ...&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Texture|Creating your own textures]] - A summary on how to make texture maps&lt;br /&gt;
* [[HowTo:Texture in Wings3d|Texturing your model in Wings 3d]]&lt;br /&gt;
* [[HowTo:SuperrealisticTexturing|Tips for realistic-looking textures]]&lt;br /&gt;
* [[HowTo:Make Animated Textures|Using animated textures on a model]]&lt;br /&gt;
* [http://wcpedia.com/dw/doku.php/wc_info/modding/texturing_noodle LaGrande Noodle]&lt;br /&gt;
* [http://wcpedia.com/dw/doku.php/wc_info/modding/ao_and_prt_bakes AO and PRT bakes, using Blender and xNormal]&lt;br /&gt;
&lt;br /&gt;
=Integration and Testing=&lt;br /&gt;
&lt;br /&gt;
Using UnitConverter to convert all files and edit the model stats for Vega Strike:&lt;br /&gt;
[[Development:Tools:UnitConverter]]&lt;br /&gt;
&lt;br /&gt;
===Object Marker===&lt;br /&gt;
In order to automatically create turret mounts, gun mounts, and engine thrusters placements in units.csv, please use the following marker:&lt;br /&gt;
&lt;br /&gt;
http://deeplayer.com/cinemut/gunmountmarker.jpg&lt;br /&gt;
&lt;br /&gt;
The shape is 1 units wide in X, 2 units tall in Y, 4 units long in Z. Four vertices in total. The center between the two vertices on X is the origin; the vertex on Z marks the forward direction; the vertex on Y marks the up direction.&lt;br /&gt;
The exported object names are ready and the forward and up directions are calculated from the marker dimensions. Thus, we don't need to worry about mesh rotations; we can deduce mesh rotation from the marker.&lt;br /&gt;
&lt;br /&gt;
The dock marker for docking ports is an exception, since the docking square in game is always rendered facing the player, so the orientation doesn't really matter and only the center matters for the docking port position. &lt;br /&gt;
&lt;br /&gt;
[author:chuck_starchaser]&lt;br /&gt;
* Here's the marker blend file (you could load and save as the default blender start):&lt;br /&gt;
** [http://vegastrike.svn.sourceforge.net/viewvc/vegastrike/trunk/modtools/UnitConverter/helper/mount_helper.blend?view=log ''modtools/UnitConverter/helper/mount_helper.blend'']&lt;br /&gt;
* Starts with a marker smack in the middle.&lt;br /&gt;
* You can move it to another layer, later duplicate it as needed to place copies at key locations.&lt;br /&gt;
* You can also import the marker into another blend file:&lt;br /&gt;
** Open whatever.blend, go to File -&amp;gt; Append Or Link&lt;br /&gt;
** Navigate to where UnitConverter/helper/mount_helper.blend is.&lt;br /&gt;
* Go to the &amp;quot;Objects&amp;quot; folder, and click on the &amp;quot;Marker&amp;quot; object.&lt;br /&gt;
* To duplicate an object, in object mode, select and shift-D.&lt;br /&gt;
* To rename your duplicated object, hit F9 and, towards the left, where it says OB:Marker click in the middle of it and then type &amp;quot;turret_heavy_0&amp;quot; or whatever.&lt;br /&gt;
* copy all markers to layer 2&lt;br /&gt;
* select layer 2&lt;br /&gt;
* select all markers with the A key&lt;br /&gt;
* export to obj using Edges, Objects&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/albums/WIPs-and-Concept-Art/mounts_20080911.jpg&lt;br /&gt;
&lt;br /&gt;
The above image shows the markers set as the centers of engine thrusts.&lt;br /&gt;
&lt;br /&gt;
It is advisable to group the marker objects into a group called &amp;quot;marker&amp;quot;. You are required to export all the markers into one obj file that needs to contain the name &amp;quot;marker&amp;quot; in it (letter case is unimportant, it can be &amp;quot;marker&amp;quot;, or &amp;quot;Marker&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Object Helper naming convention: ''type_subtype_identifier''&lt;br /&gt;
&lt;br /&gt;
with type:&lt;br /&gt;
* pilot (currently unused)&lt;br /&gt;
* mount (currently unused)&lt;br /&gt;
* turret&lt;br /&gt;
* subunit&lt;br /&gt;
* engine&lt;br /&gt;
* dock&lt;br /&gt;
&lt;br /&gt;
and subtype being optional (convention tbd),&lt;br /&gt;
and identifier being either a number or a description and optional.&lt;br /&gt;
&lt;br /&gt;
You may define for example:&lt;br /&gt;
* dock&lt;br /&gt;
* dock_auto_20&lt;br /&gt;
* mount_lightmedium_0&lt;br /&gt;
* turret_capmissile_frontleft&lt;br /&gt;
* subunit_1&lt;br /&gt;
* engine_retro_left&lt;br /&gt;
&lt;br /&gt;
===Exporting to OBJ===&lt;br /&gt;
&lt;br /&gt;
===Updating Stats===&lt;br /&gt;
* [[HowTo:Add Descriptions|Putting ship and goods descriptions into the game]]&lt;br /&gt;
* [[HowTo:Edit master_part_list.csv|Editing the Master_part_list.csv file]]&lt;br /&gt;
&lt;br /&gt;
=Submission and Vetting=&lt;br /&gt;
&lt;br /&gt;
=Technical Reference=&lt;br /&gt;
&lt;br /&gt;
==Technical Specifications==&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Edit BFXM files|Editing BFXM files (format spec)]]&lt;br /&gt;
* [[HowTo:Edit XMESH files|Editing the xmesh file of a ship]]&lt;br /&gt;
* [[HowTo:Edit units.csv|Editing units.csv]]&lt;br /&gt;
* [[HowTo:Add Engine Glow|Adding an engine glow to your 3D model]]&lt;br /&gt;
&lt;br /&gt;
==Scripts and Tools==&lt;br /&gt;
&lt;br /&gt;
See [[Development:Scripts_%26_Tools|Scripts &amp;amp; Tools]]&lt;br /&gt;
* [[HowTo:Add_Ships#New_method|mesher converter obj &amp;lt;-&amp;gt; bfxm &amp;lt;-&amp;gt; xmesh]]&lt;br /&gt;
* [[Development:Tools:UnitConverter|UnitConverter]]&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&lt;br /&gt;
* [http://wcpedia.com/dw/doku.php/wc_info/modding/index WCpedia Modeling Page]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development|Model Guidelines]]&lt;br /&gt;
[[Category:Modeling|Model Guidelines]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Model_Guidelines&amp;diff=18268</id>
		<title>Development:Model Guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Model_Guidelines&amp;diff=18268"/>
				<updated>2011-04-06T22:10:37Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* Object Marker */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{parent_link|parent=[[Development]]}}&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
The intention of this document is to give artists using the Vega Strike engine some suggested guidelines to follow in creating models. You may also wish to have a look at the corresponding [[Development:Texture_Guidelines|texturing guidelines]].&lt;br /&gt;
&lt;br /&gt;
So you want to create a new ship for Vega Strike, do you?  While virtually all models are welcome, well before you start cranking out wonderfully designed models we request that you first check what models are still required.&lt;br /&gt;
&lt;br /&gt;
{{warning_text |&lt;br /&gt;
| text='''Note:''' If you wish to contribute a new or updated model (ship, installation, turret, cockpit, ..) to the game Vega Strike, please see the [[Development:3D_Models|'''3D Models''']] page for models requiring attention.}}&lt;br /&gt;
&lt;br /&gt;
Alternatively, contact [[User:jackS|jackS]] or [[User:pyramid|pyramid]].&lt;br /&gt;
&lt;br /&gt;
= Modeling Pipeline Overview =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;2&amp;quot; rules=&amp;quot;rows&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;1&amp;quot; style=&amp;quot;width:100%; text-align:center; background-color:#98ffb2&amp;quot; |&lt;br /&gt;
|'''Step&lt;br /&gt;
|'''Input&lt;br /&gt;
|'''Output&lt;br /&gt;
|'''Tools&lt;br /&gt;
|'''Requirements&lt;br /&gt;
|'''Tutorials&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Model Selection&lt;br /&gt;
| -&lt;br /&gt;
| required model&lt;br /&gt;
| model task list&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Conceptualization&lt;br /&gt;
| selected model&lt;br /&gt;
| model concept&lt;br /&gt;
| pen &amp;amp; paper, artwork forum&lt;br /&gt;
| artstyle guide&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Modeling&lt;br /&gt;
| concept&lt;br /&gt;
| model mesh, obj files&lt;br /&gt;
| blender, forum&lt;br /&gt;
| many&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Texturing&lt;br /&gt;
| model mesh&lt;br /&gt;
| textures&lt;br /&gt;
| gimp, forum&lt;br /&gt;
| texture requirements&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Integration&lt;br /&gt;
| model + textures&lt;br /&gt;
| bfxm + dds textures&lt;br /&gt;
| mesher + UnitConverter&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Testing&lt;br /&gt;
| bfxm model + dds textures&lt;br /&gt;
| visual + behavior&lt;br /&gt;
| vegastrike + modelview.mission&lt;br /&gt;
| pass or rework&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Submission&lt;br /&gt;
| blender file + obj, master textures, bfxm + dds textures&lt;br /&gt;
| archive or svn&lt;br /&gt;
| mail, svn client&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Model Requirements=&lt;br /&gt;
&lt;br /&gt;
==Requirements Checklist==&lt;br /&gt;
&lt;br /&gt;
Considerations for a successful model submission:&lt;br /&gt;
* Model is in the requirements list [[Development:3D_Models|-&amp;gt;]]&lt;br /&gt;
* Abides to faction visual guidelines&lt;br /&gt;
* Has approved concept&lt;br /&gt;
* Provides model source file (blender, Wings3D, ...)&lt;br /&gt;
* Provides OBJ file&lt;br /&gt;
* Has model mesh, shield mesh, LoD meshes, helper meshes&lt;br /&gt;
* Provides uncompressed textures in png format (and optionally faction textures)&lt;br /&gt;
* Provides texture source files (GIMP, ...)&lt;br /&gt;
* Provides HUD png image with correct orientation&lt;br /&gt;
* Provides units.csv file entry&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Model Requirements Details==&lt;br /&gt;
&lt;br /&gt;
==Visual Guidelines==&lt;br /&gt;
&lt;br /&gt;
For particular aesthetic guidelines, please see the [[Artstyle guides]] page. Please note that many of the existing models are used because of expedience, not because they fit well with VS canon (i.e. if you make something new look like what's there, it still might not be what we're looking for). If in doubt, please ask on the [http://vegastrike.sourceforge.net/forums/viewforum.php?f=4 Artwork &amp;amp; Content Vetting forum]. &lt;br /&gt;
&lt;br /&gt;
To absolutely sure, for new models, please create a drawing of your proposed concept and let it be discussed and approved on the [http://vegastrike.sourceforge.net/forums/viewforum.php?f=4 Artwork &amp;amp; Content Vetting forum].&lt;br /&gt;
&lt;br /&gt;
See also [[Development:Texture Guidelines]]&lt;br /&gt;
&lt;br /&gt;
==Model File Format==&lt;br /&gt;
The preferred format for submission (for public disbursement - whatever native format is used inside your favorite modeling suite is fortunately a non-issue) is currently Wavefront OBJ file format, as this is the most easily converted between manipulation (assorted modeling tools) and presentation (currently BFXM, later to be the OGRE .mesh format). Model &amp;quot;source&amp;quot; therefore, is, at present (Sep. 2008), most usefully uploaded as .OBJ.&lt;br /&gt;
&lt;br /&gt;
Until such a time as a visual model editing tool is completed, conversion to a game-ready format will likely pass through the .xmesh format for insertion of LOD references into top level mesh(es), correction of coordinate &amp;quot;handedness&amp;quot; (if the ordering of the coordinate axes is incompatible, as appears to happen with the output of some modeling tools).&lt;br /&gt;
&lt;br /&gt;
See [[HowTo:Add_Ships]] for information on using mesher to convert to a presentation format (such as BFXM). Note that an old utility, objconv, is '''not''' mesher, and should not be used for this task. Source files for the mesher utility are included along with VS source. Windows users may download updated mesher binaries from their SVN interface of choice (the binary will be in the \bin directory).&lt;br /&gt;
&lt;br /&gt;
==Polygon/Vertex Count==&lt;br /&gt;
In broadest terms, the desired polygon count for a particular model is dependent on three major factors: &lt;br /&gt;
*The amount of screen real-estate that the model is likely to be viewed at the majority of time that a user will be seeing it (i.e. a 2 meter long rocket doesn't deserve the same order of magnitude of attention to detail as a large base or vessel unless the rocket is expected to be mounted in front of a camera. Likewise, even at the same level of attention in terms of polygons per square meter, it would have far fewer total polygons.)&lt;br /&gt;
*The intrinsic surface complexity of the model. If one is modeling a box for freight cargo, one is not going to need as many polygons as if one needed to model one of the Vega Strike developers (not that we're necessarily model material ;-)). If you don't use enough polygons, no amount of texture magic can save a model from being ugly. That said, if you are modeling a cargo freight container and you use thousands of polygons, you're being negligent and wasteful of resources.&lt;br /&gt;
*Engine limitations. Engine limitations is a bit of a misnomer, as the performance of the graphical engine is more hardware dependent than anything else, but it's a good heading for lumping any non-artistic hurdles under. This is the most complicated of the three major factors, because it represents a moving target. Suffice it to say that in order to preserve playability on a broad range of systems, there is a premium placed on making a model aesthetically appropriate with the minimum number of polygons.&lt;br /&gt;
&lt;br /&gt;
Rough guideline:&lt;br /&gt;
*Fighter: 15k triangles&lt;br /&gt;
*Corvette: 30k tris&lt;br /&gt;
*Cruiserer: 60k&lt;br /&gt;
*Carrier: 120k&lt;br /&gt;
*Space station: 250k&lt;br /&gt;
&lt;br /&gt;
However, significant discression, and the possibility for using large numbers of polygons to prettify an object remain with the artist, provided they make appropriate use of [[Terminology:LODs|LODs]]. The primary focus needs to be on making a model aesthetically appropriate, for an intended common viewing distance, and then catering to the needs of the engine by introducing lower LODs (if necessary) and catering to artistic desires by introducing higher LODs (if appropriate). There is also an element of minor future proofing that occurs with providing a robust range of LOD poly counts - namely, multiple versions of the data set can be constructed targeted at different hardware points by shifting up or down along the LOD set (although this currently isn't bothered with, if and when we develop a true source repository for models and textures, this will likely become more common, as postprocessing of submitted art will become tenable).&lt;br /&gt;
&lt;br /&gt;
One more point to consider before attempting to set a polygon goal for a model is what the likely total contribution from all instances on screen of a given model will be - if the model represents something particularly rare, then it is likely that a few more polygons can easily be spared on its model than for more common objects of otherwise similar size, complexity, etc.&lt;br /&gt;
&lt;br /&gt;
Above all, use common sense - if it's visually hideous because it doesn't have enough polygons, it's not your top level model, and if it's in the 5 digit range for polygon count, it's not your lowest level LOD. Take into consideration how much screen real estate, based on the intended in-game size of the model (and if you don't have any idea how big it's supposed to be - you're doing something wrong already) the model will be taking up at various distances, and calibrate detail appropriately (this will become a much easier task once there is a visual modeling tool from the VS side) - to belabor the obvious, the difference between 500 polygons and 5000 gets somewhat obscured when the object is only drawn using 64 pixels. Note therefore that larger objects will often necessitate higher polygon counts merely because there's more of them to see.&lt;br /&gt;
&lt;br /&gt;
(Note that there is no need to continue adding LODs beyond a point of &amp;quot;diminishing artistic returns&amp;quot; - if adding more detail won't help, don't bother. If adding detail helps, but is too expensive to be practical, then it may still be worthwhile for later inclusion as hardware resources increase.)&lt;br /&gt;
&lt;br /&gt;
For small to moderate craft and installations, something along the lines of either of the following is not inappropriate:&lt;br /&gt;
&lt;br /&gt;
(Exponential Scaling)&lt;br /&gt;
*LOD 0 &amp;lt;= 500 tri's.&lt;br /&gt;
*LOD 1 &amp;lt;= 2000&lt;br /&gt;
*LOD 2 &amp;lt;= 4000&lt;br /&gt;
*LOD 3 &amp;lt;= 8000&lt;br /&gt;
*LOD 4 &amp;lt;= 16000&lt;br /&gt;
*LOD 5 &amp;gt;16000&lt;br /&gt;
&lt;br /&gt;
(Quadratic Scaling)&lt;br /&gt;
*LOD 0 &amp;lt;= 500 tri's.&lt;br /&gt;
*LOD 1 &amp;lt;= 2000&lt;br /&gt;
*LOD 2 &amp;lt;= 4500&lt;br /&gt;
*LOD 3 &amp;lt;= 8000&lt;br /&gt;
*LOD 4 &amp;lt;= 12500&lt;br /&gt;
*LOD 5 &amp;lt;= 18000&lt;br /&gt;
*LOD 6 &amp;gt;18000&lt;br /&gt;
&lt;br /&gt;
Larger models, such as capital vessels and large installations will likely follow a similar curve, but at a higher offset, due to increased size. Truly massive models should be partitioned into multiple meshes, each with its own set of LODs such that nearer portions of the model can be independently represented at higher LOD than more distant ones. Partitioning into multiple meshes may be preferable even for merely &amp;quot;largish&amp;quot; models so as to preserve reasonable correspondence between single pixels and the size of represented features when texturing.&lt;br /&gt;
&lt;br /&gt;
==Textures==&lt;br /&gt;
&lt;br /&gt;
Texture maps should also be made accordingly, although clearly artistic integrity trivially trumps the following rough guideline (if you need more pixels, use them) and the appropriate texture size may depend greatly upon the size of the model.&lt;br /&gt;
&lt;br /&gt;
*LOD 1 128x128&lt;br /&gt;
*LOD 2 256x256&lt;br /&gt;
*LOD 3 512x512&lt;br /&gt;
*LOD 4 1024x1024&lt;br /&gt;
*LOD 5 and up having multiple 1024x1024 textures&lt;br /&gt;
&lt;br /&gt;
Be careful with ''texture lodding abuse''. Each LOD that uses its own texture will require more memory (video memory), and breaks batching between instances (slows down rendering of many instances of this model). Even so, texture lodding actually frees up memory most of the time, since only lesser versions are used in the distance. A general rule of thumb is to never have more than two or at most three versions of the same texture. Also take any opportunity to convert textures to greyscale when the color loss is not quite noticeable (most commonly with glow maps and specular maps).&lt;br /&gt;
&lt;br /&gt;
Likewise, for larger models, do not neglect the potential addition of detail textures.&lt;br /&gt;
&lt;br /&gt;
See also [[Development:Texture Guidelines]] and [[Development:Graphics_Requirements]].&lt;br /&gt;
&lt;br /&gt;
===Faction Textures===&lt;br /&gt;
&lt;br /&gt;
To include and successfully test faction textures in your data, you need to:&lt;br /&gt;
* set the corresponding vegastrike.config variable (&amp;lt;code&amp;gt;var name=&amp;quot;faction_dependant_textures&amp;quot; value=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;).&lt;br /&gt;
* prefix default textures with the faction name, e.g. when your default texture is called &amp;quot;tex_000.texture&amp;quot;, to enable the faction texture for &amp;quot;pirates&amp;quot; you'll need to add the texture &amp;quot;pirates_tex_000.texture&amp;quot;.&lt;br /&gt;
* change configuration to one of the 2 highest computer modes (512M+1GB or 1024MB).&lt;br /&gt;
&lt;br /&gt;
==Shield and Collision Meshes==&lt;br /&gt;
Separate shield meshes are highly desirable. Shield meshes should also be done using LODs, although shield meshes should remain simple - that is, their top level meshes should not contain odious numbers of polygons for something that is only infrequently displayed.&lt;br /&gt;
&lt;br /&gt;
Collision meshes need not (and cannot) have LODs. For complex models, it is wise to provide a dumbed-down version of the model that reasonably approximates its shape - minor features and greebles can be safely removed, for instance - to improve performance on the physics engine. Polycount should be kept to a minimum, '''without sacrificing any major features''' of the top-level LOD. Very small vessels (or appropriately shaped ones) may opt to not specify a collision mesh, which will make the physics layer treat this mesh as a spherical object (most efficient).&lt;br /&gt;
&lt;br /&gt;
==HUD Image==&lt;br /&gt;
&lt;br /&gt;
Provides perspective view of the model oriented with the nose towards the left-bottom corner of the image.&lt;br /&gt;
The master image resolution should start at 256x256 pixels with transparency around the vessel.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
For an example of an entity that is composed of multiple meshes, uses LODs, and shield meshes, examine the Clydesdale. (Note that shield and collision meshes are specified in the units.csv file, not by the model.)&lt;br /&gt;
&lt;br /&gt;
=Model Creation=&lt;br /&gt;
&lt;br /&gt;
The first (and most enjoyable) job is to design and draw your model (the geometrical object) within your program.&lt;br /&gt;
&lt;br /&gt;
Feel free to use any modeling program, but it must be able to export models in either (Wavefront) .OBJ or (Vega Strike) .xmesh format. If you don't know where to start, see [[Links:3D Applications]] for a list of modeling software. [http://www.wings3d.com/ Wings 3D] is recommended for modeling beginners. [http://www.blender.org/ '''Blender'''] is the tool of choice for VS artistic community.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Orientation==&lt;br /&gt;
First off, do yourself a favor and line your model up correctly before you begin. For the purposes of Vega Strike, Z+ is forwards and Y+ is up. The model's nose should be pointing forward along the Z+ axis (so that the Z+ axis would theoretically be visible from the cockpit). The mesh should also be properly centered.&lt;br /&gt;
Summing up:&lt;br /&gt;
* Z+ -&amp;gt; Forward direction&lt;br /&gt;
* Y+ -&amp;gt; Up direction&lt;br /&gt;
* Centered&lt;br /&gt;
&lt;br /&gt;
== Tutorials==&lt;br /&gt;
&lt;br /&gt;
{{warning_text |&lt;br /&gt;
| text='''Note:''' The tutorials overview is not complete. Many of the available tutorials have not yet been integrated into this page. Refer also to the [[HowTos|'''How-Tos Tutorials''']] page for additional tutorials.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;2&amp;quot; rules=&amp;quot;rows&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;1&amp;quot; style=&amp;quot;width:100%; text-align:center; background-color:#98b2ee&amp;quot; |&lt;br /&gt;
|'''Modeling Step&lt;br /&gt;
|'''Blender&lt;br /&gt;
|'''Wings3D&lt;br /&gt;
|-&lt;br /&gt;
| Create mesh&lt;br /&gt;
| -&lt;br /&gt;
| [[HowTo:Create Ships in Wings3D|Creating a 3D-model]]&lt;br /&gt;
|-&lt;br /&gt;
| Smoothing&lt;br /&gt;
| [[HowTo:Smooth Groups|Smoothing]]&amp;lt;br&amp;gt; [[HowTo:Weld|Smooth Welding]]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Mesh cleanup&lt;br /&gt;
| [[HowTo:Bevel|Beveling]]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Unwrapping&lt;br /&gt;
| [[HowTo:Unwrap_in_Blender|Unwrapping 1]]&amp;lt;br&amp;gt;[[HowTo:Unwrap|Unwrapping 2]] &amp;lt;br&amp;gt;[[HowTo:FullUnwrapBlender|Ship unwrap]]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Radiosity Baking&lt;br /&gt;
| [[HowTo:Radiosity baking in Blender|Radiosity baking]]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Exporting&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This articles are WIP, means still need to be reviewed and decided how to restructure them:&lt;br /&gt;
* [[HowTo:Create Cockpit in Wings3d|Creating a 3D cockpit for your ship.]]&lt;br /&gt;
* [[HowTo:Add LODs|Adding Levels of Detail]]&lt;br /&gt;
* [[HowTo:Add Ships|Adding your ship to Vega Strike]] - An overview of how to create and add ships to the game&lt;br /&gt;
* [[HowTo:Create Models]] - Links to forum discussions. Page will become generic model creation tutorial.&lt;br /&gt;
* Modeling Tutorials: [[HowTos#Modeling]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Blender Basics===&lt;br /&gt;
* [[HowTo:Basic Blender Tutorial|A basic Blender3D tutorial]]: [http://www.cdschools.org/54223045235521/blank/browse.asp?A=383&amp;amp;BMDRN=2000&amp;amp;BCOB=0&amp;amp;C=55205 Blender Basics - 3rd Edition] - not specific to ships, though...&lt;br /&gt;
&lt;br /&gt;
===Wings3D Basics===&lt;br /&gt;
&lt;br /&gt;
===Other Software Basics===&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Model a Ship|Brad Mick's video tutorial on ship modeling]] - using Lightwave, but the concept is general: ''Rapid Prototyping''&lt;br /&gt;
&lt;br /&gt;
=Texture Creation=&lt;br /&gt;
&lt;br /&gt;
==Unwrapping==&lt;br /&gt;
&lt;br /&gt;
Please make non-overlapping UV unwraps for all future models. You can't bake a proper AO with overlapping islands.&lt;br /&gt;
&lt;br /&gt;
==Unsorted==&lt;br /&gt;
&lt;br /&gt;
(general guidelines, tips, best practices, app specific tutorials, ...)&lt;br /&gt;
&lt;br /&gt;
* [http://netzwelt.gaming-hut.de/vegatexturing/ WIP VegaStrike texturing page by Major]&lt;br /&gt;
* [http://edice.netfirms.com/tuts/texturetut.htm Texturing tutorial by Duality]&lt;br /&gt;
&lt;br /&gt;
For the time being, you may wish to have a look at the corresponding [[Development:Texture_Guidelines|Texturing Guidelines]].&lt;br /&gt;
&lt;br /&gt;
* [[Development:Texture Guidelines|Guidelines for creating ship materials]]&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Add Per Pixel Lighting|Adding per-pixel lighting to your 3D model]]&lt;br /&gt;
* [[HowTo:IntroToShaders|Introduction to shaders, and what they mean for you]] --Bumpmaps, Normalmaps, Shininess maps ...&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Texture|Creating your own textures]] - A summary on how to make texture maps&lt;br /&gt;
* [[HowTo:Texture in Wings3d|Texturing your model in Wings 3d]]&lt;br /&gt;
* [[HowTo:SuperrealisticTexturing|Tips for realistic-looking textures]]&lt;br /&gt;
* [[HowTo:Make Animated Textures|Using animated textures on a model]]&lt;br /&gt;
* [http://wcpedia.com/dw/doku.php/wc_info/modding/texturing_noodle LaGrande Noodle]&lt;br /&gt;
* [http://wcpedia.com/dw/doku.php/wc_info/modding/ao_and_prt_bakes AO and PRT bakes, using Blender and xNormal]&lt;br /&gt;
&lt;br /&gt;
=Integration and Testing=&lt;br /&gt;
&lt;br /&gt;
Using UnitConverter to convert all files and edit the model stats for Vega Strike:&lt;br /&gt;
[[Development:Tools:UnitConverter]]&lt;br /&gt;
&lt;br /&gt;
===Object Marker===&lt;br /&gt;
In order to automatically create turret mounts, gun mounts, and engine thrusters placements in units.csv, please use the following marker:&lt;br /&gt;
&lt;br /&gt;
http://deeplayer.com/cinemut/gunmountmarker.jpg&lt;br /&gt;
&lt;br /&gt;
The shape is 1 units wide in X, 2 units tall in Y, 4 units long in Z. Four vertices in total. The center between the two vertices on X is the origin; the vertex on Z marks the forward direction; the vertex on Y marks the up direction.&lt;br /&gt;
The exported object names are ready and the forward and up directions are calculated from the marker dimensions. Thus, we don't need to worry about mesh rotations; we can deduce mesh rotation from the marker.&lt;br /&gt;
&lt;br /&gt;
The dock marker for docking ports is an exception, since the docking square in game is always rendered facing the player, so the orientation doesn't really matter and only the center matters for the docking port position. &lt;br /&gt;
&lt;br /&gt;
[author:chuck_starchaser]&lt;br /&gt;
* Here's the marker blend file (you could load and save as the default blender start):&lt;br /&gt;
** [http://vegastrike.svn.sourceforge.net/viewvc/vegastrike/trunk/modtools/UnitConverter/helper/mount_helper.blend?view=log ''modtools/UnitConverter/helper/mount_helper.blend'']&lt;br /&gt;
* Starts with a marker smack in the middle.&lt;br /&gt;
* You can move it to another layer, later duplicate it as needed to place copies at key locations.&lt;br /&gt;
* You can also import the marker into another blend file:&lt;br /&gt;
** Open whatever.blend, go to File -&amp;gt; Append Or Link&lt;br /&gt;
** Navigate to where UnitConverter/helper/mount_helper.blend is.&lt;br /&gt;
* Go to the &amp;quot;Objects&amp;quot; folder, and click on the &amp;quot;Marker&amp;quot; object.&lt;br /&gt;
* To duplicate an object, in object mode, select and shift-D.&lt;br /&gt;
* To rename your duplicated object, hit F9 and, towards the left, where it says OB:Marker click in the middle of it and then type &amp;quot;turret_heavy_0&amp;quot; or whatever.&lt;br /&gt;
* copy all markers to layer 2&lt;br /&gt;
* select layer 2&lt;br /&gt;
* select all markers with the A key&lt;br /&gt;
* export to obj using Edges, Objects&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/albums/WIPs-and-Concept-Art/mounts_20080911.jpg&lt;br /&gt;
&lt;br /&gt;
The above image shows the markers set as the centers of engine thrusts.&lt;br /&gt;
&lt;br /&gt;
It is advisable to group the marker objects into a group called &amp;quot;marker&amp;quot;. You are required to export all the markers into one obj file that needs to contain the name &amp;quot;marker&amp;quot; in it (letter case is unimportant, it can be &amp;quot;marker&amp;quot;, or &amp;quot;Marker&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Object Helper naming convention: ''type_subtype_identifier''&lt;br /&gt;
&lt;br /&gt;
with type:&lt;br /&gt;
* pilot (currently unused)&lt;br /&gt;
* mount (currently unused)&lt;br /&gt;
* turret&lt;br /&gt;
* subunit&lt;br /&gt;
* engine&lt;br /&gt;
* dock&lt;br /&gt;
&lt;br /&gt;
and subtype being optional (convention tbd),&lt;br /&gt;
and identifier being either a number or a description and optional.&lt;br /&gt;
&lt;br /&gt;
You may define for example:&lt;br /&gt;
* dock&lt;br /&gt;
* dock_auto_20&lt;br /&gt;
* mount_lightmedium_0&lt;br /&gt;
* turret_capmissile_frontleft&lt;br /&gt;
* subunit_1&lt;br /&gt;
* engine_retro_left&lt;br /&gt;
&lt;br /&gt;
===Exporting to OBJ===&lt;br /&gt;
&lt;br /&gt;
===Updating Stats===&lt;br /&gt;
* [[HowTo:Add Descriptions|Putting ship and goods descriptions into the game]]&lt;br /&gt;
* [[HowTo:Edit master_part_list.csv|Editing the Master_part_list.csv file]]&lt;br /&gt;
&lt;br /&gt;
=Submission and Vetting=&lt;br /&gt;
&lt;br /&gt;
=Technical Reference=&lt;br /&gt;
&lt;br /&gt;
==Technical Specifications==&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Edit BFXM files|Editing BFXM files (format spec)]]&lt;br /&gt;
* [[HowTo:Edit XMESH files|Editing the xmesh file of a ship]]&lt;br /&gt;
* [[HowTo:Edit units.csv|Editing units.csv]]&lt;br /&gt;
* [[HowTo:Add Engine Glow|Adding an engine glow to your 3D model]]&lt;br /&gt;
&lt;br /&gt;
==Scripts and Tools==&lt;br /&gt;
&lt;br /&gt;
See [[Development:Scripts_%26_Tools|Scripts &amp;amp; Tools]]&lt;br /&gt;
* [[HowTo:Add_Ships#New_method|mesher converter obj &amp;lt;-&amp;gt; bfxm &amp;lt;-&amp;gt; xmesh]]&lt;br /&gt;
* [[Development:Tools:UnitConverter|UnitConverter]]&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&lt;br /&gt;
* [http://wcpedia.com/dw/doku.php/wc_info/modding/index WCpedia Modeling Page]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development|Model Guidelines]]&lt;br /&gt;
[[Category:Modeling|Model Guidelines]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=FAQ:Bugs&amp;diff=18267</id>
		<title>FAQ:Bugs</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=FAQ:Bugs&amp;diff=18267"/>
				<updated>2011-04-06T09:13:38Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* I'm on a Mac, running OSX.1.5. When I launch the game I end up in a dock or whatever and the graphics are all scrambled. I have like a horizon-like view of my ship going back from the bottom of the screen to the top. I cannot READ anything. Whats&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|En|FAQ:Bugs}}&lt;br /&gt;
{{NAV_Manual |&lt;br /&gt;
| previous=[[FAQ:Installing]]&lt;br /&gt;
| up=[[FAQ]]&lt;br /&gt;
| next=[[FAQ:Modding]]&lt;br /&gt;
}}&lt;br /&gt;
----&lt;br /&gt;
= My game has crashed. What do i do? =&lt;br /&gt;
&lt;br /&gt;
* First step would be to find stdout.txt and stderr.txt and see if there are any errors or warnings.&lt;br /&gt;
* You may also run vegastrike --debug=3 with a more comprehensive debug level. Submit stdout.txt and stderr.txt.&lt;br /&gt;
* Finally, you could run vegastrike in a debugger and submit the debug output. Here are instructions for [[HowTo:Use_GDB|Linux]] and [[HowTo:Use_Dr_Watson|Windows]].&lt;br /&gt;
&lt;br /&gt;
= I have run the debug as indicated above, but don't understand the gibberish. What now? =&lt;br /&gt;
&lt;br /&gt;
Please submit the text files with the debug output including the VS engine version you are playing, your operating system (Linux/OSX/WIndows/32bit/64bit), your graphics card make and model. Ideally it would help to know what you were doing when the game crashed (docking, launching, loading, saving, viewing the map, ...), and if the crash is reproducible with the same circumstances.&lt;br /&gt;
&lt;br /&gt;
== I'm on a Mac, running OSX.1.5. When I launch the game I end up in a dock or whatever and the graphics are all scrambled. I have like a horizon-like view of my ship going back from the bottom of the screen to the top. I cannot READ anything. Whats that about? ==&lt;br /&gt;
&lt;br /&gt;
A: This problem has been carefully documented and annoyed about.&lt;br /&gt;
&lt;br /&gt;
There's nothing we can do about this problem. &lt;br /&gt;
&lt;br /&gt;
It's an ATI Rage Mac problem, and an ATI linux problem...&lt;br /&gt;
&lt;br /&gt;
It doesn't occur on the same hardware in windows..and it doesn't occur on any other hardware period.&lt;br /&gt;
So the best thing I can advise is use the right mouse button (or if you have one control click) to cycle through the options at the bases if you want to see what the bases SHOULD look like you can open up the jpeg files in the view contents section of the VegaStrike0.3.0.app (see the bugs-forum for more detail)&lt;br /&gt;
&lt;br /&gt;
WORKAROUND (used successfully on an iBook with ATI card):&lt;br /&gt;
&lt;br /&gt;
The problem seems to occur when the texture sizes overwhelm the available texture memory on the graphic card. This can be alleviated by lowering the resolution (and therefore the graphics memory usage).&lt;br /&gt;
&lt;br /&gt;
In other words, try running at 512x384 by editing the vegastrike.config file, if that works keep increasing the resolution until you find one that works you can comfortably play at.&lt;br /&gt;
&lt;br /&gt;
-- Aegidian&lt;br /&gt;
&lt;br /&gt;
== When i run Vegastrike under linux i get an error similar with that below, what should i do? ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vegastrike WARNING: no section/variable/color named drawNavSymbol Fatal signal: Segmentation Fault (SDL Parachute Deployed)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A:&lt;br /&gt;
* run Vegastrike in gdb:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gdb ./vegastrike&lt;br /&gt;
run&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* when Vegastrike dies type: &amp;lt;code&amp;gt;backtrace full&amp;lt;/code&amp;gt;&lt;br /&gt;
* post the results in the Bug Triage Forum at the Vegastrike Homepage&lt;br /&gt;
&lt;br /&gt;
More about the usage of gdb is under [[HowTo:Use GDB]]&lt;br /&gt;
&lt;br /&gt;
== What should I do if in Windows XP, the game crashes immediately, or works only if it is on &amp;quot;Music Only&amp;quot; or &amp;quot;No Sound&amp;quot; modes in Setup? ==&lt;br /&gt;
&lt;br /&gt;
A: It is very easy:&lt;br /&gt;
* Go to your Vega Strike folder (If you are really lost and can't find the vegastrike folder, find the Vegastrike Setup program in the start menu, right click on it and go to properties. Then click on the &amp;quot;Find Target&amp;quot; button.)&lt;br /&gt;
* Double-click on the &amp;lt;code&amp;gt;OpenALwEAX.exe&amp;lt;/code&amp;gt; program (The icon has an orange diamond with a blue ball inside it).&lt;br /&gt;
* Go through the steps by clicking the Next button.&lt;br /&gt;
* Play Vega Strike.&lt;br /&gt;
&lt;br /&gt;
Sometimes you have to delete the openal32.dll (an old one)from your vegastrike/bin directory to prevent VS from crashing. There shouldn't be one (only VS0.4.0 has them with it, but you never know).&lt;br /&gt;
&lt;br /&gt;
== When docked i don't have a mouse pointer. Why is that? ==&lt;br /&gt;
&lt;br /&gt;
A: see [[#I.27m_on_a_Mac.2C_running_OSX.1.5._When_I_launch_the_game_I_end_up_in_a_dock_or_whatever_and_the_graphics_are_all_scrambled._I_have_like_a_horizon-like_view_of_my_ship_going_back_from_the_bottom_of_the_screen_to_the_top._I_cannot_READ_anything._Whats_that_about.3F|Q1]] above&lt;br /&gt;
&lt;br /&gt;
You may want to change to the &amp;quot;Hardware Cursor&amp;quot; option in the &amp;quot;MousePointer&amp;quot; list in the Setup/Options menu.&lt;br /&gt;
&lt;br /&gt;
== Moving around at all with SPEC on makes the game segfault immediately, what's wrong? ==&lt;br /&gt;
&lt;br /&gt;
A: This is a problem with the ATi Linux drivers, which currently crash if you ask them to draw a line. The fix is to use the DRI project's drivers if possible, the best known workaround is to change&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;var name=&amp;quot;star_streaks&amp;quot; value=&amp;quot;true&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
into&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;var name=&amp;quot;star_streaks&amp;quot; value=&amp;quot;false&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
in &amp;lt;code&amp;gt;vegastrike.config&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== In Linux, whenever VS is in fullscreen the image is crappy: it looks like an old DOS game that used interlaced settings (one line printed, one line blank) that is pretty much impossible to read on. How do I fix it?  ==&lt;br /&gt;
&lt;br /&gt;
A: This is a problem with X or the SDL... outside control of VegaStrike. But there is a workaround:&lt;br /&gt;
Find, in &amp;lt;code&amp;gt;vegastrike.config&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;#cat Resolution 1600x1200 1280x1024 1024x768 800x600 640x480 512x384&amp;lt;/pre&amp;gt; &lt;br /&gt;
Add to the list of resolutions the exact resolution of your desktop, if it isn't there.&lt;br /&gt;
Next, find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;!-- #512x384&lt;br /&gt;
			&amp;lt;var name=&amp;quot;x_resolution&amp;quot; value=&amp;quot;512&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;var name=&amp;quot;y_resolution&amp;quot; value=&amp;quot;384&amp;quot;/&amp;gt;&lt;br /&gt;
#end --&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Create another copy of it to accommodate your newly created setting, like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;!-- #512x384&lt;br /&gt;
			&amp;lt;var name=&amp;quot;x_resolution&amp;quot; value=&amp;quot;512&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;var name=&amp;quot;y_resolution&amp;quot; value=&amp;quot;384&amp;quot;/&amp;gt;&lt;br /&gt;
#end --&amp;gt;&lt;br /&gt;
&amp;lt;!-- #1152x854&lt;br /&gt;
			&amp;lt;var name=&amp;quot;x_resolution&amp;quot; value=&amp;quot;1152&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;var name=&amp;quot;y_resolution&amp;quot; value=&amp;quot;854&amp;quot;/&amp;gt;&lt;br /&gt;
#end --&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now start vssetup, and select that resolution. It should now work.&lt;br /&gt;
Alternatively, if vssetup doesn't work for you, just edit the active entry (the one not commented out - where&lt;br /&gt;
you see &amp;lt;pre&amp;gt;&amp;lt;!-- #800x600 --&amp;gt;&amp;lt;/pre&amp;gt; instead of &amp;lt;pre&amp;gt;&amp;lt;!-- #800x600&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== In linux, with an nVidia graphics card, I see weird things over some planets. ==&lt;br /&gt;
&lt;br /&gt;
Weird, as in [[http://space3d.no.sapo.pt/vegastrike/screens/PUShader_atmosphere.jpg here]].&lt;br /&gt;
Check you drivers. Anything between version 169 and 173 (inclusive) has a known bug when loading the DXT5 textures used by VS.&lt;br /&gt;
Upgrade your drivers to at least 174 and it should be fixed.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
{{NAV_Manual |&lt;br /&gt;
| previous=[[FAQ:Installing]]&lt;br /&gt;
| up=[[FAQ]]&lt;br /&gt;
| next=[[FAQ:Modding]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Model_Guidelines&amp;diff=18266</id>
		<title>Development:Model Guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Model_Guidelines&amp;diff=18266"/>
				<updated>2011-04-05T23:22:53Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* Exporting to OBJ+MTL */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{parent_link|parent=[[Development]]}}&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
The intention of this document is to give artists using the Vega Strike engine some suggested guidelines to follow in creating models. You may also wish to have a look at the corresponding [[Development:Texture_Guidelines|texturing guidelines]].&lt;br /&gt;
&lt;br /&gt;
So you want to create a new ship for Vega Strike, do you?  While virtually all models are welcome, well before you start cranking out wonderfully designed models we request that you first check what models are still required.&lt;br /&gt;
&lt;br /&gt;
{{warning_text |&lt;br /&gt;
| text='''Note:''' If you wish to contribute a new or updated model (ship, installation, turret, cockpit, ..) to the game Vega Strike, please see the [[Development:3D_Models|'''3D Models''']] page for models requiring attention.}}&lt;br /&gt;
&lt;br /&gt;
Alternatively, contact [[User:jackS|jackS]] or [[User:pyramid|pyramid]].&lt;br /&gt;
&lt;br /&gt;
= Modeling Pipeline Overview =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;2&amp;quot; rules=&amp;quot;rows&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;1&amp;quot; style=&amp;quot;width:100%; text-align:center; background-color:#98ffb2&amp;quot; |&lt;br /&gt;
|'''Step&lt;br /&gt;
|'''Input&lt;br /&gt;
|'''Output&lt;br /&gt;
|'''Tools&lt;br /&gt;
|'''Requirements&lt;br /&gt;
|'''Tutorials&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Model Selection&lt;br /&gt;
| -&lt;br /&gt;
| required model&lt;br /&gt;
| model task list&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Conceptualization&lt;br /&gt;
| selected model&lt;br /&gt;
| model concept&lt;br /&gt;
| pen &amp;amp; paper, artwork forum&lt;br /&gt;
| artstyle guide&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Modeling&lt;br /&gt;
| concept&lt;br /&gt;
| model mesh, obj files&lt;br /&gt;
| blender, forum&lt;br /&gt;
| many&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Texturing&lt;br /&gt;
| model mesh&lt;br /&gt;
| textures&lt;br /&gt;
| gimp, forum&lt;br /&gt;
| texture requirements&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Integration&lt;br /&gt;
| model + textures&lt;br /&gt;
| bfxm + dds textures&lt;br /&gt;
| mesher + UnitConverter&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Testing&lt;br /&gt;
| bfxm model + dds textures&lt;br /&gt;
| visual + behavior&lt;br /&gt;
| vegastrike + modelview.mission&lt;br /&gt;
| pass or rework&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Submission&lt;br /&gt;
| blender file + obj, master textures, bfxm + dds textures&lt;br /&gt;
| archive or svn&lt;br /&gt;
| mail, svn client&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Model Requirements=&lt;br /&gt;
&lt;br /&gt;
==Requirements Checklist==&lt;br /&gt;
&lt;br /&gt;
Considerations for a successful model submission:&lt;br /&gt;
* Model is in the requirements list [[Development:3D_Models|-&amp;gt;]]&lt;br /&gt;
* Abides to faction visual guidelines&lt;br /&gt;
* Has approved concept&lt;br /&gt;
* Provides model source file (blender, Wings3D, ...)&lt;br /&gt;
* Provides OBJ file&lt;br /&gt;
* Has model mesh, shield mesh, LoD meshes, helper meshes&lt;br /&gt;
* Provides uncompressed textures in png format (and optionally faction textures)&lt;br /&gt;
* Provides texture source files (GIMP, ...)&lt;br /&gt;
* Provides HUD png image with correct orientation&lt;br /&gt;
* Provides units.csv file entry&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Model Requirements Details==&lt;br /&gt;
&lt;br /&gt;
==Visual Guidelines==&lt;br /&gt;
&lt;br /&gt;
For particular aesthetic guidelines, please see the [[Artstyle guides]] page. Please note that many of the existing models are used because of expedience, not because they fit well with VS canon (i.e. if you make something new look like what's there, it still might not be what we're looking for). If in doubt, please ask on the [http://vegastrike.sourceforge.net/forums/viewforum.php?f=4 Artwork &amp;amp; Content Vetting forum]. &lt;br /&gt;
&lt;br /&gt;
To absolutely sure, for new models, please create a drawing of your proposed concept and let it be discussed and approved on the [http://vegastrike.sourceforge.net/forums/viewforum.php?f=4 Artwork &amp;amp; Content Vetting forum].&lt;br /&gt;
&lt;br /&gt;
See also [[Development:Texture Guidelines]]&lt;br /&gt;
&lt;br /&gt;
==Model File Format==&lt;br /&gt;
The preferred format for submission (for public disbursement - whatever native format is used inside your favorite modeling suite is fortunately a non-issue) is currently Wavefront OBJ file format, as this is the most easily converted between manipulation (assorted modeling tools) and presentation (currently BFXM, later to be the OGRE .mesh format). Model &amp;quot;source&amp;quot; therefore, is, at present (Sep. 2008), most usefully uploaded as .OBJ.&lt;br /&gt;
&lt;br /&gt;
Until such a time as a visual model editing tool is completed, conversion to a game-ready format will likely pass through the .xmesh format for insertion of LOD references into top level mesh(es), correction of coordinate &amp;quot;handedness&amp;quot; (if the ordering of the coordinate axes is incompatible, as appears to happen with the output of some modeling tools).&lt;br /&gt;
&lt;br /&gt;
See [[HowTo:Add_Ships]] for information on using mesher to convert to a presentation format (such as BFXM). Note that an old utility, objconv, is '''not''' mesher, and should not be used for this task. Source files for the mesher utility are included along with VS source. Windows users may download updated mesher binaries from their SVN interface of choice (the binary will be in the \bin directory).&lt;br /&gt;
&lt;br /&gt;
==Polygon/Vertex Count==&lt;br /&gt;
In broadest terms, the desired polygon count for a particular model is dependent on three major factors: &lt;br /&gt;
*The amount of screen real-estate that the model is likely to be viewed at the majority of time that a user will be seeing it (i.e. a 2 meter long rocket doesn't deserve the same order of magnitude of attention to detail as a large base or vessel unless the rocket is expected to be mounted in front of a camera. Likewise, even at the same level of attention in terms of polygons per square meter, it would have far fewer total polygons.)&lt;br /&gt;
*The intrinsic surface complexity of the model. If one is modeling a box for freight cargo, one is not going to need as many polygons as if one needed to model one of the Vega Strike developers (not that we're necessarily model material ;-)). If you don't use enough polygons, no amount of texture magic can save a model from being ugly. That said, if you are modeling a cargo freight container and you use thousands of polygons, you're being negligent and wasteful of resources.&lt;br /&gt;
*Engine limitations. Engine limitations is a bit of a misnomer, as the performance of the graphical engine is more hardware dependent than anything else, but it's a good heading for lumping any non-artistic hurdles under. This is the most complicated of the three major factors, because it represents a moving target. Suffice it to say that in order to preserve playability on a broad range of systems, there is a premium placed on making a model aesthetically appropriate with the minimum number of polygons.&lt;br /&gt;
&lt;br /&gt;
Rough guideline:&lt;br /&gt;
*Fighter: 15k triangles&lt;br /&gt;
*Corvette: 30k tris&lt;br /&gt;
*Cruiserer: 60k&lt;br /&gt;
*Carrier: 120k&lt;br /&gt;
*Space station: 250k&lt;br /&gt;
&lt;br /&gt;
However, significant discression, and the possibility for using large numbers of polygons to prettify an object remain with the artist, provided they make appropriate use of [[Terminology:LODs|LODs]]. The primary focus needs to be on making a model aesthetically appropriate, for an intended common viewing distance, and then catering to the needs of the engine by introducing lower LODs (if necessary) and catering to artistic desires by introducing higher LODs (if appropriate). There is also an element of minor future proofing that occurs with providing a robust range of LOD poly counts - namely, multiple versions of the data set can be constructed targeted at different hardware points by shifting up or down along the LOD set (although this currently isn't bothered with, if and when we develop a true source repository for models and textures, this will likely become more common, as postprocessing of submitted art will become tenable).&lt;br /&gt;
&lt;br /&gt;
One more point to consider before attempting to set a polygon goal for a model is what the likely total contribution from all instances on screen of a given model will be - if the model represents something particularly rare, then it is likely that a few more polygons can easily be spared on its model than for more common objects of otherwise similar size, complexity, etc.&lt;br /&gt;
&lt;br /&gt;
Above all, use common sense - if it's visually hideous because it doesn't have enough polygons, it's not your top level model, and if it's in the 5 digit range for polygon count, it's not your lowest level LOD. Take into consideration how much screen real estate, based on the intended in-game size of the model (and if you don't have any idea how big it's supposed to be - you're doing something wrong already) the model will be taking up at various distances, and calibrate detail appropriately (this will become a much easier task once there is a visual modeling tool from the VS side) - to belabor the obvious, the difference between 500 polygons and 5000 gets somewhat obscured when the object is only drawn using 64 pixels. Note therefore that larger objects will often necessitate higher polygon counts merely because there's more of them to see.&lt;br /&gt;
&lt;br /&gt;
(Note that there is no need to continue adding LODs beyond a point of &amp;quot;diminishing artistic returns&amp;quot; - if adding more detail won't help, don't bother. If adding detail helps, but is too expensive to be practical, then it may still be worthwhile for later inclusion as hardware resources increase.)&lt;br /&gt;
&lt;br /&gt;
For small to moderate craft and installations, something along the lines of either of the following is not inappropriate:&lt;br /&gt;
&lt;br /&gt;
(Exponential Scaling)&lt;br /&gt;
*LOD 0 &amp;lt;= 500 tri's.&lt;br /&gt;
*LOD 1 &amp;lt;= 2000&lt;br /&gt;
*LOD 2 &amp;lt;= 4000&lt;br /&gt;
*LOD 3 &amp;lt;= 8000&lt;br /&gt;
*LOD 4 &amp;lt;= 16000&lt;br /&gt;
*LOD 5 &amp;gt;16000&lt;br /&gt;
&lt;br /&gt;
(Quadratic Scaling)&lt;br /&gt;
*LOD 0 &amp;lt;= 500 tri's.&lt;br /&gt;
*LOD 1 &amp;lt;= 2000&lt;br /&gt;
*LOD 2 &amp;lt;= 4500&lt;br /&gt;
*LOD 3 &amp;lt;= 8000&lt;br /&gt;
*LOD 4 &amp;lt;= 12500&lt;br /&gt;
*LOD 5 &amp;lt;= 18000&lt;br /&gt;
*LOD 6 &amp;gt;18000&lt;br /&gt;
&lt;br /&gt;
Larger models, such as capital vessels and large installations will likely follow a similar curve, but at a higher offset, due to increased size. Truly massive models should be partitioned into multiple meshes, each with its own set of LODs such that nearer portions of the model can be independently represented at higher LOD than more distant ones. Partitioning into multiple meshes may be preferable even for merely &amp;quot;largish&amp;quot; models so as to preserve reasonable correspondence between single pixels and the size of represented features when texturing.&lt;br /&gt;
&lt;br /&gt;
==Textures==&lt;br /&gt;
&lt;br /&gt;
Texture maps should also be made accordingly, although clearly artistic integrity trivially trumps the following rough guideline (if you need more pixels, use them) and the appropriate texture size may depend greatly upon the size of the model.&lt;br /&gt;
&lt;br /&gt;
*LOD 1 128x128&lt;br /&gt;
*LOD 2 256x256&lt;br /&gt;
*LOD 3 512x512&lt;br /&gt;
*LOD 4 1024x1024&lt;br /&gt;
*LOD 5 and up having multiple 1024x1024 textures&lt;br /&gt;
&lt;br /&gt;
Be careful with ''texture lodding abuse''. Each LOD that uses its own texture will require more memory (video memory), and breaks batching between instances (slows down rendering of many instances of this model). Even so, texture lodding actually frees up memory most of the time, since only lesser versions are used in the distance. A general rule of thumb is to never have more than two or at most three versions of the same texture. Also take any opportunity to convert textures to greyscale when the color loss is not quite noticeable (most commonly with glow maps and specular maps).&lt;br /&gt;
&lt;br /&gt;
Likewise, for larger models, do not neglect the potential addition of detail textures.&lt;br /&gt;
&lt;br /&gt;
See also [[Development:Texture Guidelines]] and [[Development:Graphics_Requirements]].&lt;br /&gt;
&lt;br /&gt;
===Faction Textures===&lt;br /&gt;
&lt;br /&gt;
To include and successfully test faction textures in your data, you need to:&lt;br /&gt;
* set the corresponding vegastrike.config variable (&amp;lt;code&amp;gt;var name=&amp;quot;faction_dependant_textures&amp;quot; value=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;).&lt;br /&gt;
* prefix default textures with the faction name, e.g. when your default texture is called &amp;quot;tex_000.texture&amp;quot;, to enable the faction texture for &amp;quot;pirates&amp;quot; you'll need to add the texture &amp;quot;pirates_tex_000.texture&amp;quot;.&lt;br /&gt;
* change configuration to one of the 2 highest computer modes (512M+1GB or 1024MB).&lt;br /&gt;
&lt;br /&gt;
==Shield and Collision Meshes==&lt;br /&gt;
Separate shield meshes are highly desirable. Shield meshes should also be done using LODs, although shield meshes should remain simple - that is, their top level meshes should not contain odious numbers of polygons for something that is only infrequently displayed.&lt;br /&gt;
&lt;br /&gt;
Collision meshes need not (and cannot) have LODs. For complex models, it is wise to provide a dumbed-down version of the model that reasonably approximates its shape - minor features and greebles can be safely removed, for instance - to improve performance on the physics engine. Polycount should be kept to a minimum, '''without sacrificing any major features''' of the top-level LOD. Very small vessels (or appropriately shaped ones) may opt to not specify a collision mesh, which will make the physics layer treat this mesh as a spherical object (most efficient).&lt;br /&gt;
&lt;br /&gt;
==HUD Image==&lt;br /&gt;
&lt;br /&gt;
Provides perspective view of the model oriented with the nose towards the left-bottom corner of the image.&lt;br /&gt;
The master image resolution should start at 256x256 pixels with transparency around the vessel.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
For an example of an entity that is composed of multiple meshes, uses LODs, and shield meshes, examine the Clydesdale. (Note that shield and collision meshes are specified in the units.csv file, not by the model.)&lt;br /&gt;
&lt;br /&gt;
=Model Creation=&lt;br /&gt;
&lt;br /&gt;
The first (and most enjoyable) job is to design and draw your model (the geometrical object) within your program.&lt;br /&gt;
&lt;br /&gt;
Feel free to use any modeling program, but it must be able to export models in either (Wavefront) .OBJ or (Vega Strike) .xmesh format. If you don't know where to start, see [[Links:3D Applications]] for a list of modeling software. [http://www.wings3d.com/ Wings 3D] is recommended for modeling beginners. [http://www.blender.org/ '''Blender'''] is the tool of choice for VS artistic community.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Orientation==&lt;br /&gt;
First off, do yourself a favor and line your model up correctly before you begin. For the purposes of Vega Strike, Z+ is forwards and Y+ is up. The model's nose should be pointing forward along the Z+ axis (so that the Z+ axis would theoretically be visible from the cockpit). The mesh should also be properly centered.&lt;br /&gt;
Summing up:&lt;br /&gt;
* Z+ -&amp;gt; Forward direction&lt;br /&gt;
* Y+ -&amp;gt; Up direction&lt;br /&gt;
* Centered&lt;br /&gt;
&lt;br /&gt;
== Tutorials==&lt;br /&gt;
&lt;br /&gt;
{{warning_text |&lt;br /&gt;
| text='''Note:''' The tutorials overview is not complete. Many of the available tutorials have not yet been integrated into this page. Refer also to the [[HowTos|'''How-Tos Tutorials''']] page for additional tutorials.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;2&amp;quot; rules=&amp;quot;rows&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;1&amp;quot; style=&amp;quot;width:100%; text-align:center; background-color:#98b2ee&amp;quot; |&lt;br /&gt;
|'''Modeling Step&lt;br /&gt;
|'''Blender&lt;br /&gt;
|'''Wings3D&lt;br /&gt;
|-&lt;br /&gt;
| Create mesh&lt;br /&gt;
| -&lt;br /&gt;
| [[HowTo:Create Ships in Wings3D|Creating a 3D-model]]&lt;br /&gt;
|-&lt;br /&gt;
| Smoothing&lt;br /&gt;
| [[HowTo:Smooth Groups|Smoothing]]&amp;lt;br&amp;gt; [[HowTo:Weld|Smooth Welding]]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Mesh cleanup&lt;br /&gt;
| [[HowTo:Bevel|Beveling]]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Unwrapping&lt;br /&gt;
| [[HowTo:Unwrap_in_Blender|Unwrapping 1]]&amp;lt;br&amp;gt;[[HowTo:Unwrap|Unwrapping 2]] &amp;lt;br&amp;gt;[[HowTo:FullUnwrapBlender|Ship unwrap]]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Radiosity Baking&lt;br /&gt;
| [[HowTo:Radiosity baking in Blender|Radiosity baking]]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Exporting&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This articles are WIP, means still need to be reviewed and decided how to restructure them:&lt;br /&gt;
* [[HowTo:Create Cockpit in Wings3d|Creating a 3D cockpit for your ship.]]&lt;br /&gt;
* [[HowTo:Add LODs|Adding Levels of Detail]]&lt;br /&gt;
* [[HowTo:Add Ships|Adding your ship to Vega Strike]] - An overview of how to create and add ships to the game&lt;br /&gt;
* [[HowTo:Create Models]] - Links to forum discussions. Page will become generic model creation tutorial.&lt;br /&gt;
* Modeling Tutorials: [[HowTos#Modeling]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Blender Basics===&lt;br /&gt;
* [[HowTo:Basic Blender Tutorial|A basic Blender3D tutorial]]: [http://www.cdschools.org/54223045235521/blank/browse.asp?A=383&amp;amp;BMDRN=2000&amp;amp;BCOB=0&amp;amp;C=55205 Blender Basics - 3rd Edition] - not specific to ships, though...&lt;br /&gt;
&lt;br /&gt;
===Wings3D Basics===&lt;br /&gt;
&lt;br /&gt;
===Other Software Basics===&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Model a Ship|Brad Mick's video tutorial on ship modeling]] - using Lightwave, but the concept is general: ''Rapid Prototyping''&lt;br /&gt;
&lt;br /&gt;
=Texture Creation=&lt;br /&gt;
&lt;br /&gt;
==Unwrapping==&lt;br /&gt;
&lt;br /&gt;
Please make non-overlapping UV unwraps for all future models. You can't bake a proper AO with overlapping islands.&lt;br /&gt;
&lt;br /&gt;
==Unsorted==&lt;br /&gt;
&lt;br /&gt;
(general guidelines, tips, best practices, app specific tutorials, ...)&lt;br /&gt;
&lt;br /&gt;
* [http://netzwelt.gaming-hut.de/vegatexturing/ WIP VegaStrike texturing page by Major]&lt;br /&gt;
* [http://edice.netfirms.com/tuts/texturetut.htm Texturing tutorial by Duality]&lt;br /&gt;
&lt;br /&gt;
For the time being, you may wish to have a look at the corresponding [[Development:Texture_Guidelines|Texturing Guidelines]].&lt;br /&gt;
&lt;br /&gt;
* [[Development:Texture Guidelines|Guidelines for creating ship materials]]&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Add Per Pixel Lighting|Adding per-pixel lighting to your 3D model]]&lt;br /&gt;
* [[HowTo:IntroToShaders|Introduction to shaders, and what they mean for you]] --Bumpmaps, Normalmaps, Shininess maps ...&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Texture|Creating your own textures]] - A summary on how to make texture maps&lt;br /&gt;
* [[HowTo:Texture in Wings3d|Texturing your model in Wings 3d]]&lt;br /&gt;
* [[HowTo:SuperrealisticTexturing|Tips for realistic-looking textures]]&lt;br /&gt;
* [[HowTo:Make Animated Textures|Using animated textures on a model]]&lt;br /&gt;
* [http://wcpedia.com/dw/doku.php/wc_info/modding/texturing_noodle LaGrande Noodle]&lt;br /&gt;
* [http://wcpedia.com/dw/doku.php/wc_info/modding/ao_and_prt_bakes AO and PRT bakes, using Blender and xNormal]&lt;br /&gt;
&lt;br /&gt;
=Integration and Testing=&lt;br /&gt;
&lt;br /&gt;
Using UnitConverter to convert all files and edit the model stats for Vega Strike:&lt;br /&gt;
[[Development:Tools:UnitConverter]]&lt;br /&gt;
&lt;br /&gt;
===Object Marker===&lt;br /&gt;
In order to automatically create turret mounts, gun mounts, and engine thrusters placements in units.csv, please use the following marker:&lt;br /&gt;
&lt;br /&gt;
http://deeplayer.com/cinemut/gunmountmarker.jpg&lt;br /&gt;
&lt;br /&gt;
The shape is 1 units wide in X, 2 units tall in Y, 4 units long in Z. Four vertices in total. The center between the two vertices on X is the origin; the vertex on Z marks the forward direction; the vertex on Y marks the up direction.&lt;br /&gt;
The exported object names are ready and the forward and up directions are calculated from the marker dimensions. Thus, we don't need to worry about mesh rotations; we can deduce mesh rotation from the marker. &lt;br /&gt;
&lt;br /&gt;
[author:chuck_starchaser]&lt;br /&gt;
* Here's the marker blend file (you could load and save as the default blender start):&lt;br /&gt;
** [http://vegastrike.svn.sourceforge.net/viewvc/vegastrike/trunk/modtools/UnitConverter/helper/mount_helper.blend?view=log ''modtools/UnitConverter/helper/mount_helper.blend'']&lt;br /&gt;
* Starts with a marker smack in the middle.&lt;br /&gt;
* You can move it to another layer, later duplicate it as needed to place copies at key locations.&lt;br /&gt;
* You can also import the marker into another blend file:&lt;br /&gt;
** Open whatever.blend, go to File -&amp;gt; Append Or Link&lt;br /&gt;
** Navigate to where UnitConverter/helper/mount_helper.blend is.&lt;br /&gt;
* Go to the &amp;quot;Objects&amp;quot; folder, and click on the &amp;quot;Marker&amp;quot; object.&lt;br /&gt;
* To duplicate an object, in object mode, select and shift-D.&lt;br /&gt;
* To rename your duplicated object, hit F9 and, towards the left, where it says OB:Marker click in the middle of it and then type &amp;quot;gunmount_0_light_medium&amp;quot; or whatever.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/albums/WIPs-and-Concept-Art/mounts_20080911.jpg&lt;br /&gt;
&lt;br /&gt;
The above image shows the markers set as the centers of engine thrusts.&lt;br /&gt;
&lt;br /&gt;
It is advisable to group the marker objects into a group called &amp;quot;marker&amp;quot;. You are required to export all the markers into one obj file that needs to contain the name &amp;quot;marker&amp;quot; in it (letter case is unimportant, it can be &amp;quot;marker&amp;quot;, or &amp;quot;Marker&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Object Helper naming convention: ''type_subtype_identifier''&lt;br /&gt;
&lt;br /&gt;
with type:&lt;br /&gt;
* pilot (currently unused)&lt;br /&gt;
* mount (currently unused)&lt;br /&gt;
* turret&lt;br /&gt;
* subunit&lt;br /&gt;
* engine&lt;br /&gt;
* dock&lt;br /&gt;
&lt;br /&gt;
and subtype being optional (convention tbd),&lt;br /&gt;
and identifier being either a number or a description and optional.&lt;br /&gt;
&lt;br /&gt;
You may define for example:&lt;br /&gt;
* pilot&lt;br /&gt;
* pilot_john&lt;br /&gt;
* mount_lightmedium_0&lt;br /&gt;
* turret_capmissile_frontleft&lt;br /&gt;
* subunit_1&lt;br /&gt;
* engine_retro_left&lt;br /&gt;
&lt;br /&gt;
===Exporting to OBJ===&lt;br /&gt;
&lt;br /&gt;
===Updating Stats===&lt;br /&gt;
* [[HowTo:Add Descriptions|Putting ship and goods descriptions into the game]]&lt;br /&gt;
* [[HowTo:Edit master_part_list.csv|Editing the Master_part_list.csv file]]&lt;br /&gt;
&lt;br /&gt;
=Submission and Vetting=&lt;br /&gt;
&lt;br /&gt;
=Technical Reference=&lt;br /&gt;
&lt;br /&gt;
==Technical Specifications==&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Edit BFXM files|Editing BFXM files (format spec)]]&lt;br /&gt;
* [[HowTo:Edit XMESH files|Editing the xmesh file of a ship]]&lt;br /&gt;
* [[HowTo:Edit units.csv|Editing units.csv]]&lt;br /&gt;
* [[HowTo:Add Engine Glow|Adding an engine glow to your 3D model]]&lt;br /&gt;
&lt;br /&gt;
==Scripts and Tools==&lt;br /&gt;
&lt;br /&gt;
See [[Development:Scripts_%26_Tools|Scripts &amp;amp; Tools]]&lt;br /&gt;
* [[HowTo:Add_Ships#New_method|mesher converter obj &amp;lt;-&amp;gt; bfxm &amp;lt;-&amp;gt; xmesh]]&lt;br /&gt;
* [[Development:Tools:UnitConverter|UnitConverter]]&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&lt;br /&gt;
* [http://wcpedia.com/dw/doku.php/wc_info/modding/index WCpedia Modeling Page]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development|Model Guidelines]]&lt;br /&gt;
[[Category:Modeling|Model Guidelines]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Model_Guidelines&amp;diff=18265</id>
		<title>Development:Model Guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Model_Guidelines&amp;diff=18265"/>
				<updated>2011-04-05T23:22:13Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* Modeling Pipeline Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{parent_link|parent=[[Development]]}}&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
The intention of this document is to give artists using the Vega Strike engine some suggested guidelines to follow in creating models. You may also wish to have a look at the corresponding [[Development:Texture_Guidelines|texturing guidelines]].&lt;br /&gt;
&lt;br /&gt;
So you want to create a new ship for Vega Strike, do you?  While virtually all models are welcome, well before you start cranking out wonderfully designed models we request that you first check what models are still required.&lt;br /&gt;
&lt;br /&gt;
{{warning_text |&lt;br /&gt;
| text='''Note:''' If you wish to contribute a new or updated model (ship, installation, turret, cockpit, ..) to the game Vega Strike, please see the [[Development:3D_Models|'''3D Models''']] page for models requiring attention.}}&lt;br /&gt;
&lt;br /&gt;
Alternatively, contact [[User:jackS|jackS]] or [[User:pyramid|pyramid]].&lt;br /&gt;
&lt;br /&gt;
= Modeling Pipeline Overview =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;2&amp;quot; rules=&amp;quot;rows&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;1&amp;quot; style=&amp;quot;width:100%; text-align:center; background-color:#98ffb2&amp;quot; |&lt;br /&gt;
|'''Step&lt;br /&gt;
|'''Input&lt;br /&gt;
|'''Output&lt;br /&gt;
|'''Tools&lt;br /&gt;
|'''Requirements&lt;br /&gt;
|'''Tutorials&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Model Selection&lt;br /&gt;
| -&lt;br /&gt;
| required model&lt;br /&gt;
| model task list&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Conceptualization&lt;br /&gt;
| selected model&lt;br /&gt;
| model concept&lt;br /&gt;
| pen &amp;amp; paper, artwork forum&lt;br /&gt;
| artstyle guide&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Modeling&lt;br /&gt;
| concept&lt;br /&gt;
| model mesh, obj files&lt;br /&gt;
| blender, forum&lt;br /&gt;
| many&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Texturing&lt;br /&gt;
| model mesh&lt;br /&gt;
| textures&lt;br /&gt;
| gimp, forum&lt;br /&gt;
| texture requirements&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Integration&lt;br /&gt;
| model + textures&lt;br /&gt;
| bfxm + dds textures&lt;br /&gt;
| mesher + UnitConverter&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Testing&lt;br /&gt;
| bfxm model + dds textures&lt;br /&gt;
| visual + behavior&lt;br /&gt;
| vegastrike + modelview.mission&lt;br /&gt;
| pass or rework&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Submission&lt;br /&gt;
| blender file + obj, master textures, bfxm + dds textures&lt;br /&gt;
| archive or svn&lt;br /&gt;
| mail, svn client&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Model Requirements=&lt;br /&gt;
&lt;br /&gt;
==Requirements Checklist==&lt;br /&gt;
&lt;br /&gt;
Considerations for a successful model submission:&lt;br /&gt;
* Model is in the requirements list [[Development:3D_Models|-&amp;gt;]]&lt;br /&gt;
* Abides to faction visual guidelines&lt;br /&gt;
* Has approved concept&lt;br /&gt;
* Provides model source file (blender, Wings3D, ...)&lt;br /&gt;
* Provides OBJ file&lt;br /&gt;
* Has model mesh, shield mesh, LoD meshes, helper meshes&lt;br /&gt;
* Provides uncompressed textures in png format (and optionally faction textures)&lt;br /&gt;
* Provides texture source files (GIMP, ...)&lt;br /&gt;
* Provides HUD png image with correct orientation&lt;br /&gt;
* Provides units.csv file entry&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Model Requirements Details==&lt;br /&gt;
&lt;br /&gt;
==Visual Guidelines==&lt;br /&gt;
&lt;br /&gt;
For particular aesthetic guidelines, please see the [[Artstyle guides]] page. Please note that many of the existing models are used because of expedience, not because they fit well with VS canon (i.e. if you make something new look like what's there, it still might not be what we're looking for). If in doubt, please ask on the [http://vegastrike.sourceforge.net/forums/viewforum.php?f=4 Artwork &amp;amp; Content Vetting forum]. &lt;br /&gt;
&lt;br /&gt;
To absolutely sure, for new models, please create a drawing of your proposed concept and let it be discussed and approved on the [http://vegastrike.sourceforge.net/forums/viewforum.php?f=4 Artwork &amp;amp; Content Vetting forum].&lt;br /&gt;
&lt;br /&gt;
See also [[Development:Texture Guidelines]]&lt;br /&gt;
&lt;br /&gt;
==Model File Format==&lt;br /&gt;
The preferred format for submission (for public disbursement - whatever native format is used inside your favorite modeling suite is fortunately a non-issue) is currently Wavefront OBJ file format, as this is the most easily converted between manipulation (assorted modeling tools) and presentation (currently BFXM, later to be the OGRE .mesh format). Model &amp;quot;source&amp;quot; therefore, is, at present (Sep. 2008), most usefully uploaded as .OBJ.&lt;br /&gt;
&lt;br /&gt;
Until such a time as a visual model editing tool is completed, conversion to a game-ready format will likely pass through the .xmesh format for insertion of LOD references into top level mesh(es), correction of coordinate &amp;quot;handedness&amp;quot; (if the ordering of the coordinate axes is incompatible, as appears to happen with the output of some modeling tools).&lt;br /&gt;
&lt;br /&gt;
See [[HowTo:Add_Ships]] for information on using mesher to convert to a presentation format (such as BFXM). Note that an old utility, objconv, is '''not''' mesher, and should not be used for this task. Source files for the mesher utility are included along with VS source. Windows users may download updated mesher binaries from their SVN interface of choice (the binary will be in the \bin directory).&lt;br /&gt;
&lt;br /&gt;
==Polygon/Vertex Count==&lt;br /&gt;
In broadest terms, the desired polygon count for a particular model is dependent on three major factors: &lt;br /&gt;
*The amount of screen real-estate that the model is likely to be viewed at the majority of time that a user will be seeing it (i.e. a 2 meter long rocket doesn't deserve the same order of magnitude of attention to detail as a large base or vessel unless the rocket is expected to be mounted in front of a camera. Likewise, even at the same level of attention in terms of polygons per square meter, it would have far fewer total polygons.)&lt;br /&gt;
*The intrinsic surface complexity of the model. If one is modeling a box for freight cargo, one is not going to need as many polygons as if one needed to model one of the Vega Strike developers (not that we're necessarily model material ;-)). If you don't use enough polygons, no amount of texture magic can save a model from being ugly. That said, if you are modeling a cargo freight container and you use thousands of polygons, you're being negligent and wasteful of resources.&lt;br /&gt;
*Engine limitations. Engine limitations is a bit of a misnomer, as the performance of the graphical engine is more hardware dependent than anything else, but it's a good heading for lumping any non-artistic hurdles under. This is the most complicated of the three major factors, because it represents a moving target. Suffice it to say that in order to preserve playability on a broad range of systems, there is a premium placed on making a model aesthetically appropriate with the minimum number of polygons.&lt;br /&gt;
&lt;br /&gt;
Rough guideline:&lt;br /&gt;
*Fighter: 15k triangles&lt;br /&gt;
*Corvette: 30k tris&lt;br /&gt;
*Cruiserer: 60k&lt;br /&gt;
*Carrier: 120k&lt;br /&gt;
*Space station: 250k&lt;br /&gt;
&lt;br /&gt;
However, significant discression, and the possibility for using large numbers of polygons to prettify an object remain with the artist, provided they make appropriate use of [[Terminology:LODs|LODs]]. The primary focus needs to be on making a model aesthetically appropriate, for an intended common viewing distance, and then catering to the needs of the engine by introducing lower LODs (if necessary) and catering to artistic desires by introducing higher LODs (if appropriate). There is also an element of minor future proofing that occurs with providing a robust range of LOD poly counts - namely, multiple versions of the data set can be constructed targeted at different hardware points by shifting up or down along the LOD set (although this currently isn't bothered with, if and when we develop a true source repository for models and textures, this will likely become more common, as postprocessing of submitted art will become tenable).&lt;br /&gt;
&lt;br /&gt;
One more point to consider before attempting to set a polygon goal for a model is what the likely total contribution from all instances on screen of a given model will be - if the model represents something particularly rare, then it is likely that a few more polygons can easily be spared on its model than for more common objects of otherwise similar size, complexity, etc.&lt;br /&gt;
&lt;br /&gt;
Above all, use common sense - if it's visually hideous because it doesn't have enough polygons, it's not your top level model, and if it's in the 5 digit range for polygon count, it's not your lowest level LOD. Take into consideration how much screen real estate, based on the intended in-game size of the model (and if you don't have any idea how big it's supposed to be - you're doing something wrong already) the model will be taking up at various distances, and calibrate detail appropriately (this will become a much easier task once there is a visual modeling tool from the VS side) - to belabor the obvious, the difference between 500 polygons and 5000 gets somewhat obscured when the object is only drawn using 64 pixels. Note therefore that larger objects will often necessitate higher polygon counts merely because there's more of them to see.&lt;br /&gt;
&lt;br /&gt;
(Note that there is no need to continue adding LODs beyond a point of &amp;quot;diminishing artistic returns&amp;quot; - if adding more detail won't help, don't bother. If adding detail helps, but is too expensive to be practical, then it may still be worthwhile for later inclusion as hardware resources increase.)&lt;br /&gt;
&lt;br /&gt;
For small to moderate craft and installations, something along the lines of either of the following is not inappropriate:&lt;br /&gt;
&lt;br /&gt;
(Exponential Scaling)&lt;br /&gt;
*LOD 0 &amp;lt;= 500 tri's.&lt;br /&gt;
*LOD 1 &amp;lt;= 2000&lt;br /&gt;
*LOD 2 &amp;lt;= 4000&lt;br /&gt;
*LOD 3 &amp;lt;= 8000&lt;br /&gt;
*LOD 4 &amp;lt;= 16000&lt;br /&gt;
*LOD 5 &amp;gt;16000&lt;br /&gt;
&lt;br /&gt;
(Quadratic Scaling)&lt;br /&gt;
*LOD 0 &amp;lt;= 500 tri's.&lt;br /&gt;
*LOD 1 &amp;lt;= 2000&lt;br /&gt;
*LOD 2 &amp;lt;= 4500&lt;br /&gt;
*LOD 3 &amp;lt;= 8000&lt;br /&gt;
*LOD 4 &amp;lt;= 12500&lt;br /&gt;
*LOD 5 &amp;lt;= 18000&lt;br /&gt;
*LOD 6 &amp;gt;18000&lt;br /&gt;
&lt;br /&gt;
Larger models, such as capital vessels and large installations will likely follow a similar curve, but at a higher offset, due to increased size. Truly massive models should be partitioned into multiple meshes, each with its own set of LODs such that nearer portions of the model can be independently represented at higher LOD than more distant ones. Partitioning into multiple meshes may be preferable even for merely &amp;quot;largish&amp;quot; models so as to preserve reasonable correspondence between single pixels and the size of represented features when texturing.&lt;br /&gt;
&lt;br /&gt;
==Textures==&lt;br /&gt;
&lt;br /&gt;
Texture maps should also be made accordingly, although clearly artistic integrity trivially trumps the following rough guideline (if you need more pixels, use them) and the appropriate texture size may depend greatly upon the size of the model.&lt;br /&gt;
&lt;br /&gt;
*LOD 1 128x128&lt;br /&gt;
*LOD 2 256x256&lt;br /&gt;
*LOD 3 512x512&lt;br /&gt;
*LOD 4 1024x1024&lt;br /&gt;
*LOD 5 and up having multiple 1024x1024 textures&lt;br /&gt;
&lt;br /&gt;
Be careful with ''texture lodding abuse''. Each LOD that uses its own texture will require more memory (video memory), and breaks batching between instances (slows down rendering of many instances of this model). Even so, texture lodding actually frees up memory most of the time, since only lesser versions are used in the distance. A general rule of thumb is to never have more than two or at most three versions of the same texture. Also take any opportunity to convert textures to greyscale when the color loss is not quite noticeable (most commonly with glow maps and specular maps).&lt;br /&gt;
&lt;br /&gt;
Likewise, for larger models, do not neglect the potential addition of detail textures.&lt;br /&gt;
&lt;br /&gt;
See also [[Development:Texture Guidelines]] and [[Development:Graphics_Requirements]].&lt;br /&gt;
&lt;br /&gt;
===Faction Textures===&lt;br /&gt;
&lt;br /&gt;
To include and successfully test faction textures in your data, you need to:&lt;br /&gt;
* set the corresponding vegastrike.config variable (&amp;lt;code&amp;gt;var name=&amp;quot;faction_dependant_textures&amp;quot; value=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;).&lt;br /&gt;
* prefix default textures with the faction name, e.g. when your default texture is called &amp;quot;tex_000.texture&amp;quot;, to enable the faction texture for &amp;quot;pirates&amp;quot; you'll need to add the texture &amp;quot;pirates_tex_000.texture&amp;quot;.&lt;br /&gt;
* change configuration to one of the 2 highest computer modes (512M+1GB or 1024MB).&lt;br /&gt;
&lt;br /&gt;
==Shield and Collision Meshes==&lt;br /&gt;
Separate shield meshes are highly desirable. Shield meshes should also be done using LODs, although shield meshes should remain simple - that is, their top level meshes should not contain odious numbers of polygons for something that is only infrequently displayed.&lt;br /&gt;
&lt;br /&gt;
Collision meshes need not (and cannot) have LODs. For complex models, it is wise to provide a dumbed-down version of the model that reasonably approximates its shape - minor features and greebles can be safely removed, for instance - to improve performance on the physics engine. Polycount should be kept to a minimum, '''without sacrificing any major features''' of the top-level LOD. Very small vessels (or appropriately shaped ones) may opt to not specify a collision mesh, which will make the physics layer treat this mesh as a spherical object (most efficient).&lt;br /&gt;
&lt;br /&gt;
==HUD Image==&lt;br /&gt;
&lt;br /&gt;
Provides perspective view of the model oriented with the nose towards the left-bottom corner of the image.&lt;br /&gt;
The master image resolution should start at 256x256 pixels with transparency around the vessel.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
For an example of an entity that is composed of multiple meshes, uses LODs, and shield meshes, examine the Clydesdale. (Note that shield and collision meshes are specified in the units.csv file, not by the model.)&lt;br /&gt;
&lt;br /&gt;
=Model Creation=&lt;br /&gt;
&lt;br /&gt;
The first (and most enjoyable) job is to design and draw your model (the geometrical object) within your program.&lt;br /&gt;
&lt;br /&gt;
Feel free to use any modeling program, but it must be able to export models in either (Wavefront) .OBJ or (Vega Strike) .xmesh format. If you don't know where to start, see [[Links:3D Applications]] for a list of modeling software. [http://www.wings3d.com/ Wings 3D] is recommended for modeling beginners. [http://www.blender.org/ '''Blender'''] is the tool of choice for VS artistic community.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Orientation==&lt;br /&gt;
First off, do yourself a favor and line your model up correctly before you begin. For the purposes of Vega Strike, Z+ is forwards and Y+ is up. The model's nose should be pointing forward along the Z+ axis (so that the Z+ axis would theoretically be visible from the cockpit). The mesh should also be properly centered.&lt;br /&gt;
Summing up:&lt;br /&gt;
* Z+ -&amp;gt; Forward direction&lt;br /&gt;
* Y+ -&amp;gt; Up direction&lt;br /&gt;
* Centered&lt;br /&gt;
&lt;br /&gt;
== Tutorials==&lt;br /&gt;
&lt;br /&gt;
{{warning_text |&lt;br /&gt;
| text='''Note:''' The tutorials overview is not complete. Many of the available tutorials have not yet been integrated into this page. Refer also to the [[HowTos|'''How-Tos Tutorials''']] page for additional tutorials.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;2&amp;quot; rules=&amp;quot;rows&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;1&amp;quot; style=&amp;quot;width:100%; text-align:center; background-color:#98b2ee&amp;quot; |&lt;br /&gt;
|'''Modeling Step&lt;br /&gt;
|'''Blender&lt;br /&gt;
|'''Wings3D&lt;br /&gt;
|-&lt;br /&gt;
| Create mesh&lt;br /&gt;
| -&lt;br /&gt;
| [[HowTo:Create Ships in Wings3D|Creating a 3D-model]]&lt;br /&gt;
|-&lt;br /&gt;
| Smoothing&lt;br /&gt;
| [[HowTo:Smooth Groups|Smoothing]]&amp;lt;br&amp;gt; [[HowTo:Weld|Smooth Welding]]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Mesh cleanup&lt;br /&gt;
| [[HowTo:Bevel|Beveling]]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Unwrapping&lt;br /&gt;
| [[HowTo:Unwrap_in_Blender|Unwrapping 1]]&amp;lt;br&amp;gt;[[HowTo:Unwrap|Unwrapping 2]] &amp;lt;br&amp;gt;[[HowTo:FullUnwrapBlender|Ship unwrap]]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Radiosity Baking&lt;br /&gt;
| [[HowTo:Radiosity baking in Blender|Radiosity baking]]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Exporting&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This articles are WIP, means still need to be reviewed and decided how to restructure them:&lt;br /&gt;
* [[HowTo:Create Cockpit in Wings3d|Creating a 3D cockpit for your ship.]]&lt;br /&gt;
* [[HowTo:Add LODs|Adding Levels of Detail]]&lt;br /&gt;
* [[HowTo:Add Ships|Adding your ship to Vega Strike]] - An overview of how to create and add ships to the game&lt;br /&gt;
* [[HowTo:Create Models]] - Links to forum discussions. Page will become generic model creation tutorial.&lt;br /&gt;
* Modeling Tutorials: [[HowTos#Modeling]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Blender Basics===&lt;br /&gt;
* [[HowTo:Basic Blender Tutorial|A basic Blender3D tutorial]]: [http://www.cdschools.org/54223045235521/blank/browse.asp?A=383&amp;amp;BMDRN=2000&amp;amp;BCOB=0&amp;amp;C=55205 Blender Basics - 3rd Edition] - not specific to ships, though...&lt;br /&gt;
&lt;br /&gt;
===Wings3D Basics===&lt;br /&gt;
&lt;br /&gt;
===Other Software Basics===&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Model a Ship|Brad Mick's video tutorial on ship modeling]] - using Lightwave, but the concept is general: ''Rapid Prototyping''&lt;br /&gt;
&lt;br /&gt;
=Texture Creation=&lt;br /&gt;
&lt;br /&gt;
==Unwrapping==&lt;br /&gt;
&lt;br /&gt;
Please make non-overlapping UV unwraps for all future models. You can't bake a proper AO with overlapping islands.&lt;br /&gt;
&lt;br /&gt;
==Unsorted==&lt;br /&gt;
&lt;br /&gt;
(general guidelines, tips, best practices, app specific tutorials, ...)&lt;br /&gt;
&lt;br /&gt;
* [http://netzwelt.gaming-hut.de/vegatexturing/ WIP VegaStrike texturing page by Major]&lt;br /&gt;
* [http://edice.netfirms.com/tuts/texturetut.htm Texturing tutorial by Duality]&lt;br /&gt;
&lt;br /&gt;
For the time being, you may wish to have a look at the corresponding [[Development:Texture_Guidelines|Texturing Guidelines]].&lt;br /&gt;
&lt;br /&gt;
* [[Development:Texture Guidelines|Guidelines for creating ship materials]]&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Add Per Pixel Lighting|Adding per-pixel lighting to your 3D model]]&lt;br /&gt;
* [[HowTo:IntroToShaders|Introduction to shaders, and what they mean for you]] --Bumpmaps, Normalmaps, Shininess maps ...&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Texture|Creating your own textures]] - A summary on how to make texture maps&lt;br /&gt;
* [[HowTo:Texture in Wings3d|Texturing your model in Wings 3d]]&lt;br /&gt;
* [[HowTo:SuperrealisticTexturing|Tips for realistic-looking textures]]&lt;br /&gt;
* [[HowTo:Make Animated Textures|Using animated textures on a model]]&lt;br /&gt;
* [http://wcpedia.com/dw/doku.php/wc_info/modding/texturing_noodle LaGrande Noodle]&lt;br /&gt;
* [http://wcpedia.com/dw/doku.php/wc_info/modding/ao_and_prt_bakes AO and PRT bakes, using Blender and xNormal]&lt;br /&gt;
&lt;br /&gt;
=Integration and Testing=&lt;br /&gt;
&lt;br /&gt;
Using UnitConverter to convert all files and edit the model stats for Vega Strike:&lt;br /&gt;
[[Development:Tools:UnitConverter]]&lt;br /&gt;
&lt;br /&gt;
===Object Marker===&lt;br /&gt;
In order to automatically create turret mounts, gun mounts, and engine thrusters placements in units.csv, please use the following marker:&lt;br /&gt;
&lt;br /&gt;
http://deeplayer.com/cinemut/gunmountmarker.jpg&lt;br /&gt;
&lt;br /&gt;
The shape is 1 units wide in X, 2 units tall in Y, 4 units long in Z. Four vertices in total. The center between the two vertices on X is the origin; the vertex on Z marks the forward direction; the vertex on Y marks the up direction.&lt;br /&gt;
The exported object names are ready and the forward and up directions are calculated from the marker dimensions. Thus, we don't need to worry about mesh rotations; we can deduce mesh rotation from the marker. &lt;br /&gt;
&lt;br /&gt;
[author:chuck_starchaser]&lt;br /&gt;
* Here's the marker blend file (you could load and save as the default blender start):&lt;br /&gt;
** [http://vegastrike.svn.sourceforge.net/viewvc/vegastrike/trunk/modtools/UnitConverter/helper/mount_helper.blend?view=log ''modtools/UnitConverter/helper/mount_helper.blend'']&lt;br /&gt;
* Starts with a marker smack in the middle.&lt;br /&gt;
* You can move it to another layer, later duplicate it as needed to place copies at key locations.&lt;br /&gt;
* You can also import the marker into another blend file:&lt;br /&gt;
** Open whatever.blend, go to File -&amp;gt; Append Or Link&lt;br /&gt;
** Navigate to where UnitConverter/helper/mount_helper.blend is.&lt;br /&gt;
* Go to the &amp;quot;Objects&amp;quot; folder, and click on the &amp;quot;Marker&amp;quot; object.&lt;br /&gt;
* To duplicate an object, in object mode, select and shift-D.&lt;br /&gt;
* To rename your duplicated object, hit F9 and, towards the left, where it says OB:Marker click in the middle of it and then type &amp;quot;gunmount_0_light_medium&amp;quot; or whatever.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/albums/WIPs-and-Concept-Art/mounts_20080911.jpg&lt;br /&gt;
&lt;br /&gt;
The above image shows the markers set as the centers of engine thrusts.&lt;br /&gt;
&lt;br /&gt;
It is advisable to group the marker objects into a group called &amp;quot;marker&amp;quot;. You are required to export all the markers into one obj file that needs to contain the name &amp;quot;marker&amp;quot; in it (letter case is unimportant, it can be &amp;quot;marker&amp;quot;, or &amp;quot;Marker&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Object Helper naming convention: ''type_subtype_identifier''&lt;br /&gt;
&lt;br /&gt;
with type:&lt;br /&gt;
* pilot (currently unused)&lt;br /&gt;
* mount (currently unused)&lt;br /&gt;
* turret&lt;br /&gt;
* subunit&lt;br /&gt;
* engine&lt;br /&gt;
* dock&lt;br /&gt;
&lt;br /&gt;
and subtype being optional (convention tbd),&lt;br /&gt;
and identifier being either a number or a description and optional.&lt;br /&gt;
&lt;br /&gt;
You may define for example:&lt;br /&gt;
* pilot&lt;br /&gt;
* pilot_john&lt;br /&gt;
* mount_lightmedium_0&lt;br /&gt;
* turret_capmissile_frontleft&lt;br /&gt;
* subunit_1&lt;br /&gt;
* engine_retro_left&lt;br /&gt;
&lt;br /&gt;
===Exporting to OBJ+MTL===&lt;br /&gt;
&lt;br /&gt;
===Updating Stats===&lt;br /&gt;
* [[HowTo:Add Descriptions|Putting ship and goods descriptions into the game]]&lt;br /&gt;
* [[HowTo:Edit master_part_list.csv|Editing the Master_part_list.csv file]]&lt;br /&gt;
&lt;br /&gt;
=Submission and Vetting=&lt;br /&gt;
&lt;br /&gt;
=Technical Reference=&lt;br /&gt;
&lt;br /&gt;
==Technical Specifications==&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Edit BFXM files|Editing BFXM files (format spec)]]&lt;br /&gt;
* [[HowTo:Edit XMESH files|Editing the xmesh file of a ship]]&lt;br /&gt;
* [[HowTo:Edit units.csv|Editing units.csv]]&lt;br /&gt;
* [[HowTo:Add Engine Glow|Adding an engine glow to your 3D model]]&lt;br /&gt;
&lt;br /&gt;
==Scripts and Tools==&lt;br /&gt;
&lt;br /&gt;
See [[Development:Scripts_%26_Tools|Scripts &amp;amp; Tools]]&lt;br /&gt;
* [[HowTo:Add_Ships#New_method|mesher converter obj &amp;lt;-&amp;gt; bfxm &amp;lt;-&amp;gt; xmesh]]&lt;br /&gt;
* [[Development:Tools:UnitConverter|UnitConverter]]&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&lt;br /&gt;
* [http://wcpedia.com/dw/doku.php/wc_info/modding/index WCpedia Modeling Page]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development|Model Guidelines]]&lt;br /&gt;
[[Category:Modeling|Model Guidelines]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Tools:UnitConverter&amp;diff=18264</id>
		<title>Development:Tools:UnitConverter</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Tools:UnitConverter&amp;diff=18264"/>
				<updated>2011-04-05T22:27:46Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* Requirements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
&lt;br /&gt;
Raising from the stone age of workflows, in which every task, from texture conversion to editing of unit stats, had to be accomplished manually and only by quite knowledgeable magistrates who knew the alchemy of units.csv columns, xmesh files, and had a magic with meshers. Now, UnitConverter shines upon us, still in the distance, but unmovable like a beacon on solid rock, to be the church of the artists, to accommodate the apostles of Blender, CineMut, and LaGrande, to bring the holy spirit of salvation to this compassionate universe of ours.&lt;br /&gt;
&lt;br /&gt;
Some of the main Unit Converter features:&lt;br /&gt;
* bi-directionally converts meshes between obj and bfxm files&lt;br /&gt;
* assign textures to (sub)models&lt;br /&gt;
* convert model and shield meshes&lt;br /&gt;
* compress default and faction input textures to dds output textures&lt;br /&gt;
* saves the complete workspace in portable config files&lt;br /&gt;
* change model techniques and blend mode&lt;br /&gt;
* checks and corrects invalid obj files, recreates mtl files&lt;br /&gt;
* creates a model directory if none exists and copies all required files&lt;br /&gt;
* compresses hud image and creates a .sprite file&lt;br /&gt;
* units.csv entry editor and creator (with default unit stats for new units)&lt;br /&gt;
* displays model using VS&lt;br /&gt;
* reads mesh dimensions from obj file&lt;br /&gt;
* placement of thrusters, turrets, mounts, docks, and blink lights from marker obj file&lt;br /&gt;
* on-screen instructions for each workflow module&lt;br /&gt;
* production tested&lt;br /&gt;
&lt;br /&gt;
==Important Note==&lt;br /&gt;
{{warning_text |&lt;br /&gt;
|text=Due to the way ''mesher'' handles command line options (separates different inputs by spaces), it will not allow to use folders or file names with spaces (as common on Windows).&lt;br /&gt;
Should you be getting runtime errors during the conversion, you should rename your folder to something like &amp;quot;UnitName&amp;quot; or &amp;quot;Unit_Name_working_folder&amp;quot;, i.e. substitute spaces with underscores &amp;quot;_&amp;quot;. Do the same for the input files, i.e. &amp;quot;Unit_Name.obj&amp;quot;.}}&lt;br /&gt;
&lt;br /&gt;
=Requirements=&lt;br /&gt;
&lt;br /&gt;
In order to run UnitConverter on your system is to have Python 2.5 or 2.6 installed on your system. Python 3.x has different syntax and UnitConveter will not work as long as it hasn't been ported to Python 3. Tkinter library is required to run UnitConverter, however it comes installed with most python distributions. Some Linux distributions require a separate installation of Tkinter.&lt;br /&gt;
&lt;br /&gt;
A requirement for the '''model obj files''' is that no mtl file is provided. UnitConverter will generate its own texture information based on the input given under the '''Model''' panel.&lt;br /&gt;
The best way for exporting files from blender is to use the following three options *only*: '''Edges''', '''UVs''', '''Objects'''. You may also enable Normals, and Groups. However the '''Materials''' export option should be explicitly disabled.&lt;br /&gt;
&lt;br /&gt;
Especially when reworking existing units, it is recommended that the model '''obj''' file is named the same way as the unit in ''units.csv'', in particular what concerns the letter case, usually following the CamelCase convention.&lt;br /&gt;
&lt;br /&gt;
You will further require master textures for the object, which must be on the '''png''' file format and [[Development:Graphics_Requirements#Image_dimensions|Power-Of-Two]].&lt;br /&gt;
Master textures for factions should have the faction name prefixed to the texture name, e.g. &amp;quot;confed_hull.png&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Optionally, an '''obj''' file with markers can be supplied and must contain the name &amp;quot;marker&amp;quot; in the file name.&lt;br /&gt;
&lt;br /&gt;
Optionally, a shield '''obj''' file can be supplied, containing the name &amp;quot;shield&amp;quot; in the file name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quick Start Guide=&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
You must first configure the paths under Config including the application in the path:&lt;br /&gt;
* ''path\data'' (to edit unit stats and view model in Vega Strike)&lt;br /&gt;
* ''path\mesher.exe'' (to convert model to bfxm) - [http://vegastrike.svn.sourceforge.net/viewvc/vegastrike/trunk/win32/bin/ get mesher]&lt;br /&gt;
* ''path\nvcompress'' (to compress textures) - [[Links:Graphic_Applications#nVidia_Texture_Tools|see here for instructions on nvcompress]]&lt;br /&gt;
(There is no need to set the working dir, as this field is purely informational)&lt;br /&gt;
&lt;br /&gt;
==Integrating Models==&lt;br /&gt;
Assuming you have exported:&lt;br /&gt;
* ship mesh to ''Ship.obj''&lt;br /&gt;
* shield to ''Ship-Shield.obj''&lt;br /&gt;
* helpers to ''Ship-Mounts.obj&lt;br /&gt;
''&lt;br /&gt;
... the steps to convert your model are:&lt;br /&gt;
* In UnitConverter, under &amp;quot;Model&amp;quot; add all three obj files to workspace.&lt;br /&gt;
* Then select the main Ship model in the drop down.&lt;br /&gt;
* Under &amp;quot;Textures&amp;quot; you add the ones you have provided.&lt;br /&gt;
* Press &amp;quot;Save and Convert&amp;quot;&lt;br /&gt;
* Press &amp;quot;Convert Textures&amp;quot;&lt;br /&gt;
* Press &amp;quot;Copy Data&amp;quot;&lt;br /&gt;
* Under &amp;quot;Unit&amp;quot; press &amp;quot;Save&amp;quot;&lt;br /&gt;
* Under &amp;quot;View&amp;quot; press &amp;quot;View&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This will call vegastrike and the modelview.mission with your new unit enabled.&lt;br /&gt;
&lt;br /&gt;
==Converting Hud Image==&lt;br /&gt;
Under &amp;quot;HUDImage&amp;quot;:&lt;br /&gt;
* Open the &amp;quot;''Ship-hud.png''&amp;quot; image using the &amp;quot;...&amp;quot; button&lt;br /&gt;
* Press &amp;quot;Convert Image&amp;quot;&lt;br /&gt;
* Press &amp;quot;Copy Data&amp;quot;&lt;br /&gt;
* Under &amp;quot;Unit&amp;quot; press &amp;quot;Save&amp;quot;&lt;br /&gt;
* Under &amp;quot;View&amp;quot; press &amp;quot;View&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Using Uncompressed Images==&lt;br /&gt;
* Under &amp;quot;Config&amp;quot; check the &amp;quot;Bypass compression&amp;quot; option.&lt;br /&gt;
* Under &amp;quot;Textures&amp;quot; press &amp;quot;Save and Convert&amp;quot;&lt;br /&gt;
* Press &amp;quot;Copy Data&amp;quot;&lt;br /&gt;
* Under &amp;quot;View&amp;quot; press &amp;quot;View&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Adding Thruster, Docks, Mounts==&lt;br /&gt;
* Under &amp;quot;Model&amp;quot; press &amp;quot;Add Model&amp;quot;&lt;br /&gt;
* Select the &amp;quot;''Ship-Mounts.obj''&amp;quot; file with your mount markers.&lt;br /&gt;
* Under &amp;quot;Unit&amp;quot; and &amp;quot;Unit2&amp;quot; review the stats&lt;br /&gt;
* Under &amp;quot;Unit&amp;quot; press &amp;quot;Save&amp;quot;&lt;br /&gt;
* Under &amp;quot;View&amp;quot; press &amp;quot;View&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Editing Stats==&lt;br /&gt;
* Under &amp;quot;Unit&amp;quot;, in &amp;quot;Unit name&amp;quot; write the units.csv key (e.g. ''Llama.begin'')&lt;br /&gt;
* Press &amp;quot;Load&amp;quot;&lt;br /&gt;
* Edit fields under &amp;quot;Unit&amp;quot; and &amp;quot;Unit2&amp;quot;&lt;br /&gt;
* Under &amp;quot;Unit&amp;quot; press &amp;quot;Save&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Comparing Units==&lt;br /&gt;
* Under '''Unit''' tab, in '''Unit name''' write the units.csv key (e.g. ''Llama.begin'')&lt;br /&gt;
* Press '''Load'''&lt;br /&gt;
* Use '''&amp;lt;''' and '''&amp;gt;''' to browse backward and forward.&lt;br /&gt;
* After editing a parameter make sure to press '''Save'''&lt;br /&gt;
&lt;br /&gt;
==Getting Help==&lt;br /&gt;
In case of problems, please report to the [http://vegastrike.sourceforge.net/forums/viewtopic.php?f=20&amp;amp;t=11885 Unit Converter thread].&lt;br /&gt;
&lt;br /&gt;
=UnitConverter Tool=&lt;br /&gt;
&lt;br /&gt;
==Installation and Starting==&lt;br /&gt;
&lt;br /&gt;
You can download the latest version of UnitConverter from the Vega Strike svn repository:&lt;br /&gt;
* View repo [http://vegastrike.svn.sourceforge.net/viewvc/vegastrike/trunk/modtools/UnitConverter/ trunk/modtools/UnitConverter].&lt;br /&gt;
* Download with&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;svn co https://vegastrike.svn.sourceforge.net/svnroot/vegastrike/trunk/modtools/UnitConverter&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To install, copy all files to a directory of your choice.&lt;br /&gt;
&lt;br /&gt;
To run UnitConverter, open command line/shell, change to the installation directory, and depending your operating system type (without the &amp;quot;&amp;gt;&amp;quot; which denotes the command line prompt:&lt;br /&gt;
&lt;br /&gt;
Windows: &amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;gt; uc&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Linux: &amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;gt; ./uc&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other: &amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;gt; python unitconverter.py&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
First thing you'll need to do is to configure the paths for Vega Strike data directory, mesher and nvcompress.&lt;br /&gt;
&lt;br /&gt;
{{warning_text |&lt;br /&gt;
| text='''Important:''' To be fully able utilize UnitConverter functionality, please configure the paths under [[Development:Tools:UnitConverter#Configuration_2|'''Config''']].}}&lt;br /&gt;
&lt;br /&gt;
==Models Workspace==&lt;br /&gt;
Models Workspace Screen:&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f1_workspace.jpg&lt;br /&gt;
&lt;br /&gt;
The following operations are available:&lt;br /&gt;
* '''Clear Workspace''' - to start a new model integration&lt;br /&gt;
* '''Add Model''' - to add a new model to workspace. The following files are accepted:&lt;br /&gt;
** ''.obj'' file containing the model mesh&lt;br /&gt;
** ''?-Shield.obj'' file containing the shield mesh&lt;br /&gt;
** ''?-Marker.obj'' file containing the marker objects as described in the [[Development:Model_Guidelines#Object_Marker|objects marker modeling section]]&lt;br /&gt;
** ''.bfxm'' files to backward convert meshes to obj files&lt;br /&gt;
* '''Clear Model''' - to remove the selected model from the workspace&lt;br /&gt;
* '''Load Workspace''' - to load an ''.ini'' configuration file of the workspace&lt;br /&gt;
* '''Active Model''' - change active model on the dropdown to edit its textures&lt;br /&gt;
&lt;br /&gt;
It is important that your first model in workspace should be the main model, as further information like directory name and units.csv entry name will be derived from the main model name.&lt;br /&gt;
&lt;br /&gt;
Under '''Model/Files''' the ''.obj'' and ''.mtl'' files for the active model will be displayed.&lt;br /&gt;
Under '''Material Info''' you can find information on the ''.obj'' file's material library and material names.&lt;br /&gt;
&lt;br /&gt;
To edit texture assignments, proceed to the '''Textures''' tab on the left.&lt;br /&gt;
&lt;br /&gt;
==Textures==&lt;br /&gt;
Textures Screen:&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f2_textures.jpg&lt;br /&gt;
&lt;br /&gt;
In this tab you can assign textures to model submeshes:&lt;br /&gt;
* Under '''Submodels''' select the submesh you'd like to assign textures to. By default the first submesh is selected when the model is activated.&lt;br /&gt;
* Add the available '''Textures 0-5''' by pressing the '''...''' buttons between the '''Input Texture''' and '''Output Texture''' columns and browse to the appropriate file. The output texture name will be set (naming convention: '''tex_'''''model'''''_'''''submodel'''''_'''''texture'''''.texture''')&lt;br /&gt;
* Select the appropriate '''Technique''', i.e. leave it empty for conventional shading approach or choose e.g. ''cinemut_opaque'' if your input textures are provided with CineMut shader family compatible packing.&lt;br /&gt;
* Select '''Blend mode'''.&lt;br /&gt;
** For main meshes leave it at ''ONE ZERO''&lt;br /&gt;
** For shield mesh and blink light submeshes choose ''ONE ONE''&lt;br /&gt;
&lt;br /&gt;
Once you have assigned textures to all your submeshes, you can now start the conversion:&lt;br /&gt;
* Press '''Save and Convert''' to save the texture assignment information and convert your model to Vega Strike compatible ''bfxm'' format.&lt;br /&gt;
* You may '''Compress Textures''' using nvcompress if you have configured the command path previously&lt;br /&gt;
* Finally, '''Copy Data'' will copy textures and ''bfxm'' files to the unit directory&lt;br /&gt;
&lt;br /&gt;
To add the HUD image, proceed to the '''HUDImage''' tab on the left.&lt;br /&gt;
&lt;br /&gt;
===Advanced Usage - Converting faction textures===&lt;br /&gt;
&lt;br /&gt;
Faction textures must follow the naming of the default textures with prefixed faction name.&lt;br /&gt;
When your default diffuse texture is ''dif.png'' and ''tex_000.texture'', the faction input and output textures for the Uln faction will be ''uln_dif.png'' and ''uln_tex_000.texture'' and so on for all the other textures and factions.&lt;br /&gt;
&lt;br /&gt;
Unit converter can assist you with DDS conversion of the input textures provided the naming convention is followed. To convert a faction texture:&lt;br /&gt;
* Select the '''Faction''' from the drop down, then&lt;br /&gt;
* '''Compress Textures''', and when done&lt;br /&gt;
* '''Copy Data''' to put the faction textures into the unit data directory&lt;br /&gt;
&lt;br /&gt;
==HUD Image==&lt;br /&gt;
HUD Image Screen&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f3_hud.jpg&lt;br /&gt;
&lt;br /&gt;
Adding a HUD image to the data is fairly easy, simply:&lt;br /&gt;
* Browse for the image using the '''...''' button. The appropriate entry will also be created in the '''Unit''' editor.&lt;br /&gt;
* '''Compress Image''' to make it DDS, and&lt;br /&gt;
* '''Copy Data''' to the unit data directory. This button evokes the same command as the one on the '''Textures''' tab. This means, the ''image'', ''sprite'', ''bfxm'', and ''texture'' files will be copied together.&lt;br /&gt;
&lt;br /&gt;
To edit the unit properties and parameters, proceed to the '''Unit''' tab on the left.&lt;br /&gt;
&lt;br /&gt;
==Unit Editor==&lt;br /&gt;
&lt;br /&gt;
The Unit Editor provides facilities for editing your most important parameters of the unit:&lt;br /&gt;
* '''Load''' - loads the unit parameters&lt;br /&gt;
* '''Save''' - saves the edited parameters&lt;br /&gt;
* '''Reset''' - reloads unit parameters for active model without previously saving changes&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f4_unit.jpg&lt;br /&gt;
&lt;br /&gt;
The most critical parameters for successful integration of the unit are:&lt;br /&gt;
* '''Unit description''' - the text that will be displayed in-game about the unit&lt;br /&gt;
* '''Unit type''' and '''Unit role''' - used in-game and to correctly view vessels and installations as such&lt;br /&gt;
* Under '''Unit dimensions''' you will find the&lt;br /&gt;
** '''Dimensions''' as derived from the ''obj'' mesh file.&lt;br /&gt;
** To bring the model up to the expected scale, you'll need to set the '''Scale''' parameter. The final size of the model in-game will be the multiplication result of dimensions and the scale.&lt;br /&gt;
&lt;br /&gt;
The remaining entries will be created from your marker object:&lt;br /&gt;
* '''Engine Thruster''' will be derived from markers named ''engine_*''. You may '''Update''' the '''Thruster type''' to a different than the default one (''supernova.bmp.bfxm'').&lt;br /&gt;
* '''Turrets &amp;amp; Subunits''' will be derived from markers named ''turret_*'' or ''subunit_*''. You may browse the '''Subunit nr.''' (number) by using the '''&amp;lt;''' and '''&amp;gt;''' buttons and change the turret type from the '''Subunit type''' dropdown and confirmation by '''Update'''.&lt;br /&gt;
* '''Docking Ports''' will be derived from markers named ''dock_*''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To continue editing unit parameters, proceed to the '''Unit 2''' tab on the left.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f5_unit2.jpg&lt;br /&gt;
&lt;br /&gt;
To add upgrades, under '''Upgrades''' select the '''Upgrade class''' and '''Upgrade type''' and then '''Add Upgrade'' to the unit.&lt;br /&gt;
To delete an upgrade, simply remove the entries between (and including) the {} brackets.&lt;br /&gt;
&lt;br /&gt;
All other parameters on this tab and the following '''Unit 3''' tab can be manually edited&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f6_unit3.jpg&lt;br /&gt;
&lt;br /&gt;
Don't forget to actually '''Save''' your changes before proceeding to '''View''' the unit in-game.&lt;br /&gt;
&lt;br /&gt;
===Advanced Usage - Independent Unit Editor===&lt;br /&gt;
You can use built-in Unit editor of the '''Unit Converter''' to edit units without having to load the mesh files. To do so:&lt;br /&gt;
* On the '''Model''' tab do '''Clear Workspace'''&lt;br /&gt;
* On the '''Unit''' tab, manually write the unit key under '''Unit name'''&lt;br /&gt;
* '''Load''' the unit parameters&lt;br /&gt;
&lt;br /&gt;
You can also browse the units.csv file by using the '''&amp;lt;''' and '''&amp;gt;''' buttons on the sides of the '''Unit name''' to row-wise move back and fore between the entries. Browse, '''Load'''/'''Save''' buttons are also available on '''Unit 2''' and '''Unit 3''' tabs.&lt;br /&gt;
&lt;br /&gt;
==View==&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f7_view.jpg&lt;br /&gt;
&lt;br /&gt;
By pressing '''View''' Vega Strike can be loaded and you can test your unit in-game.&lt;br /&gt;
&lt;br /&gt;
To test faction textures (if provided) you may previously select the '''Faction''' from the drop down, otherwise leave it at ''privateer'' to use default textures.&lt;br /&gt;
&lt;br /&gt;
Testing of units will happen in two different ways:&lt;br /&gt;
* For vessels, using a special mission, the ''modelview.mission'' that spawns the unit as a ship.&lt;br /&gt;
** Use the '''F6''' key to view your own unit.&lt;br /&gt;
** Use the '''T''' key to target a second unit of the same type and then press the '''D''' key to stop it from SPECing away, then turn around to it to verify the docking ports. Repeat pressing '''D''' every 10 seconds to prevent it from flying away suddenly.&lt;br /&gt;
* Use the '''N''' key to target the nearest station, fly to it and start shooting while switching to '''F6''' view to test your shield mesh.&lt;br /&gt;
* For installations, the ''Modelview.system'' will be equipped with the edited station.&lt;br /&gt;
** Use the '''N''' key to target the station, then '''D''' to see the docking ports.&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f8_config.jpg&lt;br /&gt;
&lt;br /&gt;
The '''Config''' tab defines presets to supports some of the functionality of the '''Unit Converter''':&lt;br /&gt;
* '''Vega Strike directory''' - is the directory where ''Version.txt'' and all data subdirectories reside (''ai'', ''animations'', ...)&lt;br /&gt;
** Use the '''Browse''' button to locate it&lt;br /&gt;
* '''Path to mesher''':&lt;br /&gt;
** Click the '''Browse''' button on the right to locate ''mesher''&lt;br /&gt;
** Find the ''mesher(.exe)'' file on your system, select the file and confirm with '''Open'''. The configuration will be saved so that you need to do it only once.&lt;br /&gt;
** The path must be the complete address (directory path + executable) in the same way you would evoke it from command line / console. On windows it may or may not include the ''.exe'' extension suffix.&lt;br /&gt;
* '''Path to nvcompress''':&lt;br /&gt;
** Click the '''Browse''' button on the right to locate ''nvcompress''&lt;br /&gt;
** Find the ''nvcompress(.exe)'' file on your system, select the file and confirm with '''Open'''. The configuration will be saved so that you need to do it only once.&lt;br /&gt;
** You will not require to install ''nvcompress'' if you just want to test your models. In this case please make sure you enable the '''Bypass compression''' option further below.&lt;br /&gt;
** Techno-talk: The path must be the complete address (directory path + executable) in the same way you would evoke it from command line / console. On windows it may or may not include the ''.exe'' extension suffix. (If nvcompress is in your search path, you may only provide the command.)&lt;br /&gt;
&lt;br /&gt;
===Advanced Configuration===&lt;br /&gt;
&lt;br /&gt;
You may also change defaults that will be used anytime you reopen the Unit Converter:&lt;br /&gt;
* '''Current Technique''' - set the default technique you will be working with so that you don't need to remember adjusting it when editing textures.&lt;br /&gt;
* '''Use unit class directory''' - used to calculate target for copying model and texture files.&lt;br /&gt;
** when checked will store vessels in ''data/units/vessels/unitname'' directory and installations in ''data/units/installations/unitname'' directory. This is the default behavior for Vega Strike Upon The Coldest Sea game.&lt;br /&gt;
** If your mod is using a flat directory structure, you can uncheck the option and all your units will be stored in ''data/units/unitname'' directory.&lt;br /&gt;
* '''Bypass compression''' - when checked the input texture will be used as output texture. This is useful when editing and testing textures without the need to reconvert the model to bfxm.&lt;br /&gt;
* '''Backup obj/mtl files''' - when checked will copy original ''obj'' and ''mtl'' files to ''obj~'' and ''mtl~'' before writing new information.&lt;br /&gt;
* '''Create xmesh file''' - though the xmesh format is obsolete, when converting from ''obj'' to ''bfxm'', it might be useful to also create ''xmesh'' files to test the conversion process.&lt;br /&gt;
* Under '''Admin''' you can '''Standard Sort units.csv''' file. Though it is standard sorted by default, you might want to make sure it is after a manual editing of the file.&lt;br /&gt;
&lt;br /&gt;
==About==&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f9_about.jpg&lt;br /&gt;
&lt;br /&gt;
What's that about?&lt;br /&gt;
&lt;br /&gt;
=Code Reference=&lt;br /&gt;
&lt;br /&gt;
==Python Modules==&lt;br /&gt;
&lt;br /&gt;
Admittedly, the structure of the program could be more modular.&lt;br /&gt;
&lt;br /&gt;
Unit Converter is written in Python using only ''Tkinter'' UI building functionality. On Windows Tkinter is distributed with Python, on Linux, it's available for download in all repositories. No further additional modules are required to run Unit Converter.&lt;br /&gt;
&lt;br /&gt;
Source modules for Unit Converter:&lt;br /&gt;
* ''unitconverter.py'' - main module containing the complete program&lt;br /&gt;
* ''appwindow.py'' - frame creator for the different tabs&lt;br /&gt;
* ''objparse.py'' - ''.obj'' and ''.mtl'' file reader, parser, and writer&lt;br /&gt;
* ''vsunitcsv.py'' - ''units.csv'' file reader, parser, and writer&lt;br /&gt;
* ''vsmission.py'' - ''.mission'' file reader, parser, and writer&lt;br /&gt;
* ''vssystem.py'' - ''.system'' file reader, parser, and writer&lt;br /&gt;
* ''vector.py'' - mathematical vector functions&lt;br /&gt;
* ''png.py'' - ''.png'' file format reader&lt;br /&gt;
&lt;br /&gt;
Other files:&lt;br /&gt;
* ''unitconverter.ini'' - Unit Converter configuration file. Not distributed. Will be created upon first start.&lt;br /&gt;
* ''unitconverter.ico'' - Windows icon file.&lt;br /&gt;
* ''uc'' - Linux shell script for starting Unit Converter&lt;br /&gt;
* ''uc.bat'' - Windows batch file (shell script) for starting Unit Converter&lt;br /&gt;
* ''uc_releasenotes.txt'' - Unit Converter release notes&lt;br /&gt;
* ''UnitWorkingDir/UnitName.ini'' - Unit workspace configuration file&lt;br /&gt;
&lt;br /&gt;
==Program Flow==&lt;br /&gt;
&lt;br /&gt;
The GUI building section starts with:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;    def __init__(self, master):&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The code is visually separated into:&lt;br /&gt;
* variable initialization&lt;br /&gt;
* GUI building sections&lt;br /&gt;
* program execution, start-up, and shutdown&lt;br /&gt;
&lt;br /&gt;
The GUI building section for each tab contains elements that have event triggers which call other functions within the first part of the ''unitconverter.py'' code.&lt;br /&gt;
&lt;br /&gt;
Further, there a unique watch function that supervises the change of some of the contents of GUI element variables for elements that, in Tkinter, do not come with an event handler (option drop downs, text variables, option check boxes):&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;    def processEvents(self):&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Data Elements==&lt;br /&gt;
&lt;br /&gt;
There is a lot of data being handled within the Unit Converter. The main data elements shall be explained here:&lt;br /&gt;
* ''workspace[modelnr][submodelnr][parameternr]'' - array containing the complete workspace information, where&lt;br /&gt;
** modelnr is the index from ''models[modelnr]'' which stores the model names in workspace&lt;br /&gt;
** submodelnr comes from the list ''submodelsListBox''&lt;br /&gt;
** ''PARAMS'' - array holding the parameter names for ''workspace''&lt;br /&gt;
* ''textures[submodelnr][counter]'' - holds the textures for the active model only prepared for the mtl export in the array form ''[&amp;quot;map_0&amp;quot;,&amp;quot;tex_000.texture&amp;quot;]''&lt;br /&gt;
* ''unit*'' - variables holding the unit editor values&lt;br /&gt;
* ''textureN'' - with N = 0-5, holds the output texture screen name&lt;br /&gt;
* ''texmasterN'' - holds the input texture name&lt;br /&gt;
* ''activemodel'' - name of the active (selected) model in workspace&lt;br /&gt;
* ''unitname'' - name of the key from units.csv&lt;br /&gt;
* ''vegastrike'' - Vega Strike installation directory root&lt;br /&gt;
* ''workdir'' - working directory&lt;br /&gt;
&lt;br /&gt;
Most of the variables are commented within the code.&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Tools:UnitConverter&amp;diff=18263</id>
		<title>Development:Tools:UnitConverter</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Tools:UnitConverter&amp;diff=18263"/>
				<updated>2011-04-05T22:27:19Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* Quick Start Guide */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
&lt;br /&gt;
Raising from the stone age of workflows, in which every task, from texture conversion to editing of unit stats, had to be accomplished manually and only by quite knowledgeable magistrates who knew the alchemy of units.csv columns, xmesh files, and had a magic with meshers. Now, UnitConverter shines upon us, still in the distance, but unmovable like a beacon on solid rock, to be the church of the artists, to accommodate the apostles of Blender, CineMut, and LaGrande, to bring the holy spirit of salvation to this compassionate universe of ours.&lt;br /&gt;
&lt;br /&gt;
Some of the main Unit Converter features:&lt;br /&gt;
* bi-directionally converts meshes between obj and bfxm files&lt;br /&gt;
* assign textures to (sub)models&lt;br /&gt;
* convert model and shield meshes&lt;br /&gt;
* compress default and faction input textures to dds output textures&lt;br /&gt;
* saves the complete workspace in portable config files&lt;br /&gt;
* change model techniques and blend mode&lt;br /&gt;
* checks and corrects invalid obj files, recreates mtl files&lt;br /&gt;
* creates a model directory if none exists and copies all required files&lt;br /&gt;
* compresses hud image and creates a .sprite file&lt;br /&gt;
* units.csv entry editor and creator (with default unit stats for new units)&lt;br /&gt;
* displays model using VS&lt;br /&gt;
* reads mesh dimensions from obj file&lt;br /&gt;
* placement of thrusters, turrets, mounts, docks, and blink lights from marker obj file&lt;br /&gt;
* on-screen instructions for each workflow module&lt;br /&gt;
* production tested&lt;br /&gt;
&lt;br /&gt;
==Important Note==&lt;br /&gt;
{{warning_text |&lt;br /&gt;
|text=Due to the way ''mesher'' handles command line options (separates different inputs by spaces), it will not allow to use folders or file names with spaces (as common on Windows).&lt;br /&gt;
Should you be getting runtime errors during the conversion, you should rename your folder to something like &amp;quot;UnitName&amp;quot; or &amp;quot;Unit_Name_working_folder&amp;quot;, i.e. substitute spaces with underscores &amp;quot;_&amp;quot;. Do the same for the input files, i.e. &amp;quot;Unit_Name.obj&amp;quot;.}}&lt;br /&gt;
&lt;br /&gt;
=Requirements=&lt;br /&gt;
&lt;br /&gt;
In order to run UnitConverter on your system is to have Python 2.5 or 2.6 installed on your system. Python 3.x has different syntax and UnitConveter will not work as long as it hasn't been ported to Python 3. Tkinter library is required to run UnitConverter, however it comes installed with most python distributions. Some Linux distributions require a separate installation of Tkinter.&lt;br /&gt;
&lt;br /&gt;
A requirement for the '''model obj files''' is that no mtl file is provided. UnitConverter will generate its own texture information based on the input given under the '''Model''' panel.&lt;br /&gt;
The best way for exporting files from blender is to use the following three options *only*: '''Edges''', '''UVs''', '''Objects'''. You may also enable Normals, and Groups. However the '''Materials''' export option should be explicitly disabled.&lt;br /&gt;
&lt;br /&gt;
Especially when reworking existing units, it is recommended that the model '''obj''' file is named the same way as the unit in ''units.csv'', in particular what concerns the letter case, usually following the CamelCase convention.&lt;br /&gt;
&lt;br /&gt;
You will further require master textures for the object, which must be on the '''png''' file format and [[Development:Graphics_Requirements#Image_dimensions|Power-Of-Two]].&lt;br /&gt;
Master textures for factions should have the faction name prefixed to the texture name, e.g. &amp;quot;confed_hull.png&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Optionally, an '''obj''' file with markers can be supplied and must contain the name &amp;quot;marker&amp;quot; in the file name.&lt;br /&gt;
&lt;br /&gt;
Optionally, a shield '''obj''' file can be supplied, containing the name &amp;quot;shield&amp;quot; in the file name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quick Start Guide=&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
You must first configure the paths under Config including the application in the path:&lt;br /&gt;
* ''path\data'' (to edit unit stats and view model in Vega Strike)&lt;br /&gt;
* ''path\mesher.exe'' (to convert model to bfxm) - [http://vegastrike.svn.sourceforge.net/viewvc/vegastrike/trunk/win32/bin/ get mesher]&lt;br /&gt;
* ''path\nvcompress'' (to compress textures) - [[Links:Graphic_Applications#nVidia_Texture_Tools|see here for instructions on nvcompress]]&lt;br /&gt;
(There is no need to set the working dir, as this field is purely informational)&lt;br /&gt;
&lt;br /&gt;
==Integrating Models==&lt;br /&gt;
Assuming you have exported:&lt;br /&gt;
* ship mesh to ''Ship.obj''&lt;br /&gt;
* shield to ''Ship-Shield.obj''&lt;br /&gt;
* helpers to ''Ship-Mounts.obj&lt;br /&gt;
''&lt;br /&gt;
... the steps to convert your model are:&lt;br /&gt;
* In UnitConverter, under &amp;quot;Model&amp;quot; add all three obj files to workspace.&lt;br /&gt;
* Then select the main Ship model in the drop down.&lt;br /&gt;
* Under &amp;quot;Textures&amp;quot; you add the ones you have provided.&lt;br /&gt;
* Press &amp;quot;Save and Convert&amp;quot;&lt;br /&gt;
* Press &amp;quot;Convert Textures&amp;quot;&lt;br /&gt;
* Press &amp;quot;Copy Data&amp;quot;&lt;br /&gt;
* Under &amp;quot;Unit&amp;quot; press &amp;quot;Save&amp;quot;&lt;br /&gt;
* Under &amp;quot;View&amp;quot; press &amp;quot;View&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This will call vegastrike and the modelview.mission with your new unit enabled.&lt;br /&gt;
&lt;br /&gt;
==Converting Hud Image==&lt;br /&gt;
Under &amp;quot;HUDImage&amp;quot;:&lt;br /&gt;
* Open the &amp;quot;''Ship-hud.png''&amp;quot; image using the &amp;quot;...&amp;quot; button&lt;br /&gt;
* Press &amp;quot;Convert Image&amp;quot;&lt;br /&gt;
* Press &amp;quot;Copy Data&amp;quot;&lt;br /&gt;
* Under &amp;quot;Unit&amp;quot; press &amp;quot;Save&amp;quot;&lt;br /&gt;
* Under &amp;quot;View&amp;quot; press &amp;quot;View&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Using Uncompressed Images==&lt;br /&gt;
* Under &amp;quot;Config&amp;quot; check the &amp;quot;Bypass compression&amp;quot; option.&lt;br /&gt;
* Under &amp;quot;Textures&amp;quot; press &amp;quot;Save and Convert&amp;quot;&lt;br /&gt;
* Press &amp;quot;Copy Data&amp;quot;&lt;br /&gt;
* Under &amp;quot;View&amp;quot; press &amp;quot;View&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Adding Thruster, Docks, Mounts==&lt;br /&gt;
* Under &amp;quot;Model&amp;quot; press &amp;quot;Add Model&amp;quot;&lt;br /&gt;
* Select the &amp;quot;''Ship-Mounts.obj''&amp;quot; file with your mount markers.&lt;br /&gt;
* Under &amp;quot;Unit&amp;quot; and &amp;quot;Unit2&amp;quot; review the stats&lt;br /&gt;
* Under &amp;quot;Unit&amp;quot; press &amp;quot;Save&amp;quot;&lt;br /&gt;
* Under &amp;quot;View&amp;quot; press &amp;quot;View&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Editing Stats==&lt;br /&gt;
* Under &amp;quot;Unit&amp;quot;, in &amp;quot;Unit name&amp;quot; write the units.csv key (e.g. ''Llama.begin'')&lt;br /&gt;
* Press &amp;quot;Load&amp;quot;&lt;br /&gt;
* Edit fields under &amp;quot;Unit&amp;quot; and &amp;quot;Unit2&amp;quot;&lt;br /&gt;
* Under &amp;quot;Unit&amp;quot; press &amp;quot;Save&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Comparing Units==&lt;br /&gt;
* Under '''Unit''' tab, in '''Unit name''' write the units.csv key (e.g. ''Llama.begin'')&lt;br /&gt;
* Press '''Load'''&lt;br /&gt;
* Use '''&amp;lt;''' and '''&amp;gt;''' to browse backward and forward.&lt;br /&gt;
* After editing a parameter make sure to press '''Save'''&lt;br /&gt;
&lt;br /&gt;
==Getting Help==&lt;br /&gt;
In case of problems, please report to the [http://vegastrike.sourceforge.net/forums/viewtopic.php?f=20&amp;amp;t=11885 Unit Converter thread].&lt;br /&gt;
&lt;br /&gt;
=UnitConverter Tool=&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
&lt;br /&gt;
The only requirement to run UnitConverter on your system is to have Python 2.5 or 2.6 installed on your system. Python 3.x has different syntax and will not work. No additional libraries are required.&lt;br /&gt;
&lt;br /&gt;
A requirement for the '''model obj files''' is that no mtl file is provided. UnitConverter will generate its own texture information based on the input given under model.&lt;br /&gt;
The best way for exporting files from blender is to use the following three options *only*: '''Edges''', '''UVs''', '''Objects'''. You may also enable Normals, and Groups. However the '''Materials''' export option should be explicitly disabled.&lt;br /&gt;
&lt;br /&gt;
==Installation and Starting==&lt;br /&gt;
&lt;br /&gt;
You can download the latest version of UnitConverter from the Vega Strike svn repository:&lt;br /&gt;
* View repo [http://vegastrike.svn.sourceforge.net/viewvc/vegastrike/trunk/modtools/UnitConverter/ trunk/modtools/UnitConverter].&lt;br /&gt;
* Download with&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;svn co https://vegastrike.svn.sourceforge.net/svnroot/vegastrike/trunk/modtools/UnitConverter&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To install, copy all files to a directory of your choice.&lt;br /&gt;
&lt;br /&gt;
To run UnitConverter, open command line/shell, change to the installation directory, and depending your operating system type (without the &amp;quot;&amp;gt;&amp;quot; which denotes the command line prompt:&lt;br /&gt;
&lt;br /&gt;
Windows: &amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;gt; uc&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Linux: &amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;gt; ./uc&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other: &amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;gt; python unitconverter.py&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
First thing you'll need to do is to configure the paths for Vega Strike data directory, mesher and nvcompress.&lt;br /&gt;
&lt;br /&gt;
{{warning_text |&lt;br /&gt;
| text='''Important:''' To be fully able utilize UnitConverter functionality, please configure the paths under [[Development:Tools:UnitConverter#Configuration_2|'''Config''']].}}&lt;br /&gt;
&lt;br /&gt;
==Models Workspace==&lt;br /&gt;
Models Workspace Screen:&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f1_workspace.jpg&lt;br /&gt;
&lt;br /&gt;
The following operations are available:&lt;br /&gt;
* '''Clear Workspace''' - to start a new model integration&lt;br /&gt;
* '''Add Model''' - to add a new model to workspace. The following files are accepted:&lt;br /&gt;
** ''.obj'' file containing the model mesh&lt;br /&gt;
** ''?-Shield.obj'' file containing the shield mesh&lt;br /&gt;
** ''?-Marker.obj'' file containing the marker objects as described in the [[Development:Model_Guidelines#Object_Marker|objects marker modeling section]]&lt;br /&gt;
** ''.bfxm'' files to backward convert meshes to obj files&lt;br /&gt;
* '''Clear Model''' - to remove the selected model from the workspace&lt;br /&gt;
* '''Load Workspace''' - to load an ''.ini'' configuration file of the workspace&lt;br /&gt;
* '''Active Model''' - change active model on the dropdown to edit its textures&lt;br /&gt;
&lt;br /&gt;
It is important that your first model in workspace should be the main model, as further information like directory name and units.csv entry name will be derived from the main model name.&lt;br /&gt;
&lt;br /&gt;
Under '''Model/Files''' the ''.obj'' and ''.mtl'' files for the active model will be displayed.&lt;br /&gt;
Under '''Material Info''' you can find information on the ''.obj'' file's material library and material names.&lt;br /&gt;
&lt;br /&gt;
To edit texture assignments, proceed to the '''Textures''' tab on the left.&lt;br /&gt;
&lt;br /&gt;
==Textures==&lt;br /&gt;
Textures Screen:&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f2_textures.jpg&lt;br /&gt;
&lt;br /&gt;
In this tab you can assign textures to model submeshes:&lt;br /&gt;
* Under '''Submodels''' select the submesh you'd like to assign textures to. By default the first submesh is selected when the model is activated.&lt;br /&gt;
* Add the available '''Textures 0-5''' by pressing the '''...''' buttons between the '''Input Texture''' and '''Output Texture''' columns and browse to the appropriate file. The output texture name will be set (naming convention: '''tex_'''''model'''''_'''''submodel'''''_'''''texture'''''.texture''')&lt;br /&gt;
* Select the appropriate '''Technique''', i.e. leave it empty for conventional shading approach or choose e.g. ''cinemut_opaque'' if your input textures are provided with CineMut shader family compatible packing.&lt;br /&gt;
* Select '''Blend mode'''.&lt;br /&gt;
** For main meshes leave it at ''ONE ZERO''&lt;br /&gt;
** For shield mesh and blink light submeshes choose ''ONE ONE''&lt;br /&gt;
&lt;br /&gt;
Once you have assigned textures to all your submeshes, you can now start the conversion:&lt;br /&gt;
* Press '''Save and Convert''' to save the texture assignment information and convert your model to Vega Strike compatible ''bfxm'' format.&lt;br /&gt;
* You may '''Compress Textures''' using nvcompress if you have configured the command path previously&lt;br /&gt;
* Finally, '''Copy Data'' will copy textures and ''bfxm'' files to the unit directory&lt;br /&gt;
&lt;br /&gt;
To add the HUD image, proceed to the '''HUDImage''' tab on the left.&lt;br /&gt;
&lt;br /&gt;
===Advanced Usage - Converting faction textures===&lt;br /&gt;
&lt;br /&gt;
Faction textures must follow the naming of the default textures with prefixed faction name.&lt;br /&gt;
When your default diffuse texture is ''dif.png'' and ''tex_000.texture'', the faction input and output textures for the Uln faction will be ''uln_dif.png'' and ''uln_tex_000.texture'' and so on for all the other textures and factions.&lt;br /&gt;
&lt;br /&gt;
Unit converter can assist you with DDS conversion of the input textures provided the naming convention is followed. To convert a faction texture:&lt;br /&gt;
* Select the '''Faction''' from the drop down, then&lt;br /&gt;
* '''Compress Textures''', and when done&lt;br /&gt;
* '''Copy Data''' to put the faction textures into the unit data directory&lt;br /&gt;
&lt;br /&gt;
==HUD Image==&lt;br /&gt;
HUD Image Screen&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f3_hud.jpg&lt;br /&gt;
&lt;br /&gt;
Adding a HUD image to the data is fairly easy, simply:&lt;br /&gt;
* Browse for the image using the '''...''' button. The appropriate entry will also be created in the '''Unit''' editor.&lt;br /&gt;
* '''Compress Image''' to make it DDS, and&lt;br /&gt;
* '''Copy Data''' to the unit data directory. This button evokes the same command as the one on the '''Textures''' tab. This means, the ''image'', ''sprite'', ''bfxm'', and ''texture'' files will be copied together.&lt;br /&gt;
&lt;br /&gt;
To edit the unit properties and parameters, proceed to the '''Unit''' tab on the left.&lt;br /&gt;
&lt;br /&gt;
==Unit Editor==&lt;br /&gt;
&lt;br /&gt;
The Unit Editor provides facilities for editing your most important parameters of the unit:&lt;br /&gt;
* '''Load''' - loads the unit parameters&lt;br /&gt;
* '''Save''' - saves the edited parameters&lt;br /&gt;
* '''Reset''' - reloads unit parameters for active model without previously saving changes&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f4_unit.jpg&lt;br /&gt;
&lt;br /&gt;
The most critical parameters for successful integration of the unit are:&lt;br /&gt;
* '''Unit description''' - the text that will be displayed in-game about the unit&lt;br /&gt;
* '''Unit type''' and '''Unit role''' - used in-game and to correctly view vessels and installations as such&lt;br /&gt;
* Under '''Unit dimensions''' you will find the&lt;br /&gt;
** '''Dimensions''' as derived from the ''obj'' mesh file.&lt;br /&gt;
** To bring the model up to the expected scale, you'll need to set the '''Scale''' parameter. The final size of the model in-game will be the multiplication result of dimensions and the scale.&lt;br /&gt;
&lt;br /&gt;
The remaining entries will be created from your marker object:&lt;br /&gt;
* '''Engine Thruster''' will be derived from markers named ''engine_*''. You may '''Update''' the '''Thruster type''' to a different than the default one (''supernova.bmp.bfxm'').&lt;br /&gt;
* '''Turrets &amp;amp; Subunits''' will be derived from markers named ''turret_*'' or ''subunit_*''. You may browse the '''Subunit nr.''' (number) by using the '''&amp;lt;''' and '''&amp;gt;''' buttons and change the turret type from the '''Subunit type''' dropdown and confirmation by '''Update'''.&lt;br /&gt;
* '''Docking Ports''' will be derived from markers named ''dock_*''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To continue editing unit parameters, proceed to the '''Unit 2''' tab on the left.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f5_unit2.jpg&lt;br /&gt;
&lt;br /&gt;
To add upgrades, under '''Upgrades''' select the '''Upgrade class''' and '''Upgrade type''' and then '''Add Upgrade'' to the unit.&lt;br /&gt;
To delete an upgrade, simply remove the entries between (and including) the {} brackets.&lt;br /&gt;
&lt;br /&gt;
All other parameters on this tab and the following '''Unit 3''' tab can be manually edited&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f6_unit3.jpg&lt;br /&gt;
&lt;br /&gt;
Don't forget to actually '''Save''' your changes before proceeding to '''View''' the unit in-game.&lt;br /&gt;
&lt;br /&gt;
===Advanced Usage - Independent Unit Editor===&lt;br /&gt;
You can use built-in Unit editor of the '''Unit Converter''' to edit units without having to load the mesh files. To do so:&lt;br /&gt;
* On the '''Model''' tab do '''Clear Workspace'''&lt;br /&gt;
* On the '''Unit''' tab, manually write the unit key under '''Unit name'''&lt;br /&gt;
* '''Load''' the unit parameters&lt;br /&gt;
&lt;br /&gt;
You can also browse the units.csv file by using the '''&amp;lt;''' and '''&amp;gt;''' buttons on the sides of the '''Unit name''' to row-wise move back and fore between the entries. Browse, '''Load'''/'''Save''' buttons are also available on '''Unit 2''' and '''Unit 3''' tabs.&lt;br /&gt;
&lt;br /&gt;
==View==&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f7_view.jpg&lt;br /&gt;
&lt;br /&gt;
By pressing '''View''' Vega Strike can be loaded and you can test your unit in-game.&lt;br /&gt;
&lt;br /&gt;
To test faction textures (if provided) you may previously select the '''Faction''' from the drop down, otherwise leave it at ''privateer'' to use default textures.&lt;br /&gt;
&lt;br /&gt;
Testing of units will happen in two different ways:&lt;br /&gt;
* For vessels, using a special mission, the ''modelview.mission'' that spawns the unit as a ship.&lt;br /&gt;
** Use the '''F6''' key to view your own unit.&lt;br /&gt;
** Use the '''T''' key to target a second unit of the same type and then press the '''D''' key to stop it from SPECing away, then turn around to it to verify the docking ports. Repeat pressing '''D''' every 10 seconds to prevent it from flying away suddenly.&lt;br /&gt;
* Use the '''N''' key to target the nearest station, fly to it and start shooting while switching to '''F6''' view to test your shield mesh.&lt;br /&gt;
* For installations, the ''Modelview.system'' will be equipped with the edited station.&lt;br /&gt;
** Use the '''N''' key to target the station, then '''D''' to see the docking ports.&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f8_config.jpg&lt;br /&gt;
&lt;br /&gt;
The '''Config''' tab defines presets to supports some of the functionality of the '''Unit Converter''':&lt;br /&gt;
* '''Vega Strike directory''' - is the directory where ''Version.txt'' and all data subdirectories reside (''ai'', ''animations'', ...)&lt;br /&gt;
** Use the '''Browse''' button to locate it&lt;br /&gt;
* '''Path to mesher''':&lt;br /&gt;
** Click the '''Browse''' button on the right to locate ''mesher''&lt;br /&gt;
** Find the ''mesher(.exe)'' file on your system, select the file and confirm with '''Open'''. The configuration will be saved so that you need to do it only once.&lt;br /&gt;
** The path must be the complete address (directory path + executable) in the same way you would evoke it from command line / console. On windows it may or may not include the ''.exe'' extension suffix.&lt;br /&gt;
* '''Path to nvcompress''':&lt;br /&gt;
** Click the '''Browse''' button on the right to locate ''nvcompress''&lt;br /&gt;
** Find the ''nvcompress(.exe)'' file on your system, select the file and confirm with '''Open'''. The configuration will be saved so that you need to do it only once.&lt;br /&gt;
** You will not require to install ''nvcompress'' if you just want to test your models. In this case please make sure you enable the '''Bypass compression''' option further below.&lt;br /&gt;
** Techno-talk: The path must be the complete address (directory path + executable) in the same way you would evoke it from command line / console. On windows it may or may not include the ''.exe'' extension suffix. (If nvcompress is in your search path, you may only provide the command.)&lt;br /&gt;
&lt;br /&gt;
===Advanced Configuration===&lt;br /&gt;
&lt;br /&gt;
You may also change defaults that will be used anytime you reopen the Unit Converter:&lt;br /&gt;
* '''Current Technique''' - set the default technique you will be working with so that you don't need to remember adjusting it when editing textures.&lt;br /&gt;
* '''Use unit class directory''' - used to calculate target for copying model and texture files.&lt;br /&gt;
** when checked will store vessels in ''data/units/vessels/unitname'' directory and installations in ''data/units/installations/unitname'' directory. This is the default behavior for Vega Strike Upon The Coldest Sea game.&lt;br /&gt;
** If your mod is using a flat directory structure, you can uncheck the option and all your units will be stored in ''data/units/unitname'' directory.&lt;br /&gt;
* '''Bypass compression''' - when checked the input texture will be used as output texture. This is useful when editing and testing textures without the need to reconvert the model to bfxm.&lt;br /&gt;
* '''Backup obj/mtl files''' - when checked will copy original ''obj'' and ''mtl'' files to ''obj~'' and ''mtl~'' before writing new information.&lt;br /&gt;
* '''Create xmesh file''' - though the xmesh format is obsolete, when converting from ''obj'' to ''bfxm'', it might be useful to also create ''xmesh'' files to test the conversion process.&lt;br /&gt;
* Under '''Admin''' you can '''Standard Sort units.csv''' file. Though it is standard sorted by default, you might want to make sure it is after a manual editing of the file.&lt;br /&gt;
&lt;br /&gt;
==About==&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f9_about.jpg&lt;br /&gt;
&lt;br /&gt;
What's that about?&lt;br /&gt;
&lt;br /&gt;
=Code Reference=&lt;br /&gt;
&lt;br /&gt;
==Python Modules==&lt;br /&gt;
&lt;br /&gt;
Admittedly, the structure of the program could be more modular.&lt;br /&gt;
&lt;br /&gt;
Unit Converter is written in Python using only ''Tkinter'' UI building functionality. On Windows Tkinter is distributed with Python, on Linux, it's available for download in all repositories. No further additional modules are required to run Unit Converter.&lt;br /&gt;
&lt;br /&gt;
Source modules for Unit Converter:&lt;br /&gt;
* ''unitconverter.py'' - main module containing the complete program&lt;br /&gt;
* ''appwindow.py'' - frame creator for the different tabs&lt;br /&gt;
* ''objparse.py'' - ''.obj'' and ''.mtl'' file reader, parser, and writer&lt;br /&gt;
* ''vsunitcsv.py'' - ''units.csv'' file reader, parser, and writer&lt;br /&gt;
* ''vsmission.py'' - ''.mission'' file reader, parser, and writer&lt;br /&gt;
* ''vssystem.py'' - ''.system'' file reader, parser, and writer&lt;br /&gt;
* ''vector.py'' - mathematical vector functions&lt;br /&gt;
* ''png.py'' - ''.png'' file format reader&lt;br /&gt;
&lt;br /&gt;
Other files:&lt;br /&gt;
* ''unitconverter.ini'' - Unit Converter configuration file. Not distributed. Will be created upon first start.&lt;br /&gt;
* ''unitconverter.ico'' - Windows icon file.&lt;br /&gt;
* ''uc'' - Linux shell script for starting Unit Converter&lt;br /&gt;
* ''uc.bat'' - Windows batch file (shell script) for starting Unit Converter&lt;br /&gt;
* ''uc_releasenotes.txt'' - Unit Converter release notes&lt;br /&gt;
* ''UnitWorkingDir/UnitName.ini'' - Unit workspace configuration file&lt;br /&gt;
&lt;br /&gt;
==Program Flow==&lt;br /&gt;
&lt;br /&gt;
The GUI building section starts with:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;    def __init__(self, master):&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The code is visually separated into:&lt;br /&gt;
* variable initialization&lt;br /&gt;
* GUI building sections&lt;br /&gt;
* program execution, start-up, and shutdown&lt;br /&gt;
&lt;br /&gt;
The GUI building section for each tab contains elements that have event triggers which call other functions within the first part of the ''unitconverter.py'' code.&lt;br /&gt;
&lt;br /&gt;
Further, there a unique watch function that supervises the change of some of the contents of GUI element variables for elements that, in Tkinter, do not come with an event handler (option drop downs, text variables, option check boxes):&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;    def processEvents(self):&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Data Elements==&lt;br /&gt;
&lt;br /&gt;
There is a lot of data being handled within the Unit Converter. The main data elements shall be explained here:&lt;br /&gt;
* ''workspace[modelnr][submodelnr][parameternr]'' - array containing the complete workspace information, where&lt;br /&gt;
** modelnr is the index from ''models[modelnr]'' which stores the model names in workspace&lt;br /&gt;
** submodelnr comes from the list ''submodelsListBox''&lt;br /&gt;
** ''PARAMS'' - array holding the parameter names for ''workspace''&lt;br /&gt;
* ''textures[submodelnr][counter]'' - holds the textures for the active model only prepared for the mtl export in the array form ''[&amp;quot;map_0&amp;quot;,&amp;quot;tex_000.texture&amp;quot;]''&lt;br /&gt;
* ''unit*'' - variables holding the unit editor values&lt;br /&gt;
* ''textureN'' - with N = 0-5, holds the output texture screen name&lt;br /&gt;
* ''texmasterN'' - holds the input texture name&lt;br /&gt;
* ''activemodel'' - name of the active (selected) model in workspace&lt;br /&gt;
* ''unitname'' - name of the key from units.csv&lt;br /&gt;
* ''vegastrike'' - Vega Strike installation directory root&lt;br /&gt;
* ''workdir'' - working directory&lt;br /&gt;
&lt;br /&gt;
Most of the variables are commented within the code.&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Model_Guidelines&amp;diff=18262</id>
		<title>Development:Model Guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Model_Guidelines&amp;diff=18262"/>
				<updated>2011-04-05T21:34:13Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* Object Marker */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{parent_link|parent=[[Development]]}}&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
The intention of this document is to give artists using the Vega Strike engine some suggested guidelines to follow in creating models. You may also wish to have a look at the corresponding [[Development:Texture_Guidelines|texturing guidelines]].&lt;br /&gt;
&lt;br /&gt;
So you want to create a new ship for Vega Strike, do you?  While virtually all models are welcome, well before you start cranking out wonderfully designed models we request that you first check what models are still required.&lt;br /&gt;
&lt;br /&gt;
{{warning_text |&lt;br /&gt;
| text='''Note:''' If you wish to contribute a new or updated model (ship, installation, turret, cockpit, ..) to the game Vega Strike, please see the [[Development:3D_Models|'''3D Models''']] page for models requiring attention.}}&lt;br /&gt;
&lt;br /&gt;
Alternatively, contact [[User:jackS|jackS]] or [[User:pyramid|pyramid]].&lt;br /&gt;
&lt;br /&gt;
= Modeling Pipeline Overview =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;2&amp;quot; rules=&amp;quot;rows&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;1&amp;quot; style=&amp;quot;width:100%; text-align:center; background-color:#98ffb2&amp;quot; |&lt;br /&gt;
|'''Step&lt;br /&gt;
|'''Input&lt;br /&gt;
|'''Output&lt;br /&gt;
|'''Tools&lt;br /&gt;
|'''Requirements&lt;br /&gt;
|'''Tutorials&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Model Selection&lt;br /&gt;
| -&lt;br /&gt;
| required model&lt;br /&gt;
| model task list&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Conceptualization&lt;br /&gt;
| selected model&lt;br /&gt;
| model concept&lt;br /&gt;
| pen &amp;amp; paper, artwork forum&lt;br /&gt;
| artstyle guide&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Modeling&lt;br /&gt;
| concept&lt;br /&gt;
| model mesh, obj + mtl files&lt;br /&gt;
| blender, forum&lt;br /&gt;
| many&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Texturing&lt;br /&gt;
| model mesh&lt;br /&gt;
| textures&lt;br /&gt;
| gimp, forum&lt;br /&gt;
| texture requirements&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Integration&lt;br /&gt;
| model + textures&lt;br /&gt;
| bfxm + dds textures&lt;br /&gt;
| mesher + UnitConverter&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Testing&lt;br /&gt;
| bfxm model + dds textures&lt;br /&gt;
| bfxm + dds textures&lt;br /&gt;
| vegastrike + modelview.mission&lt;br /&gt;
| pass or rework&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Submission&lt;br /&gt;
| blender file (obj + mtl), master textures, bfxm + dds textures&lt;br /&gt;
| archive or svn&lt;br /&gt;
| mail, svn client&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Model Requirements=&lt;br /&gt;
&lt;br /&gt;
==Requirements Checklist==&lt;br /&gt;
&lt;br /&gt;
Considerations for a successful model submission:&lt;br /&gt;
* Model is in the requirements list [[Development:3D_Models|-&amp;gt;]]&lt;br /&gt;
* Abides to faction visual guidelines&lt;br /&gt;
* Has approved concept&lt;br /&gt;
* Provides model source file (blender, Wings3D, ...)&lt;br /&gt;
* Provides OBJ file&lt;br /&gt;
* Has model mesh, shield mesh, LoD meshes, helper meshes&lt;br /&gt;
* Provides uncompressed textures in png format (and optionally faction textures)&lt;br /&gt;
* Provides texture source files (GIMP, ...)&lt;br /&gt;
* Provides HUD png image with correct orientation&lt;br /&gt;
* Provides units.csv file entry&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Model Requirements Details==&lt;br /&gt;
&lt;br /&gt;
==Visual Guidelines==&lt;br /&gt;
&lt;br /&gt;
For particular aesthetic guidelines, please see the [[Artstyle guides]] page. Please note that many of the existing models are used because of expedience, not because they fit well with VS canon (i.e. if you make something new look like what's there, it still might not be what we're looking for). If in doubt, please ask on the [http://vegastrike.sourceforge.net/forums/viewforum.php?f=4 Artwork &amp;amp; Content Vetting forum]. &lt;br /&gt;
&lt;br /&gt;
To absolutely sure, for new models, please create a drawing of your proposed concept and let it be discussed and approved on the [http://vegastrike.sourceforge.net/forums/viewforum.php?f=4 Artwork &amp;amp; Content Vetting forum].&lt;br /&gt;
&lt;br /&gt;
See also [[Development:Texture Guidelines]]&lt;br /&gt;
&lt;br /&gt;
==Model File Format==&lt;br /&gt;
The preferred format for submission (for public disbursement - whatever native format is used inside your favorite modeling suite is fortunately a non-issue) is currently Wavefront OBJ file format, as this is the most easily converted between manipulation (assorted modeling tools) and presentation (currently BFXM, later to be the OGRE .mesh format). Model &amp;quot;source&amp;quot; therefore, is, at present (Sep. 2008), most usefully uploaded as .OBJ.&lt;br /&gt;
&lt;br /&gt;
Until such a time as a visual model editing tool is completed, conversion to a game-ready format will likely pass through the .xmesh format for insertion of LOD references into top level mesh(es), correction of coordinate &amp;quot;handedness&amp;quot; (if the ordering of the coordinate axes is incompatible, as appears to happen with the output of some modeling tools).&lt;br /&gt;
&lt;br /&gt;
See [[HowTo:Add_Ships]] for information on using mesher to convert to a presentation format (such as BFXM). Note that an old utility, objconv, is '''not''' mesher, and should not be used for this task. Source files for the mesher utility are included along with VS source. Windows users may download updated mesher binaries from their SVN interface of choice (the binary will be in the \bin directory).&lt;br /&gt;
&lt;br /&gt;
==Polygon/Vertex Count==&lt;br /&gt;
In broadest terms, the desired polygon count for a particular model is dependent on three major factors: &lt;br /&gt;
*The amount of screen real-estate that the model is likely to be viewed at the majority of time that a user will be seeing it (i.e. a 2 meter long rocket doesn't deserve the same order of magnitude of attention to detail as a large base or vessel unless the rocket is expected to be mounted in front of a camera. Likewise, even at the same level of attention in terms of polygons per square meter, it would have far fewer total polygons.)&lt;br /&gt;
*The intrinsic surface complexity of the model. If one is modeling a box for freight cargo, one is not going to need as many polygons as if one needed to model one of the Vega Strike developers (not that we're necessarily model material ;-)). If you don't use enough polygons, no amount of texture magic can save a model from being ugly. That said, if you are modeling a cargo freight container and you use thousands of polygons, you're being negligent and wasteful of resources.&lt;br /&gt;
*Engine limitations. Engine limitations is a bit of a misnomer, as the performance of the graphical engine is more hardware dependent than anything else, but it's a good heading for lumping any non-artistic hurdles under. This is the most complicated of the three major factors, because it represents a moving target. Suffice it to say that in order to preserve playability on a broad range of systems, there is a premium placed on making a model aesthetically appropriate with the minimum number of polygons.&lt;br /&gt;
&lt;br /&gt;
Rough guideline:&lt;br /&gt;
*Fighter: 15k triangles&lt;br /&gt;
*Corvette: 30k tris&lt;br /&gt;
*Cruiserer: 60k&lt;br /&gt;
*Carrier: 120k&lt;br /&gt;
*Space station: 250k&lt;br /&gt;
&lt;br /&gt;
However, significant discression, and the possibility for using large numbers of polygons to prettify an object remain with the artist, provided they make appropriate use of [[Terminology:LODs|LODs]]. The primary focus needs to be on making a model aesthetically appropriate, for an intended common viewing distance, and then catering to the needs of the engine by introducing lower LODs (if necessary) and catering to artistic desires by introducing higher LODs (if appropriate). There is also an element of minor future proofing that occurs with providing a robust range of LOD poly counts - namely, multiple versions of the data set can be constructed targeted at different hardware points by shifting up or down along the LOD set (although this currently isn't bothered with, if and when we develop a true source repository for models and textures, this will likely become more common, as postprocessing of submitted art will become tenable).&lt;br /&gt;
&lt;br /&gt;
One more point to consider before attempting to set a polygon goal for a model is what the likely total contribution from all instances on screen of a given model will be - if the model represents something particularly rare, then it is likely that a few more polygons can easily be spared on its model than for more common objects of otherwise similar size, complexity, etc.&lt;br /&gt;
&lt;br /&gt;
Above all, use common sense - if it's visually hideous because it doesn't have enough polygons, it's not your top level model, and if it's in the 5 digit range for polygon count, it's not your lowest level LOD. Take into consideration how much screen real estate, based on the intended in-game size of the model (and if you don't have any idea how big it's supposed to be - you're doing something wrong already) the model will be taking up at various distances, and calibrate detail appropriately (this will become a much easier task once there is a visual modeling tool from the VS side) - to belabor the obvious, the difference between 500 polygons and 5000 gets somewhat obscured when the object is only drawn using 64 pixels. Note therefore that larger objects will often necessitate higher polygon counts merely because there's more of them to see.&lt;br /&gt;
&lt;br /&gt;
(Note that there is no need to continue adding LODs beyond a point of &amp;quot;diminishing artistic returns&amp;quot; - if adding more detail won't help, don't bother. If adding detail helps, but is too expensive to be practical, then it may still be worthwhile for later inclusion as hardware resources increase.)&lt;br /&gt;
&lt;br /&gt;
For small to moderate craft and installations, something along the lines of either of the following is not inappropriate:&lt;br /&gt;
&lt;br /&gt;
(Exponential Scaling)&lt;br /&gt;
*LOD 0 &amp;lt;= 500 tri's.&lt;br /&gt;
*LOD 1 &amp;lt;= 2000&lt;br /&gt;
*LOD 2 &amp;lt;= 4000&lt;br /&gt;
*LOD 3 &amp;lt;= 8000&lt;br /&gt;
*LOD 4 &amp;lt;= 16000&lt;br /&gt;
*LOD 5 &amp;gt;16000&lt;br /&gt;
&lt;br /&gt;
(Quadratic Scaling)&lt;br /&gt;
*LOD 0 &amp;lt;= 500 tri's.&lt;br /&gt;
*LOD 1 &amp;lt;= 2000&lt;br /&gt;
*LOD 2 &amp;lt;= 4500&lt;br /&gt;
*LOD 3 &amp;lt;= 8000&lt;br /&gt;
*LOD 4 &amp;lt;= 12500&lt;br /&gt;
*LOD 5 &amp;lt;= 18000&lt;br /&gt;
*LOD 6 &amp;gt;18000&lt;br /&gt;
&lt;br /&gt;
Larger models, such as capital vessels and large installations will likely follow a similar curve, but at a higher offset, due to increased size. Truly massive models should be partitioned into multiple meshes, each with its own set of LODs such that nearer portions of the model can be independently represented at higher LOD than more distant ones. Partitioning into multiple meshes may be preferable even for merely &amp;quot;largish&amp;quot; models so as to preserve reasonable correspondence between single pixels and the size of represented features when texturing.&lt;br /&gt;
&lt;br /&gt;
==Textures==&lt;br /&gt;
&lt;br /&gt;
Texture maps should also be made accordingly, although clearly artistic integrity trivially trumps the following rough guideline (if you need more pixels, use them) and the appropriate texture size may depend greatly upon the size of the model.&lt;br /&gt;
&lt;br /&gt;
*LOD 1 128x128&lt;br /&gt;
*LOD 2 256x256&lt;br /&gt;
*LOD 3 512x512&lt;br /&gt;
*LOD 4 1024x1024&lt;br /&gt;
*LOD 5 and up having multiple 1024x1024 textures&lt;br /&gt;
&lt;br /&gt;
Be careful with ''texture lodding abuse''. Each LOD that uses its own texture will require more memory (video memory), and breaks batching between instances (slows down rendering of many instances of this model). Even so, texture lodding actually frees up memory most of the time, since only lesser versions are used in the distance. A general rule of thumb is to never have more than two or at most three versions of the same texture. Also take any opportunity to convert textures to greyscale when the color loss is not quite noticeable (most commonly with glow maps and specular maps).&lt;br /&gt;
&lt;br /&gt;
Likewise, for larger models, do not neglect the potential addition of detail textures.&lt;br /&gt;
&lt;br /&gt;
See also [[Development:Texture Guidelines]] and [[Development:Graphics_Requirements]].&lt;br /&gt;
&lt;br /&gt;
===Faction Textures===&lt;br /&gt;
&lt;br /&gt;
To include and successfully test faction textures in your data, you need to:&lt;br /&gt;
* set the corresponding vegastrike.config variable (&amp;lt;code&amp;gt;var name=&amp;quot;faction_dependant_textures&amp;quot; value=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;).&lt;br /&gt;
* prefix default textures with the faction name, e.g. when your default texture is called &amp;quot;tex_000.texture&amp;quot;, to enable the faction texture for &amp;quot;pirates&amp;quot; you'll need to add the texture &amp;quot;pirates_tex_000.texture&amp;quot;.&lt;br /&gt;
* change configuration to one of the 2 highest computer modes (512M+1GB or 1024MB).&lt;br /&gt;
&lt;br /&gt;
==Shield and Collision Meshes==&lt;br /&gt;
Separate shield meshes are highly desirable. Shield meshes should also be done using LODs, although shield meshes should remain simple - that is, their top level meshes should not contain odious numbers of polygons for something that is only infrequently displayed.&lt;br /&gt;
&lt;br /&gt;
Collision meshes need not (and cannot) have LODs. For complex models, it is wise to provide a dumbed-down version of the model that reasonably approximates its shape - minor features and greebles can be safely removed, for instance - to improve performance on the physics engine. Polycount should be kept to a minimum, '''without sacrificing any major features''' of the top-level LOD. Very small vessels (or appropriately shaped ones) may opt to not specify a collision mesh, which will make the physics layer treat this mesh as a spherical object (most efficient).&lt;br /&gt;
&lt;br /&gt;
==HUD Image==&lt;br /&gt;
&lt;br /&gt;
Provides perspective view of the model oriented with the nose towards the left-bottom corner of the image.&lt;br /&gt;
The master image resolution should start at 256x256 pixels with transparency around the vessel.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
For an example of an entity that is composed of multiple meshes, uses LODs, and shield meshes, examine the Clydesdale. (Note that shield and collision meshes are specified in the units.csv file, not by the model.)&lt;br /&gt;
&lt;br /&gt;
=Model Creation=&lt;br /&gt;
&lt;br /&gt;
The first (and most enjoyable) job is to design and draw your model (the geometrical object) within your program.&lt;br /&gt;
&lt;br /&gt;
Feel free to use any modeling program, but it must be able to export models in either (Wavefront) .OBJ or (Vega Strike) .xmesh format. If you don't know where to start, see [[Links:3D Applications]] for a list of modeling software. [http://www.wings3d.com/ Wings 3D] is recommended for modeling beginners. [http://www.blender.org/ '''Blender'''] is the tool of choice for VS artistic community.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Orientation==&lt;br /&gt;
First off, do yourself a favor and line your model up correctly before you begin. For the purposes of Vega Strike, Z+ is forwards and Y+ is up. The model's nose should be pointing forward along the Z+ axis (so that the Z+ axis would theoretically be visible from the cockpit). The mesh should also be properly centered.&lt;br /&gt;
Summing up:&lt;br /&gt;
* Z+ -&amp;gt; Forward direction&lt;br /&gt;
* Y+ -&amp;gt; Up direction&lt;br /&gt;
* Centered&lt;br /&gt;
&lt;br /&gt;
== Tutorials==&lt;br /&gt;
&lt;br /&gt;
{{warning_text |&lt;br /&gt;
| text='''Note:''' The tutorials overview is not complete. Many of the available tutorials have not yet been integrated into this page. Refer also to the [[HowTos|'''How-Tos Tutorials''']] page for additional tutorials.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;2&amp;quot; rules=&amp;quot;rows&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;1&amp;quot; style=&amp;quot;width:100%; text-align:center; background-color:#98b2ee&amp;quot; |&lt;br /&gt;
|'''Modeling Step&lt;br /&gt;
|'''Blender&lt;br /&gt;
|'''Wings3D&lt;br /&gt;
|-&lt;br /&gt;
| Create mesh&lt;br /&gt;
| -&lt;br /&gt;
| [[HowTo:Create Ships in Wings3D|Creating a 3D-model]]&lt;br /&gt;
|-&lt;br /&gt;
| Smoothing&lt;br /&gt;
| [[HowTo:Smooth Groups|Smoothing]]&amp;lt;br&amp;gt; [[HowTo:Weld|Smooth Welding]]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Mesh cleanup&lt;br /&gt;
| [[HowTo:Bevel|Beveling]]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Unwrapping&lt;br /&gt;
| [[HowTo:Unwrap_in_Blender|Unwrapping 1]]&amp;lt;br&amp;gt;[[HowTo:Unwrap|Unwrapping 2]] &amp;lt;br&amp;gt;[[HowTo:FullUnwrapBlender|Ship unwrap]]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Radiosity Baking&lt;br /&gt;
| [[HowTo:Radiosity baking in Blender|Radiosity baking]]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Exporting&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This articles are WIP, means still need to be reviewed and decided how to restructure them:&lt;br /&gt;
* [[HowTo:Create Cockpit in Wings3d|Creating a 3D cockpit for your ship.]]&lt;br /&gt;
* [[HowTo:Add LODs|Adding Levels of Detail]]&lt;br /&gt;
* [[HowTo:Add Ships|Adding your ship to Vega Strike]] - An overview of how to create and add ships to the game&lt;br /&gt;
* [[HowTo:Create Models]] - Links to forum discussions. Page will become generic model creation tutorial.&lt;br /&gt;
* Modeling Tutorials: [[HowTos#Modeling]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Blender Basics===&lt;br /&gt;
* [[HowTo:Basic Blender Tutorial|A basic Blender3D tutorial]]: [http://www.cdschools.org/54223045235521/blank/browse.asp?A=383&amp;amp;BMDRN=2000&amp;amp;BCOB=0&amp;amp;C=55205 Blender Basics - 3rd Edition] - not specific to ships, though...&lt;br /&gt;
&lt;br /&gt;
===Wings3D Basics===&lt;br /&gt;
&lt;br /&gt;
===Other Software Basics===&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Model a Ship|Brad Mick's video tutorial on ship modeling]] - using Lightwave, but the concept is general: ''Rapid Prototyping''&lt;br /&gt;
&lt;br /&gt;
=Texture Creation=&lt;br /&gt;
&lt;br /&gt;
==Unwrapping==&lt;br /&gt;
&lt;br /&gt;
Please make non-overlapping UV unwraps for all future models. You can't bake a proper AO with overlapping islands.&lt;br /&gt;
&lt;br /&gt;
==Unsorted==&lt;br /&gt;
&lt;br /&gt;
(general guidelines, tips, best practices, app specific tutorials, ...)&lt;br /&gt;
&lt;br /&gt;
* [http://netzwelt.gaming-hut.de/vegatexturing/ WIP VegaStrike texturing page by Major]&lt;br /&gt;
* [http://edice.netfirms.com/tuts/texturetut.htm Texturing tutorial by Duality]&lt;br /&gt;
&lt;br /&gt;
For the time being, you may wish to have a look at the corresponding [[Development:Texture_Guidelines|Texturing Guidelines]].&lt;br /&gt;
&lt;br /&gt;
* [[Development:Texture Guidelines|Guidelines for creating ship materials]]&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Add Per Pixel Lighting|Adding per-pixel lighting to your 3D model]]&lt;br /&gt;
* [[HowTo:IntroToShaders|Introduction to shaders, and what they mean for you]] --Bumpmaps, Normalmaps, Shininess maps ...&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Texture|Creating your own textures]] - A summary on how to make texture maps&lt;br /&gt;
* [[HowTo:Texture in Wings3d|Texturing your model in Wings 3d]]&lt;br /&gt;
* [[HowTo:SuperrealisticTexturing|Tips for realistic-looking textures]]&lt;br /&gt;
* [[HowTo:Make Animated Textures|Using animated textures on a model]]&lt;br /&gt;
* [http://wcpedia.com/dw/doku.php/wc_info/modding/texturing_noodle LaGrande Noodle]&lt;br /&gt;
* [http://wcpedia.com/dw/doku.php/wc_info/modding/ao_and_prt_bakes AO and PRT bakes, using Blender and xNormal]&lt;br /&gt;
&lt;br /&gt;
=Integration and Testing=&lt;br /&gt;
&lt;br /&gt;
Using UnitConverter to convert all files and edit the model stats for Vega Strike:&lt;br /&gt;
[[Development:Tools:UnitConverter]]&lt;br /&gt;
&lt;br /&gt;
===Object Marker===&lt;br /&gt;
In order to automatically create turret mounts, gun mounts, and engine thrusters placements in units.csv, please use the following marker:&lt;br /&gt;
&lt;br /&gt;
http://deeplayer.com/cinemut/gunmountmarker.jpg&lt;br /&gt;
&lt;br /&gt;
The shape is 1 units wide in X, 2 units tall in Y, 4 units long in Z. Four vertices in total. The center between the two vertices on X is the origin; the vertex on Z marks the forward direction; the vertex on Y marks the up direction.&lt;br /&gt;
The exported object names are ready and the forward and up directions are calculated from the marker dimensions. Thus, we don't need to worry about mesh rotations; we can deduce mesh rotation from the marker. &lt;br /&gt;
&lt;br /&gt;
[author:chuck_starchaser]&lt;br /&gt;
* Here's the marker blend file (you could load and save as the default blender start):&lt;br /&gt;
** [http://vegastrike.svn.sourceforge.net/viewvc/vegastrike/trunk/modtools/UnitConverter/helper/mount_helper.blend?view=log ''modtools/UnitConverter/helper/mount_helper.blend'']&lt;br /&gt;
* Starts with a marker smack in the middle.&lt;br /&gt;
* You can move it to another layer, later duplicate it as needed to place copies at key locations.&lt;br /&gt;
* You can also import the marker into another blend file:&lt;br /&gt;
** Open whatever.blend, go to File -&amp;gt; Append Or Link&lt;br /&gt;
** Navigate to where UnitConverter/helper/mount_helper.blend is.&lt;br /&gt;
* Go to the &amp;quot;Objects&amp;quot; folder, and click on the &amp;quot;Marker&amp;quot; object.&lt;br /&gt;
* To duplicate an object, in object mode, select and shift-D.&lt;br /&gt;
* To rename your duplicated object, hit F9 and, towards the left, where it says OB:Marker click in the middle of it and then type &amp;quot;gunmount_0_light_medium&amp;quot; or whatever.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/albums/WIPs-and-Concept-Art/mounts_20080911.jpg&lt;br /&gt;
&lt;br /&gt;
The above image shows the markers set as the centers of engine thrusts.&lt;br /&gt;
&lt;br /&gt;
It is advisable to group the marker objects into a group called &amp;quot;marker&amp;quot;. You are required to export all the markers into one obj file that needs to contain the name &amp;quot;marker&amp;quot; in it (letter case is unimportant, it can be &amp;quot;marker&amp;quot;, or &amp;quot;Marker&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Object Helper naming convention: ''type_subtype_identifier''&lt;br /&gt;
&lt;br /&gt;
with type:&lt;br /&gt;
* pilot (currently unused)&lt;br /&gt;
* mount (currently unused)&lt;br /&gt;
* turret&lt;br /&gt;
* subunit&lt;br /&gt;
* engine&lt;br /&gt;
* dock&lt;br /&gt;
&lt;br /&gt;
and subtype being optional (convention tbd),&lt;br /&gt;
and identifier being either a number or a description and optional.&lt;br /&gt;
&lt;br /&gt;
You may define for example:&lt;br /&gt;
* pilot&lt;br /&gt;
* pilot_john&lt;br /&gt;
* mount_lightmedium_0&lt;br /&gt;
* turret_capmissile_frontleft&lt;br /&gt;
* subunit_1&lt;br /&gt;
* engine_retro_left&lt;br /&gt;
&lt;br /&gt;
===Exporting to OBJ+MTL===&lt;br /&gt;
&lt;br /&gt;
===Updating Stats===&lt;br /&gt;
* [[HowTo:Add Descriptions|Putting ship and goods descriptions into the game]]&lt;br /&gt;
* [[HowTo:Edit master_part_list.csv|Editing the Master_part_list.csv file]]&lt;br /&gt;
&lt;br /&gt;
=Submission and Vetting=&lt;br /&gt;
&lt;br /&gt;
=Technical Reference=&lt;br /&gt;
&lt;br /&gt;
==Technical Specifications==&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Edit BFXM files|Editing BFXM files (format spec)]]&lt;br /&gt;
* [[HowTo:Edit XMESH files|Editing the xmesh file of a ship]]&lt;br /&gt;
* [[HowTo:Edit units.csv|Editing units.csv]]&lt;br /&gt;
* [[HowTo:Add Engine Glow|Adding an engine glow to your 3D model]]&lt;br /&gt;
&lt;br /&gt;
==Scripts and Tools==&lt;br /&gt;
&lt;br /&gt;
See [[Development:Scripts_%26_Tools|Scripts &amp;amp; Tools]]&lt;br /&gt;
* [[HowTo:Add_Ships#New_method|mesher converter obj &amp;lt;-&amp;gt; bfxm &amp;lt;-&amp;gt; xmesh]]&lt;br /&gt;
* [[Development:Tools:UnitConverter|UnitConverter]]&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&lt;br /&gt;
* [http://wcpedia.com/dw/doku.php/wc_info/modding/index WCpedia Modeling Page]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development|Model Guidelines]]&lt;br /&gt;
[[Category:Modeling|Model Guidelines]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Model_Guidelines&amp;diff=18261</id>
		<title>Development:Model Guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Model_Guidelines&amp;diff=18261"/>
				<updated>2011-04-05T20:33:58Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* Scripts and Tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{parent_link|parent=[[Development]]}}&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
The intention of this document is to give artists using the Vega Strike engine some suggested guidelines to follow in creating models. You may also wish to have a look at the corresponding [[Development:Texture_Guidelines|texturing guidelines]].&lt;br /&gt;
&lt;br /&gt;
So you want to create a new ship for Vega Strike, do you?  While virtually all models are welcome, well before you start cranking out wonderfully designed models we request that you first check what models are still required.&lt;br /&gt;
&lt;br /&gt;
{{warning_text |&lt;br /&gt;
| text='''Note:''' If you wish to contribute a new or updated model (ship, installation, turret, cockpit, ..) to the game Vega Strike, please see the [[Development:3D_Models|'''3D Models''']] page for models requiring attention.}}&lt;br /&gt;
&lt;br /&gt;
Alternatively, contact [[User:jackS|jackS]] or [[User:pyramid|pyramid]].&lt;br /&gt;
&lt;br /&gt;
= Modeling Pipeline Overview =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;2&amp;quot; rules=&amp;quot;rows&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;1&amp;quot; style=&amp;quot;width:100%; text-align:center; background-color:#98ffb2&amp;quot; |&lt;br /&gt;
|'''Step&lt;br /&gt;
|'''Input&lt;br /&gt;
|'''Output&lt;br /&gt;
|'''Tools&lt;br /&gt;
|'''Requirements&lt;br /&gt;
|'''Tutorials&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Model Selection&lt;br /&gt;
| -&lt;br /&gt;
| required model&lt;br /&gt;
| model task list&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Conceptualization&lt;br /&gt;
| selected model&lt;br /&gt;
| model concept&lt;br /&gt;
| pen &amp;amp; paper, artwork forum&lt;br /&gt;
| artstyle guide&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Modeling&lt;br /&gt;
| concept&lt;br /&gt;
| model mesh, obj + mtl files&lt;br /&gt;
| blender, forum&lt;br /&gt;
| many&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Texturing&lt;br /&gt;
| model mesh&lt;br /&gt;
| textures&lt;br /&gt;
| gimp, forum&lt;br /&gt;
| texture requirements&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Integration&lt;br /&gt;
| model + textures&lt;br /&gt;
| bfxm + dds textures&lt;br /&gt;
| mesher + UnitConverter&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Testing&lt;br /&gt;
| bfxm model + dds textures&lt;br /&gt;
| bfxm + dds textures&lt;br /&gt;
| vegastrike + modelview.mission&lt;br /&gt;
| pass or rework&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Submission&lt;br /&gt;
| blender file (obj + mtl), master textures, bfxm + dds textures&lt;br /&gt;
| archive or svn&lt;br /&gt;
| mail, svn client&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Model Requirements=&lt;br /&gt;
&lt;br /&gt;
==Requirements Checklist==&lt;br /&gt;
&lt;br /&gt;
Considerations for a successful model submission:&lt;br /&gt;
* Model is in the requirements list [[Development:3D_Models|-&amp;gt;]]&lt;br /&gt;
* Abides to faction visual guidelines&lt;br /&gt;
* Has approved concept&lt;br /&gt;
* Provides model source file (blender, Wings3D, ...)&lt;br /&gt;
* Provides OBJ file&lt;br /&gt;
* Has model mesh, shield mesh, LoD meshes, helper meshes&lt;br /&gt;
* Provides uncompressed textures in png format (and optionally faction textures)&lt;br /&gt;
* Provides texture source files (GIMP, ...)&lt;br /&gt;
* Provides HUD png image with correct orientation&lt;br /&gt;
* Provides units.csv file entry&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Model Requirements Details==&lt;br /&gt;
&lt;br /&gt;
==Visual Guidelines==&lt;br /&gt;
&lt;br /&gt;
For particular aesthetic guidelines, please see the [[Artstyle guides]] page. Please note that many of the existing models are used because of expedience, not because they fit well with VS canon (i.e. if you make something new look like what's there, it still might not be what we're looking for). If in doubt, please ask on the [http://vegastrike.sourceforge.net/forums/viewforum.php?f=4 Artwork &amp;amp; Content Vetting forum]. &lt;br /&gt;
&lt;br /&gt;
To absolutely sure, for new models, please create a drawing of your proposed concept and let it be discussed and approved on the [http://vegastrike.sourceforge.net/forums/viewforum.php?f=4 Artwork &amp;amp; Content Vetting forum].&lt;br /&gt;
&lt;br /&gt;
See also [[Development:Texture Guidelines]]&lt;br /&gt;
&lt;br /&gt;
==Model File Format==&lt;br /&gt;
The preferred format for submission (for public disbursement - whatever native format is used inside your favorite modeling suite is fortunately a non-issue) is currently Wavefront OBJ file format, as this is the most easily converted between manipulation (assorted modeling tools) and presentation (currently BFXM, later to be the OGRE .mesh format). Model &amp;quot;source&amp;quot; therefore, is, at present (Sep. 2008), most usefully uploaded as .OBJ.&lt;br /&gt;
&lt;br /&gt;
Until such a time as a visual model editing tool is completed, conversion to a game-ready format will likely pass through the .xmesh format for insertion of LOD references into top level mesh(es), correction of coordinate &amp;quot;handedness&amp;quot; (if the ordering of the coordinate axes is incompatible, as appears to happen with the output of some modeling tools).&lt;br /&gt;
&lt;br /&gt;
See [[HowTo:Add_Ships]] for information on using mesher to convert to a presentation format (such as BFXM). Note that an old utility, objconv, is '''not''' mesher, and should not be used for this task. Source files for the mesher utility are included along with VS source. Windows users may download updated mesher binaries from their SVN interface of choice (the binary will be in the \bin directory).&lt;br /&gt;
&lt;br /&gt;
==Polygon/Vertex Count==&lt;br /&gt;
In broadest terms, the desired polygon count for a particular model is dependent on three major factors: &lt;br /&gt;
*The amount of screen real-estate that the model is likely to be viewed at the majority of time that a user will be seeing it (i.e. a 2 meter long rocket doesn't deserve the same order of magnitude of attention to detail as a large base or vessel unless the rocket is expected to be mounted in front of a camera. Likewise, even at the same level of attention in terms of polygons per square meter, it would have far fewer total polygons.)&lt;br /&gt;
*The intrinsic surface complexity of the model. If one is modeling a box for freight cargo, one is not going to need as many polygons as if one needed to model one of the Vega Strike developers (not that we're necessarily model material ;-)). If you don't use enough polygons, no amount of texture magic can save a model from being ugly. That said, if you are modeling a cargo freight container and you use thousands of polygons, you're being negligent and wasteful of resources.&lt;br /&gt;
*Engine limitations. Engine limitations is a bit of a misnomer, as the performance of the graphical engine is more hardware dependent than anything else, but it's a good heading for lumping any non-artistic hurdles under. This is the most complicated of the three major factors, because it represents a moving target. Suffice it to say that in order to preserve playability on a broad range of systems, there is a premium placed on making a model aesthetically appropriate with the minimum number of polygons.&lt;br /&gt;
&lt;br /&gt;
Rough guideline:&lt;br /&gt;
*Fighter: 15k triangles&lt;br /&gt;
*Corvette: 30k tris&lt;br /&gt;
*Cruiserer: 60k&lt;br /&gt;
*Carrier: 120k&lt;br /&gt;
*Space station: 250k&lt;br /&gt;
&lt;br /&gt;
However, significant discression, and the possibility for using large numbers of polygons to prettify an object remain with the artist, provided they make appropriate use of [[Terminology:LODs|LODs]]. The primary focus needs to be on making a model aesthetically appropriate, for an intended common viewing distance, and then catering to the needs of the engine by introducing lower LODs (if necessary) and catering to artistic desires by introducing higher LODs (if appropriate). There is also an element of minor future proofing that occurs with providing a robust range of LOD poly counts - namely, multiple versions of the data set can be constructed targeted at different hardware points by shifting up or down along the LOD set (although this currently isn't bothered with, if and when we develop a true source repository for models and textures, this will likely become more common, as postprocessing of submitted art will become tenable).&lt;br /&gt;
&lt;br /&gt;
One more point to consider before attempting to set a polygon goal for a model is what the likely total contribution from all instances on screen of a given model will be - if the model represents something particularly rare, then it is likely that a few more polygons can easily be spared on its model than for more common objects of otherwise similar size, complexity, etc.&lt;br /&gt;
&lt;br /&gt;
Above all, use common sense - if it's visually hideous because it doesn't have enough polygons, it's not your top level model, and if it's in the 5 digit range for polygon count, it's not your lowest level LOD. Take into consideration how much screen real estate, based on the intended in-game size of the model (and if you don't have any idea how big it's supposed to be - you're doing something wrong already) the model will be taking up at various distances, and calibrate detail appropriately (this will become a much easier task once there is a visual modeling tool from the VS side) - to belabor the obvious, the difference between 500 polygons and 5000 gets somewhat obscured when the object is only drawn using 64 pixels. Note therefore that larger objects will often necessitate higher polygon counts merely because there's more of them to see.&lt;br /&gt;
&lt;br /&gt;
(Note that there is no need to continue adding LODs beyond a point of &amp;quot;diminishing artistic returns&amp;quot; - if adding more detail won't help, don't bother. If adding detail helps, but is too expensive to be practical, then it may still be worthwhile for later inclusion as hardware resources increase.)&lt;br /&gt;
&lt;br /&gt;
For small to moderate craft and installations, something along the lines of either of the following is not inappropriate:&lt;br /&gt;
&lt;br /&gt;
(Exponential Scaling)&lt;br /&gt;
*LOD 0 &amp;lt;= 500 tri's.&lt;br /&gt;
*LOD 1 &amp;lt;= 2000&lt;br /&gt;
*LOD 2 &amp;lt;= 4000&lt;br /&gt;
*LOD 3 &amp;lt;= 8000&lt;br /&gt;
*LOD 4 &amp;lt;= 16000&lt;br /&gt;
*LOD 5 &amp;gt;16000&lt;br /&gt;
&lt;br /&gt;
(Quadratic Scaling)&lt;br /&gt;
*LOD 0 &amp;lt;= 500 tri's.&lt;br /&gt;
*LOD 1 &amp;lt;= 2000&lt;br /&gt;
*LOD 2 &amp;lt;= 4500&lt;br /&gt;
*LOD 3 &amp;lt;= 8000&lt;br /&gt;
*LOD 4 &amp;lt;= 12500&lt;br /&gt;
*LOD 5 &amp;lt;= 18000&lt;br /&gt;
*LOD 6 &amp;gt;18000&lt;br /&gt;
&lt;br /&gt;
Larger models, such as capital vessels and large installations will likely follow a similar curve, but at a higher offset, due to increased size. Truly massive models should be partitioned into multiple meshes, each with its own set of LODs such that nearer portions of the model can be independently represented at higher LOD than more distant ones. Partitioning into multiple meshes may be preferable even for merely &amp;quot;largish&amp;quot; models so as to preserve reasonable correspondence between single pixels and the size of represented features when texturing.&lt;br /&gt;
&lt;br /&gt;
==Textures==&lt;br /&gt;
&lt;br /&gt;
Texture maps should also be made accordingly, although clearly artistic integrity trivially trumps the following rough guideline (if you need more pixels, use them) and the appropriate texture size may depend greatly upon the size of the model.&lt;br /&gt;
&lt;br /&gt;
*LOD 1 128x128&lt;br /&gt;
*LOD 2 256x256&lt;br /&gt;
*LOD 3 512x512&lt;br /&gt;
*LOD 4 1024x1024&lt;br /&gt;
*LOD 5 and up having multiple 1024x1024 textures&lt;br /&gt;
&lt;br /&gt;
Be careful with ''texture lodding abuse''. Each LOD that uses its own texture will require more memory (video memory), and breaks batching between instances (slows down rendering of many instances of this model). Even so, texture lodding actually frees up memory most of the time, since only lesser versions are used in the distance. A general rule of thumb is to never have more than two or at most three versions of the same texture. Also take any opportunity to convert textures to greyscale when the color loss is not quite noticeable (most commonly with glow maps and specular maps).&lt;br /&gt;
&lt;br /&gt;
Likewise, for larger models, do not neglect the potential addition of detail textures.&lt;br /&gt;
&lt;br /&gt;
See also [[Development:Texture Guidelines]] and [[Development:Graphics_Requirements]].&lt;br /&gt;
&lt;br /&gt;
===Faction Textures===&lt;br /&gt;
&lt;br /&gt;
To include and successfully test faction textures in your data, you need to:&lt;br /&gt;
* set the corresponding vegastrike.config variable (&amp;lt;code&amp;gt;var name=&amp;quot;faction_dependant_textures&amp;quot; value=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;).&lt;br /&gt;
* prefix default textures with the faction name, e.g. when your default texture is called &amp;quot;tex_000.texture&amp;quot;, to enable the faction texture for &amp;quot;pirates&amp;quot; you'll need to add the texture &amp;quot;pirates_tex_000.texture&amp;quot;.&lt;br /&gt;
* change configuration to one of the 2 highest computer modes (512M+1GB or 1024MB).&lt;br /&gt;
&lt;br /&gt;
==Shield and Collision Meshes==&lt;br /&gt;
Separate shield meshes are highly desirable. Shield meshes should also be done using LODs, although shield meshes should remain simple - that is, their top level meshes should not contain odious numbers of polygons for something that is only infrequently displayed.&lt;br /&gt;
&lt;br /&gt;
Collision meshes need not (and cannot) have LODs. For complex models, it is wise to provide a dumbed-down version of the model that reasonably approximates its shape - minor features and greebles can be safely removed, for instance - to improve performance on the physics engine. Polycount should be kept to a minimum, '''without sacrificing any major features''' of the top-level LOD. Very small vessels (or appropriately shaped ones) may opt to not specify a collision mesh, which will make the physics layer treat this mesh as a spherical object (most efficient).&lt;br /&gt;
&lt;br /&gt;
==HUD Image==&lt;br /&gt;
&lt;br /&gt;
Provides perspective view of the model oriented with the nose towards the left-bottom corner of the image.&lt;br /&gt;
The master image resolution should start at 256x256 pixels with transparency around the vessel.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
For an example of an entity that is composed of multiple meshes, uses LODs, and shield meshes, examine the Clydesdale. (Note that shield and collision meshes are specified in the units.csv file, not by the model.)&lt;br /&gt;
&lt;br /&gt;
=Model Creation=&lt;br /&gt;
&lt;br /&gt;
The first (and most enjoyable) job is to design and draw your model (the geometrical object) within your program.&lt;br /&gt;
&lt;br /&gt;
Feel free to use any modeling program, but it must be able to export models in either (Wavefront) .OBJ or (Vega Strike) .xmesh format. If you don't know where to start, see [[Links:3D Applications]] for a list of modeling software. [http://www.wings3d.com/ Wings 3D] is recommended for modeling beginners. [http://www.blender.org/ '''Blender'''] is the tool of choice for VS artistic community.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Orientation==&lt;br /&gt;
First off, do yourself a favor and line your model up correctly before you begin. For the purposes of Vega Strike, Z+ is forwards and Y+ is up. The model's nose should be pointing forward along the Z+ axis (so that the Z+ axis would theoretically be visible from the cockpit). The mesh should also be properly centered.&lt;br /&gt;
Summing up:&lt;br /&gt;
* Z+ -&amp;gt; Forward direction&lt;br /&gt;
* Y+ -&amp;gt; Up direction&lt;br /&gt;
* Centered&lt;br /&gt;
&lt;br /&gt;
== Tutorials==&lt;br /&gt;
&lt;br /&gt;
{{warning_text |&lt;br /&gt;
| text='''Note:''' The tutorials overview is not complete. Many of the available tutorials have not yet been integrated into this page. Refer also to the [[HowTos|'''How-Tos Tutorials''']] page for additional tutorials.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;2&amp;quot; rules=&amp;quot;rows&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;1&amp;quot; style=&amp;quot;width:100%; text-align:center; background-color:#98b2ee&amp;quot; |&lt;br /&gt;
|'''Modeling Step&lt;br /&gt;
|'''Blender&lt;br /&gt;
|'''Wings3D&lt;br /&gt;
|-&lt;br /&gt;
| Create mesh&lt;br /&gt;
| -&lt;br /&gt;
| [[HowTo:Create Ships in Wings3D|Creating a 3D-model]]&lt;br /&gt;
|-&lt;br /&gt;
| Smoothing&lt;br /&gt;
| [[HowTo:Smooth Groups|Smoothing]]&amp;lt;br&amp;gt; [[HowTo:Weld|Smooth Welding]]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Mesh cleanup&lt;br /&gt;
| [[HowTo:Bevel|Beveling]]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Unwrapping&lt;br /&gt;
| [[HowTo:Unwrap_in_Blender|Unwrapping 1]]&amp;lt;br&amp;gt;[[HowTo:Unwrap|Unwrapping 2]] &amp;lt;br&amp;gt;[[HowTo:FullUnwrapBlender|Ship unwrap]]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Radiosity Baking&lt;br /&gt;
| [[HowTo:Radiosity baking in Blender|Radiosity baking]]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Exporting&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This articles are WIP, means still need to be reviewed and decided how to restructure them:&lt;br /&gt;
* [[HowTo:Create Cockpit in Wings3d|Creating a 3D cockpit for your ship.]]&lt;br /&gt;
* [[HowTo:Add LODs|Adding Levels of Detail]]&lt;br /&gt;
* [[HowTo:Add Ships|Adding your ship to Vega Strike]] - An overview of how to create and add ships to the game&lt;br /&gt;
* [[HowTo:Create Models]] - Links to forum discussions. Page will become generic model creation tutorial.&lt;br /&gt;
* Modeling Tutorials: [[HowTos#Modeling]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Blender Basics===&lt;br /&gt;
* [[HowTo:Basic Blender Tutorial|A basic Blender3D tutorial]]: [http://www.cdschools.org/54223045235521/blank/browse.asp?A=383&amp;amp;BMDRN=2000&amp;amp;BCOB=0&amp;amp;C=55205 Blender Basics - 3rd Edition] - not specific to ships, though...&lt;br /&gt;
&lt;br /&gt;
===Wings3D Basics===&lt;br /&gt;
&lt;br /&gt;
===Other Software Basics===&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Model a Ship|Brad Mick's video tutorial on ship modeling]] - using Lightwave, but the concept is general: ''Rapid Prototyping''&lt;br /&gt;
&lt;br /&gt;
=Texture Creation=&lt;br /&gt;
&lt;br /&gt;
==Unwrapping==&lt;br /&gt;
&lt;br /&gt;
Please make non-overlapping UV unwraps for all future models. You can't bake a proper AO with overlapping islands.&lt;br /&gt;
&lt;br /&gt;
==Unsorted==&lt;br /&gt;
&lt;br /&gt;
(general guidelines, tips, best practices, app specific tutorials, ...)&lt;br /&gt;
&lt;br /&gt;
* [http://netzwelt.gaming-hut.de/vegatexturing/ WIP VegaStrike texturing page by Major]&lt;br /&gt;
* [http://edice.netfirms.com/tuts/texturetut.htm Texturing tutorial by Duality]&lt;br /&gt;
&lt;br /&gt;
For the time being, you may wish to have a look at the corresponding [[Development:Texture_Guidelines|Texturing Guidelines]].&lt;br /&gt;
&lt;br /&gt;
* [[Development:Texture Guidelines|Guidelines for creating ship materials]]&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Add Per Pixel Lighting|Adding per-pixel lighting to your 3D model]]&lt;br /&gt;
* [[HowTo:IntroToShaders|Introduction to shaders, and what they mean for you]] --Bumpmaps, Normalmaps, Shininess maps ...&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Texture|Creating your own textures]] - A summary on how to make texture maps&lt;br /&gt;
* [[HowTo:Texture in Wings3d|Texturing your model in Wings 3d]]&lt;br /&gt;
* [[HowTo:SuperrealisticTexturing|Tips for realistic-looking textures]]&lt;br /&gt;
* [[HowTo:Make Animated Textures|Using animated textures on a model]]&lt;br /&gt;
* [http://wcpedia.com/dw/doku.php/wc_info/modding/texturing_noodle LaGrande Noodle]&lt;br /&gt;
* [http://wcpedia.com/dw/doku.php/wc_info/modding/ao_and_prt_bakes AO and PRT bakes, using Blender and xNormal]&lt;br /&gt;
&lt;br /&gt;
=Integration and Testing=&lt;br /&gt;
&lt;br /&gt;
Using UnitConverter to convert all files and edit the model stats for Vega Strike:&lt;br /&gt;
[[Development:Tools:UnitConverter]]&lt;br /&gt;
&lt;br /&gt;
===Object Marker===&lt;br /&gt;
In order to automatically create turret mounts, gun mounts, and engine thrusters placements in units.csv, please use the following marker:&lt;br /&gt;
&lt;br /&gt;
[author:chuck_starchaser] Here's a blend file people could load and save as the default blender start.&lt;br /&gt;
Starts with a marker smack in the middle.&lt;br /&gt;
You can move it to another layer, later duplicate it as needed to place copies at key locations.&lt;br /&gt;
http://wcjunction.com/temp_images/cinemut/goodstart.blend&lt;br /&gt;
You can also import the marker into another blend file:&lt;br /&gt;
Open whatever.blend, go to File -&amp;gt; Append Or Link&lt;br /&gt;
Navigate to where goodstart.blend is.&lt;br /&gt;
Go to the Objects folder, and click on the &amp;quot;marker&amp;quot; object.&lt;br /&gt;
To duplicate an object, in object mode, select and shift-D.&lt;br /&gt;
To rename your duplicated object, hit F9 and, towards the left,&lt;br /&gt;
where it says OB:Marker click in the middle of it and then&lt;br /&gt;
type &amp;quot;gunmount_0_light_medium&amp;quot; or whatever.&lt;br /&gt;
&lt;br /&gt;
It is advisable to group the marker objects into a group called &amp;quot;marker&amp;quot;. You are required to export all the markers into one obj file that needs to contain the name &amp;quot;marker&amp;quot; in it (letter case is unimportant, it can be &amp;quot;marker&amp;quot;, or &amp;quot;Marker&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Object Helper naming convention: ''type_subtype_identifier''&lt;br /&gt;
&lt;br /&gt;
with type:&lt;br /&gt;
* pilot (currently unused)&lt;br /&gt;
* mount (currently unused)&lt;br /&gt;
* turret&lt;br /&gt;
* subunit&lt;br /&gt;
* engine&lt;br /&gt;
* dock&lt;br /&gt;
&lt;br /&gt;
and subtype being optional (convention tbd),&lt;br /&gt;
and identifier being either a number or a description and optional.&lt;br /&gt;
&lt;br /&gt;
You may define for example:&lt;br /&gt;
* pilot&lt;br /&gt;
* pilot_john&lt;br /&gt;
* mount_lightmedium_0&lt;br /&gt;
* turret_capmissile_frontleft&lt;br /&gt;
* subunit_1&lt;br /&gt;
* engine_retro_left&lt;br /&gt;
&lt;br /&gt;
===Exporting to OBJ+MTL===&lt;br /&gt;
&lt;br /&gt;
===Updating Stats===&lt;br /&gt;
* [[HowTo:Add Descriptions|Putting ship and goods descriptions into the game]]&lt;br /&gt;
* [[HowTo:Edit master_part_list.csv|Editing the Master_part_list.csv file]]&lt;br /&gt;
&lt;br /&gt;
=Submission and Vetting=&lt;br /&gt;
&lt;br /&gt;
=Technical Reference=&lt;br /&gt;
&lt;br /&gt;
==Technical Specifications==&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Edit BFXM files|Editing BFXM files (format spec)]]&lt;br /&gt;
* [[HowTo:Edit XMESH files|Editing the xmesh file of a ship]]&lt;br /&gt;
* [[HowTo:Edit units.csv|Editing units.csv]]&lt;br /&gt;
* [[HowTo:Add Engine Glow|Adding an engine glow to your 3D model]]&lt;br /&gt;
&lt;br /&gt;
==Scripts and Tools==&lt;br /&gt;
&lt;br /&gt;
See [[Development:Scripts_%26_Tools|Scripts &amp;amp; Tools]]&lt;br /&gt;
* [[HowTo:Add_Ships#New_method|mesher converter obj &amp;lt;-&amp;gt; bfxm &amp;lt;-&amp;gt; xmesh]]&lt;br /&gt;
* [[Development:Tools:UnitConverter|UnitConverter]]&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&lt;br /&gt;
* [http://wcpedia.com/dw/doku.php/wc_info/modding/index WCpedia Modeling Page]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development|Model Guidelines]]&lt;br /&gt;
[[Category:Modeling|Model Guidelines]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Tools:UnitConverter&amp;diff=18257</id>
		<title>Development:Tools:UnitConverter</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Tools:UnitConverter&amp;diff=18257"/>
				<updated>2011-04-04T21:58:25Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* Requirements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
&lt;br /&gt;
Raising from the stone age of workflows, in which every task, from texture conversion to editing of unit stats, had to be accomplished manually and only by quite knowledgeable magistrates who knew the alchemy of units.csv columns, xmesh files, and had a magic with meshers. Now, UnitConverter shines upon us, still in the distance, but unmovable like a beacon on solid rock, to be the church of the artists, to accommodate the apostles of Blender, CineMut, and LaGrande, to bring the holy spirit of salvation to this compassionate universe of ours.&lt;br /&gt;
&lt;br /&gt;
Some of the main Unit Converter features:&lt;br /&gt;
* bi-directionally converts meshes between obj and bfxm files&lt;br /&gt;
* assign textures to (sub)models&lt;br /&gt;
* convert model and shield meshes&lt;br /&gt;
* compress default and faction input textures to dds output textures&lt;br /&gt;
* saves the complete workspace in portable config files&lt;br /&gt;
* change model techniques and blend mode&lt;br /&gt;
* checks and corrects invalid obj files, recreates mtl files&lt;br /&gt;
* creates a model directory if none exists and copies all required files&lt;br /&gt;
* compresses hud image and creates a .sprite file&lt;br /&gt;
* units.csv entry editor and creator (with default unit stats for new units)&lt;br /&gt;
* displays model using VS&lt;br /&gt;
* reads mesh dimensions from obj file&lt;br /&gt;
* placement of thrusters, turrets, mounts, docks, and blink lights from marker obj file&lt;br /&gt;
* on-screen instructions for each workflow module&lt;br /&gt;
* production tested&lt;br /&gt;
&lt;br /&gt;
==Important Note==&lt;br /&gt;
{{warning_text |&lt;br /&gt;
|text=Due to the way ''mesher'' handles command line options (separates different inputs by spaces), it will not allow to use folders or file names with spaces (as common on Windows).&lt;br /&gt;
Should you be getting runtime errors during the conversion, you should rename your folder to something like &amp;quot;UnitName&amp;quot; or &amp;quot;Unit_Name_working_folder&amp;quot;, i.e. substitute spaces with underscores &amp;quot;_&amp;quot;. Do the same for the input files, i.e. &amp;quot;Unit_Name.obj&amp;quot;.}}&lt;br /&gt;
&lt;br /&gt;
=Quick Start Guide=&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
You must first configure the paths under Config including the application in the path:&lt;br /&gt;
* ''path\data'' (to edit unit stats and view model in Vega Strike)&lt;br /&gt;
* ''path\mesher.exe'' (to convert model to bfxm) - [http://vegastrike.svn.sourceforge.net/viewvc/vegastrike/trunk/win32/bin/ get mesher]&lt;br /&gt;
* ''path\nvcompress'' (to compress textures) - [[Links:Graphic_Applications#nVidia_Texture_Tools|see here for instructions on nvcompress]]&lt;br /&gt;
(There is no need to set the working dir, as this field is purely informational)&lt;br /&gt;
&lt;br /&gt;
==Integrating Models==&lt;br /&gt;
Assuming you have exported:&lt;br /&gt;
* ship mesh to ''Ship.obj''&lt;br /&gt;
* shield to ''Ship-Shield.obj''&lt;br /&gt;
* helpers to ''Ship-Mounts.obj&lt;br /&gt;
''&lt;br /&gt;
... the steps to convert your model are:&lt;br /&gt;
* In UnitConverter, under &amp;quot;Model&amp;quot; add all three obj files to workspace.&lt;br /&gt;
* Then select the main Ship model in the drop down.&lt;br /&gt;
* Under &amp;quot;Textures&amp;quot; you add the ones you have provided.&lt;br /&gt;
* Press &amp;quot;Save and Convert&amp;quot;&lt;br /&gt;
* Press &amp;quot;Convert Textures&amp;quot;&lt;br /&gt;
* Press &amp;quot;Copy Data&amp;quot;&lt;br /&gt;
* Under &amp;quot;Unit&amp;quot; press &amp;quot;Save&amp;quot;&lt;br /&gt;
* Under &amp;quot;View&amp;quot; press &amp;quot;View&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This will call vegastrike and the modelview.mission with your new unit enabled.&lt;br /&gt;
&lt;br /&gt;
==Converting Hud Image==&lt;br /&gt;
Under &amp;quot;HUDImage&amp;quot;:&lt;br /&gt;
* Open the &amp;quot;''Ship-hud.png''&amp;quot; image using the &amp;quot;...&amp;quot; button&lt;br /&gt;
* Press &amp;quot;Convert Image&amp;quot;&lt;br /&gt;
* Press &amp;quot;Copy Data&amp;quot;&lt;br /&gt;
* Under &amp;quot;Unit&amp;quot; press &amp;quot;Save&amp;quot;&lt;br /&gt;
* Under &amp;quot;View&amp;quot; press &amp;quot;View&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Using Uncompressed Images==&lt;br /&gt;
* Under &amp;quot;Config&amp;quot; check the &amp;quot;Bypass compression&amp;quot; option.&lt;br /&gt;
* Under &amp;quot;Textures&amp;quot; press &amp;quot;Save and Convert&amp;quot;&lt;br /&gt;
* Press &amp;quot;Copy Data&amp;quot;&lt;br /&gt;
* Under &amp;quot;View&amp;quot; press &amp;quot;View&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Adding Thruster, Docks, Mounts==&lt;br /&gt;
* Under &amp;quot;Model&amp;quot; press &amp;quot;Add Model&amp;quot;&lt;br /&gt;
* Select the &amp;quot;''Ship-Mounts.obj''&amp;quot; file with your mount markers.&lt;br /&gt;
* Under &amp;quot;Unit&amp;quot; and &amp;quot;Unit2&amp;quot; review the stats&lt;br /&gt;
* Under &amp;quot;Unit&amp;quot; press &amp;quot;Save&amp;quot;&lt;br /&gt;
* Under &amp;quot;View&amp;quot; press &amp;quot;View&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Editing Stats==&lt;br /&gt;
* Under &amp;quot;Unit&amp;quot;, in &amp;quot;Unit name&amp;quot; write the units.csv key (e.g. ''Llama.begin'')&lt;br /&gt;
* Press &amp;quot;Load&amp;quot;&lt;br /&gt;
* Edit fields under &amp;quot;Unit&amp;quot; and &amp;quot;Unit2&amp;quot;&lt;br /&gt;
* Under &amp;quot;Unit&amp;quot; press &amp;quot;Save&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Comparing Units==&lt;br /&gt;
* Under '''Unit''' tab, in '''Unit name''' write the units.csv key (e.g. ''Llama.begin'')&lt;br /&gt;
* Press '''Load'''&lt;br /&gt;
* Use '''&amp;lt;''' and '''&amp;gt;''' to browse backward and forward.&lt;br /&gt;
* After editing a parameter make sure to press '''Save'''&lt;br /&gt;
&lt;br /&gt;
==Getting Help==&lt;br /&gt;
In case of problems, please report to the [http://vegastrike.sourceforge.net/forums/viewtopic.php?f=20&amp;amp;t=11885 Unit Converter thread].&lt;br /&gt;
&lt;br /&gt;
=UnitConverter Tool=&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
&lt;br /&gt;
The only requirement to run UnitConverter on your system is to have Python 2.5 or 2.6 installed on your system. Python 3.x has different syntax and will not work. No additional libraries are required.&lt;br /&gt;
&lt;br /&gt;
A requirement for the '''model obj files''' is that no mtl file is provided. UnitConverter will generate its own texture information based on the input given under model.&lt;br /&gt;
The best way for exporting files from blender is to use the following three options *only*: '''Edges''', '''UVs''', '''Objects'''. You may also enable Normals, and Groups. However the '''Materials''' export option should be explicitly disabled.&lt;br /&gt;
&lt;br /&gt;
==Installation and Starting==&lt;br /&gt;
&lt;br /&gt;
You can download the latest version of UnitConverter from the Vega Strike svn repository:&lt;br /&gt;
* View repo [http://vegastrike.svn.sourceforge.net/viewvc/vegastrike/trunk/modtools/UnitConverter/ trunk/modtools/UnitConverter].&lt;br /&gt;
* Download with&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;svn co https://vegastrike.svn.sourceforge.net/svnroot/vegastrike/trunk/modtools/UnitConverter&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To install, copy all files to a directory of your choice.&lt;br /&gt;
&lt;br /&gt;
To run UnitConverter, open command line/shell, change to the installation directory, and depending your operating system type (without the &amp;quot;&amp;gt;&amp;quot; which denotes the command line prompt:&lt;br /&gt;
&lt;br /&gt;
Windows: &amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;gt; uc&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Linux: &amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;gt; ./uc&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other: &amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;gt; python unitconverter.py&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
First thing you'll need to do is to configure the paths for Vega Strike data directory, mesher and nvcompress.&lt;br /&gt;
&lt;br /&gt;
{{warning_text |&lt;br /&gt;
| text='''Important:''' To be fully able utilize UnitConverter functionality, please configure the paths under [[Development:Tools:UnitConverter#Configuration_2|'''Config''']].}}&lt;br /&gt;
&lt;br /&gt;
==Models Workspace==&lt;br /&gt;
Models Workspace Screen:&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f1_workspace.jpg&lt;br /&gt;
&lt;br /&gt;
The following operations are available:&lt;br /&gt;
* '''Clear Workspace''' - to start a new model integration&lt;br /&gt;
* '''Add Model''' - to add a new model to workspace. The following files are accepted:&lt;br /&gt;
** ''.obj'' file containing the model mesh&lt;br /&gt;
** ''?-Shield.obj'' file containing the shield mesh&lt;br /&gt;
** ''?-Marker.obj'' file containing the marker objects as described in the [[Development:Model_Guidelines#Object_Marker|objects marker modeling section]]&lt;br /&gt;
** ''.bfxm'' files to backward convert meshes to obj files&lt;br /&gt;
* '''Clear Model''' - to remove the selected model from the workspace&lt;br /&gt;
* '''Load Workspace''' - to load an ''.ini'' configuration file of the workspace&lt;br /&gt;
* '''Active Model''' - change active model on the dropdown to edit its textures&lt;br /&gt;
&lt;br /&gt;
It is important that your first model in workspace should be the main model, as further information like directory name and units.csv entry name will be derived from the main model name.&lt;br /&gt;
&lt;br /&gt;
Under '''Model/Files''' the ''.obj'' and ''.mtl'' files for the active model will be displayed.&lt;br /&gt;
Under '''Material Info''' you can find information on the ''.obj'' file's material library and material names.&lt;br /&gt;
&lt;br /&gt;
To edit texture assignments, proceed to the '''Textures''' tab on the left.&lt;br /&gt;
&lt;br /&gt;
==Textures==&lt;br /&gt;
Textures Screen:&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f2_textures.jpg&lt;br /&gt;
&lt;br /&gt;
In this tab you can assign textures to model submeshes:&lt;br /&gt;
* Under '''Submodels''' select the submesh you'd like to assign textures to. By default the first submesh is selected when the model is activated.&lt;br /&gt;
* Add the available '''Textures 0-5''' by pressing the '''...''' buttons between the '''Input Texture''' and '''Output Texture''' columns and browse to the appropriate file. The output texture name will be set (naming convention: '''tex_'''''model'''''_'''''submodel'''''_'''''texture'''''.texture''')&lt;br /&gt;
* Select the appropriate '''Technique''', i.e. leave it empty for conventional shading approach or choose e.g. ''cinemut_opaque'' if your input textures are provided with CineMut shader family compatible packing.&lt;br /&gt;
* Select '''Blend mode'''.&lt;br /&gt;
** For main meshes leave it at ''ONE ZERO''&lt;br /&gt;
** For shield mesh and blink light submeshes choose ''ONE ONE''&lt;br /&gt;
&lt;br /&gt;
Once you have assigned textures to all your submeshes, you can now start the conversion:&lt;br /&gt;
* Press '''Save and Convert''' to save the texture assignment information and convert your model to Vega Strike compatible ''bfxm'' format.&lt;br /&gt;
* You may '''Compress Textures''' using nvcompress if you have configured the command path previously&lt;br /&gt;
* Finally, '''Copy Data'' will copy textures and ''bfxm'' files to the unit directory&lt;br /&gt;
&lt;br /&gt;
To add the HUD image, proceed to the '''HUDImage''' tab on the left.&lt;br /&gt;
&lt;br /&gt;
===Advanced Usage - Converting faction textures===&lt;br /&gt;
&lt;br /&gt;
Faction textures must follow the naming of the default textures with prefixed faction name.&lt;br /&gt;
When your default diffuse texture is ''dif.png'' and ''tex_000.texture'', the faction input and output textures for the Uln faction will be ''uln_dif.png'' and ''uln_tex_000.texture'' and so on for all the other textures and factions.&lt;br /&gt;
&lt;br /&gt;
Unit converter can assist you with DDS conversion of the input textures provided the naming convention is followed. To convert a faction texture:&lt;br /&gt;
* Select the '''Faction''' from the drop down, then&lt;br /&gt;
* '''Compress Textures''', and when done&lt;br /&gt;
* '''Copy Data''' to put the faction textures into the unit data directory&lt;br /&gt;
&lt;br /&gt;
==HUD Image==&lt;br /&gt;
HUD Image Screen&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f3_hud.jpg&lt;br /&gt;
&lt;br /&gt;
Adding a HUD image to the data is fairly easy, simply:&lt;br /&gt;
* Browse for the image using the '''...''' button. The appropriate entry will also be created in the '''Unit''' editor.&lt;br /&gt;
* '''Compress Image''' to make it DDS, and&lt;br /&gt;
* '''Copy Data''' to the unit data directory. This button evokes the same command as the one on the '''Textures''' tab. This means, the ''image'', ''sprite'', ''bfxm'', and ''texture'' files will be copied together.&lt;br /&gt;
&lt;br /&gt;
To edit the unit properties and parameters, proceed to the '''Unit''' tab on the left.&lt;br /&gt;
&lt;br /&gt;
==Unit Editor==&lt;br /&gt;
&lt;br /&gt;
The Unit Editor provides facilities for editing your most important parameters of the unit:&lt;br /&gt;
* '''Load''' - loads the unit parameters&lt;br /&gt;
* '''Save''' - saves the edited parameters&lt;br /&gt;
* '''Reset''' - reloads unit parameters for active model without previously saving changes&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f4_unit.jpg&lt;br /&gt;
&lt;br /&gt;
The most critical parameters for successful integration of the unit are:&lt;br /&gt;
* '''Unit description''' - the text that will be displayed in-game about the unit&lt;br /&gt;
* '''Unit type''' and '''Unit role''' - used in-game and to correctly view vessels and installations as such&lt;br /&gt;
* Under '''Unit dimensions''' you will find the&lt;br /&gt;
** '''Dimensions''' as derived from the ''obj'' mesh file.&lt;br /&gt;
** To bring the model up to the expected scale, you'll need to set the '''Scale''' parameter. The final size of the model in-game will be the multiplication result of dimensions and the scale.&lt;br /&gt;
&lt;br /&gt;
The remaining entries will be created from your marker object:&lt;br /&gt;
* '''Engine Thruster''' will be derived from markers named ''engine_*''. You may '''Update''' the '''Thruster type''' to a different than the default one (''supernova.bmp.bfxm'').&lt;br /&gt;
* '''Turrets &amp;amp; Subunits''' will be derived from markers named ''turret_*'' or ''subunit_*''. You may browse the '''Subunit nr.''' (number) by using the '''&amp;lt;''' and '''&amp;gt;''' buttons and change the turret type from the '''Subunit type''' dropdown and confirmation by '''Update'''.&lt;br /&gt;
* '''Docking Ports''' will be derived from markers named ''dock_*''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To continue editing unit parameters, proceed to the '''Unit 2''' tab on the left.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f5_unit2.jpg&lt;br /&gt;
&lt;br /&gt;
To add upgrades, under '''Upgrades''' select the '''Upgrade class''' and '''Upgrade type''' and then '''Add Upgrade'' to the unit.&lt;br /&gt;
To delete an upgrade, simply remove the entries between (and including) the {} brackets.&lt;br /&gt;
&lt;br /&gt;
All other parameters on this tab and the following '''Unit 3''' tab can be manually edited&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f6_unit3.jpg&lt;br /&gt;
&lt;br /&gt;
Don't forget to actually '''Save''' your changes before proceeding to '''View''' the unit in-game.&lt;br /&gt;
&lt;br /&gt;
===Advanced Usage - Independent Unit Editor===&lt;br /&gt;
You can use built-in Unit editor of the '''Unit Converter''' to edit units without having to load the mesh files. To do so:&lt;br /&gt;
* On the '''Model''' tab do '''Clear Workspace'''&lt;br /&gt;
* On the '''Unit''' tab, manually write the unit key under '''Unit name'''&lt;br /&gt;
* '''Load''' the unit parameters&lt;br /&gt;
&lt;br /&gt;
You can also browse the units.csv file by using the '''&amp;lt;''' and '''&amp;gt;''' buttons on the sides of the '''Unit name''' to row-wise move back and fore between the entries. Browse, '''Load'''/'''Save''' buttons are also available on '''Unit 2''' and '''Unit 3''' tabs.&lt;br /&gt;
&lt;br /&gt;
==View==&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f7_view.jpg&lt;br /&gt;
&lt;br /&gt;
By pressing '''View''' Vega Strike can be loaded and you can test your unit in-game.&lt;br /&gt;
&lt;br /&gt;
To test faction textures (if provided) you may previously select the '''Faction''' from the drop down, otherwise leave it at ''privateer'' to use default textures.&lt;br /&gt;
&lt;br /&gt;
Testing of units will happen in two different ways:&lt;br /&gt;
* For vessels, using a special mission, the ''modelview.mission'' that spawns the unit as a ship.&lt;br /&gt;
** Use the '''F6''' key to view your own unit.&lt;br /&gt;
** Use the '''T''' key to target a second unit of the same type and then press the '''D''' key to stop it from SPECing away, then turn around to it to verify the docking ports. Repeat pressing '''D''' every 10 seconds to prevent it from flying away suddenly.&lt;br /&gt;
* Use the '''N''' key to target the nearest station, fly to it and start shooting while switching to '''F6''' view to test your shield mesh.&lt;br /&gt;
* For installations, the ''Modelview.system'' will be equipped with the edited station.&lt;br /&gt;
** Use the '''N''' key to target the station, then '''D''' to see the docking ports.&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f8_config.jpg&lt;br /&gt;
&lt;br /&gt;
The '''Config''' tab defines presets to supports some of the functionality of the '''Unit Converter''':&lt;br /&gt;
* '''Vega Strike directory''' - is the directory where ''Version.txt'' and all data subdirectories reside (''ai'', ''animations'', ...)&lt;br /&gt;
** Use the '''Browse''' button to locate it&lt;br /&gt;
* '''Path to mesher''':&lt;br /&gt;
** Click the '''Browse''' button on the right to locate ''mesher''&lt;br /&gt;
** Find the ''mesher(.exe)'' file on your system, select the file and confirm with '''Open'''. The configuration will be saved so that you need to do it only once.&lt;br /&gt;
** The path must be the complete address (directory path + executable) in the same way you would evoke it from command line / console. On windows it may or may not include the ''.exe'' extension suffix.&lt;br /&gt;
* '''Path to nvcompress''':&lt;br /&gt;
** Click the '''Browse''' button on the right to locate ''nvcompress''&lt;br /&gt;
** Find the ''nvcompress(.exe)'' file on your system, select the file and confirm with '''Open'''. The configuration will be saved so that you need to do it only once.&lt;br /&gt;
** You will not require to install ''nvcompress'' if you just want to test your models. In this case please make sure you enable the '''Bypass compression''' option further below.&lt;br /&gt;
** Techno-talk: The path must be the complete address (directory path + executable) in the same way you would evoke it from command line / console. On windows it may or may not include the ''.exe'' extension suffix. (If nvcompress is in your search path, you may only provide the command.)&lt;br /&gt;
&lt;br /&gt;
===Advanced Configuration===&lt;br /&gt;
&lt;br /&gt;
You may also change defaults that will be used anytime you reopen the Unit Converter:&lt;br /&gt;
* '''Current Technique''' - set the default technique you will be working with so that you don't need to remember adjusting it when editing textures.&lt;br /&gt;
* '''Use unit class directory''' - used to calculate target for copying model and texture files.&lt;br /&gt;
** when checked will store vessels in ''data/units/vessels/unitname'' directory and installations in ''data/units/installations/unitname'' directory. This is the default behavior for Vega Strike Upon The Coldest Sea game.&lt;br /&gt;
** If your mod is using a flat directory structure, you can uncheck the option and all your units will be stored in ''data/units/unitname'' directory.&lt;br /&gt;
* '''Bypass compression''' - when checked the input texture will be used as output texture. This is useful when editing and testing textures without the need to reconvert the model to bfxm.&lt;br /&gt;
* '''Backup obj/mtl files''' - when checked will copy original ''obj'' and ''mtl'' files to ''obj~'' and ''mtl~'' before writing new information.&lt;br /&gt;
* '''Create xmesh file''' - though the xmesh format is obsolete, when converting from ''obj'' to ''bfxm'', it might be useful to also create ''xmesh'' files to test the conversion process.&lt;br /&gt;
* Under '''Admin''' you can '''Standard Sort units.csv''' file. Though it is standard sorted by default, you might want to make sure it is after a manual editing of the file.&lt;br /&gt;
&lt;br /&gt;
==About==&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f9_about.jpg&lt;br /&gt;
&lt;br /&gt;
What's that about?&lt;br /&gt;
&lt;br /&gt;
=Code Reference=&lt;br /&gt;
&lt;br /&gt;
==Python Modules==&lt;br /&gt;
&lt;br /&gt;
Admittedly, the structure of the program could be more modular.&lt;br /&gt;
&lt;br /&gt;
Unit Converter is written in Python using only ''Tkinter'' UI building functionality. On Windows Tkinter is distributed with Python, on Linux, it's available for download in all repositories. No further additional modules are required to run Unit Converter.&lt;br /&gt;
&lt;br /&gt;
Source modules for Unit Converter:&lt;br /&gt;
* ''unitconverter.py'' - main module containing the complete program&lt;br /&gt;
* ''appwindow.py'' - frame creator for the different tabs&lt;br /&gt;
* ''objparse.py'' - ''.obj'' and ''.mtl'' file reader, parser, and writer&lt;br /&gt;
* ''vsunitcsv.py'' - ''units.csv'' file reader, parser, and writer&lt;br /&gt;
* ''vsmission.py'' - ''.mission'' file reader, parser, and writer&lt;br /&gt;
* ''vssystem.py'' - ''.system'' file reader, parser, and writer&lt;br /&gt;
* ''vector.py'' - mathematical vector functions&lt;br /&gt;
* ''png.py'' - ''.png'' file format reader&lt;br /&gt;
&lt;br /&gt;
Other files:&lt;br /&gt;
* ''unitconverter.ini'' - Unit Converter configuration file. Not distributed. Will be created upon first start.&lt;br /&gt;
* ''unitconverter.ico'' - Windows icon file.&lt;br /&gt;
* ''uc'' - Linux shell script for starting Unit Converter&lt;br /&gt;
* ''uc.bat'' - Windows batch file (shell script) for starting Unit Converter&lt;br /&gt;
* ''uc_releasenotes.txt'' - Unit Converter release notes&lt;br /&gt;
* ''UnitWorkingDir/UnitName.ini'' - Unit workspace configuration file&lt;br /&gt;
&lt;br /&gt;
==Program Flow==&lt;br /&gt;
&lt;br /&gt;
The GUI building section starts with:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;    def __init__(self, master):&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The code is visually separated into:&lt;br /&gt;
* variable initialization&lt;br /&gt;
* GUI building sections&lt;br /&gt;
* program execution, start-up, and shutdown&lt;br /&gt;
&lt;br /&gt;
The GUI building section for each tab contains elements that have event triggers which call other functions within the first part of the ''unitconverter.py'' code.&lt;br /&gt;
&lt;br /&gt;
Further, there a unique watch function that supervises the change of some of the contents of GUI element variables for elements that, in Tkinter, do not come with an event handler (option drop downs, text variables, option check boxes):&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;    def processEvents(self):&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Data Elements==&lt;br /&gt;
&lt;br /&gt;
There is a lot of data being handled within the Unit Converter. The main data elements shall be explained here:&lt;br /&gt;
* ''workspace[modelnr][submodelnr][parameternr]'' - array containing the complete workspace information, where&lt;br /&gt;
** modelnr is the index from ''models[modelnr]'' which stores the model names in workspace&lt;br /&gt;
** submodelnr comes from the list ''submodelsListBox''&lt;br /&gt;
** ''PARAMS'' - array holding the parameter names for ''workspace''&lt;br /&gt;
* ''textures[submodelnr][counter]'' - holds the textures for the active model only prepared for the mtl export in the array form ''[&amp;quot;map_0&amp;quot;,&amp;quot;tex_000.texture&amp;quot;]''&lt;br /&gt;
* ''unit*'' - variables holding the unit editor values&lt;br /&gt;
* ''textureN'' - with N = 0-5, holds the output texture screen name&lt;br /&gt;
* ''texmasterN'' - holds the input texture name&lt;br /&gt;
* ''activemodel'' - name of the active (selected) model in workspace&lt;br /&gt;
* ''unitname'' - name of the key from units.csv&lt;br /&gt;
* ''vegastrike'' - Vega Strike installation directory root&lt;br /&gt;
* ''workdir'' - working directory&lt;br /&gt;
&lt;br /&gt;
Most of the variables are commented within the code.&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Tools:UnitConverter&amp;diff=18256</id>
		<title>Development:Tools:UnitConverter</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Tools:UnitConverter&amp;diff=18256"/>
				<updated>2011-04-04T21:51:44Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* Requirements, Installation and Starting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
&lt;br /&gt;
Raising from the stone age of workflows, in which every task, from texture conversion to editing of unit stats, had to be accomplished manually and only by quite knowledgeable magistrates who knew the alchemy of units.csv columns, xmesh files, and had a magic with meshers. Now, UnitConverter shines upon us, still in the distance, but unmovable like a beacon on solid rock, to be the church of the artists, to accommodate the apostles of Blender, CineMut, and LaGrande, to bring the holy spirit of salvation to this compassionate universe of ours.&lt;br /&gt;
&lt;br /&gt;
Some of the main Unit Converter features:&lt;br /&gt;
* bi-directionally converts meshes between obj and bfxm files&lt;br /&gt;
* assign textures to (sub)models&lt;br /&gt;
* convert model and shield meshes&lt;br /&gt;
* compress default and faction input textures to dds output textures&lt;br /&gt;
* saves the complete workspace in portable config files&lt;br /&gt;
* change model techniques and blend mode&lt;br /&gt;
* checks and corrects invalid obj files, recreates mtl files&lt;br /&gt;
* creates a model directory if none exists and copies all required files&lt;br /&gt;
* compresses hud image and creates a .sprite file&lt;br /&gt;
* units.csv entry editor and creator (with default unit stats for new units)&lt;br /&gt;
* displays model using VS&lt;br /&gt;
* reads mesh dimensions from obj file&lt;br /&gt;
* placement of thrusters, turrets, mounts, docks, and blink lights from marker obj file&lt;br /&gt;
* on-screen instructions for each workflow module&lt;br /&gt;
* production tested&lt;br /&gt;
&lt;br /&gt;
==Important Note==&lt;br /&gt;
{{warning_text |&lt;br /&gt;
|text=Due to the way ''mesher'' handles command line options (separates different inputs by spaces), it will not allow to use folders or file names with spaces (as common on Windows).&lt;br /&gt;
Should you be getting runtime errors during the conversion, you should rename your folder to something like &amp;quot;UnitName&amp;quot; or &amp;quot;Unit_Name_working_folder&amp;quot;, i.e. substitute spaces with underscores &amp;quot;_&amp;quot;. Do the same for the input files, i.e. &amp;quot;Unit_Name.obj&amp;quot;.}}&lt;br /&gt;
&lt;br /&gt;
=Quick Start Guide=&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
You must first configure the paths under Config including the application in the path:&lt;br /&gt;
* ''path\data'' (to edit unit stats and view model in Vega Strike)&lt;br /&gt;
* ''path\mesher.exe'' (to convert model to bfxm) - [http://vegastrike.svn.sourceforge.net/viewvc/vegastrike/trunk/win32/bin/ get mesher]&lt;br /&gt;
* ''path\nvcompress'' (to compress textures) - [[Links:Graphic_Applications#nVidia_Texture_Tools|see here for instructions on nvcompress]]&lt;br /&gt;
(There is no need to set the working dir, as this field is purely informational)&lt;br /&gt;
&lt;br /&gt;
==Integrating Models==&lt;br /&gt;
Assuming you have exported:&lt;br /&gt;
* ship mesh to ''Ship.obj''&lt;br /&gt;
* shield to ''Ship-Shield.obj''&lt;br /&gt;
* helpers to ''Ship-Mounts.obj&lt;br /&gt;
''&lt;br /&gt;
... the steps to convert your model are:&lt;br /&gt;
* In UnitConverter, under &amp;quot;Model&amp;quot; add all three obj files to workspace.&lt;br /&gt;
* Then select the main Ship model in the drop down.&lt;br /&gt;
* Under &amp;quot;Textures&amp;quot; you add the ones you have provided.&lt;br /&gt;
* Press &amp;quot;Save and Convert&amp;quot;&lt;br /&gt;
* Press &amp;quot;Convert Textures&amp;quot;&lt;br /&gt;
* Press &amp;quot;Copy Data&amp;quot;&lt;br /&gt;
* Under &amp;quot;Unit&amp;quot; press &amp;quot;Save&amp;quot;&lt;br /&gt;
* Under &amp;quot;View&amp;quot; press &amp;quot;View&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This will call vegastrike and the modelview.mission with your new unit enabled.&lt;br /&gt;
&lt;br /&gt;
==Converting Hud Image==&lt;br /&gt;
Under &amp;quot;HUDImage&amp;quot;:&lt;br /&gt;
* Open the &amp;quot;''Ship-hud.png''&amp;quot; image using the &amp;quot;...&amp;quot; button&lt;br /&gt;
* Press &amp;quot;Convert Image&amp;quot;&lt;br /&gt;
* Press &amp;quot;Copy Data&amp;quot;&lt;br /&gt;
* Under &amp;quot;Unit&amp;quot; press &amp;quot;Save&amp;quot;&lt;br /&gt;
* Under &amp;quot;View&amp;quot; press &amp;quot;View&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Using Uncompressed Images==&lt;br /&gt;
* Under &amp;quot;Config&amp;quot; check the &amp;quot;Bypass compression&amp;quot; option.&lt;br /&gt;
* Under &amp;quot;Textures&amp;quot; press &amp;quot;Save and Convert&amp;quot;&lt;br /&gt;
* Press &amp;quot;Copy Data&amp;quot;&lt;br /&gt;
* Under &amp;quot;View&amp;quot; press &amp;quot;View&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Adding Thruster, Docks, Mounts==&lt;br /&gt;
* Under &amp;quot;Model&amp;quot; press &amp;quot;Add Model&amp;quot;&lt;br /&gt;
* Select the &amp;quot;''Ship-Mounts.obj''&amp;quot; file with your mount markers.&lt;br /&gt;
* Under &amp;quot;Unit&amp;quot; and &amp;quot;Unit2&amp;quot; review the stats&lt;br /&gt;
* Under &amp;quot;Unit&amp;quot; press &amp;quot;Save&amp;quot;&lt;br /&gt;
* Under &amp;quot;View&amp;quot; press &amp;quot;View&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Editing Stats==&lt;br /&gt;
* Under &amp;quot;Unit&amp;quot;, in &amp;quot;Unit name&amp;quot; write the units.csv key (e.g. ''Llama.begin'')&lt;br /&gt;
* Press &amp;quot;Load&amp;quot;&lt;br /&gt;
* Edit fields under &amp;quot;Unit&amp;quot; and &amp;quot;Unit2&amp;quot;&lt;br /&gt;
* Under &amp;quot;Unit&amp;quot; press &amp;quot;Save&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Comparing Units==&lt;br /&gt;
* Under '''Unit''' tab, in '''Unit name''' write the units.csv key (e.g. ''Llama.begin'')&lt;br /&gt;
* Press '''Load'''&lt;br /&gt;
* Use '''&amp;lt;''' and '''&amp;gt;''' to browse backward and forward.&lt;br /&gt;
* After editing a parameter make sure to press '''Save'''&lt;br /&gt;
&lt;br /&gt;
==Getting Help==&lt;br /&gt;
In case of problems, please report to the [http://vegastrike.sourceforge.net/forums/viewtopic.php?f=20&amp;amp;t=11885 Unit Converter thread].&lt;br /&gt;
&lt;br /&gt;
=UnitConverter Tool=&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
&lt;br /&gt;
The only requirement to run UnitConverter on your system is to have Python 2.5 or 2.6 installed on your system. Python 3.x has different syntax and will not work. No additional libraries are required.&lt;br /&gt;
&lt;br /&gt;
A requirement for the '''model obj files''' is that no mtl file is provided. UnitConverter will generate its own texture information based on the input given under model.&lt;br /&gt;
The best way for exporting files from blender is to use the following three options *only*: '''Edges''', '''UVs''', '''Objects'''. All other options should be disabled.&lt;br /&gt;
&lt;br /&gt;
==Installation and Starting==&lt;br /&gt;
&lt;br /&gt;
You can download the latest version of UnitConverter from the Vega Strike svn repository:&lt;br /&gt;
* View repo [http://vegastrike.svn.sourceforge.net/viewvc/vegastrike/trunk/modtools/UnitConverter/ trunk/modtools/UnitConverter].&lt;br /&gt;
* Download with&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;svn co https://vegastrike.svn.sourceforge.net/svnroot/vegastrike/trunk/modtools/UnitConverter&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To install, copy all files to a directory of your choice.&lt;br /&gt;
&lt;br /&gt;
To run UnitConverter, open command line/shell, change to the installation directory, and depending your operating system type (without the &amp;quot;&amp;gt;&amp;quot; which denotes the command line prompt:&lt;br /&gt;
&lt;br /&gt;
Windows: &amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;gt; uc&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Linux: &amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;gt; ./uc&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other: &amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;gt; python unitconverter.py&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
First thing you'll need to do is to configure the paths for Vega Strike data directory, mesher and nvcompress.&lt;br /&gt;
&lt;br /&gt;
{{warning_text |&lt;br /&gt;
| text='''Important:''' To be fully able utilize UnitConverter functionality, please configure the paths under [[Development:Tools:UnitConverter#Configuration_2|'''Config''']].}}&lt;br /&gt;
&lt;br /&gt;
==Models Workspace==&lt;br /&gt;
Models Workspace Screen:&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f1_workspace.jpg&lt;br /&gt;
&lt;br /&gt;
The following operations are available:&lt;br /&gt;
* '''Clear Workspace''' - to start a new model integration&lt;br /&gt;
* '''Add Model''' - to add a new model to workspace. The following files are accepted:&lt;br /&gt;
** ''.obj'' file containing the model mesh&lt;br /&gt;
** ''?-Shield.obj'' file containing the shield mesh&lt;br /&gt;
** ''?-Marker.obj'' file containing the marker objects as described in the [[Development:Model_Guidelines#Object_Marker|objects marker modeling section]]&lt;br /&gt;
** ''.bfxm'' files to backward convert meshes to obj files&lt;br /&gt;
* '''Clear Model''' - to remove the selected model from the workspace&lt;br /&gt;
* '''Load Workspace''' - to load an ''.ini'' configuration file of the workspace&lt;br /&gt;
* '''Active Model''' - change active model on the dropdown to edit its textures&lt;br /&gt;
&lt;br /&gt;
It is important that your first model in workspace should be the main model, as further information like directory name and units.csv entry name will be derived from the main model name.&lt;br /&gt;
&lt;br /&gt;
Under '''Model/Files''' the ''.obj'' and ''.mtl'' files for the active model will be displayed.&lt;br /&gt;
Under '''Material Info''' you can find information on the ''.obj'' file's material library and material names.&lt;br /&gt;
&lt;br /&gt;
To edit texture assignments, proceed to the '''Textures''' tab on the left.&lt;br /&gt;
&lt;br /&gt;
==Textures==&lt;br /&gt;
Textures Screen:&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f2_textures.jpg&lt;br /&gt;
&lt;br /&gt;
In this tab you can assign textures to model submeshes:&lt;br /&gt;
* Under '''Submodels''' select the submesh you'd like to assign textures to. By default the first submesh is selected when the model is activated.&lt;br /&gt;
* Add the available '''Textures 0-5''' by pressing the '''...''' buttons between the '''Input Texture''' and '''Output Texture''' columns and browse to the appropriate file. The output texture name will be set (naming convention: '''tex_'''''model'''''_'''''submodel'''''_'''''texture'''''.texture''')&lt;br /&gt;
* Select the appropriate '''Technique''', i.e. leave it empty for conventional shading approach or choose e.g. ''cinemut_opaque'' if your input textures are provided with CineMut shader family compatible packing.&lt;br /&gt;
* Select '''Blend mode'''.&lt;br /&gt;
** For main meshes leave it at ''ONE ZERO''&lt;br /&gt;
** For shield mesh and blink light submeshes choose ''ONE ONE''&lt;br /&gt;
&lt;br /&gt;
Once you have assigned textures to all your submeshes, you can now start the conversion:&lt;br /&gt;
* Press '''Save and Convert''' to save the texture assignment information and convert your model to Vega Strike compatible ''bfxm'' format.&lt;br /&gt;
* You may '''Compress Textures''' using nvcompress if you have configured the command path previously&lt;br /&gt;
* Finally, '''Copy Data'' will copy textures and ''bfxm'' files to the unit directory&lt;br /&gt;
&lt;br /&gt;
To add the HUD image, proceed to the '''HUDImage''' tab on the left.&lt;br /&gt;
&lt;br /&gt;
===Advanced Usage - Converting faction textures===&lt;br /&gt;
&lt;br /&gt;
Faction textures must follow the naming of the default textures with prefixed faction name.&lt;br /&gt;
When your default diffuse texture is ''dif.png'' and ''tex_000.texture'', the faction input and output textures for the Uln faction will be ''uln_dif.png'' and ''uln_tex_000.texture'' and so on for all the other textures and factions.&lt;br /&gt;
&lt;br /&gt;
Unit converter can assist you with DDS conversion of the input textures provided the naming convention is followed. To convert a faction texture:&lt;br /&gt;
* Select the '''Faction''' from the drop down, then&lt;br /&gt;
* '''Compress Textures''', and when done&lt;br /&gt;
* '''Copy Data''' to put the faction textures into the unit data directory&lt;br /&gt;
&lt;br /&gt;
==HUD Image==&lt;br /&gt;
HUD Image Screen&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f3_hud.jpg&lt;br /&gt;
&lt;br /&gt;
Adding a HUD image to the data is fairly easy, simply:&lt;br /&gt;
* Browse for the image using the '''...''' button. The appropriate entry will also be created in the '''Unit''' editor.&lt;br /&gt;
* '''Compress Image''' to make it DDS, and&lt;br /&gt;
* '''Copy Data''' to the unit data directory. This button evokes the same command as the one on the '''Textures''' tab. This means, the ''image'', ''sprite'', ''bfxm'', and ''texture'' files will be copied together.&lt;br /&gt;
&lt;br /&gt;
To edit the unit properties and parameters, proceed to the '''Unit''' tab on the left.&lt;br /&gt;
&lt;br /&gt;
==Unit Editor==&lt;br /&gt;
&lt;br /&gt;
The Unit Editor provides facilities for editing your most important parameters of the unit:&lt;br /&gt;
* '''Load''' - loads the unit parameters&lt;br /&gt;
* '''Save''' - saves the edited parameters&lt;br /&gt;
* '''Reset''' - reloads unit parameters for active model without previously saving changes&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f4_unit.jpg&lt;br /&gt;
&lt;br /&gt;
The most critical parameters for successful integration of the unit are:&lt;br /&gt;
* '''Unit description''' - the text that will be displayed in-game about the unit&lt;br /&gt;
* '''Unit type''' and '''Unit role''' - used in-game and to correctly view vessels and installations as such&lt;br /&gt;
* Under '''Unit dimensions''' you will find the&lt;br /&gt;
** '''Dimensions''' as derived from the ''obj'' mesh file.&lt;br /&gt;
** To bring the model up to the expected scale, you'll need to set the '''Scale''' parameter. The final size of the model in-game will be the multiplication result of dimensions and the scale.&lt;br /&gt;
&lt;br /&gt;
The remaining entries will be created from your marker object:&lt;br /&gt;
* '''Engine Thruster''' will be derived from markers named ''engine_*''. You may '''Update''' the '''Thruster type''' to a different than the default one (''supernova.bmp.bfxm'').&lt;br /&gt;
* '''Turrets &amp;amp; Subunits''' will be derived from markers named ''turret_*'' or ''subunit_*''. You may browse the '''Subunit nr.''' (number) by using the '''&amp;lt;''' and '''&amp;gt;''' buttons and change the turret type from the '''Subunit type''' dropdown and confirmation by '''Update'''.&lt;br /&gt;
* '''Docking Ports''' will be derived from markers named ''dock_*''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To continue editing unit parameters, proceed to the '''Unit 2''' tab on the left.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f5_unit2.jpg&lt;br /&gt;
&lt;br /&gt;
To add upgrades, under '''Upgrades''' select the '''Upgrade class''' and '''Upgrade type''' and then '''Add Upgrade'' to the unit.&lt;br /&gt;
To delete an upgrade, simply remove the entries between (and including) the {} brackets.&lt;br /&gt;
&lt;br /&gt;
All other parameters on this tab and the following '''Unit 3''' tab can be manually edited&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f6_unit3.jpg&lt;br /&gt;
&lt;br /&gt;
Don't forget to actually '''Save''' your changes before proceeding to '''View''' the unit in-game.&lt;br /&gt;
&lt;br /&gt;
===Advanced Usage - Independent Unit Editor===&lt;br /&gt;
You can use built-in Unit editor of the '''Unit Converter''' to edit units without having to load the mesh files. To do so:&lt;br /&gt;
* On the '''Model''' tab do '''Clear Workspace'''&lt;br /&gt;
* On the '''Unit''' tab, manually write the unit key under '''Unit name'''&lt;br /&gt;
* '''Load''' the unit parameters&lt;br /&gt;
&lt;br /&gt;
You can also browse the units.csv file by using the '''&amp;lt;''' and '''&amp;gt;''' buttons on the sides of the '''Unit name''' to row-wise move back and fore between the entries. Browse, '''Load'''/'''Save''' buttons are also available on '''Unit 2''' and '''Unit 3''' tabs.&lt;br /&gt;
&lt;br /&gt;
==View==&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f7_view.jpg&lt;br /&gt;
&lt;br /&gt;
By pressing '''View''' Vega Strike can be loaded and you can test your unit in-game.&lt;br /&gt;
&lt;br /&gt;
To test faction textures (if provided) you may previously select the '''Faction''' from the drop down, otherwise leave it at ''privateer'' to use default textures.&lt;br /&gt;
&lt;br /&gt;
Testing of units will happen in two different ways:&lt;br /&gt;
* For vessels, using a special mission, the ''modelview.mission'' that spawns the unit as a ship.&lt;br /&gt;
** Use the '''F6''' key to view your own unit.&lt;br /&gt;
** Use the '''T''' key to target a second unit of the same type and then press the '''D''' key to stop it from SPECing away, then turn around to it to verify the docking ports. Repeat pressing '''D''' every 10 seconds to prevent it from flying away suddenly.&lt;br /&gt;
* Use the '''N''' key to target the nearest station, fly to it and start shooting while switching to '''F6''' view to test your shield mesh.&lt;br /&gt;
* For installations, the ''Modelview.system'' will be equipped with the edited station.&lt;br /&gt;
** Use the '''N''' key to target the station, then '''D''' to see the docking ports.&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f8_config.jpg&lt;br /&gt;
&lt;br /&gt;
The '''Config''' tab defines presets to supports some of the functionality of the '''Unit Converter''':&lt;br /&gt;
* '''Vega Strike directory''' - is the directory where ''Version.txt'' and all data subdirectories reside (''ai'', ''animations'', ...)&lt;br /&gt;
** Use the '''Browse''' button to locate it&lt;br /&gt;
* '''Path to mesher''':&lt;br /&gt;
** Click the '''Browse''' button on the right to locate ''mesher''&lt;br /&gt;
** Find the ''mesher(.exe)'' file on your system, select the file and confirm with '''Open'''. The configuration will be saved so that you need to do it only once.&lt;br /&gt;
** The path must be the complete address (directory path + executable) in the same way you would evoke it from command line / console. On windows it may or may not include the ''.exe'' extension suffix.&lt;br /&gt;
* '''Path to nvcompress''':&lt;br /&gt;
** Click the '''Browse''' button on the right to locate ''nvcompress''&lt;br /&gt;
** Find the ''nvcompress(.exe)'' file on your system, select the file and confirm with '''Open'''. The configuration will be saved so that you need to do it only once.&lt;br /&gt;
** You will not require to install ''nvcompress'' if you just want to test your models. In this case please make sure you enable the '''Bypass compression''' option further below.&lt;br /&gt;
** Techno-talk: The path must be the complete address (directory path + executable) in the same way you would evoke it from command line / console. On windows it may or may not include the ''.exe'' extension suffix. (If nvcompress is in your search path, you may only provide the command.)&lt;br /&gt;
&lt;br /&gt;
===Advanced Configuration===&lt;br /&gt;
&lt;br /&gt;
You may also change defaults that will be used anytime you reopen the Unit Converter:&lt;br /&gt;
* '''Current Technique''' - set the default technique you will be working with so that you don't need to remember adjusting it when editing textures.&lt;br /&gt;
* '''Use unit class directory''' - used to calculate target for copying model and texture files.&lt;br /&gt;
** when checked will store vessels in ''data/units/vessels/unitname'' directory and installations in ''data/units/installations/unitname'' directory. This is the default behavior for Vega Strike Upon The Coldest Sea game.&lt;br /&gt;
** If your mod is using a flat directory structure, you can uncheck the option and all your units will be stored in ''data/units/unitname'' directory.&lt;br /&gt;
* '''Bypass compression''' - when checked the input texture will be used as output texture. This is useful when editing and testing textures without the need to reconvert the model to bfxm.&lt;br /&gt;
* '''Backup obj/mtl files''' - when checked will copy original ''obj'' and ''mtl'' files to ''obj~'' and ''mtl~'' before writing new information.&lt;br /&gt;
* '''Create xmesh file''' - though the xmesh format is obsolete, when converting from ''obj'' to ''bfxm'', it might be useful to also create ''xmesh'' files to test the conversion process.&lt;br /&gt;
* Under '''Admin''' you can '''Standard Sort units.csv''' file. Though it is standard sorted by default, you might want to make sure it is after a manual editing of the file.&lt;br /&gt;
&lt;br /&gt;
==About==&lt;br /&gt;
&lt;br /&gt;
http://vegastrike.sourceforge.net/forums/cpg/albums/userpics/1011733/UnitConverter_f9_about.jpg&lt;br /&gt;
&lt;br /&gt;
What's that about?&lt;br /&gt;
&lt;br /&gt;
=Code Reference=&lt;br /&gt;
&lt;br /&gt;
==Python Modules==&lt;br /&gt;
&lt;br /&gt;
Admittedly, the structure of the program could be more modular.&lt;br /&gt;
&lt;br /&gt;
Unit Converter is written in Python using only ''Tkinter'' UI building functionality. On Windows Tkinter is distributed with Python, on Linux, it's available for download in all repositories. No further additional modules are required to run Unit Converter.&lt;br /&gt;
&lt;br /&gt;
Source modules for Unit Converter:&lt;br /&gt;
* ''unitconverter.py'' - main module containing the complete program&lt;br /&gt;
* ''appwindow.py'' - frame creator for the different tabs&lt;br /&gt;
* ''objparse.py'' - ''.obj'' and ''.mtl'' file reader, parser, and writer&lt;br /&gt;
* ''vsunitcsv.py'' - ''units.csv'' file reader, parser, and writer&lt;br /&gt;
* ''vsmission.py'' - ''.mission'' file reader, parser, and writer&lt;br /&gt;
* ''vssystem.py'' - ''.system'' file reader, parser, and writer&lt;br /&gt;
* ''vector.py'' - mathematical vector functions&lt;br /&gt;
* ''png.py'' - ''.png'' file format reader&lt;br /&gt;
&lt;br /&gt;
Other files:&lt;br /&gt;
* ''unitconverter.ini'' - Unit Converter configuration file. Not distributed. Will be created upon first start.&lt;br /&gt;
* ''unitconverter.ico'' - Windows icon file.&lt;br /&gt;
* ''uc'' - Linux shell script for starting Unit Converter&lt;br /&gt;
* ''uc.bat'' - Windows batch file (shell script) for starting Unit Converter&lt;br /&gt;
* ''uc_releasenotes.txt'' - Unit Converter release notes&lt;br /&gt;
* ''UnitWorkingDir/UnitName.ini'' - Unit workspace configuration file&lt;br /&gt;
&lt;br /&gt;
==Program Flow==&lt;br /&gt;
&lt;br /&gt;
The GUI building section starts with:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;    def __init__(self, master):&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The code is visually separated into:&lt;br /&gt;
* variable initialization&lt;br /&gt;
* GUI building sections&lt;br /&gt;
* program execution, start-up, and shutdown&lt;br /&gt;
&lt;br /&gt;
The GUI building section for each tab contains elements that have event triggers which call other functions within the first part of the ''unitconverter.py'' code.&lt;br /&gt;
&lt;br /&gt;
Further, there a unique watch function that supervises the change of some of the contents of GUI element variables for elements that, in Tkinter, do not come with an event handler (option drop downs, text variables, option check boxes):&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;    def processEvents(self):&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Data Elements==&lt;br /&gt;
&lt;br /&gt;
There is a lot of data being handled within the Unit Converter. The main data elements shall be explained here:&lt;br /&gt;
* ''workspace[modelnr][submodelnr][parameternr]'' - array containing the complete workspace information, where&lt;br /&gt;
** modelnr is the index from ''models[modelnr]'' which stores the model names in workspace&lt;br /&gt;
** submodelnr comes from the list ''submodelsListBox''&lt;br /&gt;
** ''PARAMS'' - array holding the parameter names for ''workspace''&lt;br /&gt;
* ''textures[submodelnr][counter]'' - holds the textures for the active model only prepared for the mtl export in the array form ''[&amp;quot;map_0&amp;quot;,&amp;quot;tex_000.texture&amp;quot;]''&lt;br /&gt;
* ''unit*'' - variables holding the unit editor values&lt;br /&gt;
* ''textureN'' - with N = 0-5, holds the output texture screen name&lt;br /&gt;
* ''texmasterN'' - holds the input texture name&lt;br /&gt;
* ''activemodel'' - name of the active (selected) model in workspace&lt;br /&gt;
* ''unitname'' - name of the key from units.csv&lt;br /&gt;
* ''vegastrike'' - Vega Strike installation directory root&lt;br /&gt;
* ''workdir'' - working directory&lt;br /&gt;
&lt;br /&gt;
Most of the variables are commented within the code.&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Model_Guidelines&amp;diff=18255</id>
		<title>Development:Model Guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Model_Guidelines&amp;diff=18255"/>
				<updated>2011-04-04T18:12:22Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* Object Marker */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{parent_link|parent=[[Development]]}}&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
The intention of this document is to give artists using the Vega Strike engine some suggested guidelines to follow in creating models. You may also wish to have a look at the corresponding [[Development:Texture_Guidelines|texturing guidelines]].&lt;br /&gt;
&lt;br /&gt;
So you want to create a new ship for Vega Strike, do you?  While virtually all models are welcome, well before you start cranking out wonderfully designed models we request that you first check what models are still required.&lt;br /&gt;
&lt;br /&gt;
{{warning_text |&lt;br /&gt;
| text='''Note:''' If you wish to contribute a new or updated model (ship, installation, turret, cockpit, ..) to the game Vega Strike, please see the [[Development:3D_Models|'''3D Models''']] page for models requiring attention.}}&lt;br /&gt;
&lt;br /&gt;
Alternatively, contact [[User:jackS|jackS]] or [[User:pyramid|pyramid]].&lt;br /&gt;
&lt;br /&gt;
= Modeling Pipeline Overview =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;2&amp;quot; rules=&amp;quot;rows&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;1&amp;quot; style=&amp;quot;width:100%; text-align:center; background-color:#98ffb2&amp;quot; |&lt;br /&gt;
|'''Step&lt;br /&gt;
|'''Input&lt;br /&gt;
|'''Output&lt;br /&gt;
|'''Tools&lt;br /&gt;
|'''Requirements&lt;br /&gt;
|'''Tutorials&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Model Selection&lt;br /&gt;
| -&lt;br /&gt;
| required model&lt;br /&gt;
| model task list&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Conceptualization&lt;br /&gt;
| selected model&lt;br /&gt;
| model concept&lt;br /&gt;
| pen &amp;amp; paper, artwork forum&lt;br /&gt;
| artstyle guide&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Modeling&lt;br /&gt;
| concept&lt;br /&gt;
| model mesh, obj + mtl files&lt;br /&gt;
| blender, forum&lt;br /&gt;
| many&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Texturing&lt;br /&gt;
| model mesh&lt;br /&gt;
| textures&lt;br /&gt;
| gimp, forum&lt;br /&gt;
| texture requirements&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Integration&lt;br /&gt;
| model + textures&lt;br /&gt;
| bfxm + dds textures&lt;br /&gt;
| mesher + UnitConverter&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Testing&lt;br /&gt;
| bfxm model + dds textures&lt;br /&gt;
| bfxm + dds textures&lt;br /&gt;
| vegastrike + modelview.mission&lt;br /&gt;
| pass or rework&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Submission&lt;br /&gt;
| blender file (obj + mtl), master textures, bfxm + dds textures&lt;br /&gt;
| archive or svn&lt;br /&gt;
| mail, svn client&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Model Requirements=&lt;br /&gt;
&lt;br /&gt;
==Requirements Checklist==&lt;br /&gt;
&lt;br /&gt;
Considerations for a successful model submission:&lt;br /&gt;
* Model is in the requirements list [[Development:3D_Models|-&amp;gt;]]&lt;br /&gt;
* Abides to faction visual guidelines&lt;br /&gt;
* Has approved concept&lt;br /&gt;
* Provides model source file (blender, Wings3D, ...)&lt;br /&gt;
* Provides OBJ file&lt;br /&gt;
* Has model mesh, shield mesh, LoD meshes, helper meshes&lt;br /&gt;
* Provides uncompressed textures in png format (and optionally faction textures)&lt;br /&gt;
* Provides texture source files (GIMP, ...)&lt;br /&gt;
* Provides HUD png image with correct orientation&lt;br /&gt;
* Provides units.csv file entry&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Model Requirements Details==&lt;br /&gt;
&lt;br /&gt;
==Visual Guidelines==&lt;br /&gt;
&lt;br /&gt;
For particular aesthetic guidelines, please see the [[Artstyle guides]] page. Please note that many of the existing models are used because of expedience, not because they fit well with VS canon (i.e. if you make something new look like what's there, it still might not be what we're looking for). If in doubt, please ask on the [http://vegastrike.sourceforge.net/forums/viewforum.php?f=4 Artwork &amp;amp; Content Vetting forum]. &lt;br /&gt;
&lt;br /&gt;
To absolutely sure, for new models, please create a drawing of your proposed concept and let it be discussed and approved on the [http://vegastrike.sourceforge.net/forums/viewforum.php?f=4 Artwork &amp;amp; Content Vetting forum].&lt;br /&gt;
&lt;br /&gt;
See also [[Development:Texture Guidelines]]&lt;br /&gt;
&lt;br /&gt;
==Model File Format==&lt;br /&gt;
The preferred format for submission (for public disbursement - whatever native format is used inside your favorite modeling suite is fortunately a non-issue) is currently Wavefront OBJ file format, as this is the most easily converted between manipulation (assorted modeling tools) and presentation (currently BFXM, later to be the OGRE .mesh format). Model &amp;quot;source&amp;quot; therefore, is, at present (Sep. 2008), most usefully uploaded as .OBJ.&lt;br /&gt;
&lt;br /&gt;
Until such a time as a visual model editing tool is completed, conversion to a game-ready format will likely pass through the .xmesh format for insertion of LOD references into top level mesh(es), correction of coordinate &amp;quot;handedness&amp;quot; (if the ordering of the coordinate axes is incompatible, as appears to happen with the output of some modeling tools).&lt;br /&gt;
&lt;br /&gt;
See [[HowTo:Add_Ships]] for information on using mesher to convert to a presentation format (such as BFXM). Note that an old utility, objconv, is '''not''' mesher, and should not be used for this task. Source files for the mesher utility are included along with VS source. Windows users may download updated mesher binaries from their SVN interface of choice (the binary will be in the \bin directory).&lt;br /&gt;
&lt;br /&gt;
==Polygon/Vertex Count==&lt;br /&gt;
In broadest terms, the desired polygon count for a particular model is dependent on three major factors: &lt;br /&gt;
*The amount of screen real-estate that the model is likely to be viewed at the majority of time that a user will be seeing it (i.e. a 2 meter long rocket doesn't deserve the same order of magnitude of attention to detail as a large base or vessel unless the rocket is expected to be mounted in front of a camera. Likewise, even at the same level of attention in terms of polygons per square meter, it would have far fewer total polygons.)&lt;br /&gt;
*The intrinsic surface complexity of the model. If one is modeling a box for freight cargo, one is not going to need as many polygons as if one needed to model one of the Vega Strike developers (not that we're necessarily model material ;-)). If you don't use enough polygons, no amount of texture magic can save a model from being ugly. That said, if you are modeling a cargo freight container and you use thousands of polygons, you're being negligent and wasteful of resources.&lt;br /&gt;
*Engine limitations. Engine limitations is a bit of a misnomer, as the performance of the graphical engine is more hardware dependent than anything else, but it's a good heading for lumping any non-artistic hurdles under. This is the most complicated of the three major factors, because it represents a moving target. Suffice it to say that in order to preserve playability on a broad range of systems, there is a premium placed on making a model aesthetically appropriate with the minimum number of polygons.&lt;br /&gt;
&lt;br /&gt;
Rough guideline:&lt;br /&gt;
*Fighter: 15k triangles&lt;br /&gt;
*Corvette: 30k tris&lt;br /&gt;
*Cruiserer: 60k&lt;br /&gt;
*Carrier: 120k&lt;br /&gt;
*Space station: 250k&lt;br /&gt;
&lt;br /&gt;
However, significant discression, and the possibility for using large numbers of polygons to prettify an object remain with the artist, provided they make appropriate use of [[Terminology:LODs|LODs]]. The primary focus needs to be on making a model aesthetically appropriate, for an intended common viewing distance, and then catering to the needs of the engine by introducing lower LODs (if necessary) and catering to artistic desires by introducing higher LODs (if appropriate). There is also an element of minor future proofing that occurs with providing a robust range of LOD poly counts - namely, multiple versions of the data set can be constructed targeted at different hardware points by shifting up or down along the LOD set (although this currently isn't bothered with, if and when we develop a true source repository for models and textures, this will likely become more common, as postprocessing of submitted art will become tenable).&lt;br /&gt;
&lt;br /&gt;
One more point to consider before attempting to set a polygon goal for a model is what the likely total contribution from all instances on screen of a given model will be - if the model represents something particularly rare, then it is likely that a few more polygons can easily be spared on its model than for more common objects of otherwise similar size, complexity, etc.&lt;br /&gt;
&lt;br /&gt;
Above all, use common sense - if it's visually hideous because it doesn't have enough polygons, it's not your top level model, and if it's in the 5 digit range for polygon count, it's not your lowest level LOD. Take into consideration how much screen real estate, based on the intended in-game size of the model (and if you don't have any idea how big it's supposed to be - you're doing something wrong already) the model will be taking up at various distances, and calibrate detail appropriately (this will become a much easier task once there is a visual modeling tool from the VS side) - to belabor the obvious, the difference between 500 polygons and 5000 gets somewhat obscured when the object is only drawn using 64 pixels. Note therefore that larger objects will often necessitate higher polygon counts merely because there's more of them to see.&lt;br /&gt;
&lt;br /&gt;
(Note that there is no need to continue adding LODs beyond a point of &amp;quot;diminishing artistic returns&amp;quot; - if adding more detail won't help, don't bother. If adding detail helps, but is too expensive to be practical, then it may still be worthwhile for later inclusion as hardware resources increase.)&lt;br /&gt;
&lt;br /&gt;
For small to moderate craft and installations, something along the lines of either of the following is not inappropriate:&lt;br /&gt;
&lt;br /&gt;
(Exponential Scaling)&lt;br /&gt;
*LOD 0 &amp;lt;= 500 tri's.&lt;br /&gt;
*LOD 1 &amp;lt;= 2000&lt;br /&gt;
*LOD 2 &amp;lt;= 4000&lt;br /&gt;
*LOD 3 &amp;lt;= 8000&lt;br /&gt;
*LOD 4 &amp;lt;= 16000&lt;br /&gt;
*LOD 5 &amp;gt;16000&lt;br /&gt;
&lt;br /&gt;
(Quadratic Scaling)&lt;br /&gt;
*LOD 0 &amp;lt;= 500 tri's.&lt;br /&gt;
*LOD 1 &amp;lt;= 2000&lt;br /&gt;
*LOD 2 &amp;lt;= 4500&lt;br /&gt;
*LOD 3 &amp;lt;= 8000&lt;br /&gt;
*LOD 4 &amp;lt;= 12500&lt;br /&gt;
*LOD 5 &amp;lt;= 18000&lt;br /&gt;
*LOD 6 &amp;gt;18000&lt;br /&gt;
&lt;br /&gt;
Larger models, such as capital vessels and large installations will likely follow a similar curve, but at a higher offset, due to increased size. Truly massive models should be partitioned into multiple meshes, each with its own set of LODs such that nearer portions of the model can be independently represented at higher LOD than more distant ones. Partitioning into multiple meshes may be preferable even for merely &amp;quot;largish&amp;quot; models so as to preserve reasonable correspondence between single pixels and the size of represented features when texturing.&lt;br /&gt;
&lt;br /&gt;
==Textures==&lt;br /&gt;
&lt;br /&gt;
Texture maps should also be made accordingly, although clearly artistic integrity trivially trumps the following rough guideline (if you need more pixels, use them) and the appropriate texture size may depend greatly upon the size of the model.&lt;br /&gt;
&lt;br /&gt;
*LOD 1 128x128&lt;br /&gt;
*LOD 2 256x256&lt;br /&gt;
*LOD 3 512x512&lt;br /&gt;
*LOD 4 1024x1024&lt;br /&gt;
*LOD 5 and up having multiple 1024x1024 textures&lt;br /&gt;
&lt;br /&gt;
Be careful with ''texture lodding abuse''. Each LOD that uses its own texture will require more memory (video memory), and breaks batching between instances (slows down rendering of many instances of this model). Even so, texture lodding actually frees up memory most of the time, since only lesser versions are used in the distance. A general rule of thumb is to never have more than two or at most three versions of the same texture. Also take any opportunity to convert textures to greyscale when the color loss is not quite noticeable (most commonly with glow maps and specular maps).&lt;br /&gt;
&lt;br /&gt;
Likewise, for larger models, do not neglect the potential addition of detail textures.&lt;br /&gt;
&lt;br /&gt;
See also [[Development:Texture Guidelines]] and [[Development:Graphics_Requirements]].&lt;br /&gt;
&lt;br /&gt;
===Faction Textures===&lt;br /&gt;
&lt;br /&gt;
To include and successfully test faction textures in your data, you need to:&lt;br /&gt;
* set the corresponding vegastrike.config variable (&amp;lt;code&amp;gt;var name=&amp;quot;faction_dependant_textures&amp;quot; value=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;).&lt;br /&gt;
* prefix default textures with the faction name, e.g. when your default texture is called &amp;quot;tex_000.texture&amp;quot;, to enable the faction texture for &amp;quot;pirates&amp;quot; you'll need to add the texture &amp;quot;pirates_tex_000.texture&amp;quot;.&lt;br /&gt;
* change configuration to one of the 2 highest computer modes (512M+1GB or 1024MB).&lt;br /&gt;
&lt;br /&gt;
==Shield and Collision Meshes==&lt;br /&gt;
Separate shield meshes are highly desirable. Shield meshes should also be done using LODs, although shield meshes should remain simple - that is, their top level meshes should not contain odious numbers of polygons for something that is only infrequently displayed.&lt;br /&gt;
&lt;br /&gt;
Collision meshes need not (and cannot) have LODs. For complex models, it is wise to provide a dumbed-down version of the model that reasonably approximates its shape - minor features and greebles can be safely removed, for instance - to improve performance on the physics engine. Polycount should be kept to a minimum, '''without sacrificing any major features''' of the top-level LOD. Very small vessels (or appropriately shaped ones) may opt to not specify a collision mesh, which will make the physics layer treat this mesh as a spherical object (most efficient).&lt;br /&gt;
&lt;br /&gt;
==HUD Image==&lt;br /&gt;
&lt;br /&gt;
Provides perspective view of the model oriented with the nose towards the left-bottom corner of the image.&lt;br /&gt;
The master image resolution should start at 256x256 pixels with transparency around the vessel.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
For an example of an entity that is composed of multiple meshes, uses LODs, and shield meshes, examine the Clydesdale. (Note that shield and collision meshes are specified in the units.csv file, not by the model.)&lt;br /&gt;
&lt;br /&gt;
=Model Creation=&lt;br /&gt;
&lt;br /&gt;
The first (and most enjoyable) job is to design and draw your model (the geometrical object) within your program.&lt;br /&gt;
&lt;br /&gt;
Feel free to use any modeling program, but it must be able to export models in either (Wavefront) .OBJ or (Vega Strike) .xmesh format. If you don't know where to start, see [[Links:3D Applications]] for a list of modeling software. [http://www.wings3d.com/ Wings 3D] is recommended for modeling beginners. [http://www.blender.org/ '''Blender'''] is the tool of choice for VS artistic community.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Orientation==&lt;br /&gt;
First off, do yourself a favor and line your model up correctly before you begin. For the purposes of Vega Strike, Z+ is forwards and Y+ is up. The model's nose should be pointing forward along the Z+ axis (so that the Z+ axis would theoretically be visible from the cockpit). The mesh should also be properly centered.&lt;br /&gt;
Summing up:&lt;br /&gt;
* Z+ -&amp;gt; Forward direction&lt;br /&gt;
* Y+ -&amp;gt; Up direction&lt;br /&gt;
* Centered&lt;br /&gt;
&lt;br /&gt;
== Tutorials==&lt;br /&gt;
&lt;br /&gt;
{{warning_text |&lt;br /&gt;
| text='''Note:''' The tutorials overview is not complete. Many of the available tutorials have not yet been integrated into this page. Refer also to the [[HowTos|'''How-Tos Tutorials''']] page for additional tutorials.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;2&amp;quot; rules=&amp;quot;rows&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;1&amp;quot; style=&amp;quot;width:100%; text-align:center; background-color:#98b2ee&amp;quot; |&lt;br /&gt;
|'''Modeling Step&lt;br /&gt;
|'''Blender&lt;br /&gt;
|'''Wings3D&lt;br /&gt;
|-&lt;br /&gt;
| Create mesh&lt;br /&gt;
| -&lt;br /&gt;
| [[HowTo:Create Ships in Wings3D|Creating a 3D-model]]&lt;br /&gt;
|-&lt;br /&gt;
| Smoothing&lt;br /&gt;
| [[HowTo:Smooth Groups|Smoothing]]&amp;lt;br&amp;gt; [[HowTo:Weld|Smooth Welding]]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Mesh cleanup&lt;br /&gt;
| [[HowTo:Bevel|Beveling]]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Unwrapping&lt;br /&gt;
| [[HowTo:Unwrap_in_Blender|Unwrapping 1]]&amp;lt;br&amp;gt;[[HowTo:Unwrap|Unwrapping 2]] &amp;lt;br&amp;gt;[[HowTo:FullUnwrapBlender|Ship unwrap]]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Radiosity Baking&lt;br /&gt;
| [[HowTo:Radiosity baking in Blender|Radiosity baking]]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Exporting&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This articles are WIP, means still need to be reviewed and decided how to restructure them:&lt;br /&gt;
* [[HowTo:Create Cockpit in Wings3d|Creating a 3D cockpit for your ship.]]&lt;br /&gt;
* [[HowTo:Add LODs|Adding Levels of Detail]]&lt;br /&gt;
* [[HowTo:Add Ships|Adding your ship to Vega Strike]] - An overview of how to create and add ships to the game&lt;br /&gt;
* [[HowTo:Create Models]] - Links to forum discussions. Page will become generic model creation tutorial.&lt;br /&gt;
* Modeling Tutorials: [[HowTos#Modeling]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Blender Basics===&lt;br /&gt;
* [[HowTo:Basic Blender Tutorial|A basic Blender3D tutorial]]: [http://www.cdschools.org/54223045235521/blank/browse.asp?A=383&amp;amp;BMDRN=2000&amp;amp;BCOB=0&amp;amp;C=55205 Blender Basics - 3rd Edition] - not specific to ships, though...&lt;br /&gt;
&lt;br /&gt;
===Wings3D Basics===&lt;br /&gt;
&lt;br /&gt;
===Other Software Basics===&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Model a Ship|Brad Mick's video tutorial on ship modeling]] - using Lightwave, but the concept is general: ''Rapid Prototyping''&lt;br /&gt;
&lt;br /&gt;
=Texture Creation=&lt;br /&gt;
&lt;br /&gt;
==Unwrapping==&lt;br /&gt;
&lt;br /&gt;
Please make non-overlapping UV unwraps for all future models. You can't bake a proper AO with overlapping islands.&lt;br /&gt;
&lt;br /&gt;
==Unsorted==&lt;br /&gt;
&lt;br /&gt;
(general guidelines, tips, best practices, app specific tutorials, ...)&lt;br /&gt;
&lt;br /&gt;
* [http://netzwelt.gaming-hut.de/vegatexturing/ WIP VegaStrike texturing page by Major]&lt;br /&gt;
* [http://edice.netfirms.com/tuts/texturetut.htm Texturing tutorial by Duality]&lt;br /&gt;
&lt;br /&gt;
For the time being, you may wish to have a look at the corresponding [[Development:Texture_Guidelines|Texturing Guidelines]].&lt;br /&gt;
&lt;br /&gt;
* [[Development:Texture Guidelines|Guidelines for creating ship materials]]&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Add Per Pixel Lighting|Adding per-pixel lighting to your 3D model]]&lt;br /&gt;
* [[HowTo:IntroToShaders|Introduction to shaders, and what they mean for you]] --Bumpmaps, Normalmaps, Shininess maps ...&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Texture|Creating your own textures]] - A summary on how to make texture maps&lt;br /&gt;
* [[HowTo:Texture in Wings3d|Texturing your model in Wings 3d]]&lt;br /&gt;
* [[HowTo:SuperrealisticTexturing|Tips for realistic-looking textures]]&lt;br /&gt;
* [[HowTo:Make Animated Textures|Using animated textures on a model]]&lt;br /&gt;
* [http://wcpedia.com/dw/doku.php/wc_info/modding/texturing_noodle LaGrande Noodle]&lt;br /&gt;
* [http://wcpedia.com/dw/doku.php/wc_info/modding/ao_and_prt_bakes AO and PRT bakes, using Blender and xNormal]&lt;br /&gt;
&lt;br /&gt;
=Integration and Testing=&lt;br /&gt;
&lt;br /&gt;
Using UnitConverter to convert all files and edit the model stats for Vega Strike:&lt;br /&gt;
[[Development:Tools:UnitConverter]]&lt;br /&gt;
&lt;br /&gt;
===Object Marker===&lt;br /&gt;
In order to automatically create turret mounts, gun mounts, and engine thrusters placements in units.csv, please use the following marker:&lt;br /&gt;
&lt;br /&gt;
[author:chuck_starchaser] Here's a blend file people could load and save as the default blender start.&lt;br /&gt;
Starts with a marker smack in the middle.&lt;br /&gt;
You can move it to another layer, later duplicate it as needed to place copies at key locations.&lt;br /&gt;
http://wcjunction.com/temp_images/cinemut/goodstart.blend&lt;br /&gt;
You can also import the marker into another blend file:&lt;br /&gt;
Open whatever.blend, go to File -&amp;gt; Append Or Link&lt;br /&gt;
Navigate to where goodstart.blend is.&lt;br /&gt;
Go to the Objects folder, and click on the &amp;quot;marker&amp;quot; object.&lt;br /&gt;
To duplicate an object, in object mode, select and shift-D.&lt;br /&gt;
To rename your duplicated object, hit F9 and, towards the left,&lt;br /&gt;
where it says OB:Marker click in the middle of it and then&lt;br /&gt;
type &amp;quot;gunmount_0_light_medium&amp;quot; or whatever.&lt;br /&gt;
&lt;br /&gt;
It is advisable to group the marker objects into a group called &amp;quot;marker&amp;quot;. You are required to export all the markers into one obj file that needs to contain the name &amp;quot;marker&amp;quot; in it (letter case is unimportant, it can be &amp;quot;marker&amp;quot;, or &amp;quot;Marker&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Object Helper naming convention: ''type_subtype_identifier''&lt;br /&gt;
&lt;br /&gt;
with type:&lt;br /&gt;
* pilot (currently unused)&lt;br /&gt;
* mount (currently unused)&lt;br /&gt;
* turret&lt;br /&gt;
* subunit&lt;br /&gt;
* engine&lt;br /&gt;
* dock&lt;br /&gt;
&lt;br /&gt;
and subtype being optional (convention tbd),&lt;br /&gt;
and identifier being either a number or a description and optional.&lt;br /&gt;
&lt;br /&gt;
You may define for example:&lt;br /&gt;
* pilot&lt;br /&gt;
* pilot_john&lt;br /&gt;
* mount_lightmedium_0&lt;br /&gt;
* turret_capmissile_frontleft&lt;br /&gt;
* subunit_1&lt;br /&gt;
* engine_retro_left&lt;br /&gt;
&lt;br /&gt;
===Exporting to OBJ+MTL===&lt;br /&gt;
&lt;br /&gt;
===Updating Stats===&lt;br /&gt;
* [[HowTo:Add Descriptions|Putting ship and goods descriptions into the game]]&lt;br /&gt;
* [[HowTo:Edit master_part_list.csv|Editing the Master_part_list.csv file]]&lt;br /&gt;
&lt;br /&gt;
=Submission and Vetting=&lt;br /&gt;
&lt;br /&gt;
=Technical Reference=&lt;br /&gt;
&lt;br /&gt;
==Technical Specifications==&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Edit BFXM files|Editing BFXM files (format spec)]]&lt;br /&gt;
* [[HowTo:Edit XMESH files|Editing the xmesh file of a ship]]&lt;br /&gt;
* [[HowTo:Edit units.csv|Editing units.csv]]&lt;br /&gt;
* [[HowTo:Add Engine Glow|Adding an engine glow to your 3D model]]&lt;br /&gt;
&lt;br /&gt;
==Scripts and Tools==&lt;br /&gt;
&lt;br /&gt;
See [[Development:Scripts_%26_Tools|Scripts &amp;amp; Tools]]&lt;br /&gt;
* [[HowTo:Add_Ships#New_method|mesher converter obj &amp;lt;-&amp;gt; bfxm &amp;lt;-&amp;gt; xmesh]]&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&lt;br /&gt;
* [http://wcpedia.com/dw/doku.php/wc_info/modding/index WCpedia Modeling Page]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development|Model Guidelines]]&lt;br /&gt;
[[Category:Modeling|Model Guidelines]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Model_Guidelines&amp;diff=18254</id>
		<title>Development:Model Guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Model_Guidelines&amp;diff=18254"/>
				<updated>2011-04-04T08:43:31Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* Tutorials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{parent_link|parent=[[Development]]}}&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
The intention of this document is to give artists using the Vega Strike engine some suggested guidelines to follow in creating models. You may also wish to have a look at the corresponding [[Development:Texture_Guidelines|texturing guidelines]].&lt;br /&gt;
&lt;br /&gt;
So you want to create a new ship for Vega Strike, do you?  While virtually all models are welcome, well before you start cranking out wonderfully designed models we request that you first check what models are still required.&lt;br /&gt;
&lt;br /&gt;
{{warning_text |&lt;br /&gt;
| text='''Note:''' If you wish to contribute a new or updated model (ship, installation, turret, cockpit, ..) to the game Vega Strike, please see the [[Development:3D_Models|'''3D Models''']] page for models requiring attention.}}&lt;br /&gt;
&lt;br /&gt;
Alternatively, contact [[User:jackS|jackS]] or [[User:pyramid|pyramid]].&lt;br /&gt;
&lt;br /&gt;
= Modeling Pipeline Overview =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;2&amp;quot; rules=&amp;quot;rows&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;1&amp;quot; style=&amp;quot;width:100%; text-align:center; background-color:#98ffb2&amp;quot; |&lt;br /&gt;
|'''Step&lt;br /&gt;
|'''Input&lt;br /&gt;
|'''Output&lt;br /&gt;
|'''Tools&lt;br /&gt;
|'''Requirements&lt;br /&gt;
|'''Tutorials&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Model Selection&lt;br /&gt;
| -&lt;br /&gt;
| required model&lt;br /&gt;
| model task list&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Conceptualization&lt;br /&gt;
| selected model&lt;br /&gt;
| model concept&lt;br /&gt;
| pen &amp;amp; paper, artwork forum&lt;br /&gt;
| artstyle guide&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Modeling&lt;br /&gt;
| concept&lt;br /&gt;
| model mesh, obj + mtl files&lt;br /&gt;
| blender, forum&lt;br /&gt;
| many&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Texturing&lt;br /&gt;
| model mesh&lt;br /&gt;
| textures&lt;br /&gt;
| gimp, forum&lt;br /&gt;
| texture requirements&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Integration&lt;br /&gt;
| model + textures&lt;br /&gt;
| bfxm + dds textures&lt;br /&gt;
| mesher + UnitConverter&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Testing&lt;br /&gt;
| bfxm model + dds textures&lt;br /&gt;
| bfxm + dds textures&lt;br /&gt;
| vegastrike + modelview.mission&lt;br /&gt;
| pass or rework&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Submission&lt;br /&gt;
| blender file (obj + mtl), master textures, bfxm + dds textures&lt;br /&gt;
| archive or svn&lt;br /&gt;
| mail, svn client&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Model Requirements=&lt;br /&gt;
&lt;br /&gt;
==Requirements Checklist==&lt;br /&gt;
&lt;br /&gt;
Considerations for a successful model submission:&lt;br /&gt;
* Model is in the requirements list [[Development:3D_Models|-&amp;gt;]]&lt;br /&gt;
* Abides to faction visual guidelines&lt;br /&gt;
* Has approved concept&lt;br /&gt;
* Provides model source file (blender, Wings3D, ...)&lt;br /&gt;
* Provides OBJ file&lt;br /&gt;
* Has model mesh, shield mesh, LoD meshes, helper meshes&lt;br /&gt;
* Provides uncompressed textures in png format (and optionally faction textures)&lt;br /&gt;
* Provides texture source files (GIMP, ...)&lt;br /&gt;
* Provides HUD png image with correct orientation&lt;br /&gt;
* Provides units.csv file entry&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Model Requirements Details==&lt;br /&gt;
&lt;br /&gt;
==Visual Guidelines==&lt;br /&gt;
&lt;br /&gt;
For particular aesthetic guidelines, please see the [[Artstyle guides]] page. Please note that many of the existing models are used because of expedience, not because they fit well with VS canon (i.e. if you make something new look like what's there, it still might not be what we're looking for). If in doubt, please ask on the [http://vegastrike.sourceforge.net/forums/viewforum.php?f=4 Artwork &amp;amp; Content Vetting forum]. &lt;br /&gt;
&lt;br /&gt;
To absolutely sure, for new models, please create a drawing of your proposed concept and let it be discussed and approved on the [http://vegastrike.sourceforge.net/forums/viewforum.php?f=4 Artwork &amp;amp; Content Vetting forum].&lt;br /&gt;
&lt;br /&gt;
See also [[Development:Texture Guidelines]]&lt;br /&gt;
&lt;br /&gt;
==Model File Format==&lt;br /&gt;
The preferred format for submission (for public disbursement - whatever native format is used inside your favorite modeling suite is fortunately a non-issue) is currently Wavefront OBJ file format, as this is the most easily converted between manipulation (assorted modeling tools) and presentation (currently BFXM, later to be the OGRE .mesh format). Model &amp;quot;source&amp;quot; therefore, is, at present (Sep. 2008), most usefully uploaded as .OBJ.&lt;br /&gt;
&lt;br /&gt;
Until such a time as a visual model editing tool is completed, conversion to a game-ready format will likely pass through the .xmesh format for insertion of LOD references into top level mesh(es), correction of coordinate &amp;quot;handedness&amp;quot; (if the ordering of the coordinate axes is incompatible, as appears to happen with the output of some modeling tools).&lt;br /&gt;
&lt;br /&gt;
See [[HowTo:Add_Ships]] for information on using mesher to convert to a presentation format (such as BFXM). Note that an old utility, objconv, is '''not''' mesher, and should not be used for this task. Source files for the mesher utility are included along with VS source. Windows users may download updated mesher binaries from their SVN interface of choice (the binary will be in the \bin directory).&lt;br /&gt;
&lt;br /&gt;
==Polygon/Vertex Count==&lt;br /&gt;
In broadest terms, the desired polygon count for a particular model is dependent on three major factors: &lt;br /&gt;
*The amount of screen real-estate that the model is likely to be viewed at the majority of time that a user will be seeing it (i.e. a 2 meter long rocket doesn't deserve the same order of magnitude of attention to detail as a large base or vessel unless the rocket is expected to be mounted in front of a camera. Likewise, even at the same level of attention in terms of polygons per square meter, it would have far fewer total polygons.)&lt;br /&gt;
*The intrinsic surface complexity of the model. If one is modeling a box for freight cargo, one is not going to need as many polygons as if one needed to model one of the Vega Strike developers (not that we're necessarily model material ;-)). If you don't use enough polygons, no amount of texture magic can save a model from being ugly. That said, if you are modeling a cargo freight container and you use thousands of polygons, you're being negligent and wasteful of resources.&lt;br /&gt;
*Engine limitations. Engine limitations is a bit of a misnomer, as the performance of the graphical engine is more hardware dependent than anything else, but it's a good heading for lumping any non-artistic hurdles under. This is the most complicated of the three major factors, because it represents a moving target. Suffice it to say that in order to preserve playability on a broad range of systems, there is a premium placed on making a model aesthetically appropriate with the minimum number of polygons.&lt;br /&gt;
&lt;br /&gt;
Rough guideline:&lt;br /&gt;
*Fighter: 15k triangles&lt;br /&gt;
*Corvette: 30k tris&lt;br /&gt;
*Cruiserer: 60k&lt;br /&gt;
*Carrier: 120k&lt;br /&gt;
*Space station: 250k&lt;br /&gt;
&lt;br /&gt;
However, significant discression, and the possibility for using large numbers of polygons to prettify an object remain with the artist, provided they make appropriate use of [[Terminology:LODs|LODs]]. The primary focus needs to be on making a model aesthetically appropriate, for an intended common viewing distance, and then catering to the needs of the engine by introducing lower LODs (if necessary) and catering to artistic desires by introducing higher LODs (if appropriate). There is also an element of minor future proofing that occurs with providing a robust range of LOD poly counts - namely, multiple versions of the data set can be constructed targeted at different hardware points by shifting up or down along the LOD set (although this currently isn't bothered with, if and when we develop a true source repository for models and textures, this will likely become more common, as postprocessing of submitted art will become tenable).&lt;br /&gt;
&lt;br /&gt;
One more point to consider before attempting to set a polygon goal for a model is what the likely total contribution from all instances on screen of a given model will be - if the model represents something particularly rare, then it is likely that a few more polygons can easily be spared on its model than for more common objects of otherwise similar size, complexity, etc.&lt;br /&gt;
&lt;br /&gt;
Above all, use common sense - if it's visually hideous because it doesn't have enough polygons, it's not your top level model, and if it's in the 5 digit range for polygon count, it's not your lowest level LOD. Take into consideration how much screen real estate, based on the intended in-game size of the model (and if you don't have any idea how big it's supposed to be - you're doing something wrong already) the model will be taking up at various distances, and calibrate detail appropriately (this will become a much easier task once there is a visual modeling tool from the VS side) - to belabor the obvious, the difference between 500 polygons and 5000 gets somewhat obscured when the object is only drawn using 64 pixels. Note therefore that larger objects will often necessitate higher polygon counts merely because there's more of them to see.&lt;br /&gt;
&lt;br /&gt;
(Note that there is no need to continue adding LODs beyond a point of &amp;quot;diminishing artistic returns&amp;quot; - if adding more detail won't help, don't bother. If adding detail helps, but is too expensive to be practical, then it may still be worthwhile for later inclusion as hardware resources increase.)&lt;br /&gt;
&lt;br /&gt;
For small to moderate craft and installations, something along the lines of either of the following is not inappropriate:&lt;br /&gt;
&lt;br /&gt;
(Exponential Scaling)&lt;br /&gt;
*LOD 0 &amp;lt;= 500 tri's.&lt;br /&gt;
*LOD 1 &amp;lt;= 2000&lt;br /&gt;
*LOD 2 &amp;lt;= 4000&lt;br /&gt;
*LOD 3 &amp;lt;= 8000&lt;br /&gt;
*LOD 4 &amp;lt;= 16000&lt;br /&gt;
*LOD 5 &amp;gt;16000&lt;br /&gt;
&lt;br /&gt;
(Quadratic Scaling)&lt;br /&gt;
*LOD 0 &amp;lt;= 500 tri's.&lt;br /&gt;
*LOD 1 &amp;lt;= 2000&lt;br /&gt;
*LOD 2 &amp;lt;= 4500&lt;br /&gt;
*LOD 3 &amp;lt;= 8000&lt;br /&gt;
*LOD 4 &amp;lt;= 12500&lt;br /&gt;
*LOD 5 &amp;lt;= 18000&lt;br /&gt;
*LOD 6 &amp;gt;18000&lt;br /&gt;
&lt;br /&gt;
Larger models, such as capital vessels and large installations will likely follow a similar curve, but at a higher offset, due to increased size. Truly massive models should be partitioned into multiple meshes, each with its own set of LODs such that nearer portions of the model can be independently represented at higher LOD than more distant ones. Partitioning into multiple meshes may be preferable even for merely &amp;quot;largish&amp;quot; models so as to preserve reasonable correspondence between single pixels and the size of represented features when texturing.&lt;br /&gt;
&lt;br /&gt;
==Textures==&lt;br /&gt;
&lt;br /&gt;
Texture maps should also be made accordingly, although clearly artistic integrity trivially trumps the following rough guideline (if you need more pixels, use them) and the appropriate texture size may depend greatly upon the size of the model.&lt;br /&gt;
&lt;br /&gt;
*LOD 1 128x128&lt;br /&gt;
*LOD 2 256x256&lt;br /&gt;
*LOD 3 512x512&lt;br /&gt;
*LOD 4 1024x1024&lt;br /&gt;
*LOD 5 and up having multiple 1024x1024 textures&lt;br /&gt;
&lt;br /&gt;
Be careful with ''texture lodding abuse''. Each LOD that uses its own texture will require more memory (video memory), and breaks batching between instances (slows down rendering of many instances of this model). Even so, texture lodding actually frees up memory most of the time, since only lesser versions are used in the distance. A general rule of thumb is to never have more than two or at most three versions of the same texture. Also take any opportunity to convert textures to greyscale when the color loss is not quite noticeable (most commonly with glow maps and specular maps).&lt;br /&gt;
&lt;br /&gt;
Likewise, for larger models, do not neglect the potential addition of detail textures.&lt;br /&gt;
&lt;br /&gt;
See also [[Development:Texture Guidelines]] and [[Development:Graphics_Requirements]].&lt;br /&gt;
&lt;br /&gt;
===Faction Textures===&lt;br /&gt;
&lt;br /&gt;
To include and successfully test faction textures in your data, you need to:&lt;br /&gt;
* set the corresponding vegastrike.config variable (&amp;lt;code&amp;gt;var name=&amp;quot;faction_dependant_textures&amp;quot; value=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;).&lt;br /&gt;
* prefix default textures with the faction name, e.g. when your default texture is called &amp;quot;tex_000.texture&amp;quot;, to enable the faction texture for &amp;quot;pirates&amp;quot; you'll need to add the texture &amp;quot;pirates_tex_000.texture&amp;quot;.&lt;br /&gt;
* change configuration to one of the 2 highest computer modes (512M+1GB or 1024MB).&lt;br /&gt;
&lt;br /&gt;
==Shield and Collision Meshes==&lt;br /&gt;
Separate shield meshes are highly desirable. Shield meshes should also be done using LODs, although shield meshes should remain simple - that is, their top level meshes should not contain odious numbers of polygons for something that is only infrequently displayed.&lt;br /&gt;
&lt;br /&gt;
Collision meshes need not (and cannot) have LODs. For complex models, it is wise to provide a dumbed-down version of the model that reasonably approximates its shape - minor features and greebles can be safely removed, for instance - to improve performance on the physics engine. Polycount should be kept to a minimum, '''without sacrificing any major features''' of the top-level LOD. Very small vessels (or appropriately shaped ones) may opt to not specify a collision mesh, which will make the physics layer treat this mesh as a spherical object (most efficient).&lt;br /&gt;
&lt;br /&gt;
==HUD Image==&lt;br /&gt;
&lt;br /&gt;
Provides perspective view of the model oriented with the nose towards the left-bottom corner of the image.&lt;br /&gt;
The master image resolution should start at 256x256 pixels with transparency around the vessel.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
For an example of an entity that is composed of multiple meshes, uses LODs, and shield meshes, examine the Clydesdale. (Note that shield and collision meshes are specified in the units.csv file, not by the model.)&lt;br /&gt;
&lt;br /&gt;
=Model Creation=&lt;br /&gt;
&lt;br /&gt;
The first (and most enjoyable) job is to design and draw your model (the geometrical object) within your program.&lt;br /&gt;
&lt;br /&gt;
Feel free to use any modeling program, but it must be able to export models in either (Wavefront) .OBJ or (Vega Strike) .xmesh format. If you don't know where to start, see [[Links:3D Applications]] for a list of modeling software. [http://www.wings3d.com/ Wings 3D] is recommended for modeling beginners. [http://www.blender.org/ '''Blender'''] is the tool of choice for VS artistic community.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Orientation==&lt;br /&gt;
First off, do yourself a favor and line your model up correctly before you begin. For the purposes of Vega Strike, Z+ is forwards and Y+ is up. The model's nose should be pointing forward along the Z+ axis (so that the Z+ axis would theoretically be visible from the cockpit). The mesh should also be properly centered.&lt;br /&gt;
Summing up:&lt;br /&gt;
* Z+ -&amp;gt; Forward direction&lt;br /&gt;
* Y+ -&amp;gt; Up direction&lt;br /&gt;
* Centered&lt;br /&gt;
&lt;br /&gt;
== Tutorials==&lt;br /&gt;
&lt;br /&gt;
{{warning_text |&lt;br /&gt;
| text='''Note:''' The tutorials overview is not complete. Many of the available tutorials have not yet been integrated into this page. Refer also to the [[HowTos|'''How-Tos Tutorials''']] page for additional tutorials.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;2&amp;quot; rules=&amp;quot;rows&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;1&amp;quot; style=&amp;quot;width:100%; text-align:center; background-color:#98b2ee&amp;quot; |&lt;br /&gt;
|'''Modeling Step&lt;br /&gt;
|'''Blender&lt;br /&gt;
|'''Wings3D&lt;br /&gt;
|-&lt;br /&gt;
| Create mesh&lt;br /&gt;
| -&lt;br /&gt;
| [[HowTo:Create Ships in Wings3D|Creating a 3D-model]]&lt;br /&gt;
|-&lt;br /&gt;
| Smoothing&lt;br /&gt;
| [[HowTo:Smooth Groups|Smoothing]]&amp;lt;br&amp;gt; [[HowTo:Weld|Smooth Welding]]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Mesh cleanup&lt;br /&gt;
| [[HowTo:Bevel|Beveling]]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Unwrapping&lt;br /&gt;
| [[HowTo:Unwrap_in_Blender|Unwrapping 1]]&amp;lt;br&amp;gt;[[HowTo:Unwrap|Unwrapping 2]] &amp;lt;br&amp;gt;[[HowTo:FullUnwrapBlender|Ship unwrap]]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Radiosity Baking&lt;br /&gt;
| [[HowTo:Radiosity baking in Blender|Radiosity baking]]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Exporting&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This articles are WIP, means still need to be reviewed and decided how to restructure them:&lt;br /&gt;
* [[HowTo:Create Cockpit in Wings3d|Creating a 3D cockpit for your ship.]]&lt;br /&gt;
* [[HowTo:Add LODs|Adding Levels of Detail]]&lt;br /&gt;
* [[HowTo:Add Ships|Adding your ship to Vega Strike]] - An overview of how to create and add ships to the game&lt;br /&gt;
* [[HowTo:Create Models]] - Links to forum discussions. Page will become generic model creation tutorial.&lt;br /&gt;
* Modeling Tutorials: [[HowTos#Modeling]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Blender Basics===&lt;br /&gt;
* [[HowTo:Basic Blender Tutorial|A basic Blender3D tutorial]]: [http://www.cdschools.org/54223045235521/blank/browse.asp?A=383&amp;amp;BMDRN=2000&amp;amp;BCOB=0&amp;amp;C=55205 Blender Basics - 3rd Edition] - not specific to ships, though...&lt;br /&gt;
&lt;br /&gt;
===Wings3D Basics===&lt;br /&gt;
&lt;br /&gt;
===Other Software Basics===&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Model a Ship|Brad Mick's video tutorial on ship modeling]] - using Lightwave, but the concept is general: ''Rapid Prototyping''&lt;br /&gt;
&lt;br /&gt;
=Texture Creation=&lt;br /&gt;
&lt;br /&gt;
==Unwrapping==&lt;br /&gt;
&lt;br /&gt;
Please make non-overlapping UV unwraps for all future models. You can't bake a proper AO with overlapping islands.&lt;br /&gt;
&lt;br /&gt;
==Unsorted==&lt;br /&gt;
&lt;br /&gt;
(general guidelines, tips, best practices, app specific tutorials, ...)&lt;br /&gt;
&lt;br /&gt;
* [http://netzwelt.gaming-hut.de/vegatexturing/ WIP VegaStrike texturing page by Major]&lt;br /&gt;
* [http://edice.netfirms.com/tuts/texturetut.htm Texturing tutorial by Duality]&lt;br /&gt;
&lt;br /&gt;
For the time being, you may wish to have a look at the corresponding [[Development:Texture_Guidelines|Texturing Guidelines]].&lt;br /&gt;
&lt;br /&gt;
* [[Development:Texture Guidelines|Guidelines for creating ship materials]]&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Add Per Pixel Lighting|Adding per-pixel lighting to your 3D model]]&lt;br /&gt;
* [[HowTo:IntroToShaders|Introduction to shaders, and what they mean for you]] --Bumpmaps, Normalmaps, Shininess maps ...&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Texture|Creating your own textures]] - A summary on how to make texture maps&lt;br /&gt;
* [[HowTo:Texture in Wings3d|Texturing your model in Wings 3d]]&lt;br /&gt;
* [[HowTo:SuperrealisticTexturing|Tips for realistic-looking textures]]&lt;br /&gt;
* [[HowTo:Make Animated Textures|Using animated textures on a model]]&lt;br /&gt;
* [http://wcpedia.com/dw/doku.php/wc_info/modding/texturing_noodle LaGrande Noodle]&lt;br /&gt;
* [http://wcpedia.com/dw/doku.php/wc_info/modding/ao_and_prt_bakes AO and PRT bakes, using Blender and xNormal]&lt;br /&gt;
&lt;br /&gt;
=Integration and Testing=&lt;br /&gt;
&lt;br /&gt;
Using UnitConverter to convert all files and edit the model stats for Vega Strike:&lt;br /&gt;
[[Development:Tools:UnitConverter]]&lt;br /&gt;
&lt;br /&gt;
===Object Marker===&lt;br /&gt;
In order to automatically create turret mounts, gun mounts, and engine thrusters placements in units.csv, please use the following marker:&lt;br /&gt;
&lt;br /&gt;
[author:chuck_starchaser] Here's a blend file people could load and save as the default blender start.&lt;br /&gt;
Starts with a marker smack in the middle.&lt;br /&gt;
You can move it to another layer, later duplicate it as needed to place copies at key locations.&lt;br /&gt;
http://wcjunction.com/temp_images/cinemut/goodstart.blend&lt;br /&gt;
You can also import the marker into another blend file:&lt;br /&gt;
Open whatever.blend, go to File -&amp;gt; Append Or Link&lt;br /&gt;
Navigate to where goodstart.blend is.&lt;br /&gt;
Go to the Objects folder, and click on the &amp;quot;marker&amp;quot; object.&lt;br /&gt;
To duplicate an object, in object mode, select and shift-D.&lt;br /&gt;
To rename your duplicated object, hit F9 and, towards the left,&lt;br /&gt;
where it says OB:Marker click in the middle of it and then&lt;br /&gt;
type &amp;quot;gunmount_0_light_medium&amp;quot; or whatever.&lt;br /&gt;
&lt;br /&gt;
It is advisable to group the marker objects into a group called &amp;quot;marker&amp;quot;. You are required to export all the markers into one obj file that needs to contain the name &amp;quot;marker&amp;quot; in it (letter case is unimportant, it can be &amp;quot;marker&amp;quot;, or &amp;quot;Marker&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Object Helper naming convention: ''type_subtype_identifier''&lt;br /&gt;
&lt;br /&gt;
with type:&lt;br /&gt;
* pilot (currently unused)&lt;br /&gt;
* mount (currently unused)&lt;br /&gt;
* turret&lt;br /&gt;
* subunit&lt;br /&gt;
* engine&lt;br /&gt;
* dock&lt;br /&gt;
&lt;br /&gt;
and subtype being optional (convention tbd),&lt;br /&gt;
and identifier being either a number or a description and optional.&lt;br /&gt;
&lt;br /&gt;
You may define for example:&lt;br /&gt;
* pilot&lt;br /&gt;
* pilot_john&lt;br /&gt;
* mount_lightmedium_0&lt;br /&gt;
* turret_capmissile_frontleft&lt;br /&gt;
* subunit_1&lt;br /&gt;
* engine_retro_left&lt;br /&gt;
&lt;br /&gt;
===Updating Stats===&lt;br /&gt;
* [[HowTo:Add Descriptions|Putting ship and goods descriptions into the game]]&lt;br /&gt;
* [[HowTo:Edit master_part_list.csv|Editing the Master_part_list.csv file]]&lt;br /&gt;
&lt;br /&gt;
=Submission and Vetting=&lt;br /&gt;
&lt;br /&gt;
=Technical Reference=&lt;br /&gt;
&lt;br /&gt;
==Technical Specifications==&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Edit BFXM files|Editing BFXM files (format spec)]]&lt;br /&gt;
* [[HowTo:Edit XMESH files|Editing the xmesh file of a ship]]&lt;br /&gt;
* [[HowTo:Edit units.csv|Editing units.csv]]&lt;br /&gt;
* [[HowTo:Add Engine Glow|Adding an engine glow to your 3D model]]&lt;br /&gt;
&lt;br /&gt;
==Scripts and Tools==&lt;br /&gt;
&lt;br /&gt;
See [[Development:Scripts_%26_Tools|Scripts &amp;amp; Tools]]&lt;br /&gt;
* [[HowTo:Add_Ships#New_method|mesher converter obj &amp;lt;-&amp;gt; bfxm &amp;lt;-&amp;gt; xmesh]]&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&lt;br /&gt;
* [http://wcpedia.com/dw/doku.php/wc_info/modding/index WCpedia Modeling Page]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development|Model Guidelines]]&lt;br /&gt;
[[Category:Modeling|Model Guidelines]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development&amp;diff=18253</id>
		<title>Development</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development&amp;diff=18253"/>
				<updated>2011-04-03T15:13:49Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* Game Assets */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Wiki_Nav_Index}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Development &amp;amp; Modding=&lt;br /&gt;
&lt;br /&gt;
==Developer information pages==&lt;br /&gt;
General information on contribution:&lt;br /&gt;
* [[HowTo:Contribute|The Vega Strike Contributor's Guide]]&lt;br /&gt;
* [[Database:GPUs|GPU information database]]&lt;br /&gt;
* [[HowTo:MOD|How to create MODs]]&lt;br /&gt;
* [[Development:File_Structure|File and Directory Structure]]&lt;br /&gt;
&lt;br /&gt;
==Status/task list pages==&lt;br /&gt;
* [[Development:3D_Models|3D Models]] - Organisation and contribution information.&lt;br /&gt;
* [[Development:2D_Images|2D Images]] - Organisation and contribution information.&lt;br /&gt;
* [[Development:Roadmap|Roadmap]] - The Vega Strike development roadmap.&lt;br /&gt;
* [[Development:Compatibility]] - Making sure the game works on all hardware&lt;br /&gt;
* [[Development:Rebalance]] - Information and task list for the Rebalance.&lt;br /&gt;
* [[Development:Performance]] - Goals to achieve required performance&lt;br /&gt;
* [[Development:AI Navigation]] - Overhauling the ships' navigation routines&lt;br /&gt;
* [[Development:Misc Engine Work]] - Various engine and backend work information.&lt;br /&gt;
* [[Development:Ogre]] - Information on the OGRE port.&lt;br /&gt;
&lt;br /&gt;
= Artistic Contribution =&lt;br /&gt;
&lt;br /&gt;
===Art Guidelines===&lt;br /&gt;
Please read this '''[[Development:Graphics_Requirements]]''' page first before continuing to the specific requirements.&lt;br /&gt;
See also: [[Links:Graphic_Applications]] and [[Links:3D_Applications]] for applications listings.&lt;br /&gt;
&lt;br /&gt;
Further, the [[Artstyle_guides|Art Style Guides]] might prove useful during your creationist endeavors.&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
There are also guidelines for sound and music creation available in '''[[Development:Audio]]'''.&lt;br /&gt;
&lt;br /&gt;
===3D Models===&lt;br /&gt;
The modeling related information is just being restructured.&lt;br /&gt;
* [[Development:Model Guidelines|Guidelines Portal for Creating 3D Models]] is the main page for complete guidance on developing ship and installation models for Vega Strike&lt;br /&gt;
** [[Development:3D_Models|3D models list and status]]&lt;br /&gt;
&lt;br /&gt;
=== Space Scapes ===&lt;br /&gt;
* [[Development:Orbital Planet Surfaces|Orbital Planet Surfaces]] - General guidance for development of planet surfaces visible from orbit.&lt;br /&gt;
* [[Development:System_Backgrounds|Generating star system backgrounds]]&lt;br /&gt;
* [[Development:Base_Backgrounds|Creating and adding backgrounds for bases, planets, or capital ships]]&lt;br /&gt;
&lt;br /&gt;
=== Cargo ===&lt;br /&gt;
* [[Development:Cargo (graphics)|Creating Cargo Graphics]] - Images to be displayed in the trading interface for cargo items.&lt;br /&gt;
** [[Cargo]] - Detailed descriptions of cargo items, listed by category.&lt;br /&gt;
* [[Development:Balancing|Faction Balancing]] - General guidelines to keep in mind when play balancing the Vega Strike factions.&lt;br /&gt;
&lt;br /&gt;
=== Other Graphics ===&lt;br /&gt;
* [[Development:Logos &amp;amp; Signage|Logos &amp;amp; Signage]]&lt;br /&gt;
&lt;br /&gt;
= Python Scripting =&lt;br /&gt;
&lt;br /&gt;
=== Quests &amp;amp; Campaigns ===&lt;br /&gt;
* [[Development:Quests_&amp;amp;_Campaigns|Quests &amp;amp; Campaigns]] Reference portal for creation of campaigns, missions, quests &amp;amp; adventures.&lt;br /&gt;
** [[Development:Quests|Quests]] Creating quests and adventures&lt;br /&gt;
** [[Development:Missions|Developing Missions]] Creation of missions&lt;br /&gt;
** [[Development:AIScripts|Developing AI Behaviors]] Customizing AI combat reactions&lt;br /&gt;
** [[Development:Campaigns]] Making campaigns&lt;br /&gt;
&lt;br /&gt;
=== Other Scripts ===&lt;br /&gt;
* [[HowTo:Edit News|Editing News]]&lt;br /&gt;
* [[HowTo:Add Conversations|Adding Conversations]]&lt;br /&gt;
* [[Development:Base_Backgrounds|Changing Base Backgrounds and Base Computer GUI]]&lt;br /&gt;
&lt;br /&gt;
= Data Modding =&lt;br /&gt;
&lt;br /&gt;
=== Game Assets ===&lt;br /&gt;
* [[HowTo:Edit_units.csv| Editing units.csv]]&lt;br /&gt;
* [[HowTo:Make Weapons|Adding new weapons to the game]]&lt;br /&gt;
* [[HowTo:Add Cargo|Adding new cargo to the game]]&lt;br /&gt;
* [[HowTo:Add Descriptions|Putting ship and goods descriptions into the game]]&lt;br /&gt;
**[[HowTo:Edit master_part_list.csv|Editing the Master_part_list.csv file]]&lt;br /&gt;
* [[HowTo:Edit Systems|Creating or editing star systems]]&lt;br /&gt;
* [[HowTo:Make Splash Screens|Making splash screens that display at startup]]&lt;br /&gt;
* [[HowTo:Edit faction relationships|Edit the relationships between the existing factions]] (the &amp;lt;code&amp;gt;factions.xml&amp;lt;/code&amp;gt; file)&lt;br /&gt;
* [[HowTo:Add Upgrades|Adding new upgrades to the game]]&lt;br /&gt;
* [[HowTo:Nav Computer Interface|Edit the navigation computer interface]]&lt;br /&gt;
&lt;br /&gt;
=== Events ===&lt;br /&gt;
* [[HowTo:Add Conversations|Adding more conversation lines to the game]]&lt;br /&gt;
* [[HowTo:Edit News|Creating or editing news events]]&lt;br /&gt;
* [[HowTo:Edit AI|Creating or editing Ship AI's]]&lt;br /&gt;
&lt;br /&gt;
===Configuration ===&lt;br /&gt;
* [[Manual:Config:Advanced:Variables|Configuration Variables]]&lt;br /&gt;
* [[CONFVAR|CONFVAR - Complete Variable Listing]]&lt;br /&gt;
&lt;br /&gt;
===Internationalization/Localisation-related===&lt;br /&gt;
* [[Development:Translations|Translation projects]]&lt;br /&gt;
&lt;br /&gt;
=== Modding Tools ===&lt;br /&gt;
* [[Development:Scripts &amp;amp; Tools|Scripts &amp;amp; Tools]] - to make your life easier&lt;br /&gt;
** [[Development:Tools:UnitConverter|Unit Converter Manual]] - tool to convert Wavefront obj files to bfxm format including texture conversion, units stats editor, and visualization with Vega Strike.&lt;br /&gt;
** [[Development:Script:obj2obj converter|obj2obj converter]] (Perl, commandline) - Converts obj files to cockpit files. or extracts tag-data from the models. (''At least that's what is planned, Testing under Win32/Linux. [[User:pontiac|Pontiac]]'')&lt;br /&gt;
* [[OOG_Tools|Out-Of-Game Player Tools]]&lt;br /&gt;
&lt;br /&gt;
=== Front End ===&lt;br /&gt;
* [[HowTo:Take Screenshots|Taking really awesome screenshots]]&lt;br /&gt;
&lt;br /&gt;
= Vega Strike The Game Mechanisms =&lt;br /&gt;
* [[Development:Realism vs Believability|Realism vs Believability]]&lt;br /&gt;
* [[Development:Economy|Economy]] - How ingame economy should work.&lt;br /&gt;
* [[Development:Political system|Political system]]&lt;br /&gt;
&lt;br /&gt;
= Code-related Development =&lt;br /&gt;
* [[Development:Dependencies|Dependencies]] - A guide to system dependencies, broken down by subsystem.&lt;br /&gt;
* [[Development:SVN Tree|SVN Tree]] - A guide to the layout of the Subversion tree.&lt;br /&gt;
* [[Development:Code style|Code style]] -  A guide/manual to write code for Vegastrike that fits in and is readable.&lt;br /&gt;
* [[Development:Network|Network]] - Everything network related goes in here.&lt;br /&gt;
** [[Development:Network:Packet format|Packet format]] - A description of the packet format that had been implemented a few years ago.&lt;br /&gt;
** [[Development:Network:Todo|Todo]] - What still needs to be done.&lt;br /&gt;
** [[Development:Network:Testing|Testing]] - Testing the network code.&lt;br /&gt;
* [[Development:Keyboard layout|Keyboard layout]] - Discuss and display new keyboard layouts here.&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
* [[HowTos]]&lt;br /&gt;
* [[FAQ:Feature_Requests|Feature Requests]]&lt;br /&gt;
* [[Development:Audio#Voice_Acting]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Campaigns&amp;diff=18252</id>
		<title>Development:Campaigns</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Campaigns&amp;diff=18252"/>
				<updated>2011-04-03T14:42:54Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* Nodes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NAV_Manual |&lt;br /&gt;
| previous=[[HowTo:Edit faction relationships|Edit faction relationships]]&lt;br /&gt;
| up=[[HowTos]]&lt;br /&gt;
| next=[[Development:Missions|Edit Missions]]&lt;br /&gt;
}}&lt;br /&gt;
----&lt;br /&gt;
=Editing Campaigns=&lt;br /&gt;
&lt;br /&gt;
'''''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 based campaign 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]].''&lt;br /&gt;
&lt;br /&gt;
An example campaign can be found under the following [http://vegastrike.svn.sourceforge.net/viewvc/vegastrike/trunk/data/modules/campaigns.py?view=markup link]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 mission 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 :-) ).&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 dialog and strings used by all the various campaign 'nodes.'&lt;br /&gt;
&lt;br /&gt;
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. I.e. you might have a branching storyline depending on whether a flight group still exists or not).&lt;br /&gt;
&lt;br /&gt;
Typically, each node contains a mission ... Cargo missions 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).&lt;br /&gt;
&lt;br /&gt;
There was more documentation somewhere, but it appears to have been vanquished. So, ask the inevitable questions!&lt;br /&gt;
&lt;br /&gt;
=Campaign Structure=&lt;br /&gt;
&lt;br /&gt;
==Campaign Integration==&lt;br /&gt;
&lt;br /&gt;
You will need to create a new campaign python file (e.g. ''campaign_mycamp.py''), which then will be integrated into the ''campaigns.py'' with the following additions:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
import campaign_mycampaign&lt;br /&gt;
&lt;br /&gt;
campaignsloaders = [ ...&lt;br /&gt;
  lambda:campaign_mycamp.LoadMyCampaign()&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The basic structure of your new ''campaign_mycamp.py'' file will then be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
import universe&lt;br /&gt;
import campaign_lib&lt;br /&gt;
from campaign_lib import *&lt;br /&gt;
&lt;br /&gt;
### define node dialogs&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
### define fixer sprites&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
def LoadMyCampaign():&lt;br /&gt;
&lt;br /&gt;
  ### define nodes&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
  # savegame_variable (can't contain spaces)&lt;br /&gt;
  vs = Campaign(&amp;quot;campaign_mycamp&amp;quot;)&lt;br /&gt;
  # the starting node.&lt;br /&gt;
  vs.Init(FirstNode)&lt;br /&gt;
&lt;br /&gt;
  ### define node missions&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
  # finalize campaign definition&lt;br /&gt;
  return vs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Campaign Missions =&lt;br /&gt;
&lt;br /&gt;
==Nodes==&lt;br /&gt;
&lt;br /&gt;
There are 2 types of nodes:&lt;br /&gt;
* ''CampaignClickNode(args)'' - here you have to talk to a fixer and accept or reject the proposed mission.&lt;br /&gt;
* ''CampaignNode(args)'' - creates an action, like adding reward or adjusting a faction relation, without fixer intervention.&lt;br /&gt;
* ''CampaignChoiceNode(args)''&lt;br /&gt;
&lt;br /&gt;
Nodes must be initialized first:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
    ThisNode   = CampaignClickNode() # initialize the node&lt;br /&gt;
    ActionNode = CampaignNode()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The nodes are then connected with the last four arguments in the ''MakeMission'' function:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;MakeMission(vs, ... &lt;br /&gt;
    RejectNode, # If you reject the mission twice. &amp;quot;None&amp;quot; means that he continues asking you forever until you accept&lt;br /&gt;
    LoseNode, # Node if you lose the mission&lt;br /&gt;
    WinNode, # Node if you win the mission&lt;br /&gt;
    ThisNode) # The node for this mission &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The complete mission statement and the different types of mission nodes that can be created are described in the following section. Further down, you will find the singular structure of the arguments.&lt;br /&gt;
&lt;br /&gt;
==MakeMission Node==&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;MakeMission(savegame_variable, fixer_sprite, start_location, end_location, click_script, &lt;br /&gt;
mission_script, mission_arguments, completion_script, dialog_dictionary, reject_node, lose_node, &lt;br /&gt;
win_node, this_node)&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MakeCargoMission Node==&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;MakeCargoMission(savegame_variable, fixer_sprite, start_location, end_location, &lt;br /&gt;
click_script, mission_script, mission_arguments, completion_script, dialog_dictionary, &lt;br /&gt;
reject_node, lose_node, win_node, this_node)&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MakeNoFailureCargoMission Node==&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;MakeNoFailureCargoMission(savegame_variable, fixer_sprite, start_location, end_location, &lt;br /&gt;
click_script, mission_script, mission_arguments, completion_script, dialog_dictionary, &lt;br /&gt;
reject_node, lose_node, win_node, this_node)&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Init Node==&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;NodeName.Init(savegame_variable, start_location, dialog_dictionary, fixer_sprite, &lt;br /&gt;
subnode_script, completion_script, next_node)&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mission Arguments==&lt;br /&gt;
&lt;br /&gt;
* '''savegame_variable''' - usually ''vs''&lt;br /&gt;
* '''fixer_sprite''' - sprite file for the fixer in the form (sprite_path, display_name, full_screen_sprite), e.g. ''(&amp;quot;campaign/captain.sprite&amp;quot;,&amp;quot;Talk_To_The_Captain&amp;quot;,&amp;quot;campaign/heads/captain.sprite&amp;quot;)''&lt;br /&gt;
* '''start_location''' - a command for location checking containing a tuple with (sector/system, base), e.g. ''[InSystemCondition(&amp;quot;Crucible/Cephid_17&amp;quot;,&amp;quot;Serenity&amp;quot;)]''&lt;br /&gt;
* '''end_location''' - same format as start_location&lt;br /&gt;
* '''click_script''' - script to be run as you click on the fixer. A common use is to ''AddCredits()'' for the previous mission.&lt;br /&gt;
* '''mission_script''' - script to be run to start the mission (usually ''None'' if you don't have a script, but ambush is also common.)&lt;br /&gt;
* '''mission_arguments''' - depend on the mission. E.g. for cargo mission you will give the loaded cargo as arguments: ''(&amp;quot;Recycled_Plastics&amp;quot;,50,False)''&lt;br /&gt;
* '''completion_script''' - script to be set on completion (-1=Failure, 0=Not Accepted, 1=Succeed, 2=In progress), often just ''vs.name+&amp;quot;_mission&amp;quot;''&lt;br /&gt;
* '''dialog_dictionary''' - the lines that the fixer says: a dictionary with {dialog_type, dialog_lines_list}, see structure description further down&lt;br /&gt;
* '''reject_node''' - name of the node if you reject the mission twice. &amp;quot;None&amp;quot; means that fixer continues asking you forever until you accept&lt;br /&gt;
* '''lose_node''' - next node if you are unsuccessful in the mission&lt;br /&gt;
* '''win_node''' - next node if you successfully complete the mission&lt;br /&gt;
* '''this_node''' - name of the node for this mission, e.g. ''FirstNode''&lt;br /&gt;
&lt;br /&gt;
= Subnodes =&lt;br /&gt;
&lt;br /&gt;
* TrueSubnode&lt;br /&gt;
* GoToSubnode&lt;br /&gt;
* GoToSubnodeIfTrue&lt;br /&gt;
* TrueBackwardsSubnode&lt;br /&gt;
&lt;br /&gt;
= Conditions =&lt;br /&gt;
&lt;br /&gt;
* SaveVariableCondition&lt;br /&gt;
* HaveCredits&lt;br /&gt;
* InSystemCondition&lt;br /&gt;
* HasUndocked&lt;br /&gt;
* CargoSpaceCondition&lt;br /&gt;
* AtMostActiveMissionsCondition&lt;br /&gt;
* AtLeastActiveMissionsCondition&lt;br /&gt;
* OrCondition&lt;br /&gt;
* AndCondition&lt;br /&gt;
* InvertCondition&lt;br /&gt;
&lt;br /&gt;
= Scripts =&lt;br /&gt;
&lt;br /&gt;
Scripts and script arguments can be seen in ''data/modules/campaign_lib.py''.&lt;br /&gt;
The usual arguments are: (scriptarguments, nextscript), where the next script can be omitted and is nested as the last script argument.&lt;br /&gt;
&lt;br /&gt;
* AddCredits(numcreds,nextscript)&lt;br /&gt;
* AddCargo(name,num,missionflag,nextscript)&lt;br /&gt;
* RemoveCargo(name,num,missionflag,nextscript)&lt;br /&gt;
* SetSaveVariable(varname,varvalue,nextscript)&lt;br /&gt;
* IncSaveVariable(varname,nextscript)&lt;br /&gt;
* AddTechnology(technology,nextscript)&lt;br /&gt;
* AdjustRelation(us,them,change,nextscript)&lt;br /&gt;
* ClearFactionRecord(fac,newrelation,nextscript)&lt;br /&gt;
* ClearRecord(nextscript)&lt;br /&gt;
* PushRelation(faction,nextscript)&lt;br /&gt;
* PopRelation(faction,nextscript)&lt;br /&gt;
* LaunchWingmen(faction,shiptype,num,nextscript)&lt;br /&gt;
* ChangeSystemOwner(system,faction,nextscript)&lt;br /&gt;
* SaveVariableGreaterScript(var,val,nextscript)&lt;br /&gt;
* DisplayTextIfTrueScript(text,nextscript)&lt;br /&gt;
* RemoveCredits(numcreds,nextscript)&lt;br /&gt;
* SetCredits(numcreds,nextscript)&lt;br /&gt;
* PushCredits(nextscript)&lt;br /&gt;
* PopCredits(nextscript)&lt;br /&gt;
* PushNews(story,nextscript)&lt;br /&gt;
* LoadMission(name,missionname,missionargs,nextscript=None,briefing='',briefing_done='',vars=None,vars_done=None)&lt;br /&gt;
* AddSprite(name,sprite,pos,nextscript)&lt;br /&gt;
* AddPythonSprite(name,sprite,center_position,widthheight,text,python,nextscript)&lt;br /&gt;
* AddRemovingSprite&lt;br /&gt;
* AddConversationStoppingSprite&lt;br /&gt;
* GoToSubnodeIfTrue&lt;br /&gt;
* TrueSubnode&lt;br /&gt;
* TrueBackwardsSubnode&lt;br /&gt;
* GoToSubnode&lt;br /&gt;
&lt;br /&gt;
Remarks:&lt;br /&gt;
* relation is saved as two bidirectional values ranging from -0.5 to 1.0 in a variable &amp;quot;Relation_to_''factionname''&amp;quot; with two float values appended. One is the players relation to that faction, the second is the faction relation to the player.&lt;br /&gt;
&lt;br /&gt;
= Dialogs =&lt;br /&gt;
&lt;br /&gt;
The structure for the ''dialog_dictionary'' is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
dialog_dictionary = { &lt;br /&gt;
  &amp;quot;intro&amp;quot;:     [conversation],&lt;br /&gt;
  &amp;quot;reject1&amp;quot;:   [conversation],&lt;br /&gt;
  &amp;quot;reconsider&amp;quot;:[conversation],&lt;br /&gt;
  &amp;quot;reject2&amp;quot;:   [conversation],&lt;br /&gt;
  &amp;quot;accept&amp;quot;:    [conversation],&lt;br /&gt;
  &amp;quot;accept2&amp;quot;:   [conversation],&lt;br /&gt;
  &amp;quot;reminder&amp;quot;:  [conversation],&lt;br /&gt;
  &amp;quot;failure&amp;quot;:   [conversation],&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
with:&lt;br /&gt;
conversation = (speaker1, line1, ...), (speaker2, line1, ...), ..., soundfile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For Init Nodes you will supply only one ''[conversation]''.&lt;br /&gt;
&lt;br /&gt;
= Examples =&lt;br /&gt;
&lt;br /&gt;
==The first major campaign written (Jenek)==&lt;br /&gt;
&lt;br /&gt;
See also the [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=3246 forum thread] (comments &amp;amp; feedback) when this mission was first put into SVN.&lt;br /&gt;
{{Fixme}} Improve/expand it?&lt;br /&gt;
&lt;br /&gt;
==Ending Node with AddCredits and AdjustRelation==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
    FinalNode.Init(vs, # savegame variable&lt;br /&gt;
        [], #start location&lt;br /&gt;
        [], #dialog&lt;br /&gt;
        None, # fixer sprite&lt;br /&gt;
        TrueSubnode(AddCredits(100000,AdjustRelation(&amp;quot;privateer&amp;quot;,&amp;quot;pirates&amp;quot;,0.01))), # subnode script&lt;br /&gt;
        None, # completion script&lt;br /&gt;
        [CampaignEndNode(vs)]) # continue with next mission&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
* [[Development:Missions|Editing Missions]]&lt;br /&gt;
* [[HowTo:Add_Conversations|Adding Conversations]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
{{NAV_Manual |&lt;br /&gt;
| previous=[[HowTo:Edit faction relationships|Edit faction relationships]]&lt;br /&gt;
| up=[[HowTos]]&lt;br /&gt;
| next=[[Development:Missions|Edit Missions]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTos|Edit Campaigns]]&lt;br /&gt;
[[Category:Development|Edit Campaigns]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Campaigns&amp;diff=18251</id>
		<title>Development:Campaigns</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Campaigns&amp;diff=18251"/>
				<updated>2011-04-03T14:35:37Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* Conditions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NAV_Manual |&lt;br /&gt;
| previous=[[HowTo:Edit faction relationships|Edit faction relationships]]&lt;br /&gt;
| up=[[HowTos]]&lt;br /&gt;
| next=[[Development:Missions|Edit Missions]]&lt;br /&gt;
}}&lt;br /&gt;
----&lt;br /&gt;
=Editing Campaigns=&lt;br /&gt;
&lt;br /&gt;
'''''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 based campaign 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]].''&lt;br /&gt;
&lt;br /&gt;
An example campaign can be found under the following [http://vegastrike.svn.sourceforge.net/viewvc/vegastrike/trunk/data/modules/campaigns.py?view=markup link]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 mission 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 :-) ).&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 dialog and strings used by all the various campaign 'nodes.'&lt;br /&gt;
&lt;br /&gt;
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. I.e. you might have a branching storyline depending on whether a flight group still exists or not).&lt;br /&gt;
&lt;br /&gt;
Typically, each node contains a mission ... Cargo missions 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).&lt;br /&gt;
&lt;br /&gt;
There was more documentation somewhere, but it appears to have been vanquished. So, ask the inevitable questions!&lt;br /&gt;
&lt;br /&gt;
=Campaign Structure=&lt;br /&gt;
&lt;br /&gt;
==Campaign Integration==&lt;br /&gt;
&lt;br /&gt;
You will need to create a new campaign python file (e.g. ''campaign_mycamp.py''), which then will be integrated into the ''campaigns.py'' with the following additions:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
import campaign_mycampaign&lt;br /&gt;
&lt;br /&gt;
campaignsloaders = [ ...&lt;br /&gt;
  lambda:campaign_mycamp.LoadMyCampaign()&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The basic structure of your new ''campaign_mycamp.py'' file will then be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
import universe&lt;br /&gt;
import campaign_lib&lt;br /&gt;
from campaign_lib import *&lt;br /&gt;
&lt;br /&gt;
### define node dialogs&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
### define fixer sprites&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
def LoadMyCampaign():&lt;br /&gt;
&lt;br /&gt;
  ### define nodes&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
  # savegame_variable (can't contain spaces)&lt;br /&gt;
  vs = Campaign(&amp;quot;campaign_mycamp&amp;quot;)&lt;br /&gt;
  # the starting node.&lt;br /&gt;
  vs.Init(FirstNode)&lt;br /&gt;
&lt;br /&gt;
  ### define node missions&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
  # finalize campaign definition&lt;br /&gt;
  return vs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Campaign Missions =&lt;br /&gt;
&lt;br /&gt;
==Nodes==&lt;br /&gt;
&lt;br /&gt;
There are 2 types of nodes:&lt;br /&gt;
* ''CampaignClickNode()'' - here you have to talk to a fixer and accept or reject the proposed mission.&lt;br /&gt;
* ''CampaignNode()'' - creates an action, like adding reward or adjusting a faction relation, without fixer intervention.&lt;br /&gt;
&lt;br /&gt;
Nodes must be initialized first:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
    ThisNode   = CampaignClickNode() # initialize the node&lt;br /&gt;
    ActionNode = CampaignNode()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The nodes are then connected with the last four arguments in the ''MakeMission'' function:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;MakeMission(vs, ... &lt;br /&gt;
    RejectNode, # If you reject the mission twice. &amp;quot;None&amp;quot; means that he continues asking you forever until you accept&lt;br /&gt;
    LoseNode, # Node if you lose the mission&lt;br /&gt;
    WinNode, # Node if you win the mission&lt;br /&gt;
    ThisNode) # The node for this mission &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The complete mission statement and the different types of mission nodes that can be created are described in the following section. Further down, you will find the singular structure of the arguments.&lt;br /&gt;
&lt;br /&gt;
==MakeMission Node==&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;MakeMission(savegame_variable, fixer_sprite, start_location, end_location, click_script, &lt;br /&gt;
mission_script, mission_arguments, completion_script, dialog_dictionary, reject_node, lose_node, &lt;br /&gt;
win_node, this_node)&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MakeCargoMission Node==&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;MakeCargoMission(savegame_variable, fixer_sprite, start_location, end_location, &lt;br /&gt;
click_script, mission_script, mission_arguments, completion_script, dialog_dictionary, &lt;br /&gt;
reject_node, lose_node, win_node, this_node)&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MakeNoFailureCargoMission Node==&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;MakeNoFailureCargoMission(savegame_variable, fixer_sprite, start_location, end_location, &lt;br /&gt;
click_script, mission_script, mission_arguments, completion_script, dialog_dictionary, &lt;br /&gt;
reject_node, lose_node, win_node, this_node)&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Init Node==&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;NodeName.Init(savegame_variable, start_location, dialog_dictionary, fixer_sprite, &lt;br /&gt;
subnode_script, completion_script, next_node)&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mission Arguments==&lt;br /&gt;
&lt;br /&gt;
* '''savegame_variable''' - usually ''vs''&lt;br /&gt;
* '''fixer_sprite''' - sprite file for the fixer in the form (sprite_path, display_name, full_screen_sprite), e.g. ''(&amp;quot;campaign/captain.sprite&amp;quot;,&amp;quot;Talk_To_The_Captain&amp;quot;,&amp;quot;campaign/heads/captain.sprite&amp;quot;)''&lt;br /&gt;
* '''start_location''' - a command for location checking containing a tuple with (sector/system, base), e.g. ''[InSystemCondition(&amp;quot;Crucible/Cephid_17&amp;quot;,&amp;quot;Serenity&amp;quot;)]''&lt;br /&gt;
* '''end_location''' - same format as start_location&lt;br /&gt;
* '''click_script''' - script to be run as you click on the fixer. A common use is to ''AddCredits()'' for the previous mission.&lt;br /&gt;
* '''mission_script''' - script to be run to start the mission (usually ''None'' if you don't have a script, but ambush is also common.)&lt;br /&gt;
* '''mission_arguments''' - depend on the mission. E.g. for cargo mission you will give the loaded cargo as arguments: ''(&amp;quot;Recycled_Plastics&amp;quot;,50,False)''&lt;br /&gt;
* '''completion_script''' - script to be set on completion (-1=Failure, 0=Not Accepted, 1=Succeed, 2=In progress), often just ''vs.name+&amp;quot;_mission&amp;quot;''&lt;br /&gt;
* '''dialog_dictionary''' - the lines that the fixer says: a dictionary with {dialog_type, dialog_lines_list}, see structure description further down&lt;br /&gt;
* '''reject_node''' - name of the node if you reject the mission twice. &amp;quot;None&amp;quot; means that fixer continues asking you forever until you accept&lt;br /&gt;
* '''lose_node''' - next node if you are unsuccessful in the mission&lt;br /&gt;
* '''win_node''' - next node if you successfully complete the mission&lt;br /&gt;
* '''this_node''' - name of the node for this mission, e.g. ''FirstNode''&lt;br /&gt;
&lt;br /&gt;
= Subnodes =&lt;br /&gt;
&lt;br /&gt;
* TrueSubnode&lt;br /&gt;
* GoToSubnode&lt;br /&gt;
* GoToSubnodeIfTrue&lt;br /&gt;
* TrueBackwardsSubnode&lt;br /&gt;
&lt;br /&gt;
= Conditions =&lt;br /&gt;
&lt;br /&gt;
* SaveVariableCondition&lt;br /&gt;
* HaveCredits&lt;br /&gt;
* InSystemCondition&lt;br /&gt;
* HasUndocked&lt;br /&gt;
* CargoSpaceCondition&lt;br /&gt;
* AtMostActiveMissionsCondition&lt;br /&gt;
* AtLeastActiveMissionsCondition&lt;br /&gt;
* OrCondition&lt;br /&gt;
* AndCondition&lt;br /&gt;
* InvertCondition&lt;br /&gt;
&lt;br /&gt;
= Scripts =&lt;br /&gt;
&lt;br /&gt;
Scripts and script arguments can be seen in ''data/modules/campaign_lib.py''.&lt;br /&gt;
The usual arguments are: (scriptarguments, nextscript), where the next script can be omitted and is nested as the last script argument.&lt;br /&gt;
&lt;br /&gt;
* AddCredits(numcreds,nextscript)&lt;br /&gt;
* AddCargo(name,num,missionflag,nextscript)&lt;br /&gt;
* RemoveCargo(name,num,missionflag,nextscript)&lt;br /&gt;
* SetSaveVariable(varname,varvalue,nextscript)&lt;br /&gt;
* IncSaveVariable(varname,nextscript)&lt;br /&gt;
* AddTechnology(technology,nextscript)&lt;br /&gt;
* AdjustRelation(us,them,change,nextscript)&lt;br /&gt;
* ClearFactionRecord(fac,newrelation,nextscript)&lt;br /&gt;
* ClearRecord(nextscript)&lt;br /&gt;
* PushRelation(faction,nextscript)&lt;br /&gt;
* PopRelation(faction,nextscript)&lt;br /&gt;
* LaunchWingmen(faction,shiptype,num,nextscript)&lt;br /&gt;
* ChangeSystemOwner(system,faction,nextscript)&lt;br /&gt;
* SaveVariableGreaterScript(var,val,nextscript)&lt;br /&gt;
* DisplayTextIfTrueScript(text,nextscript)&lt;br /&gt;
* RemoveCredits(numcreds,nextscript)&lt;br /&gt;
* SetCredits(numcreds,nextscript)&lt;br /&gt;
* PushCredits(nextscript)&lt;br /&gt;
* PopCredits(nextscript)&lt;br /&gt;
* PushNews(story,nextscript)&lt;br /&gt;
* LoadMission(name,missionname,missionargs,nextscript=None,briefing='',briefing_done='',vars=None,vars_done=None)&lt;br /&gt;
* AddSprite(name,sprite,pos,nextscript)&lt;br /&gt;
* AddPythonSprite(name,sprite,center_position,widthheight,text,python,nextscript)&lt;br /&gt;
* AddRemovingSprite&lt;br /&gt;
* AddConversationStoppingSprite&lt;br /&gt;
* GoToSubnodeIfTrue&lt;br /&gt;
* TrueSubnode&lt;br /&gt;
* TrueBackwardsSubnode&lt;br /&gt;
* GoToSubnode&lt;br /&gt;
&lt;br /&gt;
Remarks:&lt;br /&gt;
* relation is saved as two bidirectional values ranging from -0.5 to 1.0 in a variable &amp;quot;Relation_to_''factionname''&amp;quot; with two float values appended. One is the players relation to that faction, the second is the faction relation to the player.&lt;br /&gt;
&lt;br /&gt;
= Dialogs =&lt;br /&gt;
&lt;br /&gt;
The structure for the ''dialog_dictionary'' is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
dialog_dictionary = { &lt;br /&gt;
  &amp;quot;intro&amp;quot;:     [conversation],&lt;br /&gt;
  &amp;quot;reject1&amp;quot;:   [conversation],&lt;br /&gt;
  &amp;quot;reconsider&amp;quot;:[conversation],&lt;br /&gt;
  &amp;quot;reject2&amp;quot;:   [conversation],&lt;br /&gt;
  &amp;quot;accept&amp;quot;:    [conversation],&lt;br /&gt;
  &amp;quot;accept2&amp;quot;:   [conversation],&lt;br /&gt;
  &amp;quot;reminder&amp;quot;:  [conversation],&lt;br /&gt;
  &amp;quot;failure&amp;quot;:   [conversation],&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
with:&lt;br /&gt;
conversation = (speaker1, line1, ...), (speaker2, line1, ...), ..., soundfile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For Init Nodes you will supply only one ''[conversation]''.&lt;br /&gt;
&lt;br /&gt;
= Examples =&lt;br /&gt;
&lt;br /&gt;
==The first major campaign written (Jenek)==&lt;br /&gt;
&lt;br /&gt;
See also the [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=3246 forum thread] (comments &amp;amp; feedback) when this mission was first put into SVN.&lt;br /&gt;
{{Fixme}} Improve/expand it?&lt;br /&gt;
&lt;br /&gt;
==Ending Node with AddCredits and AdjustRelation==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
    FinalNode.Init(vs, # savegame variable&lt;br /&gt;
        [], #start location&lt;br /&gt;
        [], #dialog&lt;br /&gt;
        None, # fixer sprite&lt;br /&gt;
        TrueSubnode(AddCredits(100000,AdjustRelation(&amp;quot;privateer&amp;quot;,&amp;quot;pirates&amp;quot;,0.01))), # subnode script&lt;br /&gt;
        None, # completion script&lt;br /&gt;
        [CampaignEndNode(vs)]) # continue with next mission&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
* [[Development:Missions|Editing Missions]]&lt;br /&gt;
* [[HowTo:Add_Conversations|Adding Conversations]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
{{NAV_Manual |&lt;br /&gt;
| previous=[[HowTo:Edit faction relationships|Edit faction relationships]]&lt;br /&gt;
| up=[[HowTos]]&lt;br /&gt;
| next=[[Development:Missions|Edit Missions]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTos|Edit Campaigns]]&lt;br /&gt;
[[Category:Development|Edit Campaigns]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Campaigns&amp;diff=18250</id>
		<title>Development:Campaigns</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Campaigns&amp;diff=18250"/>
				<updated>2011-04-03T14:32:45Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* Nodes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NAV_Manual |&lt;br /&gt;
| previous=[[HowTo:Edit faction relationships|Edit faction relationships]]&lt;br /&gt;
| up=[[HowTos]]&lt;br /&gt;
| next=[[Development:Missions|Edit Missions]]&lt;br /&gt;
}}&lt;br /&gt;
----&lt;br /&gt;
=Editing Campaigns=&lt;br /&gt;
&lt;br /&gt;
'''''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 based campaign 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]].''&lt;br /&gt;
&lt;br /&gt;
An example campaign can be found under the following [http://vegastrike.svn.sourceforge.net/viewvc/vegastrike/trunk/data/modules/campaigns.py?view=markup link]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 mission 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 :-) ).&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 dialog and strings used by all the various campaign 'nodes.'&lt;br /&gt;
&lt;br /&gt;
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. I.e. you might have a branching storyline depending on whether a flight group still exists or not).&lt;br /&gt;
&lt;br /&gt;
Typically, each node contains a mission ... Cargo missions 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).&lt;br /&gt;
&lt;br /&gt;
There was more documentation somewhere, but it appears to have been vanquished. So, ask the inevitable questions!&lt;br /&gt;
&lt;br /&gt;
=Campaign Structure=&lt;br /&gt;
&lt;br /&gt;
==Campaign Integration==&lt;br /&gt;
&lt;br /&gt;
You will need to create a new campaign python file (e.g. ''campaign_mycamp.py''), which then will be integrated into the ''campaigns.py'' with the following additions:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
import campaign_mycampaign&lt;br /&gt;
&lt;br /&gt;
campaignsloaders = [ ...&lt;br /&gt;
  lambda:campaign_mycamp.LoadMyCampaign()&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The basic structure of your new ''campaign_mycamp.py'' file will then be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
import universe&lt;br /&gt;
import campaign_lib&lt;br /&gt;
from campaign_lib import *&lt;br /&gt;
&lt;br /&gt;
### define node dialogs&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
### define fixer sprites&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
def LoadMyCampaign():&lt;br /&gt;
&lt;br /&gt;
  ### define nodes&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
  # savegame_variable (can't contain spaces)&lt;br /&gt;
  vs = Campaign(&amp;quot;campaign_mycamp&amp;quot;)&lt;br /&gt;
  # the starting node.&lt;br /&gt;
  vs.Init(FirstNode)&lt;br /&gt;
&lt;br /&gt;
  ### define node missions&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
  # finalize campaign definition&lt;br /&gt;
  return vs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Campaign Missions =&lt;br /&gt;
&lt;br /&gt;
==Nodes==&lt;br /&gt;
&lt;br /&gt;
There are 2 types of nodes:&lt;br /&gt;
* ''CampaignClickNode()'' - here you have to talk to a fixer and accept or reject the proposed mission.&lt;br /&gt;
* ''CampaignNode()'' - creates an action, like adding reward or adjusting a faction relation, without fixer intervention.&lt;br /&gt;
&lt;br /&gt;
Nodes must be initialized first:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
    ThisNode   = CampaignClickNode() # initialize the node&lt;br /&gt;
    ActionNode = CampaignNode()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The nodes are then connected with the last four arguments in the ''MakeMission'' function:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;MakeMission(vs, ... &lt;br /&gt;
    RejectNode, # If you reject the mission twice. &amp;quot;None&amp;quot; means that he continues asking you forever until you accept&lt;br /&gt;
    LoseNode, # Node if you lose the mission&lt;br /&gt;
    WinNode, # Node if you win the mission&lt;br /&gt;
    ThisNode) # The node for this mission &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The complete mission statement and the different types of mission nodes that can be created are described in the following section. Further down, you will find the singular structure of the arguments.&lt;br /&gt;
&lt;br /&gt;
==MakeMission Node==&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;MakeMission(savegame_variable, fixer_sprite, start_location, end_location, click_script, &lt;br /&gt;
mission_script, mission_arguments, completion_script, dialog_dictionary, reject_node, lose_node, &lt;br /&gt;
win_node, this_node)&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MakeCargoMission Node==&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;MakeCargoMission(savegame_variable, fixer_sprite, start_location, end_location, &lt;br /&gt;
click_script, mission_script, mission_arguments, completion_script, dialog_dictionary, &lt;br /&gt;
reject_node, lose_node, win_node, this_node)&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MakeNoFailureCargoMission Node==&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;MakeNoFailureCargoMission(savegame_variable, fixer_sprite, start_location, end_location, &lt;br /&gt;
click_script, mission_script, mission_arguments, completion_script, dialog_dictionary, &lt;br /&gt;
reject_node, lose_node, win_node, this_node)&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Init Node==&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;NodeName.Init(savegame_variable, start_location, dialog_dictionary, fixer_sprite, &lt;br /&gt;
subnode_script, completion_script, next_node)&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mission Arguments==&lt;br /&gt;
&lt;br /&gt;
* '''savegame_variable''' - usually ''vs''&lt;br /&gt;
* '''fixer_sprite''' - sprite file for the fixer in the form (sprite_path, display_name, full_screen_sprite), e.g. ''(&amp;quot;campaign/captain.sprite&amp;quot;,&amp;quot;Talk_To_The_Captain&amp;quot;,&amp;quot;campaign/heads/captain.sprite&amp;quot;)''&lt;br /&gt;
* '''start_location''' - a command for location checking containing a tuple with (sector/system, base), e.g. ''[InSystemCondition(&amp;quot;Crucible/Cephid_17&amp;quot;,&amp;quot;Serenity&amp;quot;)]''&lt;br /&gt;
* '''end_location''' - same format as start_location&lt;br /&gt;
* '''click_script''' - script to be run as you click on the fixer. A common use is to ''AddCredits()'' for the previous mission.&lt;br /&gt;
* '''mission_script''' - script to be run to start the mission (usually ''None'' if you don't have a script, but ambush is also common.)&lt;br /&gt;
* '''mission_arguments''' - depend on the mission. E.g. for cargo mission you will give the loaded cargo as arguments: ''(&amp;quot;Recycled_Plastics&amp;quot;,50,False)''&lt;br /&gt;
* '''completion_script''' - script to be set on completion (-1=Failure, 0=Not Accepted, 1=Succeed, 2=In progress), often just ''vs.name+&amp;quot;_mission&amp;quot;''&lt;br /&gt;
* '''dialog_dictionary''' - the lines that the fixer says: a dictionary with {dialog_type, dialog_lines_list}, see structure description further down&lt;br /&gt;
* '''reject_node''' - name of the node if you reject the mission twice. &amp;quot;None&amp;quot; means that fixer continues asking you forever until you accept&lt;br /&gt;
* '''lose_node''' - next node if you are unsuccessful in the mission&lt;br /&gt;
* '''win_node''' - next node if you successfully complete the mission&lt;br /&gt;
* '''this_node''' - name of the node for this mission, e.g. ''FirstNode''&lt;br /&gt;
&lt;br /&gt;
= Subnodes =&lt;br /&gt;
&lt;br /&gt;
* TrueSubnode&lt;br /&gt;
* GoToSubnode&lt;br /&gt;
* GoToSubnodeIfTrue&lt;br /&gt;
* TrueBackwardsSubnode&lt;br /&gt;
&lt;br /&gt;
= Conditions =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Scripts =&lt;br /&gt;
&lt;br /&gt;
Scripts and script arguments can be seen in ''data/modules/campaign_lib.py''.&lt;br /&gt;
The usual arguments are: (scriptarguments, nextscript), where the next script can be omitted and is nested as the last script argument.&lt;br /&gt;
&lt;br /&gt;
* AddCredits(numcreds,nextscript)&lt;br /&gt;
* AddCargo(name,num,missionflag,nextscript)&lt;br /&gt;
* RemoveCargo(name,num,missionflag,nextscript)&lt;br /&gt;
* SetSaveVariable(varname,varvalue,nextscript)&lt;br /&gt;
* IncSaveVariable(varname,nextscript)&lt;br /&gt;
* AddTechnology(technology,nextscript)&lt;br /&gt;
* AdjustRelation(us,them,change,nextscript)&lt;br /&gt;
* ClearFactionRecord(fac,newrelation,nextscript)&lt;br /&gt;
* ClearRecord(nextscript)&lt;br /&gt;
* PushRelation(faction,nextscript)&lt;br /&gt;
* PopRelation(faction,nextscript)&lt;br /&gt;
* LaunchWingmen(faction,shiptype,num,nextscript)&lt;br /&gt;
* ChangeSystemOwner(system,faction,nextscript)&lt;br /&gt;
* SaveVariableGreaterScript(var,val,nextscript)&lt;br /&gt;
* DisplayTextIfTrueScript(text,nextscript)&lt;br /&gt;
* RemoveCredits(numcreds,nextscript)&lt;br /&gt;
* SetCredits(numcreds,nextscript)&lt;br /&gt;
* PushCredits(nextscript)&lt;br /&gt;
* PopCredits(nextscript)&lt;br /&gt;
* PushNews(story,nextscript)&lt;br /&gt;
* LoadMission(name,missionname,missionargs,nextscript=None,briefing='',briefing_done='',vars=None,vars_done=None)&lt;br /&gt;
* AddSprite(name,sprite,pos,nextscript)&lt;br /&gt;
* AddPythonSprite(name,sprite,center_position,widthheight,text,python,nextscript)&lt;br /&gt;
* AddRemovingSprite&lt;br /&gt;
* AddConversationStoppingSprite&lt;br /&gt;
* GoToSubnodeIfTrue&lt;br /&gt;
* TrueSubnode&lt;br /&gt;
* TrueBackwardsSubnode&lt;br /&gt;
* GoToSubnode&lt;br /&gt;
&lt;br /&gt;
Remarks:&lt;br /&gt;
* relation is saved as two bidirectional values ranging from -0.5 to 1.0 in a variable &amp;quot;Relation_to_''factionname''&amp;quot; with two float values appended. One is the players relation to that faction, the second is the faction relation to the player.&lt;br /&gt;
&lt;br /&gt;
= Dialogs =&lt;br /&gt;
&lt;br /&gt;
The structure for the ''dialog_dictionary'' is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
dialog_dictionary = { &lt;br /&gt;
  &amp;quot;intro&amp;quot;:     [conversation],&lt;br /&gt;
  &amp;quot;reject1&amp;quot;:   [conversation],&lt;br /&gt;
  &amp;quot;reconsider&amp;quot;:[conversation],&lt;br /&gt;
  &amp;quot;reject2&amp;quot;:   [conversation],&lt;br /&gt;
  &amp;quot;accept&amp;quot;:    [conversation],&lt;br /&gt;
  &amp;quot;accept2&amp;quot;:   [conversation],&lt;br /&gt;
  &amp;quot;reminder&amp;quot;:  [conversation],&lt;br /&gt;
  &amp;quot;failure&amp;quot;:   [conversation],&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
with:&lt;br /&gt;
conversation = (speaker1, line1, ...), (speaker2, line1, ...), ..., soundfile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For Init Nodes you will supply only one ''[conversation]''.&lt;br /&gt;
&lt;br /&gt;
= Examples =&lt;br /&gt;
&lt;br /&gt;
==The first major campaign written (Jenek)==&lt;br /&gt;
&lt;br /&gt;
See also the [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=3246 forum thread] (comments &amp;amp; feedback) when this mission was first put into SVN.&lt;br /&gt;
{{Fixme}} Improve/expand it?&lt;br /&gt;
&lt;br /&gt;
==Ending Node with AddCredits and AdjustRelation==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
    FinalNode.Init(vs, # savegame variable&lt;br /&gt;
        [], #start location&lt;br /&gt;
        [], #dialog&lt;br /&gt;
        None, # fixer sprite&lt;br /&gt;
        TrueSubnode(AddCredits(100000,AdjustRelation(&amp;quot;privateer&amp;quot;,&amp;quot;pirates&amp;quot;,0.01))), # subnode script&lt;br /&gt;
        None, # completion script&lt;br /&gt;
        [CampaignEndNode(vs)]) # continue with next mission&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
* [[Development:Missions|Editing Missions]]&lt;br /&gt;
* [[HowTo:Add_Conversations|Adding Conversations]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
{{NAV_Manual |&lt;br /&gt;
| previous=[[HowTo:Edit faction relationships|Edit faction relationships]]&lt;br /&gt;
| up=[[HowTos]]&lt;br /&gt;
| next=[[Development:Missions|Edit Missions]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTos|Edit Campaigns]]&lt;br /&gt;
[[Category:Development|Edit Campaigns]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Campaigns&amp;diff=18249</id>
		<title>Development:Campaigns</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Campaigns&amp;diff=18249"/>
				<updated>2011-04-03T14:23:26Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* Example Campaigns */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NAV_Manual |&lt;br /&gt;
| previous=[[HowTo:Edit faction relationships|Edit faction relationships]]&lt;br /&gt;
| up=[[HowTos]]&lt;br /&gt;
| next=[[Development:Missions|Edit Missions]]&lt;br /&gt;
}}&lt;br /&gt;
----&lt;br /&gt;
=Editing Campaigns=&lt;br /&gt;
&lt;br /&gt;
'''''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 based campaign 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]].''&lt;br /&gt;
&lt;br /&gt;
An example campaign can be found under the following [http://vegastrike.svn.sourceforge.net/viewvc/vegastrike/trunk/data/modules/campaigns.py?view=markup link]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 mission 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 :-) ).&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 dialog and strings used by all the various campaign 'nodes.'&lt;br /&gt;
&lt;br /&gt;
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. I.e. you might have a branching storyline depending on whether a flight group still exists or not).&lt;br /&gt;
&lt;br /&gt;
Typically, each node contains a mission ... Cargo missions 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).&lt;br /&gt;
&lt;br /&gt;
There was more documentation somewhere, but it appears to have been vanquished. So, ask the inevitable questions!&lt;br /&gt;
&lt;br /&gt;
=Campaign Structure=&lt;br /&gt;
&lt;br /&gt;
==Campaign Integration==&lt;br /&gt;
&lt;br /&gt;
You will need to create a new campaign python file (e.g. ''campaign_mycamp.py''), which then will be integrated into the ''campaigns.py'' with the following additions:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
import campaign_mycampaign&lt;br /&gt;
&lt;br /&gt;
campaignsloaders = [ ...&lt;br /&gt;
  lambda:campaign_mycamp.LoadMyCampaign()&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The basic structure of your new ''campaign_mycamp.py'' file will then be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
import universe&lt;br /&gt;
import campaign_lib&lt;br /&gt;
from campaign_lib import *&lt;br /&gt;
&lt;br /&gt;
### define node dialogs&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
### define fixer sprites&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
def LoadMyCampaign():&lt;br /&gt;
&lt;br /&gt;
  ### define nodes&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
  # savegame_variable (can't contain spaces)&lt;br /&gt;
  vs = Campaign(&amp;quot;campaign_mycamp&amp;quot;)&lt;br /&gt;
  # the starting node.&lt;br /&gt;
  vs.Init(FirstNode)&lt;br /&gt;
&lt;br /&gt;
  ### define node missions&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
  # finalize campaign definition&lt;br /&gt;
  return vs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Campaign Missions =&lt;br /&gt;
&lt;br /&gt;
==Nodes==&lt;br /&gt;
&lt;br /&gt;
There are 2 types of nodes:&lt;br /&gt;
* ''CampaignClickNode()'' - here you have to accept or reject the proposed mission&lt;br /&gt;
* ''CampaignNode()'' - creates an action like adding reward&lt;br /&gt;
&lt;br /&gt;
The nodes are then connected with the last four arguments in the ''MakeMission'' function:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;MakeMission(vs, ... &lt;br /&gt;
    RejectNode, # If you reject the mission twice. &amp;quot;None&amp;quot; means that he continues asking you forever until you accept&lt;br /&gt;
    LoseNode, # Node if you lose the mission&lt;br /&gt;
    WinNode, # Node if you win the mission&lt;br /&gt;
    ThisNode) # The node for this mission &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The complete mission statement is described in the following section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The different types of mission nodes that can be created are described here. Further down, you will find the singular structure of the arguments.&lt;br /&gt;
&lt;br /&gt;
==MakeMission Node==&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;MakeMission(savegame_variable, fixer_sprite, start_location, end_location, click_script, &lt;br /&gt;
mission_script, mission_arguments, completion_script, dialog_dictionary, reject_node, lose_node, &lt;br /&gt;
win_node, this_node)&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MakeCargoMission Node==&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;MakeCargoMission(savegame_variable, fixer_sprite, start_location, end_location, &lt;br /&gt;
click_script, mission_script, mission_arguments, completion_script, dialog_dictionary, &lt;br /&gt;
reject_node, lose_node, win_node, this_node)&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MakeNoFailureCargoMission Node==&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;MakeNoFailureCargoMission(savegame_variable, fixer_sprite, start_location, end_location, &lt;br /&gt;
click_script, mission_script, mission_arguments, completion_script, dialog_dictionary, &lt;br /&gt;
reject_node, lose_node, win_node, this_node)&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Init Node==&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;NodeName.Init(savegame_variable, start_location, dialog_dictionary, fixer_sprite, &lt;br /&gt;
subnode_script, completion_script, next_node)&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mission Arguments==&lt;br /&gt;
&lt;br /&gt;
* '''savegame_variable''' - usually ''vs''&lt;br /&gt;
* '''fixer_sprite''' - sprite file for the fixer in the form (sprite_path, display_name, full_screen_sprite), e.g. ''(&amp;quot;campaign/captain.sprite&amp;quot;,&amp;quot;Talk_To_The_Captain&amp;quot;,&amp;quot;campaign/heads/captain.sprite&amp;quot;)''&lt;br /&gt;
* '''start_location''' - a command for location checking containing a tuple with (sector/system, base), e.g. ''[InSystemCondition(&amp;quot;Crucible/Cephid_17&amp;quot;,&amp;quot;Serenity&amp;quot;)]''&lt;br /&gt;
* '''end_location''' - same format as start_location&lt;br /&gt;
* '''click_script''' - script to be run as you click on the fixer. A common use is to ''AddCredits()'' for the previous mission.&lt;br /&gt;
* '''mission_script''' - script to be run to start the mission (usually ''None'' if you don't have a script, but ambush is also common.)&lt;br /&gt;
* '''mission_arguments''' - depend on the mission. E.g. for cargo mission you will give the loaded cargo as arguments: ''(&amp;quot;Recycled_Plastics&amp;quot;,50,False)''&lt;br /&gt;
* '''completion_script''' - script to be set on completion (-1=Failure, 0=Not Accepted, 1=Succeed, 2=In progress), often just ''vs.name+&amp;quot;_mission&amp;quot;''&lt;br /&gt;
* '''dialog_dictionary''' - the lines that the fixer says: a dictionary with {dialog_type, dialog_lines_list}, see structure description further down&lt;br /&gt;
* '''reject_node''' - name of the node if you reject the mission twice. &amp;quot;None&amp;quot; means that fixer continues asking you forever until you accept&lt;br /&gt;
* '''lose_node''' - next node if you are unsuccessful in the mission&lt;br /&gt;
* '''win_node''' - next node if you successfully complete the mission&lt;br /&gt;
* '''this_node''' - name of the node for this mission, e.g. ''FirstNode''&lt;br /&gt;
&lt;br /&gt;
= Subnodes =&lt;br /&gt;
&lt;br /&gt;
* TrueSubnode&lt;br /&gt;
* GoToSubnode&lt;br /&gt;
* GoToSubnodeIfTrue&lt;br /&gt;
* TrueBackwardsSubnode&lt;br /&gt;
&lt;br /&gt;
= Conditions =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Scripts =&lt;br /&gt;
&lt;br /&gt;
Scripts and script arguments can be seen in ''data/modules/campaign_lib.py''.&lt;br /&gt;
The usual arguments are: (scriptarguments, nextscript), where the next script can be omitted and is nested as the last script argument.&lt;br /&gt;
&lt;br /&gt;
* AddCredits(numcreds,nextscript)&lt;br /&gt;
* AddCargo(name,num,missionflag,nextscript)&lt;br /&gt;
* RemoveCargo(name,num,missionflag,nextscript)&lt;br /&gt;
* SetSaveVariable(varname,varvalue,nextscript)&lt;br /&gt;
* IncSaveVariable(varname,nextscript)&lt;br /&gt;
* AddTechnology(technology,nextscript)&lt;br /&gt;
* AdjustRelation(us,them,change,nextscript)&lt;br /&gt;
* ClearFactionRecord(fac,newrelation,nextscript)&lt;br /&gt;
* ClearRecord(nextscript)&lt;br /&gt;
* PushRelation(faction,nextscript)&lt;br /&gt;
* PopRelation(faction,nextscript)&lt;br /&gt;
* LaunchWingmen(faction,shiptype,num,nextscript)&lt;br /&gt;
* ChangeSystemOwner(system,faction,nextscript)&lt;br /&gt;
* SaveVariableGreaterScript(var,val,nextscript)&lt;br /&gt;
* DisplayTextIfTrueScript(text,nextscript)&lt;br /&gt;
* RemoveCredits(numcreds,nextscript)&lt;br /&gt;
* SetCredits(numcreds,nextscript)&lt;br /&gt;
* PushCredits(nextscript)&lt;br /&gt;
* PopCredits(nextscript)&lt;br /&gt;
* PushNews(story,nextscript)&lt;br /&gt;
* LoadMission(name,missionname,missionargs,nextscript=None,briefing='',briefing_done='',vars=None,vars_done=None)&lt;br /&gt;
* AddSprite(name,sprite,pos,nextscript)&lt;br /&gt;
* AddPythonSprite(name,sprite,center_position,widthheight,text,python,nextscript)&lt;br /&gt;
* AddRemovingSprite&lt;br /&gt;
* AddConversationStoppingSprite&lt;br /&gt;
* GoToSubnodeIfTrue&lt;br /&gt;
* TrueSubnode&lt;br /&gt;
* TrueBackwardsSubnode&lt;br /&gt;
* GoToSubnode&lt;br /&gt;
&lt;br /&gt;
Remarks:&lt;br /&gt;
* relation is saved as two bidirectional values ranging from -0.5 to 1.0 in a variable &amp;quot;Relation_to_''factionname''&amp;quot; with two float values appended. One is the players relation to that faction, the second is the faction relation to the player.&lt;br /&gt;
&lt;br /&gt;
= Dialogs =&lt;br /&gt;
&lt;br /&gt;
The structure for the ''dialog_dictionary'' is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
dialog_dictionary = { &lt;br /&gt;
  &amp;quot;intro&amp;quot;:     [conversation],&lt;br /&gt;
  &amp;quot;reject1&amp;quot;:   [conversation],&lt;br /&gt;
  &amp;quot;reconsider&amp;quot;:[conversation],&lt;br /&gt;
  &amp;quot;reject2&amp;quot;:   [conversation],&lt;br /&gt;
  &amp;quot;accept&amp;quot;:    [conversation],&lt;br /&gt;
  &amp;quot;accept2&amp;quot;:   [conversation],&lt;br /&gt;
  &amp;quot;reminder&amp;quot;:  [conversation],&lt;br /&gt;
  &amp;quot;failure&amp;quot;:   [conversation],&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
with:&lt;br /&gt;
conversation = (speaker1, line1, ...), (speaker2, line1, ...), ..., soundfile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For Init Nodes you will supply only one ''[conversation]''.&lt;br /&gt;
&lt;br /&gt;
= Examples =&lt;br /&gt;
&lt;br /&gt;
==The first major campaign written (Jenek)==&lt;br /&gt;
&lt;br /&gt;
See also the [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=3246 forum thread] (comments &amp;amp; feedback) when this mission was first put into SVN.&lt;br /&gt;
{{Fixme}} Improve/expand it?&lt;br /&gt;
&lt;br /&gt;
==Ending Node with AddCredits and AdjustRelation==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
    FinalNode.Init(vs, # savegame variable&lt;br /&gt;
        [], #start location&lt;br /&gt;
        [], #dialog&lt;br /&gt;
        None, # fixer sprite&lt;br /&gt;
        TrueSubnode(AddCredits(100000,AdjustRelation(&amp;quot;privateer&amp;quot;,&amp;quot;pirates&amp;quot;,0.01))), # subnode script&lt;br /&gt;
        None, # completion script&lt;br /&gt;
        [CampaignEndNode(vs)]) # continue with next mission&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
* [[Development:Missions|Editing Missions]]&lt;br /&gt;
* [[HowTo:Add_Conversations|Adding Conversations]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
{{NAV_Manual |&lt;br /&gt;
| previous=[[HowTo:Edit faction relationships|Edit faction relationships]]&lt;br /&gt;
| up=[[HowTos]]&lt;br /&gt;
| next=[[Development:Missions|Edit Missions]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTos|Edit Campaigns]]&lt;br /&gt;
[[Category:Development|Edit Campaigns]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Campaigns&amp;diff=18248</id>
		<title>Development:Campaigns</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Campaigns&amp;diff=18248"/>
				<updated>2011-04-03T14:15:18Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* Subnodes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NAV_Manual |&lt;br /&gt;
| previous=[[HowTo:Edit faction relationships|Edit faction relationships]]&lt;br /&gt;
| up=[[HowTos]]&lt;br /&gt;
| next=[[Development:Missions|Edit Missions]]&lt;br /&gt;
}}&lt;br /&gt;
----&lt;br /&gt;
=Editing Campaigns=&lt;br /&gt;
&lt;br /&gt;
'''''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 based campaign 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]].''&lt;br /&gt;
&lt;br /&gt;
An example campaign can be found under the following [http://vegastrike.svn.sourceforge.net/viewvc/vegastrike/trunk/data/modules/campaigns.py?view=markup link]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 mission 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 :-) ).&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 dialog and strings used by all the various campaign 'nodes.'&lt;br /&gt;
&lt;br /&gt;
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. I.e. you might have a branching storyline depending on whether a flight group still exists or not).&lt;br /&gt;
&lt;br /&gt;
Typically, each node contains a mission ... Cargo missions 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).&lt;br /&gt;
&lt;br /&gt;
There was more documentation somewhere, but it appears to have been vanquished. So, ask the inevitable questions!&lt;br /&gt;
&lt;br /&gt;
=Campaign Structure=&lt;br /&gt;
&lt;br /&gt;
==Campaign Integration==&lt;br /&gt;
&lt;br /&gt;
You will need to create a new campaign python file (e.g. ''campaign_mycamp.py''), which then will be integrated into the ''campaigns.py'' with the following additions:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
import campaign_mycampaign&lt;br /&gt;
&lt;br /&gt;
campaignsloaders = [ ...&lt;br /&gt;
  lambda:campaign_mycamp.LoadMyCampaign()&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The basic structure of your new ''campaign_mycamp.py'' file will then be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
import universe&lt;br /&gt;
import campaign_lib&lt;br /&gt;
from campaign_lib import *&lt;br /&gt;
&lt;br /&gt;
### define node dialogs&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
### define fixer sprites&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
def LoadMyCampaign():&lt;br /&gt;
&lt;br /&gt;
  ### define nodes&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
  # savegame_variable (can't contain spaces)&lt;br /&gt;
  vs = Campaign(&amp;quot;campaign_mycamp&amp;quot;)&lt;br /&gt;
  # the starting node.&lt;br /&gt;
  vs.Init(FirstNode)&lt;br /&gt;
&lt;br /&gt;
  ### define node missions&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
  # finalize campaign definition&lt;br /&gt;
  return vs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Campaign Missions =&lt;br /&gt;
&lt;br /&gt;
==Nodes==&lt;br /&gt;
&lt;br /&gt;
There are 2 types of nodes:&lt;br /&gt;
* ''CampaignClickNode()'' - here you have to accept or reject the proposed mission&lt;br /&gt;
* ''CampaignNode()'' - creates an action like adding reward&lt;br /&gt;
&lt;br /&gt;
The nodes are then connected with the last four arguments in the ''MakeMission'' function:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;MakeMission(vs, ... &lt;br /&gt;
    RejectNode, # If you reject the mission twice. &amp;quot;None&amp;quot; means that he continues asking you forever until you accept&lt;br /&gt;
    LoseNode, # Node if you lose the mission&lt;br /&gt;
    WinNode, # Node if you win the mission&lt;br /&gt;
    ThisNode) # The node for this mission &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The complete mission statement is described in the following section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The different types of mission nodes that can be created are described here. Further down, you will find the singular structure of the arguments.&lt;br /&gt;
&lt;br /&gt;
==MakeMission Node==&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;MakeMission(savegame_variable, fixer_sprite, start_location, end_location, click_script, &lt;br /&gt;
mission_script, mission_arguments, completion_script, dialog_dictionary, reject_node, lose_node, &lt;br /&gt;
win_node, this_node)&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MakeCargoMission Node==&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;MakeCargoMission(savegame_variable, fixer_sprite, start_location, end_location, &lt;br /&gt;
click_script, mission_script, mission_arguments, completion_script, dialog_dictionary, &lt;br /&gt;
reject_node, lose_node, win_node, this_node)&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MakeNoFailureCargoMission Node==&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;MakeNoFailureCargoMission(savegame_variable, fixer_sprite, start_location, end_location, &lt;br /&gt;
click_script, mission_script, mission_arguments, completion_script, dialog_dictionary, &lt;br /&gt;
reject_node, lose_node, win_node, this_node)&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Init Node==&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;NodeName.Init(savegame_variable, start_location, dialog_dictionary, fixer_sprite, &lt;br /&gt;
subnode_script, completion_script, next_node)&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mission Arguments==&lt;br /&gt;
&lt;br /&gt;
* '''savegame_variable''' - usually ''vs''&lt;br /&gt;
* '''fixer_sprite''' - sprite file for the fixer in the form (sprite_path, display_name, full_screen_sprite), e.g. ''(&amp;quot;campaign/captain.sprite&amp;quot;,&amp;quot;Talk_To_The_Captain&amp;quot;,&amp;quot;campaign/heads/captain.sprite&amp;quot;)''&lt;br /&gt;
* '''start_location''' - a command for location checking containing a tuple with (sector/system, base), e.g. ''[InSystemCondition(&amp;quot;Crucible/Cephid_17&amp;quot;,&amp;quot;Serenity&amp;quot;)]''&lt;br /&gt;
* '''end_location''' - same format as start_location&lt;br /&gt;
* '''click_script''' - script to be run as you click on the fixer. A common use is to ''AddCredits()'' for the previous mission.&lt;br /&gt;
* '''mission_script''' - script to be run to start the mission (usually ''None'' if you don't have a script, but ambush is also common.)&lt;br /&gt;
* '''mission_arguments''' - depend on the mission. E.g. for cargo mission you will give the loaded cargo as arguments: ''(&amp;quot;Recycled_Plastics&amp;quot;,50,False)''&lt;br /&gt;
* '''completion_script''' - script to be set on completion (-1=Failure, 0=Not Accepted, 1=Succeed, 2=In progress), often just ''vs.name+&amp;quot;_mission&amp;quot;''&lt;br /&gt;
* '''dialog_dictionary''' - the lines that the fixer says: a dictionary with {dialog_type, dialog_lines_list}, see structure description further down&lt;br /&gt;
* '''reject_node''' - name of the node if you reject the mission twice. &amp;quot;None&amp;quot; means that fixer continues asking you forever until you accept&lt;br /&gt;
* '''lose_node''' - next node if you are unsuccessful in the mission&lt;br /&gt;
* '''win_node''' - next node if you successfully complete the mission&lt;br /&gt;
* '''this_node''' - name of the node for this mission, e.g. ''FirstNode''&lt;br /&gt;
&lt;br /&gt;
= Subnodes =&lt;br /&gt;
&lt;br /&gt;
* TrueSubnode&lt;br /&gt;
* GoToSubnode&lt;br /&gt;
* GoToSubnodeIfTrue&lt;br /&gt;
* TrueBackwardsSubnode&lt;br /&gt;
&lt;br /&gt;
= Conditions =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Scripts =&lt;br /&gt;
&lt;br /&gt;
Scripts and script arguments can be seen in ''data/modules/campaign_lib.py''.&lt;br /&gt;
The usual arguments are: (scriptarguments, nextscript), where the next script can be omitted and is nested as the last script argument.&lt;br /&gt;
&lt;br /&gt;
* AddCredits(numcreds,nextscript)&lt;br /&gt;
* AddCargo(name,num,missionflag,nextscript)&lt;br /&gt;
* RemoveCargo(name,num,missionflag,nextscript)&lt;br /&gt;
* SetSaveVariable(varname,varvalue,nextscript)&lt;br /&gt;
* IncSaveVariable(varname,nextscript)&lt;br /&gt;
* AddTechnology(technology,nextscript)&lt;br /&gt;
* AdjustRelation(us,them,change,nextscript)&lt;br /&gt;
* ClearFactionRecord(fac,newrelation,nextscript)&lt;br /&gt;
* ClearRecord(nextscript)&lt;br /&gt;
* PushRelation(faction,nextscript)&lt;br /&gt;
* PopRelation(faction,nextscript)&lt;br /&gt;
* LaunchWingmen(faction,shiptype,num,nextscript)&lt;br /&gt;
* ChangeSystemOwner(system,faction,nextscript)&lt;br /&gt;
* SaveVariableGreaterScript(var,val,nextscript)&lt;br /&gt;
* DisplayTextIfTrueScript(text,nextscript)&lt;br /&gt;
* RemoveCredits(numcreds,nextscript)&lt;br /&gt;
* SetCredits(numcreds,nextscript)&lt;br /&gt;
* PushCredits(nextscript)&lt;br /&gt;
* PopCredits(nextscript)&lt;br /&gt;
* PushNews(story,nextscript)&lt;br /&gt;
* LoadMission(name,missionname,missionargs,nextscript=None,briefing='',briefing_done='',vars=None,vars_done=None)&lt;br /&gt;
* AddSprite(name,sprite,pos,nextscript)&lt;br /&gt;
* AddPythonSprite(name,sprite,center_position,widthheight,text,python,nextscript)&lt;br /&gt;
* AddRemovingSprite&lt;br /&gt;
* AddConversationStoppingSprite&lt;br /&gt;
* GoToSubnodeIfTrue&lt;br /&gt;
* TrueSubnode&lt;br /&gt;
* TrueBackwardsSubnode&lt;br /&gt;
* GoToSubnode&lt;br /&gt;
&lt;br /&gt;
Remarks:&lt;br /&gt;
* relation is saved as two bidirectional values ranging from -0.5 to 1.0 in a variable &amp;quot;Relation_to_''factionname''&amp;quot; with two float values appended. One is the players relation to that faction, the second is the faction relation to the player.&lt;br /&gt;
&lt;br /&gt;
= Dialogs =&lt;br /&gt;
&lt;br /&gt;
The structure for the ''dialog_dictionary'' is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
dialog_dictionary = { &lt;br /&gt;
  &amp;quot;intro&amp;quot;:     [conversation],&lt;br /&gt;
  &amp;quot;reject1&amp;quot;:   [conversation],&lt;br /&gt;
  &amp;quot;reconsider&amp;quot;:[conversation],&lt;br /&gt;
  &amp;quot;reject2&amp;quot;:   [conversation],&lt;br /&gt;
  &amp;quot;accept&amp;quot;:    [conversation],&lt;br /&gt;
  &amp;quot;accept2&amp;quot;:   [conversation],&lt;br /&gt;
  &amp;quot;reminder&amp;quot;:  [conversation],&lt;br /&gt;
  &amp;quot;failure&amp;quot;:   [conversation],&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
with:&lt;br /&gt;
conversation = (speaker1, line1, ...), (speaker2, line1, ...), ..., soundfile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For Init Nodes you will supply only one ''[conversation]''.&lt;br /&gt;
&lt;br /&gt;
= Example Campaigns =&lt;br /&gt;
&lt;br /&gt;
==The first major campaign written (Jenek)==&lt;br /&gt;
&lt;br /&gt;
See also the [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=3246 forum thread] (comments &amp;amp; feedback) when this mission was first put into SVN.&lt;br /&gt;
{{Fixme}} Improve/expand it?&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
* [[Development:Missions|Editing Missions]]&lt;br /&gt;
* [[HowTo:Add_Conversations|Adding Conversations]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
{{NAV_Manual |&lt;br /&gt;
| previous=[[HowTo:Edit faction relationships|Edit faction relationships]]&lt;br /&gt;
| up=[[HowTos]]&lt;br /&gt;
| next=[[Development:Missions|Edit Missions]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTos|Edit Campaigns]]&lt;br /&gt;
[[Category:Development|Edit Campaigns]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=HowTo:Add_Upgrades&amp;diff=18247</id>
		<title>HowTo:Add Upgrades</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=HowTo:Add_Upgrades&amp;diff=18247"/>
				<updated>2011-04-03T14:09:56Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NAV_Manual |&lt;br /&gt;
| previous=[[HowTo:Make Weapons|Make Weapons]]&lt;br /&gt;
| up=[[HowTos]]&lt;br /&gt;
| next=[[HowTo:Add Cargo|Add Cargo]]&lt;br /&gt;
}}&lt;br /&gt;
----&lt;br /&gt;
=Adding Upgrades=&lt;br /&gt;
&lt;br /&gt;
{{FIXME}} ''This description is incomplete, please expand it as necessary!''&lt;br /&gt;
&lt;br /&gt;
==Required Files==&lt;br /&gt;
&lt;br /&gt;
{{warning_text |&lt;br /&gt;
| text=Please note that Microsoft Office tools and Windows tools in general (like Windows Notepad) alter the csv files invisibly by adding hidden characters. We also don't recommend Open Office Calc for csv editing, as this tool adds unwanted characters, like the apostrophe to some fields. '''This can render the files unusable and even corrupt your entire game.''' For editing csv files, we recommend a text based editor, e.g. the libre [http://notepad-plus-plus.org/ Notepad++], which keeps the required format across Windows and Linux.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following file must be edited with a text editor:&lt;br /&gt;
* [http://vegastrike.svn.sourceforge.net/viewvc/vegastrike/trunk/data/units/units.csv?revision=HEAD&amp;amp;view=markup '''units.csv'''] where a unit identifier with postfix &amp;quot;__upgrades&amp;quot;, and some parameters are entered.&lt;br /&gt;
* [http://vegastrike.svn.sourceforge.net/viewvc/vegastrike/trunk/data/master_part_list.csv?revision=HEAD&amp;amp;view=markup '''master_part_list.csv'''], where a [[HowTo:Add_Descriptions|description and item image are edited]].&lt;br /&gt;
* [http://vegastrike.svn.sourceforge.net/viewvc/vegastrike/trunk/data/modules/ship_upgrades.py?revision=HEAD&amp;amp;view=markup '''ship_upgrades.py'''] if you are adding or altering upgrade categories.&lt;br /&gt;
&lt;br /&gt;
To make upgrades available on planets and stations, the correct upgrade category must be added in the planet's ''units.csv'' entry.&lt;br /&gt;
&lt;br /&gt;
Not only the unit names for upgrades must be aligned, but also the categories.&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Campaigns&amp;diff=18246</id>
		<title>Development:Campaigns</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Campaigns&amp;diff=18246"/>
				<updated>2011-04-03T14:07:18Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NAV_Manual |&lt;br /&gt;
| previous=[[HowTo:Edit faction relationships|Edit faction relationships]]&lt;br /&gt;
| up=[[HowTos]]&lt;br /&gt;
| next=[[Development:Missions|Edit Missions]]&lt;br /&gt;
}}&lt;br /&gt;
----&lt;br /&gt;
=Editing Campaigns=&lt;br /&gt;
&lt;br /&gt;
'''''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 based campaign 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]].''&lt;br /&gt;
&lt;br /&gt;
An example campaign can be found under the following [http://vegastrike.svn.sourceforge.net/viewvc/vegastrike/trunk/data/modules/campaigns.py?view=markup link]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 mission 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 :-) ).&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 dialog and strings used by all the various campaign 'nodes.'&lt;br /&gt;
&lt;br /&gt;
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. I.e. you might have a branching storyline depending on whether a flight group still exists or not).&lt;br /&gt;
&lt;br /&gt;
Typically, each node contains a mission ... Cargo missions 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).&lt;br /&gt;
&lt;br /&gt;
There was more documentation somewhere, but it appears to have been vanquished. So, ask the inevitable questions!&lt;br /&gt;
&lt;br /&gt;
=Campaign Structure=&lt;br /&gt;
&lt;br /&gt;
==Campaign Integration==&lt;br /&gt;
&lt;br /&gt;
You will need to create a new campaign python file (e.g. ''campaign_mycamp.py''), which then will be integrated into the ''campaigns.py'' with the following additions:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
import campaign_mycampaign&lt;br /&gt;
&lt;br /&gt;
campaignsloaders = [ ...&lt;br /&gt;
  lambda:campaign_mycamp.LoadMyCampaign()&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The basic structure of your new ''campaign_mycamp.py'' file will then be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
import universe&lt;br /&gt;
import campaign_lib&lt;br /&gt;
from campaign_lib import *&lt;br /&gt;
&lt;br /&gt;
### define node dialogs&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
### define fixer sprites&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
def LoadMyCampaign():&lt;br /&gt;
&lt;br /&gt;
  ### define nodes&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
  # savegame_variable (can't contain spaces)&lt;br /&gt;
  vs = Campaign(&amp;quot;campaign_mycamp&amp;quot;)&lt;br /&gt;
  # the starting node.&lt;br /&gt;
  vs.Init(FirstNode)&lt;br /&gt;
&lt;br /&gt;
  ### define node missions&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
  # finalize campaign definition&lt;br /&gt;
  return vs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Campaign Missions =&lt;br /&gt;
&lt;br /&gt;
==Nodes==&lt;br /&gt;
&lt;br /&gt;
There are 2 types of nodes:&lt;br /&gt;
* ''CampaignClickNode()'' - here you have to accept or reject the proposed mission&lt;br /&gt;
* ''CampaignNode()'' - creates an action like adding reward&lt;br /&gt;
&lt;br /&gt;
The nodes are then connected with the last four arguments in the ''MakeMission'' function:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;MakeMission(vs, ... &lt;br /&gt;
    RejectNode, # If you reject the mission twice. &amp;quot;None&amp;quot; means that he continues asking you forever until you accept&lt;br /&gt;
    LoseNode, # Node if you lose the mission&lt;br /&gt;
    WinNode, # Node if you win the mission&lt;br /&gt;
    ThisNode) # The node for this mission &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The complete mission statement is described in the following section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The different types of mission nodes that can be created are described here. Further down, you will find the singular structure of the arguments.&lt;br /&gt;
&lt;br /&gt;
==MakeMission Node==&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;MakeMission(savegame_variable, fixer_sprite, start_location, end_location, click_script, &lt;br /&gt;
mission_script, mission_arguments, completion_script, dialog_dictionary, reject_node, lose_node, &lt;br /&gt;
win_node, this_node)&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MakeCargoMission Node==&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;MakeCargoMission(savegame_variable, fixer_sprite, start_location, end_location, &lt;br /&gt;
click_script, mission_script, mission_arguments, completion_script, dialog_dictionary, &lt;br /&gt;
reject_node, lose_node, win_node, this_node)&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MakeNoFailureCargoMission Node==&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;MakeNoFailureCargoMission(savegame_variable, fixer_sprite, start_location, end_location, &lt;br /&gt;
click_script, mission_script, mission_arguments, completion_script, dialog_dictionary, &lt;br /&gt;
reject_node, lose_node, win_node, this_node)&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Init Node==&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;NodeName.Init(savegame_variable, start_location, dialog_dictionary, fixer_sprite, &lt;br /&gt;
subnode_script, completion_script, next_node)&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mission Arguments==&lt;br /&gt;
&lt;br /&gt;
* '''savegame_variable''' - usually ''vs''&lt;br /&gt;
* '''fixer_sprite''' - sprite file for the fixer in the form (sprite_path, display_name, full_screen_sprite), e.g. ''(&amp;quot;campaign/captain.sprite&amp;quot;,&amp;quot;Talk_To_The_Captain&amp;quot;,&amp;quot;campaign/heads/captain.sprite&amp;quot;)''&lt;br /&gt;
* '''start_location''' - a command for location checking containing a tuple with (sector/system, base), e.g. ''[InSystemCondition(&amp;quot;Crucible/Cephid_17&amp;quot;,&amp;quot;Serenity&amp;quot;)]''&lt;br /&gt;
* '''end_location''' - same format as start_location&lt;br /&gt;
* '''click_script''' - script to be run as you click on the fixer. A common use is to ''AddCredits()'' for the previous mission.&lt;br /&gt;
* '''mission_script''' - script to be run to start the mission (usually ''None'' if you don't have a script, but ambush is also common.)&lt;br /&gt;
* '''mission_arguments''' - depend on the mission. E.g. for cargo mission you will give the loaded cargo as arguments: ''(&amp;quot;Recycled_Plastics&amp;quot;,50,False)''&lt;br /&gt;
* '''completion_script''' - script to be set on completion (-1=Failure, 0=Not Accepted, 1=Succeed, 2=In progress), often just ''vs.name+&amp;quot;_mission&amp;quot;''&lt;br /&gt;
* '''dialog_dictionary''' - the lines that the fixer says: a dictionary with {dialog_type, dialog_lines_list}, see structure description further down&lt;br /&gt;
* '''reject_node''' - name of the node if you reject the mission twice. &amp;quot;None&amp;quot; means that fixer continues asking you forever until you accept&lt;br /&gt;
* '''lose_node''' - next node if you are unsuccessful in the mission&lt;br /&gt;
* '''win_node''' - next node if you successfully complete the mission&lt;br /&gt;
* '''this_node''' - name of the node for this mission, e.g. ''FirstNode''&lt;br /&gt;
&lt;br /&gt;
= Subnodes =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Conditions =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Scripts =&lt;br /&gt;
&lt;br /&gt;
Scripts and script arguments can be seen in ''data/modules/campaign_lib.py''.&lt;br /&gt;
The usual arguments are: (scriptarguments, nextscript), where the next script can be omitted and is nested as the last script argument.&lt;br /&gt;
&lt;br /&gt;
* AddCredits(numcreds,nextscript)&lt;br /&gt;
* AddCargo(name,num,missionflag,nextscript)&lt;br /&gt;
* RemoveCargo(name,num,missionflag,nextscript)&lt;br /&gt;
* SetSaveVariable(varname,varvalue,nextscript)&lt;br /&gt;
* IncSaveVariable(varname,nextscript)&lt;br /&gt;
* AddTechnology(technology,nextscript)&lt;br /&gt;
* AdjustRelation(us,them,change,nextscript)&lt;br /&gt;
* ClearFactionRecord(fac,newrelation,nextscript)&lt;br /&gt;
* ClearRecord(nextscript)&lt;br /&gt;
* PushRelation(faction,nextscript)&lt;br /&gt;
* PopRelation(faction,nextscript)&lt;br /&gt;
* LaunchWingmen(faction,shiptype,num,nextscript)&lt;br /&gt;
* ChangeSystemOwner(system,faction,nextscript)&lt;br /&gt;
* SaveVariableGreaterScript(var,val,nextscript)&lt;br /&gt;
* DisplayTextIfTrueScript(text,nextscript)&lt;br /&gt;
* RemoveCredits(numcreds,nextscript)&lt;br /&gt;
* SetCredits(numcreds,nextscript)&lt;br /&gt;
* PushCredits(nextscript)&lt;br /&gt;
* PopCredits(nextscript)&lt;br /&gt;
* PushNews(story,nextscript)&lt;br /&gt;
* LoadMission(name,missionname,missionargs,nextscript=None,briefing='',briefing_done='',vars=None,vars_done=None)&lt;br /&gt;
* AddSprite(name,sprite,pos,nextscript)&lt;br /&gt;
* AddPythonSprite(name,sprite,center_position,widthheight,text,python,nextscript)&lt;br /&gt;
* AddRemovingSprite&lt;br /&gt;
* AddConversationStoppingSprite&lt;br /&gt;
* GoToSubnodeIfTrue&lt;br /&gt;
* TrueSubnode&lt;br /&gt;
* TrueBackwardsSubnode&lt;br /&gt;
* GoToSubnode&lt;br /&gt;
&lt;br /&gt;
Remarks:&lt;br /&gt;
* relation is saved as two bidirectional values ranging from -0.5 to 1.0 in a variable &amp;quot;Relation_to_''factionname''&amp;quot; with two float values appended. One is the players relation to that faction, the second is the faction relation to the player.&lt;br /&gt;
&lt;br /&gt;
= Dialogs =&lt;br /&gt;
&lt;br /&gt;
The structure for the ''dialog_dictionary'' is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
dialog_dictionary = { &lt;br /&gt;
  &amp;quot;intro&amp;quot;:     [conversation],&lt;br /&gt;
  &amp;quot;reject1&amp;quot;:   [conversation],&lt;br /&gt;
  &amp;quot;reconsider&amp;quot;:[conversation],&lt;br /&gt;
  &amp;quot;reject2&amp;quot;:   [conversation],&lt;br /&gt;
  &amp;quot;accept&amp;quot;:    [conversation],&lt;br /&gt;
  &amp;quot;accept2&amp;quot;:   [conversation],&lt;br /&gt;
  &amp;quot;reminder&amp;quot;:  [conversation],&lt;br /&gt;
  &amp;quot;failure&amp;quot;:   [conversation],&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
with:&lt;br /&gt;
conversation = (speaker1, line1, ...), (speaker2, line1, ...), ..., soundfile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For Init Nodes you will supply only one ''[conversation]''.&lt;br /&gt;
&lt;br /&gt;
= Example Campaigns =&lt;br /&gt;
&lt;br /&gt;
==The first major campaign written (Jenek)==&lt;br /&gt;
&lt;br /&gt;
See also the [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=3246 forum thread] (comments &amp;amp; feedback) when this mission was first put into SVN.&lt;br /&gt;
{{Fixme}} Improve/expand it?&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
* [[Development:Missions|Editing Missions]]&lt;br /&gt;
* [[HowTo:Add_Conversations|Adding Conversations]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
{{NAV_Manual |&lt;br /&gt;
| previous=[[HowTo:Edit faction relationships|Edit faction relationships]]&lt;br /&gt;
| up=[[HowTos]]&lt;br /&gt;
| next=[[Development:Missions|Edit Missions]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTos|Edit Campaigns]]&lt;br /&gt;
[[Category:Development|Edit Campaigns]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Campaigns&amp;diff=18242</id>
		<title>Development:Campaigns</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Campaigns&amp;diff=18242"/>
				<updated>2011-04-02T23:34:49Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* Scripts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NAV_Manual |&lt;br /&gt;
| previous=[[HowTo:Edit faction relationships|Edit faction relationships]]&lt;br /&gt;
| up=[[HowTos]]&lt;br /&gt;
| next=[[Development:Missions|Edit Missions]]&lt;br /&gt;
}}&lt;br /&gt;
----&lt;br /&gt;
=Editing Campaigns=&lt;br /&gt;
&lt;br /&gt;
'''''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 based campaign 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]].''&lt;br /&gt;
&lt;br /&gt;
An example campaign can be found under the following [http://vegastrike.svn.sourceforge.net/viewvc/vegastrike/trunk/data/modules/campaigns.py?view=markup link]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 mission 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 :-) ).&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 dialog and strings used by all the various campaign 'nodes.'&lt;br /&gt;
&lt;br /&gt;
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. I.e. you might have a branching storyline depending on whether a flight group still exists or not).&lt;br /&gt;
&lt;br /&gt;
Typically, each node contains a mission ... Cargo missions 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).&lt;br /&gt;
&lt;br /&gt;
There was more documentation somewhere, but it appears to have been vanquished. So, ask the inevitable questions!&lt;br /&gt;
&lt;br /&gt;
=Campaign Structure=&lt;br /&gt;
&lt;br /&gt;
==Campaign Integration==&lt;br /&gt;
&lt;br /&gt;
You will need to create a new campaign python file (e.g. ''campaign_mycamp.py''), which then will be integrated into the ''campaigns.py'' with the following additions:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
import campaign_mycampaign&lt;br /&gt;
&lt;br /&gt;
campaignsloaders = [ ...&lt;br /&gt;
  lambda:campaign_mycamp.LoadMyCampaign()&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The basic structure of your new ''campaign_mycamp.py'' file will then be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
import universe&lt;br /&gt;
import campaign_lib&lt;br /&gt;
from campaign_lib import *&lt;br /&gt;
&lt;br /&gt;
### define node dialogs&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
### define fixer sprites&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
def LoadMyCampaign():&lt;br /&gt;
&lt;br /&gt;
  ### define nodes&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
  # savegame_variable (can't contain spaces)&lt;br /&gt;
  vs = Campaign(&amp;quot;campaign_mycamp&amp;quot;)&lt;br /&gt;
  # the starting node.&lt;br /&gt;
  vs.Init(FirstNode)&lt;br /&gt;
&lt;br /&gt;
  ### define node missions&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
  # finalize campaign definition&lt;br /&gt;
  return vs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Nodes==&lt;br /&gt;
&lt;br /&gt;
There are 2 types of nodes:&lt;br /&gt;
* ''CampaignClickNode()'' - here you have to accept or reject the proposed mission&lt;br /&gt;
* ''CampaignNode()'' - creates an action like adding reward&lt;br /&gt;
&lt;br /&gt;
The nodes are then connected with the last four arguments in the ''MakeMission'' function:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;MakeMission(vs, ... &lt;br /&gt;
    RejectNode, # If you reject the mission twice. &amp;quot;None&amp;quot; means that he continues asking you forever until you accept&lt;br /&gt;
    LoseNode, # Node if you lose the mission&lt;br /&gt;
    WinNode, # Node if you win the mission&lt;br /&gt;
    ThisNode) # The node for this mission &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The complete mission statement is described in the following section.&lt;br /&gt;
&lt;br /&gt;
==Campaign Missions==&lt;br /&gt;
&lt;br /&gt;
The different types of mission nodes that can be created are described here. Further down, you will find the singular structure of the arguments.&lt;br /&gt;
&lt;br /&gt;
===MakeMission Node===&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;MakeMission(savegame_variable, fixer_sprite, start_location, end_location, click_script, &lt;br /&gt;
mission_script, mission_arguments, completion_script, dialog_dictionary, reject_node, lose_node, &lt;br /&gt;
win_node, this_node)&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===MakeCargoMission Node===&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;MakeCargoMission(savegame_variable, fixer_sprite, start_location, end_location, &lt;br /&gt;
click_script, mission_script, mission_arguments, completion_script, dialog_dictionary, &lt;br /&gt;
reject_node, lose_node, win_node, this_node)&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===MakeNoFailureCargoMission Node===&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;MakeNoFailureCargoMission(savegame_variable, fixer_sprite, start_location, end_location, &lt;br /&gt;
click_script, mission_script, mission_arguments, completion_script, dialog_dictionary, &lt;br /&gt;
reject_node, lose_node, win_node, this_node)&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Init Node===&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;NodeName.Init(savegame_variable, start_location, dialog_dictionary, fixer_sprite, &lt;br /&gt;
subnode_script, completion_script, next_node)&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Mission Arguments===&lt;br /&gt;
&lt;br /&gt;
* '''savegame_variable''' - usually ''vs''&lt;br /&gt;
* '''fixer_sprite''' - sprite file for the fixer in the form (sprite_path, display_name, full_screen_sprite), e.g. ''(&amp;quot;campaign/captain.sprite&amp;quot;,&amp;quot;Talk_To_The_Captain&amp;quot;,&amp;quot;campaign/heads/captain.sprite&amp;quot;)''&lt;br /&gt;
* '''start_location''' - a command for location checking containing a tuple with (sector/system, base), e.g. ''[InSystemCondition(&amp;quot;Crucible/Cephid_17&amp;quot;,&amp;quot;Serenity&amp;quot;)]''&lt;br /&gt;
* '''end_location''' - same format as start_location&lt;br /&gt;
* '''click_script''' - script to be run as you click on the fixer. A common use is to ''AddCredits()'' for the previous mission.&lt;br /&gt;
* '''mission_script''' - script to be run to start the mission (usually ''None'' if you don't have a script, but ambush is also common.)&lt;br /&gt;
* '''mission_arguments''' - depend on the mission. E.g. for cargo mission you will give the loaded cargo as arguments: ''(&amp;quot;Recycled_Plastics&amp;quot;,50,False)''&lt;br /&gt;
* '''completion_script''' - script to be set on completion (-1=Failure, 0=Not Accepted, 1=Succeed, 2=In progress), often just ''vs.name+&amp;quot;_mission&amp;quot;''&lt;br /&gt;
* '''dialog_dictionary''' - the lines that the fixer says: a dictionary with {dialog_type, dialog_lines_list}, see structure description further down&lt;br /&gt;
* '''reject_node''' - name of the node if you reject the mission twice. &amp;quot;None&amp;quot; means that fixer continues asking you forever until you accept&lt;br /&gt;
* '''lose_node''' - next node if you are unsuccessful in the mission&lt;br /&gt;
* '''win_node''' - next node if you successfully complete the mission&lt;br /&gt;
* '''this_node''' - name of the node for this mission, e.g. ''FirstNode''&lt;br /&gt;
&lt;br /&gt;
===Conditions===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Scripts===&lt;br /&gt;
&lt;br /&gt;
Scripts and script arguments can be seen in ''data/modules/campaign_lib.py''.&lt;br /&gt;
The usual arguments are: (scriptarguments, nextscript), where the next script can be omitted and is nested as the last script argument.&lt;br /&gt;
&lt;br /&gt;
* AddCredits(numcreds,nextscript)&lt;br /&gt;
* AddCargo(name,num,missionflag,nextscript)&lt;br /&gt;
* RemoveCargo(name,num,missionflag,nextscript)&lt;br /&gt;
* SetSaveVariable(varname,varvalue,nextscript)&lt;br /&gt;
* IncSaveVariable(varname,nextscript)&lt;br /&gt;
* AddTechnology(technology,nextscript)&lt;br /&gt;
* AdjustRelation(us,them,change,nextscript)&lt;br /&gt;
* ClearFactionRecord(fac,newrelation,nextscript)&lt;br /&gt;
* ClearRecord(nextscript)&lt;br /&gt;
* PushRelation(faction,nextscript)&lt;br /&gt;
* PopRelation(faction,nextscript)&lt;br /&gt;
* LaunchWingmen(faction,shiptype,num,nextscript)&lt;br /&gt;
* ChangeSystemOwner(system,faction,nextscript)&lt;br /&gt;
* SaveVariableGreaterScript(var,val,nextscript)&lt;br /&gt;
* DisplayTextIfTrueScript(text,nextscript)&lt;br /&gt;
* RemoveCredits(numcreds,nextscript)&lt;br /&gt;
* SetCredits(numcreds,nextscript)&lt;br /&gt;
* PushCredits(nextscript)&lt;br /&gt;
* PopCredits(nextscript)&lt;br /&gt;
* PushNews(story,nextscript)&lt;br /&gt;
* LoadMission(name,missionname,missionargs,nextscript=None,briefing='',briefing_done='',vars=None,vars_done=None)&lt;br /&gt;
* AddSprite(name,sprite,pos,nextscript)&lt;br /&gt;
* AddPythonSprite(name,sprite,center_position,widthheight,text,python,nextscript)&lt;br /&gt;
* AddRemovingSprite&lt;br /&gt;
* AddConversationStoppingSprite&lt;br /&gt;
* GoToSubnodeIfTrue&lt;br /&gt;
* TrueSubnode&lt;br /&gt;
* TrueBackwardsSubnode&lt;br /&gt;
* GoToSubnode&lt;br /&gt;
&lt;br /&gt;
Remarks:&lt;br /&gt;
* relation is saved as two bidirectional values ranging from -0.5 to 0.5 in a variable &amp;quot;Relation_to_''factionname''&amp;quot; with two float values appended. One is the players relation to that faction, the second is the faction relation to the player.&lt;br /&gt;
&lt;br /&gt;
==Dialogs==&lt;br /&gt;
&lt;br /&gt;
The structure for the ''dialog_dictionary'' is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
dialog_dictionary = { &lt;br /&gt;
  &amp;quot;intro&amp;quot;:     [conversation],&lt;br /&gt;
  &amp;quot;reject1&amp;quot;:   [conversation],&lt;br /&gt;
  &amp;quot;reconsider&amp;quot;:[conversation],&lt;br /&gt;
  &amp;quot;reject2&amp;quot;:   [conversation],&lt;br /&gt;
  &amp;quot;accept&amp;quot;:    [conversation],&lt;br /&gt;
  &amp;quot;accept2&amp;quot;:   [conversation],&lt;br /&gt;
  &amp;quot;reminder&amp;quot;:  [conversation],&lt;br /&gt;
  &amp;quot;failure&amp;quot;:   [conversation],&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
with:&lt;br /&gt;
conversation = (speaker1, line1, ...), (speaker2, line1, ...), ..., soundfile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For Init Nodes you will supply only one ''[conversation]''.&lt;br /&gt;
&lt;br /&gt;
=Campaigns=&lt;br /&gt;
&lt;br /&gt;
==The first major campaign written (Jenek)==&lt;br /&gt;
&lt;br /&gt;
See also the [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=3246 forum thread] (comments &amp;amp; feedback) when this mission was first put into SVN.&lt;br /&gt;
{{Fixme}} Improve/expand it?&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
* [[Development:Missions|Editing Missions]]&lt;br /&gt;
* [[HowTo:Add_Conversations|Adding Conversations]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
{{NAV_Manual |&lt;br /&gt;
| previous=[[HowTo:Edit faction relationships|Edit faction relationships]]&lt;br /&gt;
| up=[[HowTos]]&lt;br /&gt;
| next=[[Development:Missions|Edit Missions]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTos|Edit Campaigns]]&lt;br /&gt;
[[Category:Development|Edit Campaigns]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Campaigns&amp;diff=18241</id>
		<title>Development:Campaigns</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Campaigns&amp;diff=18241"/>
				<updated>2011-04-02T23:16:52Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* Mission Arguments */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NAV_Manual |&lt;br /&gt;
| previous=[[HowTo:Edit faction relationships|Edit faction relationships]]&lt;br /&gt;
| up=[[HowTos]]&lt;br /&gt;
| next=[[Development:Missions|Edit Missions]]&lt;br /&gt;
}}&lt;br /&gt;
----&lt;br /&gt;
=Editing Campaigns=&lt;br /&gt;
&lt;br /&gt;
'''''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 based campaign 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]].''&lt;br /&gt;
&lt;br /&gt;
An example campaign can be found under the following [http://vegastrike.svn.sourceforge.net/viewvc/vegastrike/trunk/data/modules/campaigns.py?view=markup link]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 mission 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 :-) ).&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 dialog and strings used by all the various campaign 'nodes.'&lt;br /&gt;
&lt;br /&gt;
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. I.e. you might have a branching storyline depending on whether a flight group still exists or not).&lt;br /&gt;
&lt;br /&gt;
Typically, each node contains a mission ... Cargo missions 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).&lt;br /&gt;
&lt;br /&gt;
There was more documentation somewhere, but it appears to have been vanquished. So, ask the inevitable questions!&lt;br /&gt;
&lt;br /&gt;
=Campaign Structure=&lt;br /&gt;
&lt;br /&gt;
==Campaign Integration==&lt;br /&gt;
&lt;br /&gt;
You will need to create a new campaign python file (e.g. ''campaign_mycamp.py''), which then will be integrated into the ''campaigns.py'' with the following additions:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
import campaign_mycampaign&lt;br /&gt;
&lt;br /&gt;
campaignsloaders = [ ...&lt;br /&gt;
  lambda:campaign_mycamp.LoadMyCampaign()&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The basic structure of your new ''campaign_mycamp.py'' file will then be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
import universe&lt;br /&gt;
import campaign_lib&lt;br /&gt;
from campaign_lib import *&lt;br /&gt;
&lt;br /&gt;
### define node dialogs&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
### define fixer sprites&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
def LoadMyCampaign():&lt;br /&gt;
&lt;br /&gt;
  ### define nodes&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
  # savegame_variable (can't contain spaces)&lt;br /&gt;
  vs = Campaign(&amp;quot;campaign_mycamp&amp;quot;)&lt;br /&gt;
  # the starting node.&lt;br /&gt;
  vs.Init(FirstNode)&lt;br /&gt;
&lt;br /&gt;
  ### define node missions&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
  # finalize campaign definition&lt;br /&gt;
  return vs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Nodes==&lt;br /&gt;
&lt;br /&gt;
There are 2 types of nodes:&lt;br /&gt;
* ''CampaignClickNode()'' - here you have to accept or reject the proposed mission&lt;br /&gt;
* ''CampaignNode()'' - creates an action like adding reward&lt;br /&gt;
&lt;br /&gt;
The nodes are then connected with the last four arguments in the ''MakeMission'' function:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;MakeMission(vs, ... &lt;br /&gt;
    RejectNode, # If you reject the mission twice. &amp;quot;None&amp;quot; means that he continues asking you forever until you accept&lt;br /&gt;
    LoseNode, # Node if you lose the mission&lt;br /&gt;
    WinNode, # Node if you win the mission&lt;br /&gt;
    ThisNode) # The node for this mission &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The complete mission statement is described in the following section.&lt;br /&gt;
&lt;br /&gt;
==Campaign Missions==&lt;br /&gt;
&lt;br /&gt;
The different types of mission nodes that can be created are described here. Further down, you will find the singular structure of the arguments.&lt;br /&gt;
&lt;br /&gt;
===MakeMission Node===&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;MakeMission(savegame_variable, fixer_sprite, start_location, end_location, click_script, &lt;br /&gt;
mission_script, mission_arguments, completion_script, dialog_dictionary, reject_node, lose_node, &lt;br /&gt;
win_node, this_node)&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===MakeCargoMission Node===&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;MakeCargoMission(savegame_variable, fixer_sprite, start_location, end_location, &lt;br /&gt;
click_script, mission_script, mission_arguments, completion_script, dialog_dictionary, &lt;br /&gt;
reject_node, lose_node, win_node, this_node)&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===MakeNoFailureCargoMission Node===&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;MakeNoFailureCargoMission(savegame_variable, fixer_sprite, start_location, end_location, &lt;br /&gt;
click_script, mission_script, mission_arguments, completion_script, dialog_dictionary, &lt;br /&gt;
reject_node, lose_node, win_node, this_node)&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Init Node===&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;NodeName.Init(savegame_variable, start_location, dialog_dictionary, fixer_sprite, &lt;br /&gt;
subnode_script, completion_script, next_node)&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Mission Arguments===&lt;br /&gt;
&lt;br /&gt;
* '''savegame_variable''' - usually ''vs''&lt;br /&gt;
* '''fixer_sprite''' - sprite file for the fixer in the form (sprite_path, display_name, full_screen_sprite), e.g. ''(&amp;quot;campaign/captain.sprite&amp;quot;,&amp;quot;Talk_To_The_Captain&amp;quot;,&amp;quot;campaign/heads/captain.sprite&amp;quot;)''&lt;br /&gt;
* '''start_location''' - a command for location checking containing a tuple with (sector/system, base), e.g. ''[InSystemCondition(&amp;quot;Crucible/Cephid_17&amp;quot;,&amp;quot;Serenity&amp;quot;)]''&lt;br /&gt;
* '''end_location''' - same format as start_location&lt;br /&gt;
* '''click_script''' - script to be run as you click on the fixer. A common use is to ''AddCredits()'' for the previous mission.&lt;br /&gt;
* '''mission_script''' - script to be run to start the mission (usually ''None'' if you don't have a script, but ambush is also common.)&lt;br /&gt;
* '''mission_arguments''' - depend on the mission. E.g. for cargo mission you will give the loaded cargo as arguments: ''(&amp;quot;Recycled_Plastics&amp;quot;,50,False)''&lt;br /&gt;
* '''completion_script''' - script to be set on completion (-1=Failure, 0=Not Accepted, 1=Succeed, 2=In progress), often just ''vs.name+&amp;quot;_mission&amp;quot;''&lt;br /&gt;
* '''dialog_dictionary''' - the lines that the fixer says: a dictionary with {dialog_type, dialog_lines_list}, see structure description further down&lt;br /&gt;
* '''reject_node''' - name of the node if you reject the mission twice. &amp;quot;None&amp;quot; means that fixer continues asking you forever until you accept&lt;br /&gt;
* '''lose_node''' - next node if you are unsuccessful in the mission&lt;br /&gt;
* '''win_node''' - next node if you successfully complete the mission&lt;br /&gt;
* '''this_node''' - name of the node for this mission, e.g. ''FirstNode''&lt;br /&gt;
&lt;br /&gt;
===Conditions===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Scripts===&lt;br /&gt;
&lt;br /&gt;
Scripts and script arguments can be seen in ''data/modules/campaign_lib.py''.&lt;br /&gt;
The usual arguments are: (scriptarguments, nextscript), where the next script can be omitted and is nested as the last script argument.&lt;br /&gt;
&lt;br /&gt;
* AddCredits(numcreds,nextscript)&lt;br /&gt;
* AddCargo(name,num,missionflag,nextscript)&lt;br /&gt;
* RemoveCargo(name,num,missionflag,nextscript)&lt;br /&gt;
* SetSaveVariable(varname,varvalue,nextscript)&lt;br /&gt;
* IncSaveVariable(varname,nextscript)&lt;br /&gt;
* AddTechnology(technology,nextscript)&lt;br /&gt;
* AdjustRelation(us,them,change,nextscript)&lt;br /&gt;
* ClearFactionRecord(fac,newrelation,nextscript)&lt;br /&gt;
* ClearRecord(nextscript)&lt;br /&gt;
* PushRelation(faction,nextscript)&lt;br /&gt;
* PopRelation(faction,nextscript)&lt;br /&gt;
* LaunchWingmen(faction,shiptype,num,nextscript)&lt;br /&gt;
* ChangeSystemOwner(system,faction,nextscript)&lt;br /&gt;
* SaveVariableGreaterScript(var,val,nextscript)&lt;br /&gt;
* DisplayTextIfTrueScript(text,nextscript)&lt;br /&gt;
* RemoveCredits(numcreds,nextscript)&lt;br /&gt;
* SetCredits(numcreds,nextscript)&lt;br /&gt;
* PushCredits(nextscript)&lt;br /&gt;
* PopCredits(nextscript)&lt;br /&gt;
* PushNews(story,nextscript)&lt;br /&gt;
* LoadMission(name,missionname,missionargs,nextscript=None,briefing='',briefing_done='',vars=None,vars_done=None)&lt;br /&gt;
* AddSprite(name,sprite,pos,nextscript)&lt;br /&gt;
* AddPythonSprite(name,sprite,center_position,widthheight,text,python,nextscript)&lt;br /&gt;
* AddRemovingSprite&lt;br /&gt;
* AddConversationStoppingSprite&lt;br /&gt;
* GoToSubnodeIfTrue&lt;br /&gt;
* TrueSubnode&lt;br /&gt;
* TrueBackwardsSubnode&lt;br /&gt;
* GoToSubnode&lt;br /&gt;
&lt;br /&gt;
==Dialogs==&lt;br /&gt;
&lt;br /&gt;
The structure for the ''dialog_dictionary'' is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
dialog_dictionary = { &lt;br /&gt;
  &amp;quot;intro&amp;quot;:     [conversation],&lt;br /&gt;
  &amp;quot;reject1&amp;quot;:   [conversation],&lt;br /&gt;
  &amp;quot;reconsider&amp;quot;:[conversation],&lt;br /&gt;
  &amp;quot;reject2&amp;quot;:   [conversation],&lt;br /&gt;
  &amp;quot;accept&amp;quot;:    [conversation],&lt;br /&gt;
  &amp;quot;accept2&amp;quot;:   [conversation],&lt;br /&gt;
  &amp;quot;reminder&amp;quot;:  [conversation],&lt;br /&gt;
  &amp;quot;failure&amp;quot;:   [conversation],&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
with:&lt;br /&gt;
conversation = (speaker1, line1, ...), (speaker2, line1, ...), ..., soundfile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For Init Nodes you will supply only one ''[conversation]''.&lt;br /&gt;
&lt;br /&gt;
=Campaigns=&lt;br /&gt;
&lt;br /&gt;
==The first major campaign written (Jenek)==&lt;br /&gt;
&lt;br /&gt;
See also the [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=3246 forum thread] (comments &amp;amp; feedback) when this mission was first put into SVN.&lt;br /&gt;
{{Fixme}} Improve/expand it?&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
* [[Development:Missions|Editing Missions]]&lt;br /&gt;
* [[HowTo:Add_Conversations|Adding Conversations]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
{{NAV_Manual |&lt;br /&gt;
| previous=[[HowTo:Edit faction relationships|Edit faction relationships]]&lt;br /&gt;
| up=[[HowTos]]&lt;br /&gt;
| next=[[Development:Missions|Edit Missions]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTos|Edit Campaigns]]&lt;br /&gt;
[[Category:Development|Edit Campaigns]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Scripts_%26_Tools&amp;diff=18178</id>
		<title>Development:Scripts &amp; Tools</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Scripts_%26_Tools&amp;diff=18178"/>
				<updated>2011-04-01T23:24:21Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{parent_link|&lt;br /&gt;
|parent=[[Development]]&lt;br /&gt;
}}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
These handy scripts and tools are here to make your life easier.&lt;br /&gt;
Please note that the official standard for support tools is:&lt;br /&gt;
* C++, or&lt;br /&gt;
* Python using [http://wiki.python.org/moin/TkInter Tkinter]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|  style=&amp;quot;width: 100%; text-align: center; background-color:#9090FF&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;1&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background-color:#606060;&amp;quot;&lt;br /&gt;
! Tool !! Author !! License !! Platforms !! Engine version !! Features !! User Manual&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; style=&amp;quot;background-color:#909090;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Mesher --&amp;gt;&lt;br /&gt;
|-style=&amp;quot;background-color:#9090FF;&amp;quot;&lt;br /&gt;
| Mesher&lt;br /&gt;
| klauss&lt;br /&gt;
| GPL || Posix, Win || -&lt;br /&gt;
| CLI converter obj &amp;lt;-&amp;gt; bfxm &amp;lt;-&amp;gt; xmesh&lt;br /&gt;
| [[HowTo:Add_Ships|Mesher HowTo]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- UnitConverter --&amp;gt;&lt;br /&gt;
|-style=&amp;quot;background-color:#9090FF;&amp;quot;&lt;br /&gt;
| [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=11885 UnitConverter OBJ-&amp;gt;BFXM]&lt;br /&gt;
| [[User:pyramid|pyramid]]&lt;br /&gt;
| GPL || all with&amp;lt;br&amp;gt;Python 2.5 || -&lt;br /&gt;
| * convert obj to bfxm&amp;lt;br&amp;gt; *add and compress textures&amp;lt;br&amp;gt; * edit unit info&lt;br /&gt;
| [[Development:Tools:UnitConverter|UnitConverter User Manual]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- CampaignEditor --&amp;gt;&lt;br /&gt;
| CampaignEditor&lt;br /&gt;
| Daniel Aleksandrow&lt;br /&gt;
| GPL || all with&amp;lt;br&amp;gt;Java SE 6 || -&lt;br /&gt;
| create and edit campaigns&lt;br /&gt;
| -&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Internal tools =&lt;br /&gt;
Tools developed for Vega Strike&lt;br /&gt;
* Mesher utility: Converts from/to Wavefront .obj+.mtl, xmesh(es), and BFXM file formats.&lt;br /&gt;
* ucsv.py: (Python) Conversion script for turning .xunit files into rows in units.csv format&lt;br /&gt;
* 3ds2xml: (Perl) script for converting .3ds files into .xmesh format. Doesn't appear to do axis translation properly, known to be somewhat flaky.&lt;br /&gt;
*[WIP] [[Development:Script:obj2obj converter|obj2obj converter]] (Perl, commandline) - Converts obj files to cockpit files. or extracts tag-data from the models. (''At least that's what is planned, Testing under Win32/Linux. [[User:pontiac|Pontiac]]'')&lt;br /&gt;
* Configuration Parser (file: objconv/configparser.py in vegastrike CVS, Python) - Goes through the source tree and produces a config file (pygrep.config at present) containing every variable *used* in game, every possible command to bind to keys, and every colour definition that can be specified.  Still under development.&lt;br /&gt;
*[WIP] OBJ to Vega Strike cockpit converter ([http://vegastrike.sourceforge.net/users/pontiac/scripts/obj2vs_cockpit_obj/ obj2vs_cockpit_obj], Perl)&lt;br /&gt;
&lt;br /&gt;
= External tools =&lt;br /&gt;
Plugins and scripts for external programs&lt;br /&gt;
*[http://members.chello.at/stefbuer/vegastrike.html XMESH import/export plugin for Wings3D]&lt;br /&gt;
*[http://www.talisiorder.ca/template.php?T=Vegastrike%20Addons&amp;amp;P=vegastrike/vegastrike.html XMESH converter for lightwave]&lt;br /&gt;
*[WIP] [http://www.geocities.com/cubofjudahslion/VS/xmesh.zip XMESH import script for Blender]&lt;br /&gt;
&lt;br /&gt;
* [http://registry.gimp.org/node/70 DDS plugin for the GIMP]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/IrfanView Irfanview] (freeware for Windows) supports the DDS image file format.&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Kde KDE]'s image libraries (version &amp;gt;= 3.3.0) support reading the DDS file format, so e.g. gwenview, kview and konqueror can view texture files.&lt;br /&gt;
* See [[Development:Orbital_Planet_Surfaces]] for info on NVidia's DDS compressor software.&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
* [[OOG_Tools|Out-Of-Game Player Tools]]&lt;br /&gt;
* [http://vegastrike.sourceforge.net/forums/viewtopic.php?t=2902 List of VS object conversion scripts and tools] forums thread&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Model_Guidelines&amp;diff=18177</id>
		<title>Development:Model Guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=Development:Model_Guidelines&amp;diff=18177"/>
				<updated>2011-04-01T19:53:53Z</updated>
		
		<summary type="html">&lt;p&gt;Pyramid: /* Textures */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{parent_link|parent=[[Development]]}}&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
The intention of this document is to give artists using the Vega Strike engine some suggested guidelines to follow in creating models. You may also wish to have a look at the corresponding [[Development:Texture_Guidelines|texturing guidelines]].&lt;br /&gt;
&lt;br /&gt;
So you want to create a new ship for Vega Strike, do you?  While virtually all models are welcome, well before you start cranking out wonderfully designed models we request that you first check what models are still required.&lt;br /&gt;
&lt;br /&gt;
{{warning_text |&lt;br /&gt;
| text='''Note:''' If you wish to contribute a new or updated model (ship, installation, turret, cockpit, ..) to the game Vega Strike, please see the [[Development:3D_Models|'''3D Models''']] page for models requiring attention.}}&lt;br /&gt;
&lt;br /&gt;
Alternatively, contact [[User:jackS|jackS]] or [[User:pyramid|pyramid]].&lt;br /&gt;
&lt;br /&gt;
= Modeling Pipeline Overview =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;2&amp;quot; rules=&amp;quot;rows&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;1&amp;quot; style=&amp;quot;width:100%; text-align:center; background-color:#98ffb2&amp;quot; |&lt;br /&gt;
|'''Step&lt;br /&gt;
|'''Input&lt;br /&gt;
|'''Output&lt;br /&gt;
|'''Tools&lt;br /&gt;
|'''Requirements&lt;br /&gt;
|'''Tutorials&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Model Selection&lt;br /&gt;
| -&lt;br /&gt;
| required model&lt;br /&gt;
| model task list&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Conceptualization&lt;br /&gt;
| selected model&lt;br /&gt;
| model concept&lt;br /&gt;
| pen &amp;amp; paper, artwork forum&lt;br /&gt;
| artstyle guide&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Modeling&lt;br /&gt;
| concept&lt;br /&gt;
| model mesh, obj + mtl files&lt;br /&gt;
| blender, forum&lt;br /&gt;
| many&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Texturing&lt;br /&gt;
| model mesh&lt;br /&gt;
| textures&lt;br /&gt;
| gimp, forum&lt;br /&gt;
| texture requirements&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Integration&lt;br /&gt;
| model + textures&lt;br /&gt;
| bfxm + dds textures&lt;br /&gt;
| mesher + UnitConverter&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Testing&lt;br /&gt;
| bfxm model + dds textures&lt;br /&gt;
| bfxm + dds textures&lt;br /&gt;
| vegastrike + modelview.mission&lt;br /&gt;
| pass or rework&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Submission&lt;br /&gt;
| blender file (obj + mtl), master textures, bfxm + dds textures&lt;br /&gt;
| archive or svn&lt;br /&gt;
| mail, svn client&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Model Requirements=&lt;br /&gt;
&lt;br /&gt;
==Requirements Checklist==&lt;br /&gt;
&lt;br /&gt;
Considerations for a successful model submission:&lt;br /&gt;
* Model is in the requirements list [[Development:3D_Models|-&amp;gt;]]&lt;br /&gt;
* Abides to faction visual guidelines&lt;br /&gt;
* Has approved concept&lt;br /&gt;
* Provides model source file (blender, Wings3D, ...)&lt;br /&gt;
* Provides OBJ file&lt;br /&gt;
* Has model mesh, shield mesh, LoD meshes, helper meshes&lt;br /&gt;
* Provides uncompressed textures in png format (and optionally faction textures)&lt;br /&gt;
* Provides texture source files (GIMP, ...)&lt;br /&gt;
* Provides HUD png image with correct orientation&lt;br /&gt;
* Provides units.csv file entry&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Model Requirements Details==&lt;br /&gt;
&lt;br /&gt;
==Visual Guidelines==&lt;br /&gt;
&lt;br /&gt;
For particular aesthetic guidelines, please see the [[Artstyle guides]] page. Please note that many of the existing models are used because of expedience, not because they fit well with VS canon (i.e. if you make something new look like what's there, it still might not be what we're looking for). If in doubt, please ask on the [http://vegastrike.sourceforge.net/forums/viewforum.php?f=4 Artwork &amp;amp; Content Vetting forum]. &lt;br /&gt;
&lt;br /&gt;
To absolutely sure, for new models, please create a drawing of your proposed concept and let it be discussed and approved on the [http://vegastrike.sourceforge.net/forums/viewforum.php?f=4 Artwork &amp;amp; Content Vetting forum].&lt;br /&gt;
&lt;br /&gt;
See also [[Development:Texture Guidelines]]&lt;br /&gt;
&lt;br /&gt;
==Model File Format==&lt;br /&gt;
The preferred format for submission (for public disbursement - whatever native format is used inside your favorite modeling suite is fortunately a non-issue) is currently Wavefront OBJ file format, as this is the most easily converted between manipulation (assorted modeling tools) and presentation (currently BFXM, later to be the OGRE .mesh format). Model &amp;quot;source&amp;quot; therefore, is, at present (Sep. 2008), most usefully uploaded as .OBJ.&lt;br /&gt;
&lt;br /&gt;
Until such a time as a visual model editing tool is completed, conversion to a game-ready format will likely pass through the .xmesh format for insertion of LOD references into top level mesh(es), correction of coordinate &amp;quot;handedness&amp;quot; (if the ordering of the coordinate axes is incompatible, as appears to happen with the output of some modeling tools).&lt;br /&gt;
&lt;br /&gt;
See [[HowTo:Add_Ships]] for information on using mesher to convert to a presentation format (such as BFXM). Note that an old utility, objconv, is '''not''' mesher, and should not be used for this task. Source files for the mesher utility are included along with VS source. Windows users may download updated mesher binaries from their SVN interface of choice (the binary will be in the \bin directory).&lt;br /&gt;
&lt;br /&gt;
==Polygon/Vertex Count==&lt;br /&gt;
In broadest terms, the desired polygon count for a particular model is dependent on three major factors: &lt;br /&gt;
*The amount of screen real-estate that the model is likely to be viewed at the majority of time that a user will be seeing it (i.e. a 2 meter long rocket doesn't deserve the same order of magnitude of attention to detail as a large base or vessel unless the rocket is expected to be mounted in front of a camera. Likewise, even at the same level of attention in terms of polygons per square meter, it would have far fewer total polygons.)&lt;br /&gt;
*The intrinsic surface complexity of the model. If one is modeling a box for freight cargo, one is not going to need as many polygons as if one needed to model one of the Vega Strike developers (not that we're necessarily model material ;-)). If you don't use enough polygons, no amount of texture magic can save a model from being ugly. That said, if you are modeling a cargo freight container and you use thousands of polygons, you're being negligent and wasteful of resources.&lt;br /&gt;
*Engine limitations. Engine limitations is a bit of a misnomer, as the performance of the graphical engine is more hardware dependent than anything else, but it's a good heading for lumping any non-artistic hurdles under. This is the most complicated of the three major factors, because it represents a moving target. Suffice it to say that in order to preserve playability on a broad range of systems, there is a premium placed on making a model aesthetically appropriate with the minimum number of polygons.&lt;br /&gt;
&lt;br /&gt;
Rough guideline:&lt;br /&gt;
*Fighter: 15k triangles&lt;br /&gt;
*Corvette: 30k tris&lt;br /&gt;
*Cruiserer: 60k&lt;br /&gt;
*Carrier: 120k&lt;br /&gt;
*Space station: 250k&lt;br /&gt;
&lt;br /&gt;
However, significant discression, and the possibility for using large numbers of polygons to prettify an object remain with the artist, provided they make appropriate use of [[Terminology:LODs|LODs]]. The primary focus needs to be on making a model aesthetically appropriate, for an intended common viewing distance, and then catering to the needs of the engine by introducing lower LODs (if necessary) and catering to artistic desires by introducing higher LODs (if appropriate). There is also an element of minor future proofing that occurs with providing a robust range of LOD poly counts - namely, multiple versions of the data set can be constructed targeted at different hardware points by shifting up or down along the LOD set (although this currently isn't bothered with, if and when we develop a true source repository for models and textures, this will likely become more common, as postprocessing of submitted art will become tenable).&lt;br /&gt;
&lt;br /&gt;
One more point to consider before attempting to set a polygon goal for a model is what the likely total contribution from all instances on screen of a given model will be - if the model represents something particularly rare, then it is likely that a few more polygons can easily be spared on its model than for more common objects of otherwise similar size, complexity, etc.&lt;br /&gt;
&lt;br /&gt;
Above all, use common sense - if it's visually hideous because it doesn't have enough polygons, it's not your top level model, and if it's in the 5 digit range for polygon count, it's not your lowest level LOD. Take into consideration how much screen real estate, based on the intended in-game size of the model (and if you don't have any idea how big it's supposed to be - you're doing something wrong already) the model will be taking up at various distances, and calibrate detail appropriately (this will become a much easier task once there is a visual modeling tool from the VS side) - to belabor the obvious, the difference between 500 polygons and 5000 gets somewhat obscured when the object is only drawn using 64 pixels. Note therefore that larger objects will often necessitate higher polygon counts merely because there's more of them to see.&lt;br /&gt;
&lt;br /&gt;
(Note that there is no need to continue adding LODs beyond a point of &amp;quot;diminishing artistic returns&amp;quot; - if adding more detail won't help, don't bother. If adding detail helps, but is too expensive to be practical, then it may still be worthwhile for later inclusion as hardware resources increase.)&lt;br /&gt;
&lt;br /&gt;
For small to moderate craft and installations, something along the lines of either of the following is not inappropriate:&lt;br /&gt;
&lt;br /&gt;
(Exponential Scaling)&lt;br /&gt;
*LOD 0 &amp;lt;= 500 tri's.&lt;br /&gt;
*LOD 1 &amp;lt;= 2000&lt;br /&gt;
*LOD 2 &amp;lt;= 4000&lt;br /&gt;
*LOD 3 &amp;lt;= 8000&lt;br /&gt;
*LOD 4 &amp;lt;= 16000&lt;br /&gt;
*LOD 5 &amp;gt;16000&lt;br /&gt;
&lt;br /&gt;
(Quadratic Scaling)&lt;br /&gt;
*LOD 0 &amp;lt;= 500 tri's.&lt;br /&gt;
*LOD 1 &amp;lt;= 2000&lt;br /&gt;
*LOD 2 &amp;lt;= 4500&lt;br /&gt;
*LOD 3 &amp;lt;= 8000&lt;br /&gt;
*LOD 4 &amp;lt;= 12500&lt;br /&gt;
*LOD 5 &amp;lt;= 18000&lt;br /&gt;
*LOD 6 &amp;gt;18000&lt;br /&gt;
&lt;br /&gt;
Larger models, such as capital vessels and large installations will likely follow a similar curve, but at a higher offset, due to increased size. Truly massive models should be partitioned into multiple meshes, each with its own set of LODs such that nearer portions of the model can be independently represented at higher LOD than more distant ones. Partitioning into multiple meshes may be preferable even for merely &amp;quot;largish&amp;quot; models so as to preserve reasonable correspondence between single pixels and the size of represented features when texturing.&lt;br /&gt;
&lt;br /&gt;
==Textures==&lt;br /&gt;
&lt;br /&gt;
Texture maps should also be made accordingly, although clearly artistic integrity trivially trumps the following rough guideline (if you need more pixels, use them) and the appropriate texture size may depend greatly upon the size of the model.&lt;br /&gt;
&lt;br /&gt;
*LOD 1 128x128&lt;br /&gt;
*LOD 2 256x256&lt;br /&gt;
*LOD 3 512x512&lt;br /&gt;
*LOD 4 1024x1024&lt;br /&gt;
*LOD 5 and up having multiple 1024x1024 textures&lt;br /&gt;
&lt;br /&gt;
Be careful with ''texture lodding abuse''. Each LOD that uses its own texture will require more memory (video memory), and breaks batching between instances (slows down rendering of many instances of this model). Even so, texture lodding actually frees up memory most of the time, since only lesser versions are used in the distance. A general rule of thumb is to never have more than two or at most three versions of the same texture. Also take any opportunity to convert textures to greyscale when the color loss is not quite noticeable (most commonly with glow maps and specular maps).&lt;br /&gt;
&lt;br /&gt;
Likewise, for larger models, do not neglect the potential addition of detail textures.&lt;br /&gt;
&lt;br /&gt;
See also [[Development:Texture Guidelines]] and [[Development:Graphics_Requirements]].&lt;br /&gt;
&lt;br /&gt;
===Faction Textures===&lt;br /&gt;
&lt;br /&gt;
To include and successfully test faction textures in your data, you need to:&lt;br /&gt;
* set the corresponding vegastrike.config variable (&amp;lt;code&amp;gt;var name=&amp;quot;faction_dependant_textures&amp;quot; value=&amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;).&lt;br /&gt;
* prefix default textures with the faction name, e.g. when your default texture is called &amp;quot;tex_000.texture&amp;quot;, to enable the faction texture for &amp;quot;pirates&amp;quot; you'll need to add the texture &amp;quot;pirates_tex_000.texture&amp;quot;.&lt;br /&gt;
* change configuration to one of the 2 highest computer modes (512M+1GB or 1024MB).&lt;br /&gt;
&lt;br /&gt;
==Shield and Collision Meshes==&lt;br /&gt;
Separate shield meshes are highly desirable. Shield meshes should also be done using LODs, although shield meshes should remain simple - that is, their top level meshes should not contain odious numbers of polygons for something that is only infrequently displayed.&lt;br /&gt;
&lt;br /&gt;
Collision meshes need not (and cannot) have LODs. For complex models, it is wise to provide a dumbed-down version of the model that reasonably approximates its shape - minor features and greebles can be safely removed, for instance - to improve performance on the physics engine. Polycount should be kept to a minimum, '''without sacrificing any major features''' of the top-level LOD. Very small vessels (or appropriately shaped ones) may opt to not specify a collision mesh, which will make the physics layer treat this mesh as a spherical object (most efficient).&lt;br /&gt;
&lt;br /&gt;
==HUD Image==&lt;br /&gt;
&lt;br /&gt;
Provides perspective view of the model oriented with the nose towards the left-bottom corner of the image.&lt;br /&gt;
The master image resolution should start at 256x256 pixels with transparency around the vessel.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
For an example of an entity that is composed of multiple meshes, uses LODs, and shield meshes, examine the Clydesdale. (Note that shield and collision meshes are specified in the units.csv file, not by the model.)&lt;br /&gt;
&lt;br /&gt;
=Model Creation=&lt;br /&gt;
&lt;br /&gt;
The first (and most enjoyable) job is to design and draw your model (the geometrical object) within your program.&lt;br /&gt;
&lt;br /&gt;
Feel free to use any modeling program, but it must be able to export models in either (Wavefront) .OBJ or (Vega Strike) .xmesh format. If you don't know where to start, see [[Links:3D Applications]] for a list of modeling software. [http://www.wings3d.com/ Wings 3D] is recommended for modeling beginners. [http://www.blender.org/ '''Blender'''] is the tool of choice for VS artistic community.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Orientation==&lt;br /&gt;
First off, do yourself a favor and line your model up correctly before you begin. For the purposes of Vega Strike, Z+ is forwards and Y+ is up. The model's nose should be pointing forward along the Z+ axis (so that the Z+ axis would theoretically be visible from the cockpit). The mesh should also be properly centered.&lt;br /&gt;
Summing up:&lt;br /&gt;
* Z+ -&amp;gt; Forward direction&lt;br /&gt;
* Y+ -&amp;gt; Up direction&lt;br /&gt;
* Centered&lt;br /&gt;
&lt;br /&gt;
== Tutorials==&lt;br /&gt;
&lt;br /&gt;
{{warning_text |&lt;br /&gt;
| text='''Note:''' The tutorials overview is not complete, Many of the available tutorials have not yet been integrated into this page. Refer also to the [[HowTos|'''Game HowTos''']] page for additional tutorials.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;2&amp;quot; rules=&amp;quot;rows&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;1&amp;quot; style=&amp;quot;width:100%; text-align:center; background-color:#98b2ee&amp;quot; |&lt;br /&gt;
|'''Modeling Step&lt;br /&gt;
|'''Blender&lt;br /&gt;
|'''Wings3D&lt;br /&gt;
|-&lt;br /&gt;
| Create mesh&lt;br /&gt;
| -&lt;br /&gt;
| [[HowTo:Create Ships in Wings3D|Creating a 3D-model]]&lt;br /&gt;
|-&lt;br /&gt;
| Smoothing&lt;br /&gt;
| [[HowTo:Smooth Groups|Smoothing]]&amp;lt;br&amp;gt; [[HowTo:Weld|Smooth Welding]]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Mesh cleanup&lt;br /&gt;
| [[HowTo:Bevel|Beveling]]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Unwrapping&lt;br /&gt;
| [[HowTo:Unwrap_in_Blender|Unwrapping 1]]&amp;lt;br&amp;gt;[[HowTo:Unwrap|Unwrapping 2]] &amp;lt;br&amp;gt;[[HowTo:FullUnwrapBlender|Ship unwrap]]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Radiosity Baking&lt;br /&gt;
| [[HowTo:Radiosity baking in Blender|Radiosity baking]]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Exporting&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This articles are WIP, means still need to be reviewed and decided how to restructure them:&lt;br /&gt;
* [[HowTo:Create Cockpit in Wings3d|Creating a 3D cockpit for your ship.]]&lt;br /&gt;
* [[HowTo:Add LODs|Adding Levels of Detail]]&lt;br /&gt;
* [[HowTo:Add Ships|Adding your ship to Vega Strike]] - An overview of how to create and add ships to the game&lt;br /&gt;
* [[HowTo:Create Models]] - Links to forum discussions. Page will become generic model creation tutorial.&lt;br /&gt;
* Modeling Tutorials: [[HowTos#Modeling]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Blender Basics===&lt;br /&gt;
* [[HowTo:Basic Blender Tutorial|A basic Blender3D tutorial]]: [http://www.cdschools.org/54223045235521/blank/browse.asp?A=383&amp;amp;BMDRN=2000&amp;amp;BCOB=0&amp;amp;C=55205 Blender Basics - 3rd Edition] - not specific to ships, though...&lt;br /&gt;
&lt;br /&gt;
===Wings3D Basics===&lt;br /&gt;
&lt;br /&gt;
===Other Software Basics===&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Model a Ship|Brad Mick's video tutorial on ship modeling]] - using Lightwave, but the concept is general: ''Rapid Prototyping''&lt;br /&gt;
&lt;br /&gt;
=Texture Creation=&lt;br /&gt;
&lt;br /&gt;
==Unwrapping==&lt;br /&gt;
&lt;br /&gt;
Please make non-overlapping UV unwraps for all future models. You can't bake a proper AO with overlapping islands.&lt;br /&gt;
&lt;br /&gt;
==Unsorted==&lt;br /&gt;
&lt;br /&gt;
(general guidelines, tips, best practices, app specific tutorials, ...)&lt;br /&gt;
&lt;br /&gt;
* [http://netzwelt.gaming-hut.de/vegatexturing/ WIP VegaStrike texturing page by Major]&lt;br /&gt;
* [http://edice.netfirms.com/tuts/texturetut.htm Texturing tutorial by Duality]&lt;br /&gt;
&lt;br /&gt;
For the time being, you may wish to have a look at the corresponding [[Development:Texture_Guidelines|Texturing Guidelines]].&lt;br /&gt;
&lt;br /&gt;
* [[Development:Texture Guidelines|Guidelines for creating ship materials]]&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Add Per Pixel Lighting|Adding per-pixel lighting to your 3D model]]&lt;br /&gt;
* [[HowTo:IntroToShaders|Introduction to shaders, and what they mean for you]] --Bumpmaps, Normalmaps, Shininess maps ...&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Texture|Creating your own textures]] - A summary on how to make texture maps&lt;br /&gt;
* [[HowTo:Texture in Wings3d|Texturing your model in Wings 3d]]&lt;br /&gt;
* [[HowTo:SuperrealisticTexturing|Tips for realistic-looking textures]]&lt;br /&gt;
* [[HowTo:Make Animated Textures|Using animated textures on a model]]&lt;br /&gt;
* [http://wcpedia.com/dw/doku.php/wc_info/modding/texturing_noodle LaGrande Noodle]&lt;br /&gt;
* [http://wcpedia.com/dw/doku.php/wc_info/modding/ao_and_prt_bakes AO and PRT bakes, using Blender and xNormal]&lt;br /&gt;
&lt;br /&gt;
=Integration and Testing=&lt;br /&gt;
&lt;br /&gt;
Using UnitConverter to convert all files and edit the model stats for Vega Strike:&lt;br /&gt;
[[Development:Tools:UnitConverter]]&lt;br /&gt;
&lt;br /&gt;
===Object Marker===&lt;br /&gt;
In order to automatically create turret mounts, gun mounts, and engine thrusters placements in units.csv, please use the following marker:&lt;br /&gt;
&lt;br /&gt;
[author:chuck_starchaser] Here's a blend file people could load and save as the default blender start.&lt;br /&gt;
Starts with a marker smack in the middle.&lt;br /&gt;
You can move it to another layer, later duplicate it as needed to place copies at key locations.&lt;br /&gt;
http://wcjunction.com/temp_images/cinemut/goodstart.blend&lt;br /&gt;
You can also import the marker into another blend file:&lt;br /&gt;
Open whatever.blend, go to File -&amp;gt; Append Or Link&lt;br /&gt;
Navigate to where goodstart.blend is.&lt;br /&gt;
Go to the Objects folder, and click on the &amp;quot;marker&amp;quot; object.&lt;br /&gt;
To duplicate an object, in object mode, select and shift-D.&lt;br /&gt;
To rename your duplicated object, hit F9 and, towards the left,&lt;br /&gt;
where it says OB:Marker click in the middle of it and then&lt;br /&gt;
type &amp;quot;gunmount_0_light_medium&amp;quot; or whatever.&lt;br /&gt;
&lt;br /&gt;
It is advisable to group the marker objects into a group called &amp;quot;marker&amp;quot;. You are required to export all the markers into one obj file that needs to contain the name &amp;quot;marker&amp;quot; in it (letter case is unimportant, it can be &amp;quot;marker&amp;quot;, or &amp;quot;Marker&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Object Helper naming convention: ''type_subtype_identifier''&lt;br /&gt;
&lt;br /&gt;
with type:&lt;br /&gt;
* pilot (currently unused)&lt;br /&gt;
* mount (currently unused)&lt;br /&gt;
* turret&lt;br /&gt;
* subunit&lt;br /&gt;
* engine&lt;br /&gt;
* dock&lt;br /&gt;
&lt;br /&gt;
and subtype being optional (convention tbd),&lt;br /&gt;
and identifier being either a number or a description and optional.&lt;br /&gt;
&lt;br /&gt;
You may define for example:&lt;br /&gt;
* pilot&lt;br /&gt;
* pilot_john&lt;br /&gt;
* mount_lightmedium_0&lt;br /&gt;
* turret_capmissile_frontleft&lt;br /&gt;
* subunit_1&lt;br /&gt;
* engine_retro_left&lt;br /&gt;
&lt;br /&gt;
===Updating Stats===&lt;br /&gt;
* [[HowTo:Add Descriptions|Putting ship and goods descriptions into the game]]&lt;br /&gt;
* [[HowTo:Edit master_part_list.csv|Editing the Master_part_list.csv file]]&lt;br /&gt;
&lt;br /&gt;
=Submission and Vetting=&lt;br /&gt;
&lt;br /&gt;
=Technical Reference=&lt;br /&gt;
&lt;br /&gt;
==Technical Specifications==&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Edit BFXM files|Editing BFXM files (format spec)]]&lt;br /&gt;
* [[HowTo:Edit XMESH files|Editing the xmesh file of a ship]]&lt;br /&gt;
* [[HowTo:Edit units.csv|Editing units.csv]]&lt;br /&gt;
* [[HowTo:Add Engine Glow|Adding an engine glow to your 3D model]]&lt;br /&gt;
&lt;br /&gt;
==Scripts and Tools==&lt;br /&gt;
&lt;br /&gt;
See [[Development:Scripts_%26_Tools|Scripts &amp;amp; Tools]]&lt;br /&gt;
* [[HowTo:Add_Ships#New_method|mesher converter obj &amp;lt;-&amp;gt; bfxm &amp;lt;-&amp;gt; xmesh]]&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&lt;br /&gt;
* [http://wcpedia.com/dw/doku.php/wc_info/modding/index WCpedia Modeling Page]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development|Model Guidelines]]&lt;br /&gt;
[[Category:Modeling|Model Guidelines]]&lt;/div&gt;</summary>
		<author><name>Pyramid</name></author>	</entry>

	</feed>