Helping Glest
This page outlines how a person can become involved with developing for Glest/Glevolution and what areas there are with links to resources to get started.
Contents
Mission Statement
Working on a Project
General considerations
Starting a new project
Joining an existing project
Communicating with other developers
Please use good Netiquette.
Getting help
Try the Glest forums or other places that allow for game developers to ask for help (such as):
- FreeGameDev.net
- IndieGamer (paid only)
- GamingWorld
Mentoring
Distribution
You can host the files on your own website and add a link to the Wikia or you could contact RainCT so he can upload them to the Glest: Evolution website.
Conditions for uploading to Glest: Evolution are (finish this).
Mod hosting:
- http://glest.eurion.net/
- http://hive.gamemod.net/
- http://games.moddb.com/277/glest/
- http://www.darkstars.co.uk/downloads/index.php?dir=glest
Programming
Glest/Glevolution is written in C++.
Getting the tools
IDEs (Linux):
- Anjuta
- Kdevelop
- Geany
- Code::Blocks
IDEs (Windows):
- Dev-C++
- Visual Studio
- Code::Blocks
- Geany
Debuggers:
- gdb
Doxygen
Setting up an IDE
If you are using ubuntu edition of linux following site is really helpful and stepwise process is described in a well manner
http://psubuntu.com/forum/viewtopic.php?p=6417&sid=1f528f6ff4f2e0390c6f1b436b1f34a2
good tutorial for students on how to use the code::block
www.sci.brooklyn.cuny.edu/~goetz/codeblocks/codeblocks-instructions.pdf
Learning C++
Coding style
Available from Glevolution SVN.
Using SVN
Packaging
Packages can often depend on the distribution of Linux or Windows your wanting it for.
AutoPackage makes software installation on Linux easy. Software distributed using Autopackage can be installed on multiple Linux distributions and integrate well into the desktop environment.
Thoughts on Package Management
Maps
Use the map editor to create new maps. For information go here.
Models/Animation
Tools
- Blender
- K-3D
- Wings 3D
- 3D Studio Max
- Glexml
installing openGl on linux (I tried it on ubuntu 8.04), step by step process
http://blog.chinthaka.org/2008/09/developinginstalling-opengl-in-ubuntu.html
RUNNING OpenGL on VISUAL STUDIO 2005
http://www.cecs.csulb.edu/~pnguyen/Using%20OpenGL%20in%20Visual%20Studio%202005.htm
A game engine is a software system designed for the creation and development of computer and video games. More precisely, it is a platform which is abstract in the sense i.e. platform abstraction is provided i.e. platform independent game could be developed. The core functionality typically provided by a game engine includes a rendering engine (“renderer”) for the 2d and 3d graphics, sound, scripting, animation, artificial intelligence and networking. Game engine helps to reuse same part so it helps to economize large part of the game development.
Rendering is the process of generating an image from a model, by means of computer programs. The model is a description of three dimensional objects in a strictly defined language or structure. It would contain geometry, viewpoint, texture, lighting, and shading information.
A game development engine provides a suite of visual development tools along with the reusable software components. These tools are generally provided in IDE to enable simplified and rapid development of the game in data driven manner( data-driven design is the result of adapting abstract data type design methods to object oriented programming. This type of design is used in object-oriented programming to define classes during the conception of a piece of software.) These games engines are sometimes called "game middleware" because, as with the business sense of the term, they provide a flexible and reusable software platform which provides all the core functionality needed, right out of the box, to develop a game application while reducing costs, complexities, and time-to-market—all critical factors in the highly competitive video game industry.
Some game engines only provide real-time 3D rendering capabilities instead of the wide range of functionality required by games. These engines rely upon the game developer to implement the rest of this functionality or assemble it from other game middleware components. These types of engines are generally referred to as a "graphics engine," "rendering engine," or "3D engine" instead of the more encompassing term "game engine." However, this terminology is inconsistently used as many full-featured 3D game engines are referred to simply as "3D engines." We are using G3D or Genesis3D engine in GLEST, a graphics engine.
G3d user manual and import documentation
http://g3d-cpp.sourceforge.net/manual/index.html
Using Blender 3D to create Glest model
the "official" topic of the "Blender XML-G3D exporter".
First : Blender
Blender is a free (as in speech and as in beer) 3D modeller and renderer. It works on about all operating system (Windows, Linux, BSD, MacOS...) It is a little bit hard to start with, because it have a weird interface and use many keyboad shortcut. You'll probably need to follow some tutorials to learn how to use it.
The console (or terminal) opened with Blender is the python console, which will display messages when you will use a script. On Linux (and probably BSD), start blender from a X terminal with the "blender -w" command, to have it on a window.
Blender : http://www.blender3d.org A nice tutorial : http://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro Official documentation : http://download.blender.org/documentation/htmlI/
For Glest ::::
one could directly jump to (stepwise)
1> http://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro/Landscape_Modeling_I:_Basic_Terrain
2> http://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro/Landscape_Modeling_II:_Texture_Stenciling
4> http://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro/Building_a_House
5> http://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro/Texturing_Basic_Seawater
6> http://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro/Mountains_Out_Of_Molehills_2
Translations
Audio
Promoting
(Links to promotional content) Any Glest content can be used to promote Glest. Make a video of gameplay, a poem, a story, a poster, talk about it with your friends or on gaming forums.
Testing
Submit bugs to the Glest bug tracker, or let us know on the forum.
Documentation/Maintenance
Wikia
This is a good source of Glest information. Anybody is able to modify and add to it to make it better.
Forum
It is organised into the categories of News, General, Development, Bugs and Linux Port.
Doxygen
This is a tool used to automatically generate documentation for the source code.