Game Development for May 001

FIghting Games.

Complex, beautiful, and you don’t have to program AI if you don’t want to.

I’ve been learning quite a bit about Unity2D for the past couple of months learning from some good courses on Udemy. I think I have enough knowledge right now to go out on my own and build a simple fighting game for May’s 1GAM challenge.

Last year I built a fighter from scratch in Python. The only trouble I had was when I couldn’t get CX_FREEZE to work! So annoying! GAH!

With Unity2D, that’s not such a problem. There’s no slapping together a bunch of dependencies manually and throwing wrenches at my computer as I try to compile an executable that doesn’t cause a segmentation fault.

Geeze that was scary to see the first time. I’m sure if I had the patience, though I could have stuck with it and figured out how to snap everything back together to get an executable file to work. But it still runs on the interpreter.

Teddy Fight Screen Shot, mid development

Teddy Fighters. My first Game built from scratch in Python.

I still love Python, and every once in awhile I go back to my old code and play the little overhead fighting game. I remember when it took forever to try to get all of the weapons to move together with the character at the correct angle with some trig functions. That was a great learning experience. I had to go back to highschool Algebra again.

Now, back to the game!

I have a little bit of time to work out the details with Golden Week coming up. It’s nice to get some time off from the daily grind.

For the simple fighting game, I’m going to try to learn from other fighting games by implementing all of the basic concepts of your standard fighting game.

High Speed Chess

All the competitive fighting games out there are like a high speed chess game in a way. Moves counter moves. You must know when to play defensive and when to go on the attack. And you have to react as fast as possible in the moment.

Dance Dance Revolution

In many ways, fighting games are like any other timed sequence game. You have to hit the right buttons at the right time and train your brain in order to master the game. This comes even before the strategy of the high speed chess game comes into play. You have to know a good range of moves before you can feel out the strategies.

Super Moves, Normals, Throws, and Combos

This is where the meat of the programming and animation will come into play. Each move will need to be mapped out. The time window to chain moves together into combos will also need to be carefully tested. This is why a fighting game takes so much time to develop.

Beautiful Animations

Fighting games can be really showy, and let’s be honest, you’re probably not going to play something with bad animations. Even those stick figure fighting games have beautiful flowing animations. It takes time, patience, and Oh geeze did I mention time?

I might have to look at bone based animations, but It will be something I’m not used to and haven’t done much of. It will be a learning experience. On the other hand, I am more comfortable on sprite animations. Learning something new might take just as long as pushing all of those pixels. It’s a hard choice I’m going to have to make after a bit of research.

Limit

Having a limit is the wonderful thing that makes the animators and programmers jump for joy!

Although there are some very complex fighting games out there with many characters, Usually fighting games don’t have more than 50 different ones. And usually, the 2 player fighting mode is good enough.  The backgrounds don’t have to be a functional part of the scene and can be done very simply if time is running low. Also, the range moves can be limited if I need them to be.

I’m going to need to limit myself this month on characters, AI, Background art, and moves in order to finish a polished working version for the May 1GAM challenge. We’ll keep you informed on the progress. Good luck out there to those that are cooking up a fighting game.

Do you have any experience building a fighting game? Do you have any tips on how to go about Bone based animation in Unity 2D?

Let me know in the comments!

 

Teddy Fight (early version)

This is the version of a game that I made for the Themebound Game Jam. The game jam ended on May 8th, 2015 at 12AM Central Standard Time.

Right now it only works as a windows executable. The Mac OSX version should be done soon.

Late Update: The Mac OSX version will not be done for this early version. I’ll publish the final version at the end of the month or beginning of June. 🙂

Windows only:

Download Teddy Fight 

You want to unzip the file and then go into the folder and click on “game.exe.”

The game right now is at a very bare bones state. It’s playable and has a win and lose case. It is two player only. There are no AI players.

If you have two game-pads you can configure the buttons to run the game. It might be more fun that way.

I spent about 4 days writing the program, and fleshing out some good code. I certainly learned a lot. I didn’t realize that you needed trigonometry for such simple things as turning and moving forward in the direction that you turned. That was quite a treat to figure out and get to work.

I used Pygame running Python 2.7 to make everything work. It’s a pretty neat little library, and it doesn’t hold your hand as much as Cocos2d or other game engines/kits.

For the rest of the month I’ll be working on a polished version of the game. The polished version will be submitted to the 1 Game A Month  game jam. This will be my first, although I’ve made a few other games before this one.

Obviously there’s a lot more work to do to make it more fun and playable. Right now all you do is mash buttons and chase each other. Not much of a fighting game… well… I guess that’s the essence of a fighting game, right? But there’s no good strategy or luck built in. So, although it’s a game, it’s not fun. Not yet.

I have a small list of things I’d like to do, such as making other weapons, barriers, and an element where you have to sneak and avoid being caught by people, because teddy bears aren’t supposed to get up and walk around.

Play the game, and tell me what you think. What do you think I should add? Leave a comment below.