Archive for July, 2007

Simple rendering engine

Wednesday, July 18th, 2007

Screenshot 2007-07-17
So I am making some progress with the game engine, and can proudly post the first screenshot (I am currently using borrowed models and textures, so the picture has no real connection to what the game will look like, unfortunately). The following things are currently implemented and working:

  • A basic scene graph, consisting of models (with materials), light sources, and players (each player has its own viewport, so multiple players will be able to run on the same computer).
  • 3DS, MD2 & STL importers.
  • Skin & environment map textures.
  • A sky box.
  • A simple Lua script system for describing maps.

Next up: Design the game loop and hook in a physics engine (ODE).

Scripting in Lua

Monday, July 9th, 2007

Getting the best out of Lua requires some effort, obviously. However I am progressing nicely with a “near” object oriented script interface for the world/map configuration. Now it is possible to write things like:

envMap = AddCubeTexture("data/sky.tga")
mesh01 = AddMesh("data/model1.md2");
skin01 = AddTexture("data/model1.tga")
obj = AddStaticObject(mesh01, skin01, 0, 0, 0)
obj:SetEnvMap(envMap);
obj:SetReflection(0.1);
AddLight(-30.0, -50.0, 40.0, 1.0, 1.0, 1.0, 300.0)

Of course you can do nifty stuff, such as loops (create hundreds of objects sharing the same mesh - good for benchmarking). I am not really sure yet what to expose in Lua space, and how to expose it, but at least it is now contained in a single unit (scriptfun.c), that can be updated or replaced when necessary.

Welcome!

Sunday, July 8th, 2007

Hello and welcome to my new blog!

This blog is all about the creation of a new computer game, code named “Hover Extreme” at the moment (a few other names were already taken, including “Hover Battle”, “Hover Torunament” and “Hover Bot Arena”).

The game is currently in its planning / early development stage, and I only have a vague idea about how it is going to look once it is finished. The basic concept is as follows:

  • A 3D first/third person action game, where you control a hover craft (probably a futuristic space ship like vehicle). Your goal is to hit your opponents, either with your own craft, or possibly using some kind of weaponry, until they crash and burn.
  • The score system will probably be much like that of popular death match games (Unreal Tournament etc), i.e. one kill = one point.
  • The game should be easy to get into. I hope that even young children should be able to enjoy it.
  • The game should be using a proper physics engine, in order to get a good feel of collisions, gravity, mass and the difficulty of controlling a hover craft.

Apart from that, the game is developed under Ubuntu Linux, using highly portable technologies, such as OpenGL and Lua, so it should work on just about any system (of course including the three major platforms: Linux, Mac OS X and Windows).

I will continue to post technical articles on this blog as the development of the game continues. Until then, have patience…