I’ve put alot of thought and research into this. Ever wondered why sprite based games really have not gone hi-def, even on PCs? It is because every hardware developer became focused on improving the performance of polygon based games. Ofcourse they want improve texture memory, but the majority of games don’t require the amount of memory 2D ones do.
There is another problem too. On PCs, OpenGL does not support color mapping natively, but only through an extension. So you are forced to us atleast 16 bit color. I can’t comment about Directx because I am no expert. I’ve noticed that the majority, if not all doujinshi fighters use DirectX, so maybe there is something to it.
Getting back to flash. You guys keep saying flash, but I really hope you just mean vector art. To do something remotely effecient on modern hardware with vector art, you’re going to have to use nurbs functionality in OpenGL/Directx. You really don’t see 3D games using nurbs to deal with anything with great detail, because it is really terrible for performance. I haven’t done the math, but I can’t image it being quick enough to generate the images in real time (the only way you would get the benifit of saving memory.) Vector art/nurbs etc, all use quadratics, which are relatively expensive to normal polygon rendering.
Now I’ve done alot of experimenting converting vector art to sprites, and unless it’s high resolution (which ofcourse would require loads of memory), you lose loads of detail. Vector lines ofcourse are not 1-to-1 with pixels, because they represent a perfect curve, and not the non-perfect stair-stepping of pixels. Human eyes are really the only thing that can get this right, unfortunently. From what I’ve learned from graphic artists, editing rendered vector art would not be any less labor intensive, than using normal drawings for reference.
The reality is, you can’t produce any kind of animation of quality without hard work.
Heh, yea, lots of issues, but if you guys come up with something and its in C/C++/OpenGL/SDL, let me know. I think there’s room for an open-source fighting engine (that’s complete) and/or a libmugen. But as far as content for a game, that’s really tough, its hard enough arguing how to engineer something but when you play with an arbitrary concept like fun, that’s even tougher.
<XNArant>
No its not, to play XNA express games, you have to compile them on your windows PC and send them to your XBOX 360, that’s of course after you’re paying your $100/year for the privilege to try out homebrew games that are probably incomplete. Think this is BS, look at http://msdn.microsoft.com/directx/xna/faq/ :
"
Q: How can I share my Xbox 360 game built with XNA Game Studio Express with other Xbox 360 users?
A: To share your Xbox 360 game with friends, four requirements must be met:
* The individual you are planning to share the game with must be logged in to Xbox Live and have an active subscription to the XNA Creators Club
* The receiving user must have downloaded the XNA Framework runtime environment for the Xbox 360
* The receiving user must have XNA Game Studio Express installed on their own development PC
* The game project, including all source and content assets, must be shared with the receiving user. The receiving user then compiles and deploys the game to their Xbox 360.
"
XNA is DOA, OpenGL/SDL solves these problems so much better, its not even funny. I was able to take the SG source and make a PSPgl port (still in progress) in little time (most time was spent dealing with learning the PSP). And there are OGL/SDL bindings for just about any language.
</XNArant>
XNA’s real easy to use. There’s potential in it, but the 1.0 release needs some work. 360 distribution, as noted above, does not exist. What they’ve got in place is good enough for development teams only.
This will change however. The current XNA release (Express) is a product targeted at the hobby and home brew segment. PC development and distribution is pretty much fully capable with the current version. 360 distribution will improve. I’m not moving fast enough on my project due to time constraints to be bothered by 360 distribution problems at the moment. When 360 distribution gets better, I might be ready to use it.
XNA Pro will probably have some more stuff. But we’ll have to wait and see.
I don’t understand what you mean. Is there something I said that was wrong?
The reason that palettes are only done with 8 bit sprites is that direct X (and the GL extension I recall working with) has only natively supported palette use on 8 bit sprites. If you want more, then you have to write the system yourself. At higher sprite resolution you only get to do color modulation, which is ass for something like a palette swap.
I don’t believe that we need more colors than an 8 bit palette can support for a certain character. Having a simple set of colors for a character looks a lot better for a character than haveing lots of different colors. It’s why characters have outfits that match instead of having a different color for everything, because that looks silly. I’m not an artist, but that’s how I see that. It’s like when in an MMO a character that has a complete set of gear uses maybe 4 or 5 colors, and looks good, but if you have all different colors of gear than the character looks out of place.
I have always thought that XNA does not make the options available for high end PC development. It’s just a wrapper on top of existing tools, and every time a wrapper is created you lose some of the lower level functionality. It’s not as big a deal as it was years ago (with much faster comps now) but we really don’t have the option to screw with things on the hardware level anymore. The fact that it works with the 360 though gives us the best console dev tool we have ever had, so that alone is something to think about. I don’t know a damn thing about the distribution methods so I can’t speak on them, but it will only get better I figure.
I am curious, what is the sprite count of a standard fighting game character. How many frames does a CvS2 character have? I don’t think it’s anywhere near 3000, but I could be wrong. Even if it is that large, games have been doing it this way for a long time, so it’s definitely doable.
basically i want to make a PC fighting game in the vein of 3rd strike, big idea i know but i have an idea for a complex fighter that i want to see if the fighting game community enjoys, its a simple idea really and i have all the character sketches down but the sprites im putting off untill i developed the engine
so i’ll ask again
requirements (only 3)
*pc based (duh)
*option of adding netplay later (not main focus)
*very flexible and reliable (i dont wanna hit walls)
and i wanna know what should i learn to acomplish this task
You are going to have to learn to code in order to do everything, and given that this is the beginning using XNA is no so bad an option. I criticize it because you can’t use it to do things like modifying the graphics pipeline and using C# has it’s own issues such as limiting your ability to manage your own memory and optimize memory transfer code. What it will let you do is render something to the screen very quickly with no real understanding of why it works, but you know it will work.
That is a much later step though as you could write an engine for a year without ever touching graphics code, and wirting an engine is all independent of whatever graphics/sound/control IDE you decide to use. Find a good book on C++ (or C#, they are very similar in many ways) and read it and practice writing the code. I would give a book list, but I am visiting my home and not around all the stuff I normally work with. Other’s here probably have their favorites that they use.
Of course you will need a compiler, and I love microsoft’s visual studio. Blah blah blah open source is better blah blah blah. Fuck that. Visual studio is used for developemnt all over the place, and it works very very well. The software can get expensive but the student version is pretty well priced. I also love Whole Tomato’s visual assist, but that is a long way away if you are just learning.
Before you start putting this all into code you can think about how you want your engine to work. The best way to start thinking about that is to think about what needs to happen every frame of the game. Outside of rendering and sound you need to process the inputs, check the inputs for canceling lesser priority inputs, check for collision, move certain objects based upon velocity, and so forth. Flow chart if you want, or any way you can put into words how you want things to work. This is a big step, and good design is the mother of good code. (sounds gay, but people know what I’m talking about)
I really hope I am being helpful and not just talking here, but I never know.
I don’t know, but I’ve seen a Fatal Fury Blue Mary sprite set that had a bit more than 200 images. That included taunts, intro, and the like. It quite possibly had duplication as well, as some looked suspiciously similar on a cursory glance.
Checking random MUGEN characters, you can see sff files ranging from 400 to 1000+ separate images. That includes things like projectiles and other effects. There might also be duplication. (There is certainly duplication if you go across multiple characters from the same game, as projectiles, effects, and even body builds may be shared by multiple characters.) Characters taken from early NeoGeo games are at the low end. Characters from Marvel games are generally on the high end.
PC XNA games are distributable in the standard PC way. You can build an installer, and give it away for free, sell it, whatever. Pretty easy.
360 Distribution, however, effectively doesn’t exist. In order to run XNA code on the 360, you have to buy a subscription to the ‘XNA Creators Club’, which is $40 for 4 months or $100 for a year. While your subscription is active, you can connect your 360 to C# Express running on your PC and run XNA code. It’s really cool for developing, since you can set break points in your compiler and debug stuff properly etc.
Now, if I write my really cool XNA fighter, and I want to give the 360 version to other people, I can’t just give them a binary. I have to hand them my entire VC# project, source code, source objects and materials, everything, and they have to have an XNA Creators Club subscription themselves, and they have to compile it themselves to their 360. This is simply unacceptable for 360 distribution. It should get better in the future though. MS hasn’t worked out the details, but they’re discussing a ‘Youtube’ like page on XBox Live, where you could download community built XNA games. Just gotta wait for them to add it to the system. They want to seperate user built XNA space from regular game space though, probably to make sure people don’t expect the same level of quality control from the majority of home brew XNA titles.
As for sprite count, deosn’t GGXX have around 500-600 frames per character? It’s one of the better looking fighters, so I’d figure that to be around the top end limit. 3000 per character seems really high to me.
We can put this in perspective. The number of frames in a entire cast of character, would be relatively low compared to an animated movie, or even a television program. Ofcourse we know that sprite work takes considerable effort, but I can’t comment on the relative difference in time it takes to produce a frame of animation for a fighting game character, as opposed to animated tv shows/movies.
FYI, the head artist of SkullGirls was able to do about 170 frames in 1 year. This is of course on his unpaid time (school/work still factors as everyone has to get paid), which I assume will be similar as I doubt you’re seeking funding. Also keep in mind, he’s the most motivated artist since its all his designs, so expect a diminishing returns as you add more people (even with the coding too). SG is planning about 500 frames per complete character and it will still be way under SNK/Capcom quality.
EDIT: we plan it will take us about 4 years start of code to finish product. (not including the story and character designs which were in the making for several years before that), so a game is a big commitment even for a small enterprise like Skullgirls.