Hey guys I haven't given up on this project! Still tweaking things here and there and trying to figure out what to focus on next. I altered things a bit so that the Jump now propels the character forward, while the Jumpkick does not. This leads to a little more player shuffling and much less jumpkick spamming.
Also,
* added more sound effects - these are almost all subject to change but at least there's audio feedback now
* made a hacky attempt at stopping the screen rolling on player d
Some beta testers you lot turned out to be! Nine people downloaded the binary and no feedback. I figured it's probably because you all have no friends, so I decided the AI was the next area to focus on : )
Try this one on for size. The AI player will now attempt to rough you up (this is super preliminary and I need to enhance it to defend itself better, judge distances better, and mix up attacks so it's not vulnerable to repetitive jumpkicks), your player may now die in four different way
Pixel-perfect collision detection should be working now. Since it's now possible to knock opponents around, please try out the attached binary (with friends if you've got 'em) and give feedback on initial move balance. Are some moves overpowered? Is it too hard to hit with others?
Three things to note real quick -
* the middle kick will be adjusted up or down 1 pixel - right now it's too hard to hit with since the foot goes into the opponent's belt
* blocking does nothing yet
* knockin
Banging out some collision detection. Right now I can tell if the danger point (one pixel X/Y location where hits are checked) is within the 40 x (sprite height) area of an enemy. Next I'll need to write a small 'more precise' function to put on both banks with image data - this will check if the dangerous pixel does or does not collide with real image data.
Ignore the ugly colors below, that was part of my WIP color-decode.
I'm pretty happy with the title screen now, everything's working except there's no Savekey-specific stuff. That's okay, I left 1360+ bytes free on this bank, so there should be lots of room for that later. The Handicap is a fun setting, you adjust the bar left/right to give one or the other player more starting points and help balance the fight.
Note that I've done away with 2 player 'match scoring' at the bottom. I was keeping a record of wins, but I decided it wasn't worthwhile. Now yo
Updated title screen (new font for digits, highlight-able record and handicap), but not much other progress. The color decode loop is still giving me a headache, plus I seem to have crashed the actual game startup.
If anyone has suggestions on how to make those joystick icons look better I'm all ears. They are 15x13 right now.
Still poking around with this and making pointless optimizations. I finally went to start in on the title screen and make some changes so I can accomodate the new single-player mode, and ended up wanting to cram more options in too. So I've got:
* a Handicap bar, which initially starts at 0 blips, but can be adjusted left-right to give one or the other player more starting points (2 player only).
* altered Players option now shows just one or two joysticks depending on your setting.
* The '
http://www.richard.hutchinson.dsl.pipex.com/new_page_6.htm
# 0E 0380 - 03BF Karate Master (Greg Kennedy)
Now to finish it! LOL.
I've got two main branches going on with my code right now and I'm stumped on both ends, which explains the lack of progress.
On the menu front: The biggest issue I am having is that it is hard to justify the ~2k expense on an elaborate menu system if I only have two options on it - "one or two players" and "choose player color". Some more o
Progress has been very slow lately. I set in to work on some AI so I'd have an opponent to test against, but in the meantime the HSC has taught me a valuable lesson, and I am now going to have to re-do the title screen a bit (which I am dreading). That lesson is:
All 2600 games should have a high score counter.
Modern games, it's said, have long since moved past the need to keep track of points. We can have full-on FMV endings, elaborate stories - beating the game can be an end in its
Thanks to all your suggestions, I made a couple of changes:
* Reduced intensity of all the sprite colors. This should make the flicker far less irritating. Also, I changed up the skin and hair colors of each color. See attached image.
* Changed the walk animation to move about twice as fast
* Added the "death" sprites.
* Changed my bankswitching around a bit to put two subroutines to a bank. Subroutine is chosen by either setting or clearing Carry before banking.
* Lots of optimizations
All the move and attack animations are in. I still have to do the "death" sprites and animate those, but everything that's rigged to the joystick is now working. Also, there's a little mountain background since I got sick of the old gradient rainbow. This will later become one of several different backgrounds that cycle every match.
As promised in the blog comments, I've attached a binary so players can try out the progress so far. You might want to enable Stella's "Use Phosphor" as it n
All the basic movement (non-attack) animations are done and working. Players can independently shuffle around, crouch, leap straight up or back, and block. Also they can turn around, after which the L/R controls are swapped.
I will next be doing all the attacks.
EDIT: Now they can jumpkick, sweep, stomach-punch and face-punch.
My design for the movement and joystick tables finally got implemented today, which is good news, because it makes adding sprites and defining animations dead simple. I draw the 40xN image in Paint, run it through my converter, and paste the ASM code into a free block. Then I add new information to a few tables, and the image is ready for use.
Basically what I've set up here is a series of animations, and the joystick state just chooses which one will be played whenever your player is in t
Here's the finished title screen. I got all the controls working and spent a couple hours optimizing as much as I could think of. The result is that all that you see here, plus splash screen and music, fits into one 4k bank with 1451 bytes to spare. I'm very pleased with the result.
The only thing left to do here is compose my own title screen music, and of course write the rest of the game : )
In between drawing sprites I've been working on my title screen (really, game menu). Here's what I have so far - changes will be made, though. This is mainly just a mockup - no controls do anything yet - but the GFX pieces are almost all in place.
* Splash screen displays for about 5 seconds on power-on. It's just the word 'Karate' in Japanese and does a cheap rainbow flashing. Then the menu pops up.
* Enemy can be one of "human" to "c", "c-", "c--" etc. (AI difficulty level)
* Colo
Drawing more sprites (I think I'm up to 13 now). I added in a quick 'hack' to try turning the character around - it works great. Attached is a quick animation so you can see the effect. Also, I've assigned all the sprites I should need and have a couple to spare, which will be good as either more filler for smoothing animations, or special poses.
I have an idea for the title screen that I like, but I need one of those playfield tools - anyone got a link handy, or will I need to code mine
New changes:
* Invested a little more time on the Title Screen. Now instead of Atari Rainbow it's blue with gradients at top and bottom. I've actually sectioned off areas in the center for menu items (to be displayed with 6-digit-score-routine) but they don't do anything now except draw more blue.
* Dropped in the Music Kit 2.0 on the title screen. It plays the demo song, which makes everything 1000 times cooler.
* Worked a little more on the battle screen. There's now a score display at
New changes:
* Colors are now 'packed' 4 to a byte in a bizarre format, and unpacked during front-porch into 24 RAM bytes. This saves me a lot of ROM space. Bumped up max sprite height from 21 to 24 lines, and added two alternating player colors. (Incidentally the PAL60 version will feature blue-haired ninjas...)
* Everything is now table-driven - no hardcoded values - so I can feel free to draw sprites of any height and run them through my bmp2h program, and they should Just Work.
* Anima
Progress continues slowly. I wrote up a little C application to take BMP files and spit out assembler BYTE codes, so I can draw sprites in MSPaint and not have to punch in hex codes by hand. The colors are off and I end up fixing them manually, but it seems to work okay for the actual pixel on/off data.
Here's the current build showing my fighters standing ready. They're 40 pixels wide, and 21 lines tall shown 3 times each, for an effective 40x63 sprite. New animation frames will probabl
I came up with a little 16k bankswitch template (posted over in 2600 Programming forum) that I have now copied all my original code into. It's working great - I put a dummy 'Atari Rainbow' title screen that then skips to the main game when you hit the Reset button, and my sprite drawing routine has been shuffled off into banks 2 and 3.
No screenshots though as it looks exactly like it used to - but that's a good thing!
I've seen a few people post about wanting to attempt a 2600 fighting game, but the only BINs to surface (that I've found) are a few demos of Andrew Davie's Fu Kung! and a 'Kung Fu Sprite Demo 2'.
Well, I'm officially throwing my hat into the ring on this. I'm working on a 16k fighting game, quite similar to the classic International Karate, for one or two players. So far I've modified the bigmove source and instead of a 48-pixel sprite, I'm going with a 40-pixel multicolor one. Hopefully