GLTron game on Blender

Hi there,

Here my latest creation on Blender. Well, it was a cooperative work: I did the programming, my son did the modeling and my daughter the Tron texture on the wall.
We’ve tried to replicate the original GLTron game as much as possible.
In addition, there is a network mode that was not in the original game.
I’ve created for that purpose a network protocol that should cope with packet loss, jitter, transmission delay and clock synchronization while consuming little bandwidth (12 kbit/s) so you should experience a reasonable game play even on the internet.
You will find some details on the protocol in the script.
Note that I have not implemented any AI, so in the solo mode, you’re just alone and it’s a bit boring. In Duo mode, two players use the same keyboard and in network mode, two players use different computers.
The game logic is made so that having more than 2 bykes in network mode is easy to do.

On the performance side, I use a fairly detailed byke models so I can’t reach 60fps on my Athlon 1800 but I get close to it. For the collision system, I couldn’t use Blender’s physics because of a bug in BGE: if you create several instances of an object that has a Size Ipo curve and each instance is positionned differently in the curve, all instances will have the same size for the physic engine (the size of the last one), even if all looks ok graphically. So I’ve implemented a python algorithm that does the job. It seems to perform well with less than 3% on Logic even with complicated trajectories.

Keyboard control: Left/Right/Up in solo and network mode. In Duo mode, the second player uses A/Q for Left, D for Right and W/Z for Up. Restart is automatic when one player is crashed. Use ESC to return to main menu.


P.S. The minimap in Duo mode will randomly disappear or be half hidden. This is because of a limitation in Blender that does not allow to set the order of ViewPorts. I didn’t have the time to fix that.


A screen shot of the duo mode:

Wow, Your son and daughter must be very talented, how old are they?

My son is 13 and my daughter 21. My son is really blasting fast with Blender. He can chain the commands so fast that I hardly see what he does. He did the portal that flys over that room in less than 15min.

I remember Tron, it’s kinda funny, because people are just now appreciating the value of the movie. Love the graphics, and your son is one skilled bro.

P.S. I’ve got your next game project !:wink:

I’m working on the template, maybe you could make a game from it and make some improvements.


I looked at the raceboat template. Looks interesting. First time I see this physics constraints API. Where can I find more information on it?
Currently I’m back on my modified FPS template adding more AI to the bots.

any idea of doing the disc game of Tron and/or that one of the escape of the labyrinth?..
Tron was the movie that makes me decide to be animator… :wink:

awesome! im lovin this, pass my congratulations to your son and daughter

By the way, the explosion is great, how did you do it?

oh, and what is the aim of the game?

I took the explosion from the GameKit demo “Squish the bunny”.
The game needs polishing with music, scoring system and AI for the solo game and maybe chat system for the network mode. I’ll work on that later. For the time being its already fun to play in duo or network mode and try to crash your opponent.
By the way, I didn’t try the network mode over the internet. If anyone is interested, I’ll leave a server running this evening at IP Run the game in “mode multijoueur”, typing this IP and press F2. You’ll fight against me.

Lol. Many people on these forums are 13 including me. I am loving teen life! It’s looking good. Keep it up.

it’s look like scaboostaa works … anyway i didnt play your demo. You should at his, even the model look similar …

I followed this tutorial (and modified, to make it work more like a boat):

There’s more about in the Regression files (vehiclesteering fix) I don’t know exactly where to find direct information about it. I’ll look later, I’ve got to go.