Helping Glest

From MegaGlest
Revision as of 15:21, 8 February 2011 by Olaus (talk) (reworked (still not finished))
Jump to: navigation, search
This article or section requires a cleanup in order to meet the Glest Wiki's quality standards.
Reason: Needs to be updated. Also, many broken links, which must be removed, and empty sections or unneeded should be filled or removed.
You can edit this page to improve it.


This page outlines how a person can become involved with developing for Glest. Please note that the developed of the original Glest has stopped in april 2009. There are two projects which continue and have added lots of features, factions and maps since then. Glest Advanced Engine is especially known for offering a richer single player experience, MegaGlest for better and more stable online-gaming.

Forum

This is the best place to see what's going on and meet the developers. It is organised into the categories of Announcements, General Discussion, Multiplayer, Linux and other ports, bug report, Mods, Megaglest, GAE, Maps/Tilesets/Scenarios, Tools, and Translations.

Another good place is IRC.

Documentation/Maintenance

Wikia is a good source of Glest information. Anybody is able to modify and add to it to make it better.

Translations

See the Glest Translation forum.

Maps

Use the map editor to create new maps. For information look at our Glest map editing guide.

Testing

Submit bugs to the Glest bug tracker, or let us know on the forum.

Promoting

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.


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

3> http://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro/Landscape_Modeling_III:_Exporting_as_a_Heightmap

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


Useful links

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