Sparks: A Vectorial Shooter


Tempel said:
As a matter of fact, chris_c has been working on one. But I still wouldn't recommend a GLES rewrite just because it would hinder cross-platform usability, and I can't imagine it would be easy (then again, I know nearly nothing about GLES). So yeah, I would recommend simply hoping that improved SDL comes soon (or contributing to it if you have the skills! I don't), though I guess you could try a GLES rewrite if you're feeling adventurous.

Actually, being able to code OpenGL straight in Python in a really exciting news. Writing the game in Open GL was my initial wish, but I did not do it because of the lack Python/OpenGL bridge...

If this initiative proove to be usable (in particular if it can easily run on both PC and Pandora), I could give it a try. I could also contact chris_c to get some support. But I am not sure I have time for that right now.
 
Last edited by a moderator:
If it's the graphics that slows it down, one thing you could do is to check the time after each game step and skip the drawing if you're late. Just don't skip more than 3-5 frames in a row, as that would be unplayable.
 
Hi,

I've just played the game @ 800MHz, and I think it's fun and has a lot of potential, but too slow though... Dual joystick gameplay is great :)

Could you make a "test" version without the star field background, explosions, HUD, and fade in effect, to see if it makes any difference ?

Could you remove some ennemies on screen, too ?

Finally, did you give Notaz's improved SDL and OpenGL ES 2.0 a go ?

Bye and thanks for your hard work !

Magic Sam
 
Magic Sam said:
Hi,

I've just played the game @ 800MHz, and I think it's fun and has a lot of potential, but too slow though... Dual joystick gameplay is great :)

Could you make a "test" version without the star field background, explosions, HUD, and fade in effect, to see if it makes any difference ?

Could you remove some ennemies on screen, too ?

Finally, did you give Notaz's improved SDL and OpenGL ES 2.0 a go ?

Bye and thanks for your hard work !

Magic Sam

Hello,

Thanks for your comment. I actually think the game has some good potential. Even on a platerform on which it runs perfectly, there is still a lot of room for improvement in terms of level design, difficulty curve tuning. It is also good to know that creating new levels and new monsters is really straightforward (if you have basic Python programming skills).

--

I have worked on Sparks yesterday evening and made two improvement that should help a lot:
- 8 bits mode. That should increase fps a lot (at a price in terms of visual quality...)
- Change game synchronisation to real time, not to frame time. This makes the actual speed independant of the fps.

I still have to work a bit on this second point (right now bullet goes through enemies without touching them sometimes...). I would also like to move configuration file out of the pnd file so that people can play with it and give me feedback about performances.

I will upload an updated version, which should be much more usable on Pandora, in some days (I have to find some free time...)

--

About removing enemies: maximum number can be decreased in the config file, and I decreased it from 100 to 50 already. The game is designed to adapt to this value: when too many enemies are generated, the level "scenario" is paused, enemies are progressively changed into "berzerker" (bad guys) in order to put pressure on the player until number of enemies decrease under the threshold. This is a way to prevent the game from being too simple when the maximum number of enemies decreases.

However, it is still clear that decreasing the number of enemies changes the gameplay (and the fun). If I continue maintaining this game, I could decide to create two level sets: one for PC (with hundreds of enemies...), and one of Pandora (with limited number of enemies).

--

About SDL and OpenGLES: I don't think I want to try playing with that without owning a Pandora. I want to keep working on a portable version. If Notaz SDL can help, someone else will hopefully try it for me and submit a patch. What I could to in the future is making a portable OpenGL/OpenGLES version. But without help, and without Pandora, it is not very likely to happen.
 
Last edited by a moderator:
I've been playing with Notaz's improved SDL :)

I've copied his library into Sparks directory, modified sparks_pandora.sh with export LD_LIBRARY_PATH=/Sparks directory and export SDL_VIDEODRIVER=omapdss...

EDIT: I forgot "export" before LD_LIBRARY_PATH :rolleyes:

EDIT 2: I played the "normal" build then mine with notaz's SDL, and I can't tell which one is faster :(

Could someone else give this short hack a go ?

Bye, Magic Sam
 
Magic Sam said:
I've been playing with Notaz's improved SDL :)

I've copied his library into Sparks directory, modified sparks_pandora.sh with export LD_LIBRARY_PATH=/Sparks directory and export SDL_VIDEODRIVER=omapdss...

EDIT: I forgot "export" before LD_LIBRARY_PATH :rolleyes:

EDIT 2: I played the "normal" build then mine with notaz's SDL, and I can't tell which one is faster :(

Could someone else give this short hack a go ?

Bye, Magic Sam

I am no expert in low level SDL stuff, but there is nothing in Notaz documentation stating that his modified SDL allows hardware surfaces or hardware blitting or any other use of hardware acceleration for faster rendering/blitting operation. Scaling and vsyncing is cool, but this is not what I am looking for right now.
 
Last edited by a moderator:
Hello everyone,

Here is the new version:
EDIT: New minor version by Tempel: Sparks-0.4.2.pnd Sparks-0.4.3.pnd Sparks-0.4.4.pnd
Once I get confirmation that it still works, I submit it to the beta test thread of the pandora board.

It include major changes:
- 8 bits palettized mode, increased framerate with almost no graphical changes.
- Game is now synchronized with time instead of frames.
- Collision engine updated to adapt to time synchrnoization
- All levels have been changed, with less, tougher enemies, in order to reduce the number of enemies on-screen.
- FPS can be displayed
- Config files is copied outside the pnd so that it can be changed by advanced users.
- Probably other minor changes I forgot.

It should now be playable (and hopefully enjoyable) on Pandora.



Now, I would like some kind Pandora owner to help me to optimize the game by providing me some feedback:
- Please start level Custom/"Test 1 enemy", Custom/"Test 10 enemies", and Custom/"Test 30 enemies", press button 1 (whereever it is) which displays FPS and tell me the frame rate in each of these levels when you don't shoot. Then please shoot as much as you can on these enemies (on level 30) and tell me how low the FPS go.
- Edit the .sparks file in your home directory
- Change "precompute_sprites: 1" to "precompute_sprites: 0"
- Tell me the frame rate for the three tests level as well with this new configuration.

I would also like someone to give me button numbers for Menu, Start and Select on Pandora.

EDIT: The counter between 1 and 14 is the difficulty (OK, this is not clear...). And it should not go over 5 now! Please do not try it over 5. I will change that soon.
 
first test arcade mode at 500mhz-700mhz: not playable too slow, but then 800 mhz it is almost playable, Sparks is running a lot faster, but the slow down happens more when you fire bullets. So running at 800mhz i wil test custom enemies.

Custom level 1 (bulls rectangles) the game starts well enough, but then it becomes overun with enemies and it slow down to a crawl, tried push button 1 for fps and it didn't work.

Custom level 10 (bulls rectangles) painfully slow.

i thought the custom levels only went up to 14?



I went into the sparks folder and didn't find a file in there to edit.

Not sure how to give you button numbers. :(

i hope this helps.

Tony

p.s Asteroids level 1 runs really well, with only minor slow down (there are alot less enemies on the screen)
 
Thanks for this first feedback, even it does not sound too good . Sigh.

tony11@hotmail.com said:
Custom level 1 (bulls rectangles) the game starts well enough, but then it becomes overun with enemies and it slow down to a crawl,

Custom level 10 (bulls rectangles) painfully slow.

i thought the custom levels only went up to 14?


I was talking about three tests custom levels called "Test 1 enemy" "test 10 enemies" and "test 30 enemies", at the end of the list.

EDIT: Between 1 and 14, this is not the level, this is the difficulty (OK, this is not clear...). And this should not go over 5 now! Please do not try it over 5.

tried push button 1 for fps and it didn't work.

It is the second button (the first being button 0). Most probably one on the main cross. It should display FPS on the up right corner.

I went into the sparks folder and didn't find a file in there to edit.

It is in you home directory, ~/.sparks (hidden file). Your home directory is probably something like /home/_you_name_/
From 0.4.2, .sparks is in your appdata directory, that is: /pandora/appdata/Sparks (modification done by Tempel).
 
Last edited by a moderator:
hal9000 said:
- Config files is copied outside the pnd so that it can be changed by advanced users.
Ah, I wish I realized you had done this! It's considered poor form for a PND to write its config files to the home directory (because home is on the NAND). To make config files accessible, they need to be copied within the PND so that they appear in the appdata directory. A simple two-line modification to sparks_pandora.sh would have done it.

I'm going to try modifying Constants.py to make it more like how it used to be, then I'll add those two lines to sparks_pandora.sh. Hopefully I'll have something testable quickly.

EDIT: All done; version 0.4.2 is up. The first part of Constants.py now looks very similar to how it did before, only with the addition of a config-version-checking bit. sparks_pandora.sh was modified (it actually took three lines, not two), and a small fix was added to sparks-pandora.cfg (the colour depth had not been specified in it).

So now, if you want to modify the configuration file, you'll find it inside Sparks' appdata directory (called "sparks"); the config file is called "sparks.cfg". Presuming, of course, you've ran this version at least once.
 
Last edited by a moderator:
Thanks Tempel
Tempel said:
and a small fix was added to sparks-pandora.cfg (the colour depth had not been specified in it).

Actually this is very good news. Without this line, Sparks runs in 16 bits. That explains at least partially poor performances experienced by tony11.

Tony11, could you retry with 0.4.2 ?
 
Last edited by a moderator:
hal9000 said:
Thanks Tempel
Tempel said:
and a small fix was added to sparks-pandora.cfg (the colour depth had not been specified in it).

Actually this is very good news. Without this line, Sparks runs in 16 bits. That explains at least partially poor performances experienced by tony11.

Tony11, could you retry with 0.4.2 ?

Hello i am just trying it out now, i have edited the config file the precompute_sprites needs to be set to 0 otherwise the enemy appears on the screen then goes invisble, and the players ship appears in the top left hand corner but you fire from the middle. i also turned down to max_fps to 700, and it may need to go down a bit more, at 700 fps level one ran well, it was just kept skipping (i guessed it was the fps). Also the test 1 test 10 etc now appears in the menu. I am going to test it somemore when i get home from work in the morning. i hope to get a video up for either tomorrow if i get time or sunday at the latest. oh i forgot to mention, i was running at 500mhz during the whole of this test, so a great improvement here.


EDIT: i just quickly tried test 30 enemies level 4 at 700 mhz (i did try at 600 mhz ot ran a bit slow) the slow down is minimal still playable, i also have fps at 650 :)

Edit: at 800 mhz it runs smooth but with very minimal pauses, i just noticed that if you have a lot of explosions on the screen at once then a major slow down appears, i will play with the fps when i get home from work, i hope this helps :)

tony
 
Last edited by a moderator:
Great, this sounds better. Do not play with MAX_FPS, it does not change anything. It is a way to prevent FPS from going over a given threshold, unfortunately useless on the Pandora.

I am solving this stupid bug with invisible sprites, and I upload a new version as soon as possible. I am also adding a way to configure explosion density.
 
tony11@hotmail.com said:
i hope to get a video up for either tomorrow if i get time or sunday at the latest.

It would be great, but if you do so, please display FPS. Try pressing pandora joypad buttons, one of them (the second one) toggles FPS display, on the up right corner, under the level number. Thanks.
 
Last edited by a moderator:
hal9000 said:
tony11@hotmail.com said:
i hope to get a video up for either tomorrow if i get time or sunday at the latest.

It would be great, but if you do so, please display FPS. Try pressing pandora joypad buttons, one of them (the second one) toggles FPS display, on the up right corner, under the level number. Thanks.

I still cannot get the fps to appear on screen i tried pressing the pandora joypad buttons, and nothing appeared, i am running at 800mhz on the video, also i have reduced the screen abit to increase the speed. I have been playing the arcade version a little bit and those red berzerkers are incredibly fast (this is a good thing) and made the game quite addictive. In the video you will see that there is slow down still especially when you are shooting a group of enemies in one place, the explosions slow the screen down to a crawl again. Is there a way to reduce the size of the explosion? and perhaps instead of firing three sets of bullets maybe reduce it to two? (just suggestions). All in all a great update, and a great improvement.

http://www.youtube.com/watch?v=9kyybN2zj3U
 
Last edited by a moderator:
tony11@hotmail.com said:
I still cannot get the fps to appear on screen i tried pressing the pandora joypad buttons, and nothing appeared, i am running at 800mhz on the video, also i have reduced the screen abit to increase the speed. I have been playing the arcade version a little bit and those red berzerkers are incredibly fast (this is a good thing) and made the game quite addictive. In the video you will see that there is slow down still especially when you are shooting a group of enemies in one place, the explosions slow the screen down to a crawl again. Is there a way to reduce the size of the explosion? and perhaps instead of firing three sets of bullets maybe reduce it to two? (just suggestions). All in all a great update, and a great improvement.

http://www.youtube.com/watch?v=9kyybN2zj3U

OK, that looks allright! I am quite happy with what I see (at least more than before).
About the FPS button: it works only in game, not in the menu. You have to press once you started the game. I will change that in the next version.

I could do something for explosions, limit the total number of sparks, for example... It is also clear that killing that much enemies at the same time in not usual in game, this is very specific to this level where they are very concentrated.
 
Last edited by a moderator:
I post Sparks in the beta test section: http://boards.openpandora.org/index.php?/topic/745-sparks/

New versions will be now uploaded there, please stop using this thread for Sparks related discussions.
 
Back
Top