Cozmik Ballz

Greetings All!

I first discovered p3d about 14 months ago and have been working with since. I have spent many hours lurking these forums and digesting as much as I can. I feel it needs much work yet bbut I wanted some feedback so here is my baby, Cozmik Ballz. It is a time pilot - asteroids hybrid clone. I will be posting a link to the raw code but in the meantime feel free to download the installer and give it a whirl. Feedback much appreciated.

tcoenterprises.com/cozmikballz/

Grishnak

requesting a p3d file so everyone on non-windows OS can give it a spin.

Will do.

here is a link to the raw python file.

tcoenterprises.com/cozmikballz/main.py

here is the p3d

tcoenterprises.com/cozmikballz/CozmikBallz.p3d

It is a nice first “iteration”. :slight_smile: I think you already know that you need to refine graphics and gameplay, so here are some major (imho) problems.

I got this:

Traceback (most recent call last):
  File "/Users/buildbot/slave/release_rtdist_osx/build/panda3d/built_cmu/direct/showbase/EventManager.py", line 61, in eventLoopTask
  File "/Users/buildbot/slave/release_rtdist_osx/build/panda3d/built_cmu/direct/showbase/EventManager.py", line 55, in doEvents
  File "/Users/buildbot/slave/release_rtdist_osx/build/panda3d/built_cmu/direct/showbase/EventManager.py", line 124, in processEvent
  File "/Users/buildbot/slave/release_rtdist_osx/build/panda3d/built_cmu/direct/showbase/Messenger.py", line 388, in send
  File "/Users/buildbot/slave/release_rtdist_osx/build/panda3d/built_cmu/direct/showbase/Messenger.py", line 473, in __dispatch
TypeError: showExplosion() takes at least 2 arguments (1 given)
:task(error): Exception occurred in PythonTask eventManager
Traceback (most recent call last):
  File "/Users/buildbot/slave/release_rtdist_osx/build/panda3d/built_cmu/direct/p3d/AppRunner.py", line 636, in run
  File "/Users/buildbot/slave/release_rtdist_osx/build/panda3d/built_cmu/direct/task/Task.py", line 502, in run
  File "/Users/buildbot/slave/release_rtdist_osx/build/panda3d/built_cmu/direct/task/Task.py", line 460, in step
  File "/Users/buildbot/slave/release_rtdist_osx/build/panda3d/built_cmu/direct/showbase/EventManager.py", line 61, in eventLoopTask
  File "/Users/buildbot/slave/release_rtdist_osx/build/panda3d/built_cmu/direct/showbase/EventManager.py", line 55, in doEvents
  File "/Users/buildbot/slave/release_rtdist_osx/build/panda3d/built_cmu/direct/showbase/EventManager.py", line 124, in processEvent
  File "/Users/buildbot/slave/release_rtdist_osx/build/panda3d/built_cmu/direct/showbase/Messenger.py", line 388, in send
  File "/Users/buildbot/slave/release_rtdist_osx/build/panda3d/built_cmu/direct/showbase/Messenger.py", line 473, in __dispatch
TypeError: showExplosion() takes at least 2 arguments (1 given)

Moreover, if you resize the window (varying its width/height ratio), there are some problems (you can’t move the ship on the borders, …).

PS If you embed it then you will get more tests, I presume.

Thanks for the input. The error with the showExplosion() function is a bug I fixed in the 0.4.x version. This crash is caused by pressing the [e] key. I will get the fixed p3d up shortly.

As for the changing of the window size, I have been testing the game in full-screen mode so changing window sizes was not an issue. This is one of the reasons for not putting the game in a p3d file to begin with as I can not find a way to control the window size of a p3d file when launching it in a stand alone type configuration. In an embedded configuration this can be done easily but then there is the issue that every time a person launches the game the p3d file gets downloaded and I was looking to find a way to have the client only download the p3d file once.

One thought I had was to have the client download an html file with the embedding code along with the p3d file then have the client run the game by browsing to the locally stored html which would launch the locally stored p3d there by eliminating the need for the client to download the p3d each time.

With regards to the ship not functioning near the borders I think what you are seeing is by design. Although it is not readily apparent because of the nature of the multicolored background, when the player’s ship gets near the left or right edge of the camera view the camera view pans across the terrain and so the ship appears stationary. It takes about 5 seconds or so to reach the edge of the terrain and then the ship will wrap around to the other side. In order to see this more clearly I suggest zooming out ( + and - keys to zoom in and out , disabled while paused).

Thanks again for the feedback. Any specific game play or graphics comments or suggestions are more than welcome :smiley:

The updated p3d with the [e] key bug fix is up.

tcoenterprises.com/cozmikballz/C … 0.3.12.p3d

wp = WindowProperties()
wp.setSize( width, height )
base.win.requestProperties( wp )

does the trick for me.

Don’t your browser cache p3d files?

I realize I misstated my issue with p3d files being launched in a stand alone mode, meaning not embedded in a web page. I can control the size of the window through the window properties like you suggested but I have not found a way to run a p3d file in Fullscreen mode like I can if I launch the main.py. I can make the window the dimensions of the full screen but it always appears in its own framed window.

But this points seems fairly moot as the p3d file does stay cached by the browser and does not re-download every time the game is run as I thought it did. Not sure where I got that idea from.

In any case all the feedback is much appreciated and here is the link to the imbedded p3d file:

tcoenterprises.com/cozmikballz/launch.html

This launches the same p3d file I posted before but is embedded in the webpage and is signed with my email certificate. Let me know if there are any issues with the embedded file.

Phil

Does the following work?

wp = WindowProperties() 
wp.setFullscreen( fullScreen )
base.win.requestProperties( wp )

Graphics. To be honest, graphics don’t look good now. You should choose a “graphic style” which is appealing. As instance, it is a 2D game, so you could propose pixel-art images (you can find a lot of tutorials about that). So, choice a graphic style that you like, read tutorials about that, and refine your graphics.

Audio. Audio is very important for this genre. You should carefully choice music and sfx, you can improve the current ones. There are sites which propose music and sfx you can freely use, spend some time to find nice music and sfx.

GUI. Your final GUI won’t just be those printings at the lower-right corner (or with that font), will it?

“Gameplay”. You should give more realistic feelings, now the control of the ship looks pretty artificial. For example, you could add some inertia to the ship.

Anyway, I don’t want to appear rude: there are a lot of positive aspects, I have just focused on what you could improve (which is the useful part to you :slight_smile: ).