Posts Tagged ‘beat-em-up’
After the ludum 27 48 hour compo, I continued to develop Turn Fighter Foo in order to bring out a version that is closer to what I had imagined.
So whats new?
The first major thing (not visible though) is that the code base has been ported from Flixel with Actionscript/Flash to HaxeFlixel with Haxe/OpenFL. Doing this has the advantage of being able to port it to other platforms natively. Expect something like gamepad support on desktop or a mobile version sometime in the future!
There are a few new hit animations for the fighters as well as new animations for the new moves that they can perform. The background has been spruced up a little to make it less bland and some background music thrown in to accompany the fighting. Here is an example of what to expect:
The first major change is a rebalancing of the play matrix for moves. You might have noticed that kick is probably the most overpowered move in the 48hr compo version. I’ve tried to create a version where there is always a counter to any move. For example, kick is now countered by the low sweep like the picture above shows. And air attacks can now be countered by a new uppercut move. The play matrix is still not perfect but it is far better than the 48 hr compo version. Along with the new normal moves, there are also a couple of special moves that I’ve added which were inspired (aka ripped off) from most fighting games. The first is a ranged fireball attack and a move called the phoenix punch which kinda resembles a dragon punch (very original I know! ). Have a look at the moves list below for how to execute the new moves. More special moves to come in future versions hopefully.
The post compo version now has several options that can be customised such as the ability to hide your inputs from your opponent, increasing/decreasing the number of inputs per turn and changing the turn timer duration (or have unlimited time). The last option enables Turn Fighter FOO to be played in Ippon scoring mode which means that a turn ends as soon as one fighter performs a decisive blow on the opponent scoring one point. The decisive blow occurs when one fighter performs a move that naturally counters the opposing fighter’s current move, thus getting the hit. Score three points and the match is over.
Last but not least, I’ve added an AI player for those that do not have anyone to play with. Yes, there is now a single player mode! The AI is not great but it should be enough to get a flavor of what the game is all about. I’ve gotten feedback regarding my compo version about how some players didn’t have a partner to play with so this one is for those players!
The post compo version of Turn Fighter Foo may be found (along with the original version) at my ludum 27 entry page here.
New Moves list
- Upper cut – down, punch
- Low sweep – down, kick
- Jump punch – up, right, punch (if facing right)
- Fireball – down, right, punch (if facing right)
- Phoenix punch – right, down, right, punch (if facing right)
- Duck – down
- Idle has been removed as an input. Use block instead.
- Controls for player 1 has changed to w,a,s,d for up,left, down,right and j,k,l,n for punch, kick, block, clear move list.
- Addition of new ready button for the unlimited time match. When both players hit the ready button, then the turn plays out. Player1 ready – space, Player2 ready – end.
So I’ve decided to write a post mortem for my first ever ludum dare entry Turn Fighter Foo. I’m really proud of what I had achieved in such a short amount of time and I just wanted the opportunity to share the story and the thought processes behind it.
The first day
When the theme “10 seconds “was revealed on the ludum site at 10:30 am local time, the first thing I did was to brainstorm and write down every idea I could come up with related to the theme. Ideas for mechanics like 10 second power ups, 10 second lives and 10 second timers floated around mixed in with game ideas like escaping from a monster with only 10 second of stare time (yeah I ripped it off amnesia), a 10 second hundred meter dash and even a …ahem “reproductive” game with the control system of dance dance revolution to try and get a 10 second climax result.
My initial attempt was to build the monster game with a flashlight with a 10 second battery life that you could use to scare away the monster using Construct 2. Eventually, I got bored with the idea and ditched the monster game and was back at square one. I had a look at my list of brainstorms again and fell upon number 10 on the list which read “10 second to decide what to do in a situation – Each turn is a second”. I then started to think about creating a turn based game where you had a limited amount of time (10 seconds) to make a decision like timed chess. I remembered a previous game that I had stumbled on from a previous ludum dare called RockPaperRPG which was a game where players took simultaneous turns to select from melee, block and magic to defeat an opponent. I was going to extend upon that idea but with timed limited turns. This meant that I needed a greater range of actions to choose from so that time became a precious resource for the player. It so happened that I had just bought Mortal Kombat on steam that morning too and I thought about whether anyone has built a turn based fighting game before. And so the basic idea behind what would become Turn Fighter Foo was born. I tried to create the initial prototype in Construct 2. Below is a picture of that early prototype.
By late Saturday afternoon I was beginning to become frustrated with Construct 2 and I was ready to throw away this prototype too. However, I really liked the concept, I just didn’t like the way I had to manipulate arrays in the editor. I made the hard decision to give up on Construct 2 and fall back to coding the game on flash via the flixel library. The other problem was I had agreed to go to my friend’s birthday gathering and so I was going to lose my whole Saturday evening. I decided to make a quick appearance and get back home in time to do more development. The quick appearance saw me coming home at 12:00 am and slightly intoxicated. I started quickly banging away on the keyboard and within a couple of hours I had a white square moving within a grid which was more progress than I had made with my first prototype.
The second day
After six hours of sleep, I got up at eight and proceeded to start hammering away code. Most of what you can see was made on Sunday. Progress was slow but steady. By around lunch time I had the basic input and battle replay system up with a white square moving around. By late afternoon, I had two squares duking it out on a grid. I spent most of Sunday night actually programming the structure of the game, I had a battle engine but I still needed a game structure to handle the flow of the game from beginning to end plus reset conditions. I also needed all the other UI stuff that showed status (like healthbars). I also spent a bit of time doing the sprite graphics on Sunday night.
Most of the early morning of the Monday was spent fixing up issues and making sure that there wasn’t any major problems with the code flow. I also took some time to create sounds using bfxr and that Sakura tree in the background. By about 4 or 5 am on a Monday morning I probably had the final build and spent the next hour working out hosting on google drive, writing the readme and going through the process of submission. The title “Turn Fighter Foo” was selected when I had to fill in the name box in the submission process. I wanted something that was a parody of Street Fighter 2. Originally, it was going to be “Turn Fighter Too” but I took a play on the term Foo Fighter (I originally had in mind the band Foo Fighters) and with the word “Foo” in a programming context.
- I like the basic concept of the turn based fighting game and I can see areas where I can iterate upon it.
- I made a playable game! It’s a bit bare bones but it does have all the elements of a game’s structure.
- I really enjoyed the experience and the 48 hour time limit really stopped my procrastination habit in getting the game out.
- No AI player. That means no single player mode in the version I handed up.
- The moves aren’t really balanced. The play matrix code is pretty horrible and copy and pasted at various sections.
- No music … I didn’t really plan this part at all.
- There was a lot of time wasted.
- I only had two hours of sleep on Monday morning before I went to work.
- Know your tools well. I was never really comfortable with Construct 2.
- Don’t try to fit in too many other things on a ludum dare weekend.
Going to go play and rate some of the other games now. Hope you enjoyed reading what I went through. You may find my ludum entry here
Okay, enough. I am done. You can see Micro Beat’em Up here. It’s far from finished, but I won’t have more time now to spend on this. I will definitely try to explore the general idea of beat’em up mechanic in the near future, but for MiniLD#34, this is it.
I consider this a nice progress, because along with some new things I tried (specific coordinates system, camera movement, parallax background), I AM REALLY SATISFIED WITH THE ART. Ironically, implementing general game mechanic was rather easy – I spent most time on things like pause screen (push ‘P’ to SEE it) and problems connected with low resolution graphics.
Unfortunately, it’s not that fun, as there’s not that much gameplay. Also, the AI is kinda simple, but it should be easy to create something more out of the code I currently use later.
Go on, check it out:
Oh, yeah – this was my first MiniLD! Woohoo! I had a lot of fun! \o/
Insanity was my entry to LD4. The topic was “infection”. My idea was somewhat far-fetched and only in the story – the home town of Ian the janitor is befallen by an infection of insanity – so he has to beat up all the scientists at his workplace to find the cause of the infection and a cure.
Since I messed up the base engine (tried to somehow stuff the 3D into 2D), I wasn’t able to finish. There’s just one level with place holder graphics, but the level can’t be won and so the story never reaches its conclusion.
LD48 #8 theme was “Swarms”. It also occurred right around the initial release of the Nintendo Wii. Thus, you get Wee Ninja, a game where you are trying to beat an insanely large horde of other shoppers to the last remaining Wees in stock during the holiday season. It’s fun to play, simple, and includes achievements to unlock bonus abilities. One of the more complete entries I’ve ever done (possibly because the gameplay was so incredibly simple!).
LD48 #2 theme was Construction/Destruction, with a minor theme of Sheep. As such, I created Hitsuji: Shears Of Fury, a game where you destroy construction equipment as a ninja sheep. It featured a really cool tweening animation system I wish I had used since, as well as some lovely use of very default Allegro fonts. It also included zombie construction workers, and pelicans. Pelicans appear often in these games.