tOrque - yet another marble game

Friendly greetings everyone,

I have been working on a little project and I named it ‘tOrque’. Yes, it’s a stupid name.
I started working on this project because I wanted to get back to basics. I wanted to use my current knowledge of the Blender Game Engine for simple games.
In my opinion tOrque already went a little bit too far. My goal is to create a simple but fun game in a very short amount of time.

In the game you have to reach the checkpoint with Suzanne hovering above it. That is all.

I posted this project in work-in-progress because I still want to add more levels and special platforms to the game and I want to add a simple menu screen so you guys won’t be dropped into the game immediately.

I have uploaded two videos:

New videos:

I hope everyone likes it.
The project took one hour and eleven minutes to complete.

Kind regards,

- Ani

cool game :smiley: is this available for download?

It’s not available for download yet.
I’d like to add more levels and specials first and of course a menu.

Kind regards! :smiley:

I’ll wait till then :slight_smile:

Awesome, this could be a very awesome game :smiley: How did you get the ball physics? Mind sharing?

When your done, submit: I’ll add it :slight_smile:

Basically it’s just a rigid sphere using a Motion Actuator to move around. The materials contain friction information that stop the marble from skidding all over the place.
I am currently working on a setup that allows you to use multiple camera angles instead of just one.
After that I will most likely continue to make levels and then release the game.
It’s not supposed to become a incredibly complex game.


  • The camera can now move up and down and it jiggles a little.
  • A sound plays when you hit a surface.

Kind regards.

I have a question by the way.
Should I replace the movement sound of the ball with something else?

NO, the car sounds are epic!
And why does it need to be rigged?

It’s a rigid sphere. Not rigged. :wink:
I meant to say that the sphere is a rigid body.

Thanks for the advice on the sounds. :stuck_out_tongue:

Oh, ok. Thought you said rigged :stuck_out_tongue:

And yeah, I thought the car sounds were really awesome :smiley:

Oh and how did you do the camera, just normal logic bricks?

Looks awesome, though the car sounds were a little strange. I think you should play different samples depending on the material the ball is rolling on (wood, metal, ice etc…).

I dunno, I personally really like the car sounds. But either way, looks like a really simple game, but it looks very nice. Can’t wait to try it.

same here :slight_smile:

I’m recording another timelapse video.
I’m currently working on making it possible to move the sphere in the camera looking direction.
Almost there.

Edit: Apparently I wasn’t there yet at all. The script works but only when the player presses and holds a movement key which is very annoying since you can’t control the sphere using the camera when there is no key pressed.
I have been trying to resolve this problem in the past hour but I still haven’t been able to fix it.
There is a chance that I’ll just use the original navigation method. Then I’ll start making the official levels.

Kind regards,

- AniCator

It would seem to me you would you need to make some properties to not only record the ball’s current position, but also keep at least a previous position.

Then you would get the vector direction between the two points and rotate the camera according to the values that you get.

Setting the orientation is also a bit easier than it used to since you can just use Mathutils for its functions that allow you to use eulers for orientation and set up the matrix automatically.

The game looks good so far, love the sound effects.

I’m sorry but already know how to do that. The problem is that it only updates the direction as long as you press a key. I’ve tried to continuously trigger it using an Always sensor but I must have been doing something wrong.

Here’s the code:

import GameLogic as gl

co = gl.getCurrentController()
scene = gl.getCurrentScene()
directObj = scene.objects["OBdirection"]
key = co.sensors["forW"]
key2 = co.sensors["backW"]
motion = co.actuators["forD"]

getRot = directObj.getAxisVect([1,1,0])

oldTorqueX = co.owner["oldTorqueX"] = motion.torque[0]
oldTorqueY = co.owner["oldTorqueY"] = motion.torque[1]
if key.positive:
	newTorqueX = co.owner["newTorqueX"] = (-oldTorqueX+getRot[0])/2
	newTorqueY = co.owner["newTorqueY"] = (-oldTorqueY+getRot[1])/2
if key2.positive:
	newTorqueX = co.owner["newTorqueX"] = (oldTorqueX+getRot[0])/2
	newTorqueY = co.owner["newTorqueY"] = (oldTorqueY+getRot[1])/2

motion.torque = -newTorqueX,-newTorqueY,0

This version doesn’t use the Always sensor. I rewrote it from scratch but I still couldn’t get it to work.
It moves in the right direction, I just can’t get it to keep adjusting the direction while keeping the same velocity.

key = W-key
key2 = S-key

If I can get it working using only those two keys then it shouldn’t be too hard to configure in the A and D keys either for left and right ‘strafing’.

Thanks for your suggestion.
Kind regards,

- Ani

Friendly greetings everyone,

I’ve uploaded two new videos showcasing new features and a new goal/milestone I created for this project.

My next goal is to release this game with an estimated 50 levels to play, intuitive controls and maybe an online scoreboard.

Now for the videos:

Kind regards,

- Ani

Man that looks awesome!
You should make this open source so people can make levels, could turn out to become a really popular game or something!

In the second test I notice more side-to-side motion, but the camera is now setup so you see the ball more than the level, as in there seems to be too much height.

Awesome dude,
i love the blue thing reflecting on the floor! how did u get that effect?
the sounds are pretty kool too :smiley:
Hope to see more soon ^^
Kind regards,