Free and Open Source real time strategy game with a new take on micro-management

Difference between revisions of "Developer Center"

From Globulation2

Jump to: navigation, search
(updated link)
 
(15 intermediate revisions by 10 users not shown)
Line 1: Line 1:
This page is intended to be the center of the developer community, i.e. people working with direct [[Mercurial]] access. The final code documentation should be written by doxygen into [[Mercurial]] in docsrc/ directory, but intermediate doc are welcomed here to be worked on.
This page is intended to be the center of the developer community, i.e. people working with direct [[Git]] access. The final code documentation should be written by doxygen into [[Git]] in docsrc/ directory, but intermediate doc are welcomed here to be worked on.




==Resources for developers==
==Resources for developers==


These are wiki resources usefull for developer:
These are wiki resources useful for developer:
===Compilation and Releases===
===Compilation and Releases===
* [[Changes|Changelog for players, source for release notes]]. Please update it when you commit a new feature or an important bug fix in the [[Mercurial]].
* [[Changes|Changelog for players, source for release notes]]. Please update it when you commit a new feature or an important bug fix in the [[Git]].
* [[Compatibility]] - one issue should be fixed per release so its supported on more operating systems
* [[Compatibility]] - one issue should be fixed per release so it's supported on more operating systems
* [[Releasing a new version]] - what to do when its time to release a new version
* [[Releasing a new version]] - what to do when it's time to release a new version
* [[Uploading to Savannah]] - what to do when your ready to upload the version
* [[Uploading to Savannah]] - what to do when you're ready to upload the version
* [[Things to do before 1.0.0]] - a list of must do things that need to be incorporated into Globulation before the 1.0.0 release
* [[Things to do before 1.0.0]] - a list of must do things that need to be incorporated into Globulation before the 1.0.0 release
* [[Developer Todo]] - list of things the developers are working on (includes roadmap)
* [[Current Issues with Using Globulation 2]] - list of things that we hope will be fixed by 1.0
* [[Converting from the old map format]] - After Alpha 23, the format for maps was changed, so you need to convert
* [[Converting from the old map format]] - After Alpha 23, the format for maps was changed, so you need to convert
* [[Obtaining the Release Candidate]] - How to work with the release candidate
* [[Obtaining the Release Candidate]] - How to work with the release candidate
* [[Beta 5 rebalance]] - Slight gameplay tweaks in beta 5
====Packaging====
====Packaging====
* [[Building the .deb file]] - making a package for Debian
* [[Building the .deb file]] - making a package for Debian
Line 20: Line 19:
* [[Mingw compilation|Compile glob2 with mingw]] - explains how to compile globulation2 on windows using mingw.
* [[Mingw compilation|Compile glob2 with mingw]] - explains how to compile globulation2 on windows using mingw.
* [[MAC OS X Development|Compiling Glob2 on Mac OSX]] - maintained by AppleBoy
* [[MAC OS X Development|Compiling Glob2 on Mac OSX]] - maintained by AppleBoy
* [[Cross compiling deb packages on Hudson]] - how to cross compile and package using pbuilder.


===Coding info===
===Coding info===
* [[Main Issues|Proposals for some actively supported issues]]
* [[Bounty]] projects - a list of things people will pay to have implemented.
* [http://cofundos.org/projects.php?tag=glob2 Bounty projects] - a list of things people will pay to have implemented.
* [[General Gameplay Guidelines]] - what the game must keep to
* [[General Gameplay Guidelines]] - what the game must keep to
* [[File Hierarchy|The hierarchy of files in glob2's sources]]. Refer to [[Mercurial]] HEAD.
* [[File Hierarchy|The hierarchy of files in glob2's sources]]. Refer to [[Git]] HEAD.
* [[GUI Theming]]
* [[GUI Theming]]
* [[CodingConventions|Programming conventions used by source code]]. Please follow them if you want to contribute to source code. You can comment them in ther [[Talk:CodingConventions|discussion page.]]
* [[CodingConventions|Programming conventions used by source code]]. Please follow them if you want to contribute to source code. You can comment them in their [[Talk:CodingConventions|discussion page.]]
* [[Code_Documentation|View the way code should be documented]]
* [[Code_Documentation|View the way code should be documented]]
* [[Source Understanding Guide|Things to read if you want to enter into glob2's source code.]]
* [[Source Understanding Guide|Things to read if you want to enter into glob2's source code.]]
* [[Common Programming Mistakes|Mistake often seen in C++]]. Please read this and check your code if you are new to C++.
* [[Common Programming Mistakes|Mistake often seen in C++]]. Please read this and check your code if you are new to C++.
* [[Main Issues|Proposals for some actively supported issues]]
* [[Campaign Creation]] Information on adding campaigns into the code
* [[Campaign Creation]] Information on adding campaigns into the code
* [[BuildingSourceInts]]
* [[BuildingSourceInts]]
* [[Race Customization]]
* [[Race Customization]]
* [[Making An AI With Echo (part 1)|Making An AI With Echo]]. Read this if you want to make an AI for Glob2.


===Algorithm Descriptions===
====Algorithm Descriptions====
* [[Resource_Algorithm|Resource growing description]]
* [[Resource_Algorithm|Resource growing description]]
* [[Gradients|High level gradient usage description]]
* [[Gradients|High level gradient usage description]]
* [[Terrain|High level terrain description]]
* [[Terrain|High level terrain description]]


===New Programming Documents / Tutorials===
* [[Ghost Proposal|The old ghost proposal]]
* [[New AI System|The New Echo AI System]]. Some early information about Echo design.
* [[Making An AI With Echo (part 1)|Making An AI With Echo]]. Read this if you want to make an AI for Glob2.
* [[Next Generation YOG]]
* [[New YOG Protocol Design Documents]]. Read this for a description of the new YOG system (still in development)
* [[Core Engine Design Document]]. Read this for a general description of the new core Engine
* [[Networked Games Design Document]]. A design document for our network engine.
* [[Completely Decoupled Event Driven GUI]]. A new idea for a completely modular, event driven GUI


Of course, [[Contributor Center|Resources for contributors]], [http://savannah.nongnu.org/projects/glob2 savannah] as well as [[IRC]] are also very usefull for developers.


Of course, [[Contributor Center|Resources for contributors]], [https://github.com/Globulation2/glob2 Github] as well as [[IRC]] are also very useful for developers.


===Work in Progress===
===Work in Progress===
Line 58: Line 48:


* [[AINicowar]]
* [[AINicowar]]
:Documentation in progress for Nicowar AI.
* [[Universe Background]]
* [[Universe Background]]
* [[USL interface]]



===Request for comments===
===Request for comments===

Latest revision as of 15:52, 15 February 2021

This page is intended to be the center of the developer community, i.e. people working with direct Git access. The final code documentation should be written by doxygen into Git in docsrc/ directory, but intermediate doc are welcomed here to be worked on.


Resources for developers

These are wiki resources useful for developer:

Compilation and Releases

Packaging

Coding info

Algorithm Descriptions


Of course, Resources for contributors, Github as well as IRC are also very useful for developers.

Work in Progress

These sections are still being worked on. While you're welcome to comment on them, you shouldn't spend all day nitpicking on them, as they might be changed completely or removed before you're finished.

Request for comments

These files have been written up fully, but need to be peer-reviewed. Please read through these pages, edit and comment on them.

  • nothing for now
Misc