Zero-K:Developing

From Zero-K
Revision as of 21:17, 26 July 2016 by 92.217.35.186 (Talk)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

New developers should read this before touching the source.

ZK's Devving Philosophy (social rules)[edit]

  • "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."
  • "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[edit]

  • Zero-K contains the game proper
    • units folder contains unit definition files
    • you can read wiki about game development for spring engine
  • Zero-K-Infrastructure
    • ZeroKLobby - is the lobby program for windows used as main interface and downloader
    • Zero-K.info - is the website sources
  • Zero-K-Artwork contains sources for 2D art, 3D art and sounds
  • 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
  • Zero-K-Missions contains source files for official ZK missions

Getting sources[edit]

  • Get a GitHub account and download Github for desktop
  • 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[edit]

  1. Locate data folder of your game - in Zero-K lobby settings click open game data folder
  2. Create a folder games/zk.sdd in game data folder
  3. Clone to desktop Zero-K game and save it to zk.sdd
  4. To test source modifications run the game using skirmisher (Zero-K settings tab) and pick game named Zero-K $VERSION

Modifying infrastructure/tools[edit]

  1. Install Visual Studio Community edition
  2. Install SQL Server express
  3. Clone to desktop Zero-K infrastructure
  4. Test by opening Zero-K.sln in Visual Studio

Debugging infrastructure[edit]

  • 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. Setup
  • Note: in order to run asp.net it's required that you install MS SQL Express on your local PC. Get one from 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[edit]

See Development Artwork

Missions[edit]

See Mission Editor

Engine[edit]

See Spring Engine Development