Difference between revisions of "HowTo:Contribute"

From VsWiki
Jump to: navigation, search
m (Space Backgrounds)
(Code documentation)
 
(20 intermediate revisions by 7 users not shown)
Line 1: Line 1:
 
{{Parent link|parent=[[HowTos]]}}
 
{{Parent link|parent=[[HowTos]]}}
 
----
 
----
 
+
= Introduction =
 
So, you want to contribute to the project? You've come to the right place.
 
So, you want to contribute to the project? You've come to the right place.
  
 
Welcome to the '''Vega Strike Contributor's Guide'''!
 
Welcome to the '''Vega Strike Contributor's Guide'''!
  
There are many ways to give back to the project. Artists, coders, musicians, scripters, testers, etc. are all quite welcome. This article is intended to be a jumping-off point that will help you find a way to contribute to the project with your individual skill set.
+
There are many ways to give back to the project. Artists, coders, musicians, scripters, testers, etc. are all very  welcome. This article is intended to be a jump-off point that will help you find a way to contribute to the project with your individual skill set.
  
 
Not all possible avenues of contribution are covered here, but we hope that the ones that are will help point you in the right direction.
 
Not all possible avenues of contribution are covered here, but we hope that the ones that are will help point you in the right direction.
  
== For Artists ==
+
Generally, it is best to start with something that you would like improved or included in the game. Otherwise, good places to start looking for contribution possibilities are the following pages:
 +
 
 +
For tasks that need to be done:
 +
* [[Development:Roadmap|The roadmap]] and the current release roadmap
 +
* [[Development:2D_Images|2D images task list]]
 +
* [[Development:3D_Models|3D models task list]]
 +
 
 +
For modding guidelines and contribution requirements see:
 +
* [[Development:Graphics_Requirements|Generic Graphics Requirements]]
 +
* The [[Development|Development]] wiki portal
 +
* The [[HowTos|HowTo Tutorials]]
 +
 
 +
= Licenses =
 +
Please bear in mind that we are bound to accept contributions under the following licenses. This means that if you submit your work for use in Vega Strike, it will be automatically licensed under GPL unless you state one of the other licenses:
 +
* (GPL) GNU General Public License
 +
* (LGPL) GNU Lesser General Public License
 +
* (GPDL) GNU General Public Documentation License
 +
* (PD) Public Domain
 +
* (CC-BY) Creative Commons By Attribution license
 +
* (CC-SA) Creative Commons Share Alike license
 +
* (CC-BY-SA) Creative Commons By Attribution Share Alike license
 +
 
 +
Please note that we do not allow licenses not mentioned above, in particular:
 +
* (CC-NC) Creative Commons Non-Commercial license or any combination with CC-BY and CC-SA
 +
 
 +
For a more updated list, please see [[Development:Graphics_Requirements#Licenses]].
 +
 
 +
= For Artists =
 
There are many ways in which artists can contribute.
 
There are many ways in which artists can contribute.
  
 
=== Modelling/Texturing ===
 
=== Modelling/Texturing ===
A lot of the in-game models and textures could use renovation. [[Development:3D_Models#Open_Models|Development:3D Models]] contains a list of open tasks for modellers and texture artists.
+
A lot of the in-game models and textures could use renovation. [[Development:3D_Models#Open_Models|Development:3D Models]] contains a list of open tasks for modellers and texture artists. Information on requirements and guidelines can be found here:
 +
* [[Development:Model_Guidelines|Modeling]]
 +
* [[Development:Texture_Guidelines|Texturing]]
 +
* [[HowTos#Modeling|Tutorials]]
  
 
=== Base Images ===
 
=== Base Images ===
There are still some bases which don't have graphics that are up-to-par with current standards. Making new base images can be easier for artists not used to modelling in-game objects, particularly because levels of detail, polygon counts, etc. are not a concern.
+
There are still some bases which don't have graphics that are up-to-par with current standards. Making new base images can be easier for artists not used to modeling in-game objects, particularly because levels of detail, polygon counts, etc. are not a concern.
 
The only consideration to be made is that final renders should be at a square resolution.
 
The only consideration to be made is that final renders should be at a square resolution.
  
Today, most computer screen are 4:3 screens. Therefore, the best working flow would be to render a 4:3-picture and squish it to a square. Most video cards work very well with 1024x1024 textures. Older ones have trouble with larger ones. But as technology advances higher resolutions are needed.
+
Today, most computer screens are 4:3 screens. Therefore, the best working flow would be to render a 4:3-picture and squish it to a square. Most video cards work very well with 1024x1024 textures. Older ones have trouble with larger ones. But as technology advances higher resolutions are needed.
  
 
Preferred resolutions:
 
Preferred resolutions:
Line 31: Line 61:
  
 
=== Space Backgrounds ===
 
=== Space Backgrounds ===
We could always use more space backgrounds. Backgrounds in space are spheremapped textures arranged in a cube-shaped skybox, so you will need to give us a set of six images.
+
We could always use more space backgrounds. Backgrounds in space are sphere mapped textures arranged in a cube-shaped skybox, so you will need to give us a set of six images.
 
 
{{Fixme}} - need more info on sphere mapping
 
  
[pyramid] More information soon in [[Development:Space_Backgrounds|Development:Space_Backgrounds]]
+
*More information can be found in [[Development:System_Backgrounds]]
 +
*The task list for backgrounds is here: [[Development:2D_Images#Space_Backgrounds]]
  
 
=== Cargo images ===
 
=== Cargo images ===
Line 45: Line 74:
  
 
=== Splash screens ===
 
=== Splash screens ===
 
+
The splash screens are stored in data/animations in the "spash_screenname.ani" folder.
The splash screens are stored in data4.x/animations in the "spash_screenname.ani" folder.
 
 
The configuration entry is in "vegastrike.config" around line 500 as the statement "var name=splash_screen value=splash_confed.ani"
 
The configuration entry is in "vegastrike.config" around line 500 as the statement "var name=splash_screen value=splash_confed.ani"
 
To add a new splash screen, you'll need to create an ani folder and place the picture and image file there.
 
To add a new splash screen, you'll need to create an ani folder and place the picture and image file there.
The image must be in 1:1 pixel ratio, that is for example 1024x1024.
+
The image must be in 1:1 aspect ratio, for example 1024x1024.  It will be [http://sourceforge.net/tracker/index.php?func=detail&aid=1969224&group_id=19507&atid=119507 displayed filling the user's screen], which could be 4:3, 16:10, or whatever.  Current backgrounds have non-square pixels and "look right" when stretched to 4:3 (e.g. 1600x1200).  i.e. their pixel aspect ratios are 4:3.  Unless support is added for storing the aspect ratio somewhere e.g. in the filename as suggested in that bug report, new images should also be 4:3.  It's probably a good idea to work with a high rez master copy with square pixels, and only rescale and compress to the final square texture at the end.
  
== For Musicians ==
+
= For Writers =
 +
 
 +
=== Stories ===
 +
 
 +
We need stories for campaigns to be written. Without stories there are no missions and no quests.
 +
Feel free to post your ideas in the forums.
 +
 
 +
* See also [[Development:Campaigns]]
 +
 
 +
= For Musicians =
  
 
A Vega Strike [[Music Committee]] is being established to set rules, standards and guidelines for composers and provide assistance with the task of creating music for the game. [[Music Committee|Click Here to visit the Wiki Page for More Information...]]
 
A Vega Strike [[Music Committee]] is being established to set rules, standards and guidelines for composers and provide assistance with the task of creating music for the game. [[Music Committee|Click Here to visit the Wiki Page for More Information...]]
  
== For Programmers ==
+
There are also many opportunities for voice acting, learn more at [[Development:Audio#Voice_Acting]]
 +
 
 +
= For Programmers =
  
 
=== Coding tasks ===
 
=== Coding tasks ===
 +
Vegastrike is written in C++ and uses python as procedural scripting language. The C++ Code is moving to an Object Orientated organization.
 +
 
Please contact the development team for information on coding tasks that need work.
 
Please contact the development team for information on coding tasks that need work.
You may be able to find more information at [[Development#Status/task_list_pages]] and the [http://vegastrike.sourceforge.net/forums/viewforum.php?f=27 Developer Focus] forum.
+
You may find more information on required tasks:
 +
* at the [[Development#Status/task_list_pages]]
 +
* in the [[Development:Roadmap]]
 +
* on the [http://forums.vega-strike.org/viewforum.php?f=27 Developer Focus] forum.
  
 
Several current tasks are:
 
Several current tasks are:
Line 66: Line 110:
  
 
=== Scripting tasks ===
 
=== Scripting tasks ===
We could use help improving the AI system and scripting campaigns (in python). Contact the development team for more info.
+
There are various scripting tasks that require attention.
 +
We could use help with Python scripting for any of the tasks:
 +
* improving the AI system
 +
* Mission type scripts
 +
* Short in-system quests
 +
* Economic simulation
 +
* Political simulation
 +
* Campaign scripts
 +
* Content authoring tools
 +
 
 +
Contact the [[Vegastrike:Project#Active_Development_Team|development team]] for more info.
  
 
=== Code documentation ===
 
=== Code documentation ===
 
Anybody willing to comment and document current code (or to help by removing incorrect documentation) is welcome. Please contact the development team for more information.
 
Anybody willing to comment and document current code (or to help by removing incorrect documentation) is welcome. Please contact the development team for more information.
  
== For Testers ==
+
NEW : Version 0.5.1 Doc for C++/Python is here in Doxygen format : [[DOCs]]
 +
 
 +
= For Testers =
 
If you would like to help test the game, please [[HowTo:Checkout_SVN|get the SVN]] (Development Version). You may also want to contact the development team to know if any specific features need testing.
 
If you would like to help test the game, please [[HowTo:Checkout_SVN|get the SVN]] (Development Version). You may also want to contact the development team to know if any specific features need testing.
  
Any bugs you find can be reported at the [http://vegastrike.sourceforge.net/forums/viewforum.php?f=2 Bug Triage forum] or the [http://sourceforge.net/tracker/?group_id=19507&atid=119507 Sourceforge Bug Tracker].
+
Any bugs you find can be reported at the [http://forums.vega-strike.org/viewforum.php?f=2 Bug Triage forum] or the [http://sourceforge.net/tracker/?group_id=19507&atid=119507 Sourceforge Bug Tracker].
  
== For Others ==
+
= For Others =
There is still plenty to be done if you are not an artist, coder, etc. A lot of people "work in the trenches" to mantain and update the data set.
+
There is still plenty to be done if you are not an artist, coder, etc. A lot of people "work in the trenches" to maintain and update the data set.
  
 
=== Stats work ===
 
=== Stats work ===
Line 85: Line 141:
 
We can always use more screenshots! [[HowTo:Take Screenshots]] provides our reasons for this, along with many helpful tips and tricks.
 
We can always use more screenshots! [[HowTo:Take Screenshots]] provides our reasons for this, along with many helpful tips and tricks.
  
Please [http://vegastrike.sourceforge.net/gallery2/main.php?g2_view=core.ItemAdmin&g2_subView=core.ItemAdd&g2_itemId=5167&g2_return=http%3A%2F%2Fvegastrike.sourceforge.net%2Fgallery2%2Fmain.php%3Fg2_view%3Dcore.ShowItem%26g2_itemId%3D5167&g2_returnName=album upload your screenshots] to the User Screenshot gallery and tell us about them in the  
+
Please [http://forums.vega-strike.org/cpg/thumbnails.php?album=13 upload your screenshots] to the User Screenshot gallery and tell us about them in the  
[http://vegastrike.sourceforge.net/forums/viewtopic.php?t=2404 "Call for Screenshots" forums thread].
+
[http://forums.vega-strike.org/viewtopic.php?t=2404 "Call for Screenshots" forums thread].
  
 
=== Adding ships ===
 
=== Adding ships ===
 
Sometimes, an artist will submit a model, but will not add it to the game himself. Adding ships is pretty straightforward once you figure out how to do it, although it does take time and effort. [[HowTo:Add Ships]] explains the process in detail.
 
Sometimes, an artist will submit a model, but will not add it to the game himself. Adding ships is pretty straightforward once you figure out how to do it, although it does take time and effort. [[HowTo:Add Ships]] explains the process in detail.
Please contact the devlopment team or check [[Development:3D Models]] to see if there are any models pending insertion.
+
Please contact the development team or check [[Development:3D Models]] to see if there are any models pending insertion.

Latest revision as of 10:48, 19 February 2014

thumb_arrow_up.png HowTos

Introduction

So, you want to contribute to the project? You've come to the right place.

Welcome to the Vega Strike Contributor's Guide!

There are many ways to give back to the project. Artists, coders, musicians, scripters, testers, etc. are all very welcome. This article is intended to be a jump-off point that will help you find a way to contribute to the project with your individual skill set.

Not all possible avenues of contribution are covered here, but we hope that the ones that are will help point you in the right direction.

Generally, it is best to start with something that you would like improved or included in the game. Otherwise, good places to start looking for contribution possibilities are the following pages:

For tasks that need to be done:

For modding guidelines and contribution requirements see:

Licenses

Please bear in mind that we are bound to accept contributions under the following licenses. This means that if you submit your work for use in Vega Strike, it will be automatically licensed under GPL unless you state one of the other licenses:

  • (GPL) GNU General Public License
  • (LGPL) GNU Lesser General Public License
  • (GPDL) GNU General Public Documentation License
  • (PD) Public Domain
  • (CC-BY) Creative Commons By Attribution license
  • (CC-SA) Creative Commons Share Alike license
  • (CC-BY-SA) Creative Commons By Attribution Share Alike license

Please note that we do not allow licenses not mentioned above, in particular:

  • (CC-NC) Creative Commons Non-Commercial license or any combination with CC-BY and CC-SA

For a more updated list, please see Development:Graphics_Requirements#Licenses.

For Artists

There are many ways in which artists can contribute.

Modelling/Texturing

A lot of the in-game models and textures could use renovation. Development:3D Models contains a list of open tasks for modellers and texture artists. Information on requirements and guidelines can be found here:

Base Images

There are still some bases which don't have graphics that are up-to-par with current standards. Making new base images can be easier for artists not used to modeling in-game objects, particularly because levels of detail, polygon counts, etc. are not a concern. The only consideration to be made is that final renders should be at a square resolution.

Today, most computer screens are 4:3 screens. Therefore, the best working flow would be to render a 4:3-picture and squish it to a square. Most video cards work very well with 1024x1024 textures. Older ones have trouble with larger ones. But as technology advances higher resolutions are needed.

Preferred resolutions:

  • render a 1365x1024 picture and then squish it to 1024x1024
  • render a 2731x2048 picture and then squish it to 2048x2048

Planet Textures

There is a need to improve existing planetary textures with the ultimate goal to provide cinematographic quality planets. A wiki page is specifically dedicated to explaining this task. Head over to Development:Orbital_Planet_Surfaces for more information.

Space Backgrounds

We could always use more space backgrounds. Backgrounds in space are sphere mapped textures arranged in a cube-shaped skybox, so you will need to give us a set of six images.

Cargo images

We can always use more images of cargo. Original works and crops of existing works (under a free license or public domain) are acceptable. Although there are thoughts on restructuring and reclassifying all cargo items, every picture for currently existing cargo will be used up to then. There are still a lot of items, many of them being alien cargo, not having a picture assigned to it yet. Especially original works of those are needed.

See the cargo graphics development page for further details. The assignment table for new cargo graphics is on the Development:2D_Images page and the submission and vetting process is usually done in the forums.

Splash screens

The splash screens are stored in data/animations in the "spash_screenname.ani" folder. The configuration entry is in "vegastrike.config" around line 500 as the statement "var name=splash_screen value=splash_confed.ani" To add a new splash screen, you'll need to create an ani folder and place the picture and image file there. The image must be in 1:1 aspect ratio, for example 1024x1024. It will be displayed filling the user's screen, which could be 4:3, 16:10, or whatever. Current backgrounds have non-square pixels and "look right" when stretched to 4:3 (e.g. 1600x1200). i.e. their pixel aspect ratios are 4:3. Unless support is added for storing the aspect ratio somewhere e.g. in the filename as suggested in that bug report, new images should also be 4:3. It's probably a good idea to work with a high rez master copy with square pixels, and only rescale and compress to the final square texture at the end.

For Writers

Stories

We need stories for campaigns to be written. Without stories there are no missions and no quests. Feel free to post your ideas in the forums.

For Musicians

A Vega Strike Music Committee is being established to set rules, standards and guidelines for composers and provide assistance with the task of creating music for the game. Click Here to visit the Wiki Page for More Information...

There are also many opportunities for voice acting, learn more at Development:Audio#Voice_Acting

For Programmers

Coding tasks

Vegastrike is written in C++ and uses python as procedural scripting language. The C++ Code is moving to an Object Orientated organization.

Please contact the development team for information on coding tasks that need work. You may find more information on required tasks:

Several current tasks are:

Scripting tasks

There are various scripting tasks that require attention. We could use help with Python scripting for any of the tasks:

  • improving the AI system
  • Mission type scripts
  • Short in-system quests
  • Economic simulation
  • Political simulation
  • Campaign scripts
  • Content authoring tools

Contact the development team for more info.

Code documentation

Anybody willing to comment and document current code (or to help by removing incorrect documentation) is welcome. Please contact the development team for more information.

NEW : Version 0.5.1 Doc for C++/Python is here in Doxygen format : DOCs

For Testers

If you would like to help test the game, please get the SVN (Development Version). You may also want to contact the development team to know if any specific features need testing.

Any bugs you find can be reported at the Bug Triage forum or the Sourceforge Bug Tracker.

For Others

There is still plenty to be done if you are not an artist, coder, etc. A lot of people "work in the trenches" to maintain and update the data set.

Stats work

Stats and playbalancing are a critical part of the game. There is currently a Rebalance effort underway. Please contact dandandaman if you would like to assist.

Screenshots

We can always use more screenshots! HowTo:Take Screenshots provides our reasons for this, along with many helpful tips and tricks.

Please upload your screenshots to the User Screenshot gallery and tell us about them in the "Call for Screenshots" forums thread.

Adding ships

Sometimes, an artist will submit a model, but will not add it to the game himself. Adding ships is pretty straightforward once you figure out how to do it, although it does take time and effort. HowTo:Add Ships explains the process in detail. Please contact the development team or check Development:3D Models to see if there are any models pending insertion.