Creating and Selling a Fighting Game

just fucking learn c

alternatively learn to draw because artists are much higher in demand when making a fighting game

It’s funny, because most artsits don’t have the natural mathematical patience to deal with C++ coding, and vice-versa. I know I certainly don’t.

Most artists don’t have the patience for uv mapping, rigging, editing shaders, processing textures, or painting millions of little hairs yet they still do it.

Programming in a lot of ways is easier once you get used to it.

Am I the only one who uses Game Maker here?

I also plan on porting the game to the DS using PALib and C. Obviously it would only be available to those with R4 type devices or an emu, but it would still be the DS nonetheless.

So is XNA really not worth it for indies who want to release on xbox?

I heard it’s good, but you got to port your code to C# until they get some sort of lib or extension they are working on.

C# is kinda pointless language being an ass-backwards version of Java.

IE, the idea is that it’s similar to Java, but it only works on Microsoft platforms (which is the entire reason to use Java).

But anyways, if you are starting from basically scratch and using game maker it’s definitely the way to go.

I tried using game maker a few years ago just to test sprites i was working on and it was buggy and shitty (even with hardware acceleration).

The scripting language is like a house of cards – XNA is pretty rock solid and has a lot of libs made by developers instead of dabblers.

If your goal is 360 and windows it would be a good idea.

However, if you are going for the experience of being a real developer you are better off using something like SDL and C++.

Update to the SkullGirls website
http://www.skullgirls.com/

I must respectfully disagree with this. C# is a very nice language. It’s not perfect(I haven’t found a perfect one yet), but it’s pretty good. Also, technically, it’s not exclusive to Windows. I’ve never had the need to try mono, but it’s been around for a while now, so I think most things would work pretty well on other platforms.

More importantly, 99.9% of people trying to make and sell a game on their own are going to want to target Windows PCs. So, if that’s the case, what’s wrong with C#? Plus, you’d have the option of giving it away for free on the 360 if you wanted to go that route.

Sure. To do real development on console systems, C++ is the only viable option. So, if want to use your game as a show-piece to get a job at a real company, then yeah, doing it in C++ is probably preferable. Although you might want to use DirectX instead of SDL if that’s your goal.

With that being said, most people’s(including myself) pet projects tend to be too ambitious and never get completed. Given that, I don’t think it’s a bad idea per-se to use an easier language like C# since your chance of sticking with it would be higher. Having a fully-functional game in C# is probably more impressive than a half-finished piece in C++.

At any rate, any experience is good experience. So, just go with what works for you :smile:

Lookin good! :tup:

Hey just wanted to ask you why the attacks do not have hit boxes. In other words
if two attacks make contact nothing happens. I just wondering if you planned on making some kind of attack priority system or whether you planed on making the attacks just trade hits. I know it is still debated in the mugen community of how snk and capcom apparently handle the coding in the situation of over lapping attacks.

C# is just microsoft’s weak ass attempt to drive Java out of business – you’re better off using real Java or C++.

There are now pro games developed and sold that were written in java.

Anyways you are overblowing this ‘easy’ thing.

C# is not that much different than C++ just like java is not that much different than C++.

IE, if you can program in Java you can program in C++, if you can program in C# you can program in C++ (I know – I learned C++ before Java).

Once again… the purpose of java is that it is platform independent for the most part and has a lot of APIs built in for this purpose (ie, platform independent windowing GUI, file system, networking, etc).

C# is just microsoft’s reaction to Java like IE is to netscape, windows to mac os, etc, etc.

If you’re going to be working on a windows platform you are better off just using C++ than C# – if you are good enough of a programmer to make a game chances are you program for a living in either C++ or java (not too many C# programmers doing that for a living).

Most people who use C# seem to be college students who learned it first or microsoft employees.

Direct X is also not that great for many platforms either – all playstations, psp, nintendo, ds, linux, iphone/mac, some arcade machines, etc use OpenGL which is platform independent.

They are just about equal other than a few shaders except that Direct 3D only works on MS platforms (see the pattern MS has).

On the plus side if you write the game with opengl your game will run everywhere.

============================

Oh and one more thing…

SDL is just a library to make programming easier. You can use whatever you want for the rendering including OpenGL and Direct X.

That a simplistic and unsubstantial breakdown of the matter. Please tell me, in what real tangible ways would using Java or C++ be better?

I actually find that surprising. But so what? There are pro games being developed with C# too. I’m sure you could make a “pro” game for PCs with many languages. It doesn’t necessarily mean it’s a good idea.

LOL! Are you serious? I program games professionally for consoles. There is a world of difference in in the effort it takes to get things done in C++ vs C#. I can’t speak to Java since I don’t know of a single game company using Java. However, C# is used all the time for tools development and it’s a *lot *easier than C++.

Sure. The concepts transfer quite well between all of the Object-Oriented C-like languages. You could also use VB.NET or something else. But being able to understand how to write code in multiple languages doesn’t mean that they all take the same amount of development effort. Here’s a few facts about C# vs C++:

Pro C#

  1. Compile times of C# programs are infinitely faster.
  2. You don’t have to worry about include files or the order of declaration.
  3. You don’t have to manually worry about every memory allocation you make.
  4. Intellisense support works much better in C#
  5. C# handling of basic things like strings, enums, etc are superior to C++
  6. The .NET libraries offer TONS of things that C++ lacks out-of-the-box
  7. Language level support for Properties and Events are superior to C++ hacks
  8. If you find something lacking in C#, you can invoke/wrap native C/C++ libs
  9. Etc…I don’t really see the need to go on.

Pro C++

  1. Templates are more powerful than C#'s Generics
  2. You don’t have to write wrappers to use C/C++ libs
  3. You can write programs on consoles.

Quite frankly, I think that being able to write programs on consoles is really the only major advantage for C++. If I could use C# on consoles, I would. I think you could write the ~5% of code that’s performance critical in C++ and write the rest of your game in C#. Unfortunately, that’s not possible. So, we’re stuck with C++ for the time being.

Platform independence is fools gold. It is much easier said than done. It’s always admirable to write portable code. But getting your program to run well on multiple platforms usually takes a lot of work. Hell, even writing a game for Windows PC’s that works well with all of the hardware out there takes a lot of work.

Using Java doesn’t magically make your program work well on everything. And choosing Java for writing games means that finding help, support libraries, etc. will be much tougher since most people use C/C++, and to a smaller degree C#.

So what?

Why would you be better off with C++ on Windows? What are some tangible benefits?

Also, as I alluded to before, I don’t know of *anyone *using Java in any game company. But C# is quickly becoming the new standard for writing tools at game companies.

False. I don’t know about the PSP, DS, or phones. But *none *of the consoles use OpenGL. Sure, the PS3 and Wii use something somewhat similar to OpenGL, but they’re not really OpenGL.

The sad truth is that you’ll need to write platform-specific code for rendering on *every *platform and wrap that into your own interface if you doing cross-platform games for something like the XBox360 and PS3. Hell, even DirectX isn’t completely the same on the PC and the XBox. How crazy is that?

The Wii and phones are a completely different ballgame. They don’t even support the same feature set as modern platforms do. There’s simply no way you can use the same rendering code on all platforms.

Hehe. Frankly, OpenGL is a mess. For the most part, the only people still using it are those who run a Mac or Linux as their primary platform. The OGL board screwed itself. Ridiculous extensions and a slow tedious process to standardize allowed DirectX to take over the market share. PC video card drivers aren’t optimized for OGL anymore. Almost no game companies use it anymore. It’s effectively obsolete. Sure, you can use it if you want. But unless you’re dead-set on supporting Mac/Linux, you’re cheating yourself if you do.

Nope. It’ll run, but perhaps not as efficiently, on PCs. But it won’t really help you on consoles.

Sure. For a completely 2D sprite-based game SDL is probably easier than OGL or DX. I was just saying that if your goal was to get experience in what “real” developers use, then you might want to go the all the way and use C++ w/ DirectX.

Sorry for the long post, and no hard feelings Ashenwraith. I just don’t want to see any inaccurate information go unchecked.

But it’s more of a thought process thing. Artists can obsess over fine details in an artwork for days and not get bored, but many of them have no patience when it comes to mathematics/coding.

Mainly because it’s awfully hard to connect with something that isn’t directly visual in the same way that you do with your artwork, if you are a visually artistic person.

Likewise, I’m sure it’s the same way for people who are more suited to logical thinking and mathematic problem solving.

Still, it’d be pretty darn cool to be able to do both.

I’m pretty sure in Capcom games (at least Street Fighter, particularly SFII which is my testing ground most of the time) a collision between two attack hitboxes will result in both players being pushed back.

That’s one thing I’ve been wondering about and debating, especially within a week before that was released. I decided to just leave it with Counter Hit for now, but I feel like something needs to be done to keep the game less “throw random fast attacks out because no matter what they’ll connect”, debating on just going with the double pushback. Right now its just all left up to the startup, hit time, and recovery of the moves for the most part. Save the obvious player specific “variables”.

Any suggestions on differentiating holds and throws? Aroon has both, so getting both of them to be equally viable for him may be difficult. Right now it has a max of 3 hits (of which they all always hit). Should I stick with a maximum number of hits on holds, but just offer a method of escape? But then there’s Air Recover, right now a player can always Air Recover from a Throw, should I disable this option on Holds?

On another note,
Looks like I’ll be learning every C out there at this rate. Not that I’m not fine with that.

C# vs Java is like a religious debate and Ashenwraith is a troll.

Showdown Academy is good shit, GStick! Keep up the good work!

I’m still chuggin away at Troika, it’s coming along pretty well. It’s probably going to be the greatest thing ever. It’s almost totally unplayably fast and broken, you guys will love it :slight_smile:

cheers!

I’m a game animator for Disney, but I make flash games in my free time.

Made a few of my own fighting games:


Flash is a good place to start if you don’t have a coding background. It does not perform near as well as something built in C++, but for a simple fighting game, you can get 30fps fairly easy, and you’ll be able to get something up and running a lot faster than C++. 60fps takes a little more careful planning, and broswers (especially firefox) don’t like things clocked that fast and tend to slow them down even if the CPU has room to handle it.

I do all fo the coding, and animation. I have sub contracted out some of the character design, background painting sound etc…, but animation and coding fit together so tight it’s hard to split them up and get what you want.

There are some good communities like flashkit.com that will help you with specific problems you run into. Also a lot of the casual sites are more friendly toward the flash platform and users like it because you can play right in the browser without downloading seperate files.

Some sites that have worked out for us include: shockwave, bigifishgames, oberonmedia, bubblebox, and a few others in the works.

As far as making money off the games, we’ve done pretty well. Most of our money comes from advertising revenue though. We’ve had millions and millions of plays on the web version, but those numbers lose a lot in translation to actual sales. If you want sales, you’ve gotta make games for soccer moms. Still advertising revenue is pretty good. Some of my games continue to make a few thousand a month several years after being released.

Making sprites, I would highly recommend starting in 3D because it is so much easier to tweak and edit, then if you really want to get the 2D look you can hand draw over your 3D sprites.

For Capoeira Fighter 3 we used hash Animation Master to build and animate the 3D models(really cheap, and great for toon render character animation) Then I rendered them out to 2D sprites and import them into flash to hook up with the coding.

If anyone has more specific questions, I’d be happy to share my experience.

Thanks. Having a bit of help wouldn’t hurt. Its become a one man show lately. At least it gives me freedom to do whatever I want to the game. You know we’re all waiting for some kind of release of that, sounds good.

Played this, entertained me for a while but the flash aspect kept ruining it for me (bogging down my shitty PC, having to start the extra program, sometimes messing up when I didn’t want it to).

Showdown Academy’s combo system is pretty open, if an attack can connect, it can connect. Float and push physics are the only real thing that stop juggle infinites, and system stuff like Air Recover, and invincibility for the defender on bounce situations and sweeps. I think I’ve only done one 4 hit combo with the newest demo, and was never really able to replicate it. But combos are actually quite simple, so anyone can get in and do one with not much problem. There are some chains, but cancelling is basically set in stone. A move can cancel/chain into another move whether it hit or not, but its often really restricted. Projectiles are the only attacks that break this rule, but even though their cancel frame changes on hit, its still predetermined. Most combos are links, or canceled from the final few frames of the previous attack.

So you are planning on adding hit boxes to all normal attacks but just have not done it yet.

The other question I had about the game engine is why do all attacks seem to have the same amount of hit stun. I imagine it has to do with the way the combo system is set up but it feel like it might lead to infinite combos or 100% combos.

Also I misread the move list and thought Aroon had an air throw so I jumped forward and pressed down and close punch and kick together and Aroon froze in the air and the whole screen scrolled down until the background was gone and all I could see was the energy bars. I have been able to do it several times and I notice he does a knee and moves slightly forward in the air before he gets frozen.

As far as throws are concerned the animation seems very odd It seems way to fast. I think given the relative speed of throws in your current build air recovery on throws does not make a lot of sense. I think the only reason you would need an air recovery from a throw is if there is a possibility of being attacked or juggled while still in the air recovering from the initial throw which does not seem possible as far as I can tell.

OpenGL is a ‘mess’?

Sorry you just lost about any validity you had there, especially since John Carmack has repeatedly said the exact opposite when comparing OpenGL to Direct 3D.

Sorry man you’re just trying too hard to act like you know what you’re talking about and it’s just not worth debating (no offense).

The reality is that C++ is the standard and so is OpenGL.

Direct 3D and C# is what people depend on who don’t plan to develop games ‘professionally’ outside of their windows/xbox sandbox which is why every big company like blizzard, id, epic, etc all use OpenGL and C++.

Even nvidia drivers are optimized for OpenGL and employees of nvidia work on the development and promotion of OpenGL.

Microsoft’s monopoly doesn’t automatically equate to superiority (ie, just because Windows comes with IE doesn’t mean its the best browser or ‘the future’).

So now programming discussion = religious debate?

Did you miss the whole part in school about how science and religion are not exactly in lockstep with each other?

talk about trolling…

oh boy…