A mouse controled RPG

Hi all,

I’m using blender for 2 years about and as a programmer, I decided to try the Blender Game Engine,
I got many help on the help section, and now, I can show you some gameplay and the player model I went so far.

The gamepay will be strongly inspired from Diablo2 and Sacred2.
I already set up the player novements and the camera handling,
I plan to use mainly the collisions to handle damages between the player and the environement. I suck in 2D so my textures won’t be so nice, but it’s a good way to make me experiment with that.

Here is the video about the player movements and the camera :

I already added some features like simple combat system, player and monster are exchanging damages. Advanced combat programming starting once I get the player abble to hold a sword, because Suzanne doesn’t have hands!

First attempt at low poly modeling too, here is the player model :
The concept is not of me, but I can’ recall the name of its author, if you recognize it, please PM it to me, I’ll add it to the credits (see bellow).
I’m rigging it at the moment. quite hard time to me lol, but I’ll see how it turns.

Credits :

  • Chaser (MouseTools from his pathfinder demo)
  • Blendenzo (Mouse cursor customization by scene overlay)
  • Kouken (Meki character concept - http://kouken.deviantart.com)

Thank you for reading :slight_smile:

Here is an update video.
Gates and Lava.

The damages by the monsters will be shown one I the red monsters textured lol.
I had to centralize the damages script to handle the lava and the fights.

Hope you like it.

i am also working on a diablo 2 styled game called Beliar , would you like to stay in contact to share ideas/ tricks/ and screenshots?
yours Thomas

Hi Thomas, I’d be glad to share tecniques with you as I have many ideas.
I don’t plan to make a very long game, but I would prefer establish a soli basis with many functions.
My goal is to developp the maximum of different skills on Blender, as I’m a developper in my job.
We can share our stuff in public here or by PM / Mail, as you wish.

that was a great starting point for a game nice job keep on working on it

Hello all,

I added a small feature, the target circles under the mobs, on mouseover event for instance.
Here is a simple screenshot.

Next step is to make a target selection and the display of the mob life bar…

your cavelier looks fine for the most part. If your playing from the view you set there, you shouldn’t have trouble with him. Your game looks very fun. I would like to play a demo when it’s ready.


Hi Yournamehere,
I’m glad you like it. the view will be from back mainly, but the camera can be rotated by the user.
I’m playing with the armatures and try to animate 2 basic movements like walking and punching…
I have a hard time lol.
Here is a small shot to show a pose (I played with the composite nodes at the same time lol).
I will release some development releases, so you guys can give me your feed back while I’m in progress.

Animating is really not my part, so if some people wanna help for animation don’t hesitate to apply.
I prefer programming and modeling lol :slight_smile:

Hi all,

Here is a small update.

The function has to be better coded to work on any objects, but it’s working.
The idea is to use the faces of a cube to project the picture of the mouse pointer, and I rotate the cube accordingly.

The mouse pointer is not very clear, I wonder if the ortho and the prersp view work well together… I’ll investigate.

See you soon for the next update.

Edit :
Ok, the bad look of the mouse pointer is fixed :slight_smile:

I had to use a MatrixRotation to rotate the cube of the pointer.


I added the new function that handle basic events.
The first room with spiders, a grid closes after the player enters the room,
Once the spiders are dead, the door opens again and will never close anymore.
I did all that with logic bricks.

But I encountered a python problem during my tests.
It seems that some removed objects are still called by some sensors.
For example, all the monsters are dead (I remove them with the endObject() python method), and when I walk in the lava, a different controller that receives the collision with the lava (to update the player HP) tells me the game data has been freed and the python variable is not available anymore.
He referes to the hide function of the circles under the monsters once we lost the mouse over event on the monster.

So I have to test the invalid property of my controller before the part of the code that hides the circle, but I guess all the calls stay in memory, even if they do nothing, it’s not very clean, I don’t like to leave stuff like that.
In fact I keep track of the last object witch the mouse has been over, that makes me understand when I have to hide the circle under the monsters once the mouse over something else or over nothing.
To solve the above problem I simply put None in my variable corresponding to the last mouse over object, is it a good way to do?

Does anyone know why different controlers receive signals from object not in the scene anymore?

I’m not sure to be really clear, I can post some code if needed, Thank you for your help.
A video about the room events will be updated tomorrow I think :wink:

Ok, I figured it out.
I used for the Player HP update process module a global variable for my controller object.
And for an unknown reason the controler object in memory is the monster object.
Maybe because the collision occured first with the monster…
Anyway I fixed that and everything seems bug free.
I’ll go on and add the monsters life bar, maybe I’ll work little bit on the design of them as we’ll see those often.

See you soon.


Here is the promised video.
The enemy life gauge!

The room events is also shown, after killing the monsters, the gate opens.


I have to say, you’re making some seriously speedy progress with your game here–your workflow definitely seems to be in order and I’m impressed with what you’ve got going so far. Keep up the good work, you’re an inspiration to keep me from slacking off on my own projects by seeing what’s doable.

Hi Drakmire,

I’m glad you like it. I enjoy to discover the game engine.
What about your project? Ask me if you need some tips.

Hello, I did few updates, but nothing that changes at screen.
I order my code and some bricks.
I centralized python mouse over events to the monsters. The difficult part was to ma the circles disappear on the mouse out event. That’s solved.
I didn’t figure out how to do something, maybe one of you guys can help me?
I try to animate a weapon attached to the player object (read parented) without actuators.
Because I don’t want to use logic brick to simply play 20 frames. Is there a way?

Because if I just create the actuator and a controller, python raise an error like “a AND controller doesn’t have a activate() method”. And if I try to change the controller type to python, it tells me the sensor is not active.
So I should build a fulll chain of logic Bricks and I would prefer to avoid that. Any idea?
I’m searching on the forum but didn’t find nothing useful yet…

One I managed this, you’ll be able to see Suzanne strike at enemies!

I would like to make a suggestion on your cavalier’s pose: The sword he is holding is too small to be a two-handed sword and his stance looks a bit stiff. maybe he should have his feet spread a bit farther apart and have his sword arm back as if he is about to strick a blow and the other arm foreward. :slight_smile: just a suggestion. otherwise this looks like a cool game.

Also use the edit button so you dont clutter the thread with needless posts

Hello Viper650,
Thank you for the suggestions. I know the size is a short word, but I suck so much at animation and posing I don’t plan to use a shield, only 2 hand melee wepons, so I just need one anim.
But I’ll stick to your comments for the pose, and I’ll adapt the sword because this one should be attached to the character side, but I won’t keep it and used for the pose test.

Another point guys, no body has a tip how I could play simple anim by ipo by python, without block logics?

Hmm… I don’t know how that’s done. I don’t know if it’s possible w/Blender. But you are doing a really awesome job, man! Keep up the good work. I can help animate for you if you want :). Just send me a PM.

Hi all,

I’m still stuck with my Ipo.
I manage to make it with logic brikcs, but it doesn’t work by python.
Here is the setup from the monster that handle the collision with the player:

And here is the bricks setup to receive the signal from the weapon view:

I use the Message actuators/sensors.
But the fight process being scripts in a python module, I may be able to send the message from there, so I could get rid of the brick on each monster type.
Here is the line of python used:

GameLogic.sendMessage("strike", "", "Weapon")    #Subject, Body, To

I know this line is called because I have a print instruction just after and that works.

Can someone tell me what am I doing wrong?

@micah702 : Sure I’ll PM you, I’m stuck on 2 points at the moment and I’m loosing motivation because of lack of specific documentation.

Ok, I pause the stuff for animating the hammer as micah702 animated the chevalier.
Thank to him very much, I’ll then look forward to use the actions in the game engine.
Before I go so further, I’d like to finish the drop function I’m doing now.
I managed to make dead monster drop some stuff, only life potions at the moment.
It works well, but I encoutner a random problem again.
I add a cube in the game with the property “Takeable” and the mouseover detects it well and the mouse cursor change to a new hand pointer. So the system of mouseover works well.
But I decided to put my props in a separate file and then I link a potion object in my scene and add the same property but… no mousepointer change with this one! Simply incredible.
Am I doing something wrong? I don’t think so, because I did the same test with the barrel linked from the same prop file, and that works…
Here is a pic to show better my problem :

Can anyone tell me if there are requirements for objects to be detected? There are rigidbody actors and the moment, and the other strange stuff is that the potion doesn’t interract with anything… unlinke the barrel…
Please give me some tips, maybe I missed something…