OS4Depot.net 20130227_1013
  Home Search Mirrors Contact Info Credits

 Readme data for Root » Game » Fighting » fighter.lha

Description: An International Karate Remake
Install: fighter.lha
Size: 2Mb 5
Date: 19 Aug 10
Author: Leif Theden, AmigaOS 4.x packaging by Spot / Up Rough
Submitter: Spot / Up Rough
Email: spotUP/gmail com
Requirements: Python, PyGame, SDL, SDL_Mixer, SDL_Image and their dep libs.
Category: game/fighting
License: Other
Distribute: yes
Min OS Version: 4.1
Packaged for AmigaOS4 on request. Here ya go Samo79!
/Spot


all code, graphics, sound and documents related to this game are
copyright 2010, Leif Theden
================================================================================
6/24/10
ton of changes!
smarter collision handling
block/whiff confirms (they look blue)
ai works great!
auto block for human players (66% chance to block)
matches have rounds (3 by default)
players fall when hit
cleared some memory issues
3 modes:
 player vs cpu    (press f1)
 player vs player (press f2)
 cpu vs cpu       (press f3)

ai:
difficulty is 0 - 100
ai can evade attacks
ai doesn't have fsa, so does crazy cancels (a bug)

removed flips.  cpu is too cheap with them.

go ahead and try it!  playable!


6/23/10
cleaned up input some.  move should "feel" more responsive.
cpu fighter will now block every move.
---a hit confirm is still shown, just for kicks
hit boxes are more generic and properly linked to parents


6/22/10
autoblocking, almost
misc. fixes with looping frames


6/20/10
for pygame website
There really is no name for this thing.  I would have used "pyfighter", but it
was already taken.  =)

Currently, only the controls are implemented.  No health bars, rounds, menus,
etc.  Want to do that?  =)

I want this incarnation to play something like the orginal "International
Karate", but with a few modern embellishments, like combos, blocking, and
more than two players and/or more cpu players.

What works:
Attack Holds (see below)
Fluid controls with combos
Cancels (smooth transition between animations)
Player movement left, right, jumping, crouching
Hit detection, with glitz
Loading characters/fighters
Sounds on hits and misses (ripped from enter the dragon, like IK)
Recording input for playback later

Combos and special moves:
================================================================================
  LK, MK, HK, HK  => Roundhouse Kick   (hit the buttons quickly)
            J, K  => Jumping Kick      (hit any kick during the jump)
         Back, J  => Backflip
      Forward, J  => Frontflip


P1 Default keys:
Q:    LK
W:    MK
E:    HK
A:    Block*
D:    P
F:    (F)lip.  Turn character around.
Up:   Jump
Down: Crouch.  (try kicking)

1:    Start recording
2:    Pause recording*
3:    Save recording*
4:    Load recording*
5:    Playback the recording
6:    Stop playback
*not implemented/buggy
Once played, the recording is lost forever.  =(
^^ obviously fix later

Attack Holds
In the original IK, attacks could be "held" on the attack frame.  This is also
implemented here by holding down that attack button.

Characters can be modified and animations are pretty easy to create.  Open the
"anim.def" files in the "fighters" folder to check it out.

Obvious bugs:
Walking animations are really ugly
Missing a turn animation
Walking past the other player causes a glitch in movement.
Hitboxes need tweaking
"Hit Confirms" do not appear where a hit occurs
Hitting different kicks at once sometimes cancels out of crouch
Animations are slower than input.  You don't see every hit.
pygame event handling eats ton of cpu

physics don't really have a place in this engine.  sprite movement and "physics"
are handled by the animation, not the engine.  this is delibrate, b/c i want
total control over how the sprites move and react.

proposed system:

move the get keys to a loop that gets called on a set freq,
maybe 15hz, which is twice of the update freq for avatars

atacking fighters should have sprites moved forward to front


== B U G S =====================================================================
b/c avatar updates are scheduled as part of animation frames,
there is no way of canceling a move quickly if the frame as a long ttl

possible speed improvement is "behind the scenes", conversion of animation
names to base 2 numbers, giving way to masking like in buttons.  would allow
for groups/wildcards in a non-cpu intensive manner.
ok for now/not important

cannot cancel combos into combos.
easy fix: check end of move history instead of the hash lookup

animation defs do not need to be listed one-after-another...can be "sparse"...
but, internally, the numbers don't mean anything, so yeah.

================================================================================
dont forget:
 images loaded in animations are expected to be in the animation folder
 sounds loaded in animations are expected to be the the sounds folder






Copyright (c) 2004-2013 Björn Hagström. All rights reserved.
OS4 and its logos are registered trademarks of Hyperion Entertainment