Share My Creation Flying Creatures - libGDX Game

hi guys, here is one of my latest creations:

Flying Creatures FREE !
Flying Creatures is a very fun, addictive game, try to fly without crashing into the walls.

have fun (more games will follow very soon :))

(small cheat for b4a members, click about 30 times on the flying creature in the "creature choosing" window to get 1500 coins)


link: https://play.google.com/store/apps/details?id=www.sagitalfds.net&hl=en

Screenshot_2014-08-07-16-48-26 (1).png Screenshot_2014-08-07-16-48-36.png Screenshot_2014-08-07-16-48-44 (1).png Screenshot_2014-08-03-02-25-30.png
 
Last edited:

Informatix

Expert
Licensed User
Longtime User
I've tried many of complex scenes with 100+ animated sprites , each sprite with 40-50 frames, and guess what, FPS : 59 (galaxy note II).
It amazed me with such a performance...
The game that I'm currently working on is very complex (did I say horribly complex?) and hurts the performance wall on mid-range devices. I have frequently FPS under 30. The main bottleneck is not the number of things that you move or animate on screen (except when you speak of many hundreds), or the number of different textures (if it's reasonable) but the number of transformations (when you rescale or rotate the texture) because that implies to flush the batch between each transformation. In my game, I draw some cards (see screenshot below). Each card is made of 8 layers; each layer has its own filter and rule for rescaling (because anti-aliasing gives a better result for images than for texts for example, and mipmapping is not necessary for some layers). All cards are rescaled because you can zoom in/out at any moment on them. All of this implies a lot of batch flushing (automatically managed by Scene2D) and affects performance a lot. To keep a correct FPS, I cannot display more than 15 cards at the same time.

screenshot.jpg
 

ilan

Expert
Licensed User
Longtime User
looks very nice, i have a question if it takes much memory to rotate scale ... but much less if you use animations (showing a number of images sprites) then why not rotate the card via a sprite?

there are lots of soft (and i am sure you can create easily one) that will rotate a card and create a sprite then u just use this sprite instead of rotating it

just a thought .. :)
 

Informatix

Expert
Licensed User
Longtime User
looks very nice, i have a question if it takes much memory to rotate scale ... but much less if you use animations (showing a number of images sprites) then why not rotate the card via a sprite?

there are lots of soft (and i am sure you can create easily one) that will rotate a card and create a sprite then u just use this sprite instead of rotating it

just a thought .. :)
Cards are not rotated but rescaled (the drop in performance is probably the same). The first idea was to draw a card with all its layers, save it to a pixmap and create a texture from this pixmap, but the result was ugly and for 100 cards, creating 100 pixmaps was too slow on low-range devices (and I don't speak about the memory consumption, which is doubled). The text, for example, did not look nice and was not very legible when you reduced the scale to 1/3. I had to handle it separately from the images. An idea could be to have different fonts for the different sizes of the card during rescaling but I quickly realized that took too much memory and was too complex to manage (positioning very accurately a rotated label with Scene2D, for example, is a bit complex because you have to calculate the rotated position around its axis in a non-transformed coordinate system; I admit that's a bit weird).
 
Top