Sunday, October 9, 2022
HomeGame DevelopmentThousents of bullets logic/efficiency logic - cocos2d-x

# Thousents of bullets logic/efficiency logic – cocos2d-x

Hello,
I used to be taking part in some outdated retro video games and began questioning how did they do it again then. There the place shootemups video games the place you actually had lots of of bullets flying across the display screen. And any of them may kill you.
I’ve been studying some cocos books (outdated however nonetheless legitimate I suppose), and plainly the logic is to retailer all of the bulllets on display screen in a ccArray and within the replace methodology you do a CCARRAY_FOREACH (which i suppose in cocos3dx 4.0 is now CCARRAYDATA_FOREACH).
So in case you have say, 200 bullets, and the sport is 60 fps, it implies that the replace methodology is checking 12000 intersections per second!! + all the pieces else in your sport logic.

I come from a CGI background the place you progress meshes with thousents of vertices per second ar 24 fps, which is sort of regular. So I’m wondering, being new into sport growth, if 12000 intersection checks per seconds is loopy or is doable.

thanks,
R

okay, I’ve been studying abit on the subject and plainly one of the best ways to do it’s to make use of a pool and sphere colliders (apparently quicker than field colliders). So insteand of instanciating and destroying all of the bullets,
they’re created all of sudden off display screen, after which simply transfer round and reposition out of display screen when not wanted.

1 Like

Hi there, I feel they’d of simply examine the gap from and object to object,
not all of the factors of a physics object in an engine.

Example code.

float diffY = p1.y – p2.y;
float diffX = p1.x – p2.x;
return sqrt((diffY * diffY) + (diffX * diffX));
then if the gap is much less then say 2 then collide, however again within the day it will of additionally been Assembly language.

That’s is fascinating(You can avoid wasting efficiency although with out making use of the sq. root)
My concern was extra about creating the sprites situations than the collisions. Instead of making and destroying the sprites situations, they’ll all be created directly off display screen at loading time, after which simply transfer then round. For occasion, when colliding, as an alternative of destroying the sprite and creating a brand new one once more, simply transfer it again off display screen till you want it.
I do one thing comparable with some background clouds. Create as soon as, and as soon as they depart the display screen, set the place out once more and restart.

Yes thats the enjoyable half about video games programming, you make it up as you go alongside optimisation is essential, however bear in mind it’s all pretend so when your swimming in water your probably not it’s simply graphics, however just like the matrix “Your mind makes it real”, I discover it enjoyable programming and animation, it’s like a great outdated cartoon it’s left to your creativeness.
We use many methods like hiding issues off display screen or as a result of cocos makes use of nodes you may simply present or disguise node that tells the engine if its is to be drawn, utilizing one participant and altering the colure so it seems to be like many various gamers to save lots of reminiscence or tile maps reuse the identical tiles to create an infinite scrolling map that was the arcades favour trick if you happen to performed MAME earlier than you may see they rotate pallets and use tiles and all types of trick’s to create the phantasm. Cocos2x can pull off all these methods and them some, “On steroids”, the extra you get into it the extra enjoyable cocos is. I don’t know if you happen to program in any respect or if you happen to do or begin studying this can be a actual enjoyable engine to play with a number of assistance on right here the admins on listed below are unbelievable at serving to out too they actually helped me with my ip & photos this was one thing I ignored and so they picked up on sensible. anyway take pleasure in and have enjoyable.

sure, I’ve been a software program dev for the final 15 years. I exploit to work within the movie CGI business the place I wrote rigging software program in python and C++ plugins when heavy realtime computation the place required.
I lately change to the sport business (obtained a bit burned from working in large movies studios).
This the sport I at the moment creating

shootem up sport dev WIP

It is small sport that I’m utilizing as a “workshop” for future extra critical and lengthy video games.

Hay thats superior is there an finish boss? jogs my memory of – R TYPE cherished that sport. is it operating on Android or IOS seems to be like its on home windows?
Make me wish to write one now ought to solely take about 20 minutes with this engine

Cheers.
Yeah, love rtype, final resort, bomber trip… So many unbelievable video games.
The sport is one degree with growing issue with completely different sections that correspond to new enemies and on the finish it will likely be a closing boss sure.
I do put up wips on Instagram if you wish to take a look, seek for rudi_hammad.
The platform is PC. I’m not concentrating on Mobil, at the very least with this one.

is it utilizing cocos2dx or a distinct engine

oh cool so you may recompile for something then, good one. I mite have to interrupt out the compiler and have a go at one thing like that forgot how a lot I really like all them shoot em ups, I’m so old fashioned I’m a scrambler , defender, sinister all them 8 bit arcade sport was fortunate once I was younger I lived on the price of Bournemouth in uk we needed to 2 pier’s and so they the place choked filled with all of the 80 video games once they was new, So had a misspent childhood taking part in all them arcade video games lol:).
however you’ve sparked me into making an attempt a shoot em up sport now thanks.

Cool.
A whole lot of outdated video games maintain very properly at the moment. And it’s not all about 3d, raytracing and the final tech… Look on the final ninja turtles video games, it offered very well.
Anyway, getting off matter right here. Good luck along with your tasks.

RELATED ARTICLES