Skip to content

tj-miller/TextAdventure

 
 

Repository files navigation

PLEASE READ THIS DOCUMENT IN ITS ENTIRETY BEFORE CONTRIBUTING TO THE TEXT ADVENTURE PROJECT!
Note that "I" refers to the creator of Text Adventure, Nathan Alden, Sr.


Purpose of Text Adventure
-------------------------
Text Adventure is a game engine in the style of the old DOS game, ZZT.


How to Contribute
-----------------
Contributions may be made by anyone. However, for the time being I ask to review all changes before they are committed to the main line. This will help ensure consistency and will also help to keep the vision of Text Adventure consistent as a whole. I ask that contributions be made in branches to keep changes segregated from each other and to make it easier for me to perform code reviews. Once contributors gain more experience with the Text Adventure codebase I expect others will be able to perform code reviews.

Please read the codebase before making contributions, if possible.


Required and Recommended Tools
------------------------------
- Required
	- Microsoft Windows
	- Microsoft Visual Studio 2010
	- Git
	- XNA Game Studio 4.0
- Recommended
	- JetBrains ReSharper 5.1 or 6


Code Styles
-----------
I think a clean, consistent codebase is of great importance as a project gets bigger. I ask that all contributors use the following Visual Studio 2010 options to ensure all code remains consistent (for ReSharper users, note that ReSharper overrides many of these settings):
- Text Editor | All Languages | General
	- 'Word wrap' unchecked
- Text Editor | All Languages | Tabs
	- Set 'Tab size' to 4
	- Set 'Indent size' to 4
	- Select 'Keep tabs'
- Text Editor | C# | Formatting
	- All options set to their Visual Studio defaults, except
	- Wrapping
		- All options unchecked

Please read the codebase before	making contributions to familiarize yourself with its patterns, practices and styles.

ReSharper is not required, but I highly recommend it. Its refactoring tools have saved me hundreds of hours of mundane, boilerplate work over the years. It's worth every penny! For ReSharper users, there are two ReSharper code style XML configuration files in the repository root. Users of ReSharper should import one of these XML files into ReSharper to ensure the 'Cleanup Code' feature does not radically alter styling. Note that I almost always perform a 'Full Cleanup' before checking in changes, so I ask contributors to please do the same. If you have imported the code styles successfully, you shouldn't see radical changes when performing a diff.