Ninja Massacre - Beta release

Hi Panda3D community!

I have been developing a game over the last 7 months and now I’d like to show you its first version.

Ninja Massacre is an action/shooter game with an innovative gameplay. You control the ninja’s arm using the mouse, through an interesting inverse kinematics mechanism.

I bought the 3D models from Apart from these assets I made the entire game by myself.

Here is a video showing some features: (sorry for my English I’m Brazillian)

Feel free to download the game, play it and I would appreciate any feedback. It is already a complete game, but still lack some play testing and level tuning, and I intend to improve it.

Here is a link to the p3d file: … /ninja.p3d

Thank you to all Panda3D developers and to this community! I would not have done it without you! :smiley:

Congratulations, it’s very nice! With regard to feedback, I have two questions. Why aren’t you using sync-video? Why aren’t you using shadows?

Thanks yaio!

Aswering your questions:

Yes, shadows are in my to do list! I was in a hurry to release this first version because I want to put some friends to do some play testing for me. Meanwhile I will keep adding some features and polishing the game.

Now, your sync-video intrigued me.

I’ve packed the ninja.p3d file with no prc file. I thought that in this case Panda3D would use the default config values, and the default value for sync-video is true. I’m sure I’m not setting it to false by code. Strange huh? And more strange, in some machines it works and in others it doesn’t.

I’ve tested the same ninja.p3d file in different machine configurations. In these machines listed below, the rendering is synchronized with monitor:

  • Intel i5, 4GB RAM, Nvidia GeForce GT 335M
  • AMD Dual Core, 3GB RAM, ATI Mobility Radeon HD 4250

However, in a Dell notebook (Intel i3, 4GB RAM, Intel HD Graphics) rendering is not synchronizing with monitor. By the way, what is your hardware?

Maybe I’m doing something wrong, but maybe it is a bug. Anyway, I will explicitly set sync-video to true. Thank you for pointing that out to me.

You are right, this is not your fault. I have a Nvidia GeForce 8600 GT, running Ubuntu 10.10. I never enabled sync-video, since this is my development machine (and I want to check FPS trends), but when you spoke about this I tried and it doesn’t work, actually. So, you can add my configuration to the list of machines which can’t enable sync-video. :frowning:

According to OpenGL, graphics drivers are always free to ignore Panda’s sync-video request. And many graphics drivers do. There’s nothing further Panda can do about it.


Hum… it’s clear now. I knew it wasn’t Panda’s fault! :slight_smile:

Would setting an fps limit in the source help?

ffFPS = 60 
globalClock = ClockObject.getGlobalClock() 

Sure, I mean, that won’t actually sync the video to the refresh and prevent tearing, but it will prevent the CPU from running away with itself.


For some reason I’m getting an error message when trying to run his game.

SyntaxError: Non-ASCII character '\x83' in file ninja.p3d on line 4, but no encoding declared; see for details

Does anyone know how to make command prompt error messages print out to file?

Strange this error… I’ve never seen it before.
What is your OS?

You can write the output to a file like this:

panda3d -l log.txt ninja.p3d

Windows 7 64 bit

I think that error message means you are trying to run the p3d file with the python command, as if it were a Python file (which it is not).

That is, you are typing:

python ninja.p3d

instead of:

panda3d ninja.p3d

or simply double-clicking on the ninja icon. Note that you do have to install the Panda3D runtime.


I’m guessing programs distributed as installers will not require users to have the P3D run-time pre-installed?

coming up wiht special effects that look good isn’t easy.

The first paragraph.