Maxi Mini Golf

This is my first game using Panda3D.
I’m very excited about this engine because development process was very smoothly (1 person ~4 months including learning Panda from a scratch). Smooth also thanks to Python. I had no show-stoppers or hard to find bugs. So Panda and Python for the win :slight_smile:

Minigolf using my custom bullet wrapper (see section Code Snippets for a code), because I like this engine and it has very important feature for a small and fast ball: pseudo continuous phyics.

Game is commercial. I’m planning also GNU/Linux and OSX versions someday.

–Edited links for new releases:
Download for Windows or GNU/Linux

whao. this looks really good :slight_smile: mind if your game would be added to the showcase section?

Thanks :slight_smile: Would be great to see it in showcase section.
Some others scrrens … en1max.jpg … en2max.jpg … en3max.jpg

Really good!

Would you mind if I added some screenshots to the screenshots section (free advertisement!), or would you prefer not, or would you prefer to wait until you added more features?

In screenshots section would be great too. Thanks :slight_smile:
I’ll add more features later (maybe for example together with 1.7.1).

I like it.
Do you mind sharing some ideas or are they ‘closed source’ too?
So what did you use for the ground? Panda’s texture combine modes? Or a custom shader?
Did you use baked ambient occlusion maps? Anything else you used for the ground? Thanks.

Products are just products but ideas should be always open source :slight_smile:

For a ground I used technique from this thread:

I baked shadows in Blender and combined in Gimp into one map:

  1. baked ambient occlusion layer, some blur
  2. baked shadow layer, more blur, multiply 50% with previous layer

Wow, that looks amazing!

How about simply packaging everything as a cross-plattform p3d?
If you need help with the GNU/Linux version, just drop me a mail. I’d love to see this game available on Linux.

Thanks :slight_smile:
There are 2 problems with p3d:

  1. I’m using custom Bullet physics, so it’s not pure Panda, hmm… but actually I think I can just detect os in python and load manually one of three plugins… yes, sorry it’s not a problem then, so there is always second problem:
  2. Gamers don’t like new things like that, they want just typical NSIS installer, but p3d is perfect for browser plugin, maybe I should make browser demo someday.

About Linux - it’s not technical problem, actually I’m developing this game on Ubuntu 9.10. Just will take some time, also I want to make some updates before Linux/OSX premiere (e.g. translations and low details).

Sadly, not everyone thinks like that.

Thanks for the info.

I like it ^^. I suck at frist, but I got better at it :slight_smile:. I really enjoyed the wave sounds and the birds.

I did have some problems running it under windows 7 tho. Something about start.exe.log permission is not allowed, so you may want to look into that. You should maybe look into switch your left and right arrow keys around to match the way the camera moves. Also, you may want to add a sound to when you click buttons (thos green arrows) would be nice :slight_smile:.

Other than thos, I really did enjoy it :slight_smile: It was sorta fun ^^ I guess I enjoy thos types of games cus my dad and I used to play em (the only video games he could stand to watch :O) lol.

Thanks for testing :slight_smile: I added that to todo list. “Switch directions” option is a good idea.

I like it, very clean design, simple and easy to play.

Some comments:
-A shadow for the ball would be nice.
-Also a texture displaying ball rolling would do good.
(or anything that imitates rolling)
-The plants with the big leaves should have a better quality texture(they seem not on pair with the rest of the textures)
-If the ball stays behind the stone/wood edge maybe the edge should become transparent so you can see the ball?
-If you have more free time, try not making the birds turn around in an instant, better make them follow a smooth flight path.(an 8 or O or any other simple path)

-The hitmeter.I would really recommend making it a scalable plane(instead of bitmaps, you lose way too much space/KB and precision in choosing the hit strength)
-Also when scrolling to max hit strength and scrolling some more, then you have to scroll back down the invisible part. In short:the max strength does not lock the scrolling up.
-When the ball rolls on ground with very small slope(or angle), the whole screen does some up/down flickering, by 0.5-1 pixel, its very small and maybe hard to notice but its there. Usually happens if you update the visuals at the same time/rate as physics, you start to see all kind of small bumps and flickers. I recommend look over the physics part or increase the physics loop vs visual loop rate(like 3 phys loops 1 vis loop) or separate the phys from visual.(or do all of them :stuck_out_tongue:)
-loading/starting the track. If the track is loaded and you can see it on the screen then there is a small fraction of frame where the look direction is from last track and is corrected, so a mini flicker there.
-Also when trying to look write after the track is loaded and displayed the looking jerks(even on a dual core 3ghz, gforce9800, 4gb(3.5gb for win) ram machine). Maybe your water is too hefty, or something else is there. Once 360 look has been done everything becomes smooth and good.

Nevertheless, well done

This sounds like implicit texture loads. Usually render.prepareScene( is the solution for this.


Thanks for testing enc and for the tip drwr !

But that lastest one is problem which I’m trying to solve and I can’t.
Calling render.prepareScene( doesn’t help. I have to look 360 to “precache” scene then works smoothly. Any other ideas how to fix it ?

Not the best way but should work.

Add a small(like 0.5 sec) 360 degree look cycle while the track has been loded and keep the loading cover. In short force a covered 360 look. And if you remove the cover everything should be fine.

ok. Just tested it.
Nice game !
feel completed, nice graphics.
Keep it up !

complete repport:

first it has already been reported but on windows 7 it must be started with admin right, has it tries to create a log file inside program_files which is prohibited.

about the gameplay:

  • power really hard to control.
    the first time I tried to keep the mouse button press and release when the power bar was at the correct position.
    but even after that, I found about the same result with half a meter and full meter and in the other hand, I’ve wanted to have more control with the lower power: the distance between the two lower values is huge !

about the textures:
nice rock !
the wood however is really ugly and we see that all the time !
water distortion may be a bit too strong, seems odd.

great. when except for the bird sound a bit annoying ( not very important)

collision bug:
I had to stop the game.
In the track 7 I think ( the one with a loop) I tried to max power straight into the loop. the ball got stuck inside the loop, ‘esc’ was the only way out.

Oh, please don’t do this terrible hack. Panda should do what it’s supposed to do without it!

Really? Is your scene parented under render at the time you call this? prepareScene() is supposed to walk the entire scene graph beginning at the indicated node, and preload all textures found.

Or, maybe the problem isn’t texture loads. By chance are you using the Shader Generator? These auto-generated shaders will require generation, too, and I’m not sure whether prepareScene() supports shader generation yet. If not, that’s a Panda bug that we should address.


Enc - nice trick, maybe I’ll use it :wink: But ofcourse it’s better try to fix that than workaround.

Thanks SylHar for testing !
It really helps me with bugfixing.
I have a question about Windows 7 - so as admin - everything works without any problems ?

Drwr - scene is parented to render, but you’re right with shaders - removing render.setShaderAuto() fixes problem. Do you want some testing levels or something ?

Btw. game works fine in Wine.

it seems. ( except the collision stuff, but it doesn’t seems 7 related :p)

it really seems it’s only to create the log file that it need the admin right