Difference between revisions of "HowTo:Contribute"

From VsWiki
Jump to: navigation, search
m (Introduction)
(Code documentation)
 
(6 intermediate revisions by 4 users not shown)
Line 6: Line 6:
 
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.
  
Generally, good places to start looking are the following:
+
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 tasks that need to be done:
 
* [[Development:Roadmap|The roadmap]] and the current release roadmap
 
* [[Development:Roadmap|The roadmap]] and the current release roadmap
* [[Development:2D_Images|2D images taks list]]
+
* [[Development:2D_Images|2D images task list]]
 
* [[Development:3D_Models|3D models task list]]
 
* [[Development:3D_Models|3D models task list]]
  
For requirements and guidelines:
+
For modding guidelines and contribution requirements see:
 
* [[Development:Graphics_Requirements|Generic Graphics Requirements]]
 
* [[Development:Graphics_Requirements|Generic Graphics Requirements]]
* [[Development|The development wiki pages]]
+
* The [[Development|Development]] wiki portal
* [[HowTos|The tutorials]]
+
* The [[HowTos|HowTo Tutorials]]
  
 
= Licenses =
 
= Licenses =
Please bear in mind the 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:
+
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
 
* (GPL) GNU General Public License
 
* (LGPL) GNU Lesser General Public License
 
* (LGPL) GNU Lesser General Public License
Line 41: Line 41:
  
 
=== 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. Information on requirements and guldeines can be found here:
+
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:Model_Guidelines|Modeling]]
 
* [[Development:Texture_Guidelines|Texturing]]
 
* [[Development:Texture_Guidelines|Texturing]]
Line 50: Line 50:
 
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 91: Line 91:
  
 
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...]]
 +
 +
There are also many opportunities for voice acting, learn more at [[Development:Audio#Voice_Acting]]
  
 
= For Programmers =
 
= For Programmers =
  
 
=== Coding tasks ===
 
=== Coding tasks ===
Vegastrike is written in C++ and uses python as procedural scripting language. The C++ Code is moving to a Object Orientated organization.
+
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.
Line 101: Line 103:
 
* at the [[Development#Status/task_list_pages]]
 
* at the [[Development#Status/task_list_pages]]
 
* in the [[Development:Roadmap]]
 
* in the [[Development:Roadmap]]
* on the [http://vegastrike.sourceforge.net/forums/viewforum.php?f=27 Developer Focus] forum.
+
* on the [http://forums.vega-strike.org/viewforum.php?f=27 Developer Focus] forum.
  
 
Several current tasks are:
 
Several current tasks are:
Line 108: Line 110:
  
 
=== Scripting tasks ===
 
=== Scripting tasks ===
We could use help improving the AI system and scripting campaigns (in python). Contact the [[Vegastrike:Project#Active_Development_Team|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.
 +
 +
NEW : Version 0.5.1 Doc for C++/Python is here in Doxygen format : [[DOCs]]
  
 
= For Testers =
 
= 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 127: 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.