← Back to team overview

ubuntu-gaming team mailing list archive

Just what we need..

 

Hi all,

I just stumbled across the Ubuntu Gaming team via the news post over
at Phoronix. The goals of the team are very similar to what I have
been thinking about for some time. My name is Luke Benstead, I'm a
co-maintainer of NeHe (the OpenGL tutorial website). Some friends and
I have been considering what it is that is preventing an open source
games "industry" from developing. I've come to the conclusion that
there are several areas that need attention from a developer point of
view.

Firstly, the game-related APIs. Developing games on Windows (from
scratch - not using a pre-developed engine) is much easier for several
reasons. DirectX is key here. DirectX provides a consistent API for
graphics, sound, input and networking. We have OSS equivalents
(OpenGL, OpenAL, SDL) but they are scattered, it's not a "standard"
toolkit. Devs mix and match with other libraries there is no "Game
SDK". Also, the DX SDK provides functionality that is difficult to
find in open source libraries, model loading (X files), 2D and 3D font
output, D3DX math functions - again, there are libraries and code
snippets lying around the OSS world, but you have to find them.

Secondly, tutorials and documentation. Because DX is a combined
package, there is a load of documentation for the package as a whole.
Also game development tutorials can focus on the broad scope of the
whole game, while there are OSS tutorials on OpenGL, OpenAL and SDL...
again they are scattered everywhere.

Finally, game resources. We need a central repository of 3D models,
sounds, maps and textures. Think gnome-look.org for games. It's no
good if you develop a cool game that looks like a train-wreck full of
programmer art and sounds made by blowing down a PC mic. There are
people all over the place that develop these kind of resources for fun
(look at the modding community), there just needs to be a central
location for people to upload to.

Now, I've been thinking about this for AGES, and if it wasn't for my
lack of time, there would already be such a central repository
website. However, my friends and I have done *something* on the SDK
front. On launchpad there is a project called "kazmath", it's a 3D
math library, written in C in an OpenGL style, the aim is to fill the
gap that the D3DX math libraries fill over on WIndows. At the moment
the math library is completely unoptimized, (we are concentrating on
making it work, before making it fast) and it is still under
development. But it already has over 100 math related functions and
I've been using it in my personal stuff for some time. Alongside
kazmath, in the same bzr repo I've just added a folder called
"kazmodel". My aim for this library is to fill the model loading gap
which the DX SDK already caters for. I hope to support the Quake 3
(MD3), Quake 2 (MD2), X and OBJ model formats. It's in very early
development (only basic MD3 model loading and rendering in wireframe
works). The final piece of the puzzle (which I haven't even started
yet) is to provide a similar library which can render 2D and 3D fonts
in OpenGL - probably called kaztext to keep with the naming ;)

My eventual plan is to add a gamedev-sdk.deb meta package, which
downloads and installs libsdl1.3-dev (when 1.3 is released),
libopenal-dev, libgl1-mesa-dev, codeblocks (awesome IDE), libkazmath,
libkazmodel and libkaztext. Creating a full cross-platform game SDK
which is in a consistent style.

Anyway, let me know what you guys think, feel free to checkout kazmath
and submit patches (we are in desperate need of unit tests), I'll keep
this list updated with news on the other libraries.

Luke.

P.S. Basic website here: http://www.kazade.co.uk/kazmath/



Follow ups