Editing Zero-K:Developing
Jump to navigation
Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 2: | Line 2: | ||
== ZK's Devving Philosophy (social rules) == | == ZK's Devving Philosophy (social rules) == | ||
− | * "War is | + | * "War is anticommunication!" |
** Communicate with other devs about your changes/fixes, let them understand the issue. Do not make 'random' changes. | ** 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." | * "Do not create work for other people." | ||
** Have responsibility for your changes/commit. Do not leave bugs that require other people to fix. | ** Have responsibility for your changes/commit. Do not leave bugs that require other people to fix. | ||
* "Readability & performance are equally important." | * "Readability & performance are equally important." | ||
− | ** Optimize code | + | ** Optimize code but not to the point of unreadability. [http://c2.com/cgi/wiki?RulesOfOptimization Remember the rules of optimization]: |
*** Don't. | *** Don't. | ||
*** Don't (yet). | *** Don't (yet). | ||
Line 17: | Line 17: | ||
* [https://github.com/ZeroK-RTS/Zero-K Zero-K] contains the game proper | * [https://github.com/ZeroK-RTS/Zero-K Zero-K] contains the game proper | ||
** units folder contains unit definition files | ** units folder contains unit definition files | ||
− | ** | + | ** you can read wiki about game development for [https://springrts.com/wiki/Main_Page spring engine] |
* [https://github.com/ZeroK-RTS/Zero-K-Infrastructure Zero-K-Infrastructure] | * [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/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 | * [https://github.com/ZeroK-RTS/SpringRTS-Tools SpringRTS-tools] contains various dev tools | ||
Line 28: | Line 26: | ||
** MapIconBuilder - unit map icon sources are here | ** 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 | * [https://github.com/ZeroK-RTS/Zero-K-Missions Zero-K-Missions] contains source files for official ZK missions | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Getting sources == | == 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 to submit your changes for review | |
− | |||
− | * | ||
− | |||
− | |||
− | * | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Modifying the game == | == Modifying the game == | ||
− | + | <ol> | |
− | + | <li>Create a folder <code>games/zk.sdd</code> in the Zero-K installation folder.</li> | |
− | + | <li>Clone to desktop [https://github.com/ZeroK-RTS/Zero-K Zero-K game] and save it to <code>zk.sdd/</code>. This folder should contain multiple files/folders, such as <code>modinfo.lua</code>.</li> | |
− | + | <li>To test source modifications, you'll need to enable developer mode in Chobby. Do this by creating an empty text document "devmode.txt" in the same directory as Zero-K.exe. You may need to restart the lobby.</li> | |
− | + | <li>In the Settings menu a new tab appears: Developer. Edit the Singleplayer setting to be Zero-K Dev.</li> | |
− | + | <li>Your skirmish games should now use your modified local copy of zk.sdd.</li> | |
− | + | </ol> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | < | ||
− | |||
== Modifying infrastructure/tools == | == 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 === | === 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. | * 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 == | == Artwork == | ||
− | See [ | + | See [[Development Artwork]] |
− | |||
− | |||
== Missions == | == Missions == | ||
− | + | See [[Mission Editor]] | |
− | |||
− | === | + | == Engine == |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
See [https://springrts.com/wiki/Development:Getting_Started Spring Engine Development] | See [https://springrts.com/wiki/Development:Getting_Started Spring Engine Development] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |