Difference between revisions of "Developing"

From Zero-K
Jump to navigation Jump to search
(Imported/Converted Development page)
 
(Redirected page to Zero-K:Developing)
 
(13 intermediate revisions by 5 users not shown)
Line 1: Line 1:
= Before modifying source: =
+
#REDIRECT[[Zero-K:Developing]]
== ZK's Devving Philosophy (social rules) ==
 
* Core devs have the last word.
 
* "War is anticommunication!"
 
** Communicate with other devs about your changes/fixes, let them understand the issue. Do not make 'random' changes.
 
* "Do not create work for other people."
 
** Have responsibility for your changes/commit. Do not leave bugs that require other people to fix.
 
* "Readability & performance are equally important."
 
** Optimize code but not to the point of unreadability. [http://c2.com/cgi/wiki?RulesOfOptimization Remember the rules of optimization]:
 
*** Don't.
 
*** Don't (yet).
 
*** Profile before doing it.
 
* "If it ain't broke, don't fix it."
 
** Don't code fixes that nobody wants to problems that don't exist.
 
 
 
== What is in source codes ==
 
* [https://github.com/ZeroK-RTS/Zero-K Zero-K] contains the game proper
 
** units folder contains unit definition files
 
*** you can read wiki about game development for [http://springrts.com/wiki/Main_Page spring engine]
 
* [https://github.com/ZeroK-RTS/Zero-K-Infrastructure Zero-K-Infrastructure]
 
*** ZeroKLobby - is the lobby program for windows used as main interface and downloader
 
*** Zero-K.info - is the website sources
 
* [https://github.com/ZeroK-RTS/Zero-K-Artwork Zero-K-Artwork] contains sources for 2D art, 3D art and sounds
 
* [https://github.com/ZeroK-RTS/SpringRTS-Tools SpringRTS-tools] contains various dev tools
 
** Upspring - required to edit the .3do and .s3o model files used in the game
 
** MapIconBuilder - unit map icon sources are here
 
* [https://github.com/ZeroK-RTS/Zero-K-Missions Zero-K-Missions] contains source files for official ZK missions
 
 
 
== Getting sources ==
 
* Get a [https://github.com/ GitHub] account and download [https://desktop.github.com/ Github for desktop]
 
* [https://github.com/ZeroK-RTS Locate] repository you want to edit and click "clone in desktop" button on website
 
* After you finish modifying sources click *Pull request* in Github for windows and submit your changes for review
 
 
 
 
 
== Modifying the game ==
 
<ol>
 
  <li>Locate data folder of your game - in Zero-K lobby settings click open game data folder</li>
 
  <li>Create a folder games/zk.sdd in game data folder</li>
 
  <li>Clone to desktop [https://github.com/ZeroK-RTS/Zero-K Zero-K game] and save it to zk.sdd</li>
 
  <li>To test source modifications run the game using skirmisher (Zero-K settings tab) and pick game named [b]Zero-K $VERSION[/b]</li>
 
</ol>
 
 
 
== Modifying infrastructure/tools ==
 
<ol>
 
<li>Install [https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx Visual Studio Community edition]</li>
 
<li>Install [http://www.microsoft.com/en-us/server-cloud/products/sql-server-editions/sql-server-express.aspx SQL Server express]</li>
 
<li>Clone to desktop [https://github.com/ZeroK-RTS/Zero-K-Infrastructure Zero-K infrastructure]</li>
 
<li>Test by opening Zero-K.sln in Visual Studio</li>
 
</ol>
 
 
 
=== Debugging infrastructure ===
 
* Right click asp.net -> properties -> web -> check "Specific Page" and leave it blank. Otherwise you get errors when trying to host locally.
 
* To run a project right click it, choose "set as startup project" and hit F5 to run using debugger.
 
* You can enable multiple startup projects to test entire infrastructure locally (game servers, lobby etc). Enable asp.net, springie and ZeroKLobby projects to test it all together. [http://i.imgur.com/2mgizUJ.png Setup]
 
* Note: in order to run asp.net it's required that you install MS SQL Express on your local PC. Get one from [https://www.microsoft.com/en-us/download/confirmation.aspx?id=42299| here]. The file you will need is called SQLEXPR_x64_ENU or SQLEXPR_x86_ENU. Make sure you install version that matches your version of Windows (i.e. x86 vs x64). During the installation leave all the parameters default except that I changed server name to SQLEXPRESS in one of the first steps of wizard.
 
 
 
== Artwork: ==
 
See [http://zero-k.info/Wiki/Development_Artwork| Development Artwork]
 
 
 
== Missions: ==
 
See [[Mission Editor| Mission Editor start page]]
 
 
 
[[Category:Development]]
 

Latest revision as of 06:54, 27 April 2018

Redirect to: