~= FAQ =~

1. Why doesn't the semi-colon key work?
2. Can I have the source code?
3. I can't hear any music. What's going on?
4. Why isn't there any music?
5. What hardware did you use to develop the game?
6. What software did you use?
7. Where did you get the disk sound?
8. I've spotted a bug. What should I do?
9. How do you check for collisions?
10. What is the most difficult aspect of the port?
11. How can I make the game run faster?
12. The game runs full-speed on my PC, but stutters occasionally. How can I fix this?
13. Argh! The CPU knocks me over within two seconds of starting the game, and I can't win!
14. What is this IK+ thing anyway?
15. The controls are stupid.
16. Why don't you change the controls?
17. I don't understand this game. It's stupid.
18. How do you start a game?
19. How did you make the graphics?
20. Is this a game?
21. It's too hard!
22. I remember it being easier!
23. It's not the same as the original! I used to be able to get to level 7,534, but now I can't get past level 1!
24. The Amiga/Atari/Spectrum/C64/GBA/PlayStation/Amstrad version was better.
25. It takes too long to load.

Q1 Why doesn't the semi-colon key work?
A This is due to differences in the layout of keyboards in non-US/UK countries. The current keyboard mappings are not finalised, and keys will be redefinable in the finished game.

* FIXED 30.06.03 - Fire is now "P" *
 
Q2 Can I have the source code?
A I'll release the source FLA file as soon as I've finished the game.

* UPDATE - Source code is now available *
 
Q3 I can't hear any music. What's going on?
A There is no music, only sound effects.
 
Q4 Why isn't there any music?
A The music is 4 minutes long. As an MP3, even in low quality, that's at least a megabyte in size. If I included the music, it'd be very low quality and make the game frustrating for dialup users - see question 25.

This is, as almost everyone has commented, very annoying, as Dave Lowe's memorable theme was one of the best features of the game. Until Flash is able to replay Amiga-style music modules, which are far smaller than MP3s, there is no solution to this problem.

If you really must have the music playing at the same time as the game, you can download the original theme from here and a utility to play it here. You will also need a method of de-archiving LHA files. Under Windows, both WinRAR and WinACE will perform this task. In my experience, WinRAR tends to be more successful than WinACE.
 
Q5 What hardware did you use to develop the game?
A A P3 550MHz, a P4 2.8GHz, a Celeron 933MHz laptop, an Amiga 1200T/060, an A600 and a Game Boy Advance.
 
Q6 What software did you use?
A Flash MX, Photoshop 7, Paintshop Pro 7, Soundforge 6, DPaint, PPaint, WinUAE, ePSXe and the Amiga, GBA and PlayStation versions of IK+.
 
Q7 Where did you get the disk sound?
A It is an edited sample of an A600 loading Cannon Fodder.
 
Q8 I've spotted a bug. What should I do?
A If you're feeling particularly helpful, email me at spam_mail250@yahoo.com.
 
Q9 How do you check for collisions?
A
Each attacking frame checks for a collision in one or more of the highlighted areas. For example, flying kicks check collisions between the attacking fighter's feet and the enemy fighter's head. As each frame of animation is different, every frame has different vulnerable zones.

Note that the hastily-drawn picture on the left is less accurate than the game; the boxes around the characters' feet in particular are much smaller.

The exception to the rule is the shin kick - this checks from the start of the character's foot to the start of his abdomen, so that collisions with the character's thighs are detected.

Each character has roughly 300 frames of animation, and each frame of animation has 8 zone-defining values. Thus, every character requires 2,400 values to describe its vulnerable zones.

Would this have been easier if I could check the pixel colour at a particular co-ordinate? Oh yes.
 
Q10 What is the most difficult aspect of the port?
A Optimising the game so that it runs at a reasonable speed. Though MX is a significant improvement over previous versions of Flash, it really wasn't intended for complex games.

Getting the fastest performance of out Flash means keeping every variable local; keeping ActionScript within the movieclip that it references, or even just the frame of animation that uses it; hard-coding values; repeating code instead of using functions; using pointers to objects instead of referencing objects with the eval() command; not creating custom objects; sidestepping code not needed on a particular loop; keeping as few objects on screen as possible; and, finally, not updating the on-screen action every frame. As a handy by-product, this last optimisation made adding speed selection trivial.

There are probably other optimisations, but I can't remember them at the moment.
 
Q11 How can I make the game run faster?
A IK++; has two speed-boosting options built into it. When you are playing a game, try pressing "3" a few times - this cycles through Flash's quality settings (basically it turns antialiasing on and off). This will improve the frame rate on slow computers (500MHz and below).

You can also try pressing "5" - this switches off the shadows and cheat keys. These features aren't really essential to the game and use up processing power.

Note that you need to press the number keys on the main keyboard, not the numerical pad.
 
Q12 The game runs full-speed on my PC, but stutters occasionally. How can I fix this?
A This appears to be a problem with the way the Flash Player interacts with some soundcards. Once a sound stops playing, Flash pauses whilst (I presume) the soundcard empties its buffer. This is either a bug in the Flash Player, your soundcard drivers or your soundcard itself. You could try upgrading your soundcard drivers. Alternatively, the bug might be fixed in a future version of the Flash Player.

* UPDATE 07.08.03 - Not fixed in Flash Player 7, judging by the beta version *
 
Q13 Argh! The CPU knocks me over within two seconds of starting the game, and I can't win!
A The traditional way of writing AI (the Yie Ar Kung Fu technique, anyway) is to make the CPU as unbeatable as possible, then make it stupid. I'm currently in the make-it-unbeatable phase of development. When I can't beat it, I'll switch to the next phase. Currently (7.8.03), I win ~50% of the single-player matches I play, and the AI is still buggy.

In the meantime, practice is definitely recommended.
 
Q14 What is this IK+ thing anyway?
A International Karate Plus was Archer Maclean's update of a game called, surprisingly, "International Karate". The original game was essentially a clone of "Yie Ar Kung Fu" and "Way of the Exploding Fist", which were in turn clones of an arcade game called "Karate Champ".

Maclean's highly polished version added many new features, the most significant of which is the presence of the third fighter. The game originally appeared on the Commodore 64; Maclean personally ported it to many other formats, including the Commodore Amiga, Atari ST, ZX Spectrum and Amstrad CPC.

The game has re-appeared in several forms for more modern platforms. It has been ported to the Game Boy Color (appalling game with nothing in common with the original), Game Boy Advance (in two forms, "International Karate Advance", which is similar to the GBC version, and "IK+", which is a flawed but enjoyable port of the Amiga version) and PlayStation (identical to the GBA "IK+" version).

This Flash version is based solely on the Commodore Amiga port, which is my personal favourite. I have used the GBA, PlayStation, Spectrum and C64 versions as secondary reference material.
 
Q15 The controls are stupid.
A The controls are exact re-creations of those used in the original. The old 8-bit and 16-bit machines for which the game was originally written only had one firebutton, necessitating the initially obscure control system that Maclean implemented. With practice, however, the controls become intuitive and fluid.
 
Q16 Why don't you change the controls?
A I'm making this game solely to wallow in nostalgia. If I change it, I lose the nostalgic element and the whole exercise becomes pointless.
 
Q17 I don't understand this game. It's stupid.
A Use the keyboard to make the little guy dressed in a white bathrobe hit stuff.

And they say that exams aren't getting easier...
 
Q18 How do you start a game?
A First, click in the Flash movie. This activates it. Next, press either "1" or "P" for a single-player game, or "2" or "Q" for a two-player game. Exactly as it says on the main page, in fact. Don't you people read?
 
Q19 How did you make the graphics?
A For the most part, the graphics are ripped directly from the original Amiga game. I managed to grab the images using WinUAE, the "Print Screen" key, and one of my fingers; I then edited out all of the unnecessary parts of the images using a combination of Paint Shop Pro and Photoshop.

This took an unfeasibly long amount of time.

Particularly complex or fast-moving animations were harder. Where necessary, I resorted to using WinUAE's AVI creation functions - I created uncompressed AVI files, loaded them into Animation Shop, saved out the relevant frames, and then switched back to the old method. Grabbing large, uncompressed AVIs is very hardware-intensive, and I was forced to upgrade my aging P3 550MHz to a P4 2.8GHz to make this approach practical.
 
Q20 Is this a game?
A No, it's a chicken.
 
Q21 It's too hard!
A See the answer to question 13.
 
Q22 I remember it being easier!
A See the answer to question 13.
 
Q23 It's not the same as the original! I used to be able to get to level 7,534, but now I can't get past level 1!
A See the answer to question 13.
 
Q24 The Amiga/Atari/Spectrum/C64/GBA/PlayStation/Amstrad version was better.
A I am rubber, you are glue.
 
Q25 It takes too long to load.
A For a game that consists of 20-odd samples, 500 bitmaps and somewhere between 50,000-100,000k lines of code, I think a filesize of 400K is reasonable. Perhaps you should get a faster internet connection. Or maybe I'll do a C64 Joe Blade 2 on it.
 

Game | FAQ | Cracktro | Sourcecode | Win32 Executable

Email: spam_mail250@yahoo.com