|
|
|
Return to Showcase
by darek » Mon May 03, 2010 8:57 am
Hi,
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
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
Last edited by darek on Wed May 19, 2010 9:24 am, edited 2 times in total.
-
darek
-
- Posts: 63
- Joined: Wed Feb 03, 2010 3:18 pm
by ThomasEgi » Mon May 03, 2010 9:17 am
whao. this looks really good  mind if your game would be added to the showcase section?
-

ThomasEgi
-
- Posts: 2147
- Joined: Fri Jul 28, 2006 10:43 am
- Location: Germany,Koblenz
by darek » Mon May 03, 2010 9:23 am
-
darek
-
- Posts: 63
- Joined: Wed Feb 03, 2010 3:18 pm
by rdb » Mon May 03, 2010 10:01 am
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?
-
rdb
-
- Posts: 8565
- Joined: Mon Dec 04, 2006 5:58 am
- Location: Netherlands
-
by darek » Mon May 03, 2010 10:57 am
In screenshots section would be great too. Thanks
I'll add more features later (maybe for example together with 1.7.1).
-
darek
-
- Posts: 63
- Joined: Wed Feb 03, 2010 3:18 pm
by Anon » Mon May 03, 2010 12:02 pm
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.
-
Anon
-
- Posts: 1556
- Joined: Thu Oct 29, 2009 3:07 am
by darek » Mon May 03, 2010 2:20 pm
Anon wrote: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
For a ground I used technique from this thread:
http://www.panda3d.org/phpbb2/viewtopic.php?t=2800
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
-
darek
-
- Posts: 63
- Joined: Wed Feb 03, 2010 3:18 pm
by Nemesis#13 » Mon May 03, 2010 5:45 pm
Wow, that looks amazing!
I'm planning also GNU/Linux and OSX versions someday.
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.
-

Nemesis#13
-
- Posts: 1041
- Joined: Mon Aug 04, 2008 8:09 pm
- Location: Germany
by darek » Tue May 04, 2010 3:46 am
Thanks
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).
-
darek
-
- Posts: 63
- Joined: Wed Feb 03, 2010 3:18 pm
by Anon » Tue May 04, 2010 4:44 am
darek wrote:Products are just products but ideas should be always open source
Sadly, not everyone thinks like that.
Thanks for the info.
-
Anon
-
- Posts: 1556
- Joined: Thu Oct 29, 2009 3:07 am
by adr » Tue May 04, 2010 12:23 pm
I like it ^^. I suck at frist, but I got better at it  . 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  .
Other than thos, I really did enjoy it  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.
-
adr
-
- Posts: 531
- Joined: Wed Oct 12, 2005 8:26 pm
- Location: USA
-
by darek » Tue May 04, 2010 3:06 pm
adr wrote:I like it ^^. I suck at frist, but I got better at it  . 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  . Other than thos, I really did enjoy it  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  I added that to todo list. "Switch directions" option is a good idea.
-
darek
-
- Posts: 63
- Joined: Wed Feb 03, 2010 3:18 pm
by enc » Wed May 05, 2010 12:13 pm
I like it, very clean design, simple and easy to play.
Some comments:
Visuals:
-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)
Gameplay:
-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  )
-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
-
enc
-
- Posts: 166
- Joined: Wed May 27, 2009 3:35 am
- Location: Estonia, Tartu
by drwr » Wed May 05, 2010 12:26 pm
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.
This sounds like implicit texture loads. Usually render.prepareScene(base.win.getGsg()) is the solution for this.
David
-
drwr
-
- Posts: 11253
- Joined: Fri Feb 13, 2004 12:42 pm
- Location: Glendale, CA
by darek » Thu May 06, 2010 2:29 am
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(base.win.getGsg()) doesn't help. I have to look 360 to "precache" scene then works smoothly. Any other ideas how to fix it ?
-
darek
-
- Posts: 63
- Joined: Wed Feb 03, 2010 3:18 pm
by enc » Thu May 06, 2010 4:50 am
darek wrote: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(base.win.getGsg()) 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.
-
enc
-
- Posts: 166
- Joined: Wed May 27, 2009 3:35 am
- Location: Estonia, Tartu
by SylHar » Thu May 06, 2010 7:10 am
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.
sound:
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.
-

SylHar
-
- Posts: 222
- Joined: Wed Feb 06, 2008 12:21 pm
- Location: roanne, France
by drwr » Thu May 06, 2010 8:58 am
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.
Oh, please don't do this terrible hack. Panda should do what it's supposed to do without it! Calling render.prepareScene(base.win.getGsg()) doesn't help.
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.
David
-
drwr
-
- Posts: 11253
- Joined: Fri Feb 13, 2004 12:42 pm
- Location: Glendale, CA
by darek » Thu May 06, 2010 11:01 am
Enc - nice trick, maybe I'll use it  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.
-
darek
-
- Posts: 63
- Joined: Wed Feb 03, 2010 3:18 pm
by SylHar » Thu May 06, 2010 11:19 am
darek wrote:I have a question about Windows 7 - so as admin - everything works without any problems ?
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
-

SylHar
-
- Posts: 222
- Joined: Wed Feb 06, 2008 12:21 pm
- Location: roanne, France
by Anon » Fri May 07, 2010 5:28 am
Some trees seem to have a z order error (when viewed in pview at least). Its present in parts that have texture transparency. You should have a look.
Btw, how did you add the desktop shortcut? Did you use a custom nsis script?
-
Anon
-
- Posts: 1556
- Joined: Thu Oct 29, 2009 3:07 am
by darek » Fri May 07, 2010 6:31 am
SylHar: thanks.
Anon: true, I didn't noticed, it's just model exported by chicken, I see I have to enable sorting for leaves somehow.
I'm using own packager which wraps Nsis/Dpkg and creating proper scripts.
This is part for generating menus:
- Code: Select all
nsifile.write(' CreateDirectory "$SMPROGRAMS\\${CompanyName}"\n') nsifile.write(' CreateDirectory "$SMPROGRAMS\\${CompanyName}\\${SafeName}"\n') nsifile.write(' CreateShortCut "$SMPROGRAMS\\${CompanyName}\\${SafeName}\\${StartMenuGame}.lnk" "$INSTDIR\\start.exe" "" "" 0\n') nsifile.write(' CreateShortCut "$SMPROGRAMS\\${CompanyName}\\${SafeName}\\${StartMenuReadme}.lnk" "$INSTDIR\\Readme.html" "" "" 0\n') nsifile.write(' CreateShortCut "$SMPROGRAMS\\${CompanyName}\\${SafeName}\\${StartMenuUninstall}.lnk" "$INSTDIR\\uninstall.exe" "" "" 0\n') nsifile.write(' CreateShortCut "$DESKTOP\\${FullName}.lnk" "$INSTDIR\\start.exe" "" "" 0\n')
-
darek
-
- Posts: 63
- Joined: Wed Feb 03, 2010 3:18 pm
by Anon » Fri May 07, 2010 7:23 am
Do you have transparency enabled on those faces or something?
I remember I had the same problem but don't quite remember how I got rid of it.
I could also have a look at the blend file if you want.
I'm using Panda3D 1.7.0 and the problem is there in pview.
I'm using chicken r91 and my vegetations doesn't have that problem.
-
Anon
-
- Posts: 1556
- Joined: Thu Oct 29, 2009 3:07 am
by darek » Sun May 09, 2010 4:20 am
Anon wrote:Do you have transparency enabled on those faces or something? I remember I had the same problem but don't quite remember how I got rid of it. I could also have a look at the blend file if you want. I'm using Panda3D 1.7.0 and the problem is there in pview. I'm using chicken r91 and my vegetations doesn't have that problem.
Settings looks ok. I have to dig it more. Probably there is z-sotring function in Panda somewhere.
-
darek
-
- Posts: 63
- Joined: Wed Feb 03, 2010 3:18 pm
by enc » Sun May 09, 2010 6:11 am
darek wrote:Anon wrote:Do you have transparency enabled on those faces or something? I remember I had the same problem but don't quite remember how I got rid of it. I could also have a look at the blend file if you want. I'm using Panda3D 1.7.0 and the problem is there in pview. I'm using chicken r91 and my vegetations doesn't have that problem.
Settings looks ok. I have to dig it more. Probably there is z-sotring function in Panda somewhere.
Solution 1:
In blender, edit mode, select all verts, editing, texture face tab, check in 'two sided'.(Editing, Mesh, 'Double sided' will not do the trick)
Solution 2:
In panda, Geom.doublesideInPlace()
-
enc
-
- Posts: 166
- Joined: Wed May 27, 2009 3:35 am
- Location: Estonia, Tartu
by drwr » Sun May 09, 2010 8:55 am
Geom.doubleSideInPlace() is a very low-level function. I wouldn't advice mucking with that when you could just use nodePath.setTwoSided() instead.
Is it really a two-sided geometry issue, or is it just a transparency sorting issue? Sorting issues are very common when there are lots of transparent objects viewed behind each other. The manual has something to say on this topic; see "How to Control Render Order".
David
-
drwr
-
- Posts: 11253
- Joined: Fri Feb 13, 2004 12:42 pm
- Location: Glendale, CA
by darek » Sun May 09, 2010 2:30 pm
drwr wrote:Geom.doubleSideInPlace() is a very low-level function. I wouldn't advice mucking with that when you could just use nodePath.setTwoSided() instead.
Is it really a two-sided geometry issue, or is it just a transparency sorting issue? Sorting issues are very common when there are lots of transparent objects viewed behind each other. The manual has something to say on this topic; see "How to Control Render Order".
David
Polygons are already two-sided (i.e. doubled by hand) I'm sure it's back-to-front sorting issue, I just didn't did it before.
I added <Scalar> bin { transparent } into Group in .egg file and it looks different but doesn't help too much (I think even looks worse), maybe it's just too messy model - too much faces intersects eachother.
-
darek
-
- Posts: 63
- Joined: Wed Feb 03, 2010 3:18 pm
by drwr » Sun May 09, 2010 3:16 pm
Yeah, that doesn't sound like a good solution.
The right solution would probably be to set your transparency type to "dual" or "binary" (either by editing the egg file, or by using setTransparency() at runtime); or by subdividing your geometry into smaller pieces so that it can sorted properly relative to each other.
David
-
drwr
-
- Posts: 11253
- Joined: Fri Feb 13, 2004 12:42 pm
- Location: Glendale, CA
by Anon » Mon May 10, 2010 3:50 am
darek wrote:Polygons are already two-sided (i.e. doubled by hand)
Doubled? As extruded or dublicated? Doesn't seem like a good idea.
You can set transparency in Blender, go to edit mode, then
Clip alpha or binary alpha gives better result for vegetation in my opinion.
I had a look on my grass and tree models again. The ordering seems to work with both binary (clip) alpha and alpha with chicken R91. I had the same problem when using R69 though.
EDIT: And few suggestions for the game:
The shadow maps could be higher resolution.
The game lags sometimes just after the game fades to the map, looks like it is loading something after the loading screen.
And you could have some arrow showing where the ball will move (projected texture maybe).
-
Anon
-
- Posts: 1556
- Joined: Thu Oct 29, 2009 3:07 am
by drwr » Mon May 10, 2010 11:54 am
Actually, duplicating polygons is often preferable to tagging them double-sided. On modern hardware, duplicated polygons will often render faster than double-sided polygons, for the reason being that tagging polygons double-sided means an additional state switch, which means the polygons in question have to be rendered in a separate pass, and the number of separate passes is often the biggest bottleneck in a typical 3-D scene.
Duplicating polygons, on the other hand, only adds vertices, and typically (with modern hardware, at least) you've got plenty of room for more vertices.
This is not universally true, of course. There are plenty of cases in which tagging geometry double-sided is the right thing to do, and the fastest way to render your scene. There are so many different factors involved that it's impossible to make a general recommendation.
David
-
drwr
-
- Posts: 11253
- Joined: Fri Feb 13, 2004 12:42 pm
- Location: Glendale, CA
Return to Showcase
Who is online
Users browsing this forum: No registered users and 1 guest
| | |