Skip to content

Latest commit

 

History

History
78 lines (48 loc) · 3.7 KB

CONTRIBUTING.md

File metadata and controls

78 lines (48 loc) · 3.7 KB

Introduction

Thank you for considering contributing to the Imperialism Remake project!

Volunteers are always welcome. There are plenty of chances to take part in coding, graphics design, discussing the game rules or just giving feedback.

Most of these tasks can be discussed in the community forum, please consider registering there. Alterantively, use this issue tracker for inquiries.

Feedback

For programmers direct interaction with the source repository by forking and pushing merge requests (please rebase first) are preferred. Please use the issue tracker to report problems. Requests for enhancement should be posted at the issues tracker or in the community forum.

Getting started (programming)

Sources

The source code is on GitHub.

The folder structure is as follow:

  • documentation Game manuals as sphinx projects
  • examples Code snippets demonstrating certain aspects of the code base. No tests
  • prototypes Showcase implementation of larger parts of the game before they are integrated in the code base.
  • source The code base of the game with game assets (artwork, sound, ..) located at source/imperialism_remake/data
  • test Collection of tests.
  • tools Helper scripts for creating content files, building the documentation, ..

Using Git

Please use the usual fork and create pull request scheme for suggesting changes to the code. Also see this tutorial learngitbranching. On Windows, TortoiseGit conveniently integrates git with the explorer.

Developer documentation

  • Documentation Status Game Design
  • Documentation Status Developer Manual

Python environment

Install Python 3.X. See also the Python documentation.

Only PyQt5 is required for running. Sphinx and sphinx_rtd_theme for creating the documentation.

PyQt5

PyQt5 is a Python binding of the Qt framework and is required for running.

PyQt5 has not much documentation on its own but the API classes overview of the underlying C++ Qt 5.X framework is very useful since PyQt5 is almost 100% recreating it.

Start the game

  • Run file source/imperialism_remake/start.py
  • Start with command line parameter "--debug" for (more) output on the console.
  • A folder with log files and settings is created under "user folder/Imperialism Remake User Data" where "user folder" is the typical user folder of your system (Windows: C:/Users/XXX/, Linux: ~/.config/).

Tests

All tests in folder test can be run by executing test/run_tests.py. We also use Travis CI to run the tests automatically.

Build Status

IDE

I use PyCharm Community Edition.

Packaging

Packaging on Linux and macOS has not progressed much so far. Windows packaging is with pynsist. Instructions will be added later.