Difference between revisions of "HowTo:Contribute"
m (→Coding tasks) |
(→Code documentation) |
||
(17 intermediate revisions by 6 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 | + | 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 | + | 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 | + | 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 33: | Line 63: | ||
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. | 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. | ||
− | More information can be found in [[Development:System_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 43: | 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 | ||
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 | + | 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...]] | ||
− | + | 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 | + | 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 | + | 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 | + | 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 = | ||
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:// | + | 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 = | |
− | There is still plenty to be done if you are not an artist, coder, etc. A lot of people "work in the trenches" to | + | 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:// | + | 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:// | + | [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 | + | Please contact the development team or check [[Development:3D Models]] to see if there are any models pending insertion. |
Latest revision as of 11:48, 19 February 2014
![]() |
Contents
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:
- The roadmap and the current release roadmap
- 2D images task list
- 3D models task list
For modding guidelines and contribution requirements see:
- Generic Graphics Requirements
- The Development wiki portal
- The 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.
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.
- More information can be found in Development:System_Backgrounds
- The task list for backgrounds is here: Development:2D_Images#Space_Backgrounds
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.
- 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. 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:
- at the Development#Status/task_list_pages
- in the Development:Roadmap
- on the Developer Focus forum.
Several current tasks are:
- The OGRE Port
- New simulation model
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.