Boomshine Web Game


I gave this a try myself, just for fun, and only managed to obtain satisfying results with hardware sprites, and no alpha :unsure:

Boomshine2x4-pic0-948.png
Boomshine2x4-pic0-231.png


What's most surprising is that real-time circles with alpha are a lot faster than pre-rendered sprites with alpha!

With 60 circles and alpha, my frame rate drops to the low 20's every time there's a significant number of explosions. My code is very simple, and all slowdowns happen due to the alpha blending. I thought Fenix was based on SDL, so how come it is faster with alpha blending than C with SDL? :-/
 
Alex. said:
I gave this a try myself, just for fun, and only managed to obtain satisfying results with hardware sprites, and no alpha :unsure:

Boomshine2x4-pic0-948.png
Boomshine2x4-pic0-231.png


What's most surprising is that real-time circles with alpha are a lot faster than pre-rendered sprites with alpha!

With 60 circles and alpha, my frame rate drops to the low 20's every time there's a significant number of explosions. My code is very simple, and all slowdowns happen due to the alpha blending. I thought Fenix was based on SDL, so how come it is faster with alpha blending than C with SDL? :-/
Probably because we consider 25-30 fps "satisfying" and you don't?
 
Last edited by a moderator:
Nagelfar said:
Probably because we consider 25-30 fps "satisfying" and you don't?
Well I just expected a 200mhz machine to be able to pump some more fps, but I suppose alpha blending involves simply too many fp calcs to be feasible at ~50fps. I do think 25-30 is good, it's just that for my program it was very unreliable, with severe ups and downs, and I was a bit worried.
 
Last edited by a moderator:
Alex. said:
Nagelfar said:
Probably because we consider 25-30 fps "satisfying" and you don't?
Well I just expected a 200mhz machine to be able to pump some more fps, but I suppose alpha blending involves simply too many fp calcs to be feasible at ~50fps. I do think 25-30 is good, it's just that for my program it was very unreliable, with severe ups and downs, and I was a bit worried.

Problem here is SDL. Its alpha blending is fucking, fucking slow, worst I've ever encountered. I bet your native approach is much faster.
 
Last edited by a moderator:
Well, I found a compromise: dithering! It looks decent, especially in-game when everything is moving around. Besides, the GP2X screen is hires enough for this to work alright.

download GPE (1.4Mb)

Instructions:
- run game, expect a 5-second delay at start-up, while pre-rendering sprites
- the larger circle is the cursor, move it with pad
- explode cursor with X
- press Start to access menu (resume, reset, exit)

Boomshine2x4-pic1-260.png
Boomshine2x4-pic2-76.png
 
Nice work there Alex

Averaging about 60 FPS here too

The only thing I would suggest is maybe to slow it down to the speed of the flash game, the flash game seems slower.

Now something that would loop an ogg/mp3 while playing and different levels and this could be a polished game :)
 
Back
Top