Helping Glest

From MegaGlest
Revision as of 12:38, 23 September 2008 by Ashutoshkat (talk) (Tools)
Jump to: navigation, search

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.

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):

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:

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

Install Code:Blocks on Linux


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.

Create Debian Linux packages

Packaging software with RPM

RPM Tutorial

Creating Slackware Packages

OpenSUSE Build Service

KRPMBuilder


Thoughts on Package Management

Conary

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

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.

Co-ordinating