Jump to content

  • Log In with Google      Sign In   
  • Create Account

Loading Large Number of Files


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
8 replies to this topic

#1 aanthonyz1   Members   -  Reputation: 137

Like
0Likes
Like

Posted 13 May 2014 - 10:00 PM

Ok, im creating a street fighter type game right now, im using characters from other games as my fighters. I got the sprite rips and for just 1 character, its 1,333 .png files. Is there a way I should load them that can make it less CPU intensive? Im programming this in C++ and SFML.



Sponsor:

#2 SerialKicked   Members   -  Reputation: 576

Like
7Likes
Like

Posted 13 May 2014 - 10:40 PM

You'd probably get better results by zipping (without compression) the whole package and then finding some Zip library for C++ to open the archive and extract files from it.

 

It should be faster because the archive will be loaded into ram once, then files will be extracted directly from the RAM to whatever system you put in place. Just note that it will need more RAM than loading files individually from the disk. Also, don't load all your characters when the game start, just the 2 you need when a round begins.

 

As a side note, you shouldn't use ripped sprites if you want to publish your game anywhere online. It's okay for a personal project, though.

 

EDIT: Alternatively you could put together all sprites belonging to the same animation into a single file that you'd use as a sprite sheet. That will make things much easier to load and to put into a structure you can use.


Edited by SerialKicked, 14 May 2014 - 12:25 AM.


#3 Vortez   Crossbones+   -  Reputation: 2704

Like
1Likes
Like

Posted 14 May 2014 - 11:04 AM

1,333 images for 1 character ?!? Seriously? As serial kicked said, i think it would be best to load them as a single file, all images in one file, then store texture UV for each sprite somewhere and use that so you don't need to reload/change textures continuously.



#4 Burnt_Fyr   Members   -  Reputation: 1249

Like
0Likes
Like

Posted 14 May 2014 - 12:46 PM

1,333 images for 1 character ?!? Seriously? As serial kicked said, i think it would be best to load them as a single file, all images in one file, then store texture UV for each sprite somewhere and use that so you don't need to reload/change textures continuously.

My thoughts too... 1333 @ 60 frames per second is > 22 seconds of animation. at 30fps that's >44 seconds.  My street fighter matches never lasted that long in the first place, so it seems like an awful lot of sprites to me.



#5 SerialKicked   Members   -  Reputation: 576

Like
1Likes
Like

Posted 14 May 2014 - 01:33 PM

1,333 images for 1 character ?!? Seriously?

 

Certainly not for SF2 but take something like Skullgirls or Blazblue

 

If you take recent games, that's:

- each direction + standing multiplied by six or four normal attack types (depending on game)

- half a dozen (minimum) special attacks tnat can take a while and tend to be more detailed frame wised than normals

- At least 3 jumping animations, at least 2 dashes, 2 move animations, 2 or 3 guards animations and one idle

- Ultra attacks that can takes about 10 seconds to run (about 2 or 3 of them per character) and that are extremely detailed.

- projectiles and other character dependent special effects

- various grab animations

- Die / low hit / high hit / medium hit / jumping hit animations + the same with guard

 

And that's only the basics. About 80-90 different animation sets, 1300/80 = 16 frames average.

Sounds about right.


Edited by SerialKicked, 14 May 2014 - 01:37 PM.


#6 SeraphLance   Members   -  Reputation: 1457

Like
0Likes
Like

Posted 14 May 2014 - 01:36 PM


- each direction + standing multiplied by six or four normal attack types (depending on game)

 

Do they really do this, and not just mirror the standing animations?



#7 SerialKicked   Members   -  Reputation: 576

Like
0Likes
Like

Posted 14 May 2014 - 01:49 PM

@SeraphLance : I am not sure to get what you mean. What I meant is that in recent games [back] + [low kick] is a very different animation than [front] + [low kick]. The few starting frames may be the same, sure, but the whole move certainly won't be. Especially in combo focused games (skull girls being a good example) by opposition to more super move oriented games.


Edited by SerialKicked, 14 May 2014 - 01:52 PM.


#8 Vortez   Crossbones+   -  Reputation: 2704

Like
0Likes
Like

Posted 14 May 2014 - 02:24 PM

He meant, the same sprite can be used regardless of if your facing your opponent left or right, you just mirror it (use the same texture with UV reversed on the x axis)

 

Just for curiosity, can you show one of the sprite sheet?


Edited by Vortez, 14 May 2014 - 02:25 PM.


#9 SerialKicked   Members   -  Reputation: 576

Like
0Likes
Like

Posted 14 May 2014 - 02:28 PM



He meant, the same sprite can be used regardless of if your facing your opponent left or right, you just mirror it (use the same texture with UV reversed on the x axis)

 

That's why i used [back] and [front] instead of [right] / [left]. SF2'like games always assume that you're in front of your adversary. So, yes, 9 different animations per normal attacks in recent games.

 

[back] + [low kick] = backflip kick

[low kick] = small kick to the feet

[front] + [low kick] = send spikes a meter away.

 

is common practice nowadays in fighting games.


Edited by SerialKicked, 14 May 2014 - 02:48 PM.





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS