Table of Contents

1 What's This?

This really is a work that I wanted to do for long time ago.

I can tell you that this is a "framework" for creating games, or 3D scenary and objects with animations.

The main purpose is to give you the elemental things to start with.

With games I mean first or third persons games. Also you will find some utilities that I will be adding for helping you to create them.

2 Why there are designs diagrams?

If you take a look at all the directories you'll find some ".dia" files. You need Dia, a program to make diagrams, to open these files.

These diagrams represents the design of the most important parts of the software. For understanding this you need to know the Unified Model Language(UML).

2.1 UML? What's that?

UML is a standarized language used by all developers in the software industry. Is intended to communicate between software engineers using diagrams where each elements drawed in has its own purpose, use and definition.

In this case you can see lots of use cases diagrams, class diagrams and sequence diagrams.

The sequence diagrams has some differences from the usual use: there are more details about the implementation of the algorithm. This will help you to implement a method in any Object Oriented Programming Language in such a way that is directly interpreted.

If you want to know more about this language, read the wikipedia article.

2.2 So?

So, designing a program in a standard language not only deals with the difficult part: expressing the algorithm, the idea, and how it works; but also make easy to implement, almost directly, in any Object Oriented Programming Language.

For example, if in a near future the project has many contributors, and everyone want to make the project in Ruby, reading this UML design and implementing it makes everything clean, faster(we don't have to think how everything has to work again!) and understandable(we already know what we have to do).

If in a far future, the project administratos has decided to also make a clone in C++, then it will be a clean, faster and understandable implementation as happened in Ruby!

Another benefit is that you don't have to learn Ruby, you can read directly from the UML diagrams to understand the idea of how is implemented something.

3 Requirements

If you want to use this you have to download the following elements, later I will explain with more details for some known distros:

  • The Ruby interpreter
  • Gem program and this gems:
    • OpenGL bindings for Ruby
    • Qt bindings for Ruby
  • OpenGL libraries
  • Qt libraries

This simple list may be modified for those versions in the SVN repository(versions that are being developing).

For now, I will explain with more details what is needed and what you should install. If something goes wrong, and doesn't work, please use the bug tracker at the GNA! project. /(See *Reporting Comments Problems or Errors)/

3.1 In Which Operative Systems Works?

It is supposed that this works on all operative systems where also works OpenGL, Qt and the Ruby interpreter. Of course, this includes the most common operative systems: non-free(and non-recomended) and free.

3.2 On GNU/Linux

3.2.1 Fedora based distros

On Fedora you should install these packages:

ruby 1.8.7
Ruby interpreter
rubygem 1.3.7 or later
Gem program to install gems
OpenGL Libraries
Qt libraries(specially Qt version 4)

Also, you need some gems, install with gem install:

ruby-opengl 0.60.1
OpenGL bindings for Ruby
Qt bindings for ruby

The version is the recommended(because is used for developing), but may work with other versions.

4 EdMo

EdMo is an editor of models. Models are objects in the world.

5 Collaborating

Collaborations are always welcome, if you want to take part of this project please take a time to register at GNA!(of course, at no charge!).

Once logged in, visit the GNA! project page and click on the member list to see the member list page, then click on "request for inclusion" link.

5.1 Reporting Comments, Problems or Errors

If you found an error, a problem or something you want to comment, please use the "bug" tracker at the at the GNA! project.

The bug tracker are a special place for send program errors(also called "bugs").

You can use this links if you like:


7 Licence

README.txt Copyright (C) 2011 Giménez, Christian N.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see

Lunes 19 De Diciembre Del 2011

Author: Christian N.Giménez <>

Date: 2011-12-19 lun

HTML generated by org-mode 6.33x in emacs 23