Jump to content
easmith

Kung Fu Combat (2600) w/ AI ( 1 or 2 players)

Recommended Posts


Latest version : http://atariage.com/forums/topic/287510-kung-fu-combat-2600-w-ai-1-or-2-players/?p=4254418

 

 

Game option selected by Select Switch . left score shows # players , right score shows game option . Press button to start selected game.

Game 1 = 1 player , players do not reset to starting position after score
Game 2 = 1 player , players t reset to starting position after score and keep fighting

 

Games 1 and 2

3 levels:

1: computer opponent

2: Skill Level -- must punch or kick 20 flying missiles before being hit by 3

3: computer opponent

 

Game 3 = 2 players , players do not reset to starting position after score
Game 4 = 2 players , players reset to starting position after score and keep fighting

Game 5 = mini game of skills test against flying missiles ( how many of the 99 can you punch or kick?)

Controls :

reset switch will reset game back to game select screen

button will reset ended game to game option 1

To start game press either button

jump up up
jump forward ( in direction facing only) diagonal UP ( in direction facing)
punch button +forward
high kick button + diagonal UP (in direction facing)
low kick button + diagonal down ( in direction facing)
walk left left
walk right right
change facing direction down ( can only punch,kick or jump in direction facing)

scoring : punch = 3 , high kick or jump kick = 1, low kick = 2

 

during game select switch will change background color

3 levels:

1: easier opponent

2: Skill Level -- must punch or kick flying missiles

3: tougher opponent

Edited by easmith
  • Like 3

Share this post


Link to post
Share on other sites

I think I am finally happy with the AI for the computer opponent. I would be interested if anyone can find a flaw where you can always beat the computer .

 

This final version has moved the game selection to the game select switch , and this is shown in the start up screen.

 

Left score shows # players , right score shows game option .

Game 1 = 1 player , players reset to starting position after score

Game 2 = 1 player , players do not reset to starting position after score and keep fighting

Game 3 = 2 players , players reset to starting position after score

Game 4 = 2 players , players do not reset to starting position after score and keep fighting

 

I also took away the ability to score with just jumping up-- only forward jump kick can score.

 

Also made a PAL version. Jump is a bit different , but still seems ok.

 

 

This will probably be final unless someone catches a bug.

Edited by easmith
  • Like 2

Share this post


Link to post
Share on other sites

This game is evolving very well! I love the AI you added!

 

Some suggestions:

  • Make the colors for the PAL version more bright; PAL usually is a bit darker than NTSC when using the same color luminance value.
  • Try switching around the sound effects for hits and misses. I'm not sure, but maybe the muffled sound better suits a 'miss'.
  • Don't allow players to leave the screen and enter from the other side. This makes it more realistic IMO.
  • Add an intro screen :-)
Edited by Dionoid

Share this post


Link to post
Share on other sites

 

This game is evolving very well! I love the AI you added!

 

Some suggestions:

  • Make the colors for the PAL version more bright; PAL usually is a bit darker than NTSC when using the same color luminance value.
  • Try switching around the sound effects for hits and misses. I'm not sure, but maybe the muffled sound better suits a 'miss'.
  • Don't allow players to leave the screen and enter from the other side. This makes it more realistic IMO.
  • Add an intro screen :-)

 

 

I decided to go ahead and ramp up the game to 8K after some feedback

 

Additions/ Changes so far:

 

1. I added a Title Screen for the game selection. Left number is No players , right is game option ( see above). Once game is selected press fire to start.

2. Changed the color scheme a bit and changed setting Sun to mountain ( like mt Fuji or something)

3. I enhanced the computer AI ( I had detected some vulnerabilities that you could exploit after much testing ) . This is much tougher to beat - getting pretty close to just right. rather it be hard but not impossible than too easy

4. I added a feature where during game mode ( not title screen) , select switch will change the background color !

 

 

5. I Will add a difficulty setting where player cannot exit screen ( I think it is more interesting when they can--less confining)

 

I might have room for some kind of win screen or progressively harder opponents / rescue your significant other type feature, but not sure. :)

 

 

 

post-63151-0-35000700-1548744010_thumb.jpg

Edited by easmith
  • Like 2

Share this post


Link to post
Share on other sites

I have polished it up quite a bit:

 

Now the 1 player option has 3 levels:

 

Level 1 : Fight computer to 20

 

Level 2: Skill Level-- Missiles will come at you from either side at three different heights. Yo must kick or punch 20 and not be hit by 3.

 

 

Level 3: fight more difficult opponent to 20

 

If you can complete all 3 levels you see a Trophy, and you win the game

 

 

Edited by easmith
  • Like 2

Share this post


Link to post
Share on other sites

I added the following:

 

game option 5 is a mini game of just the skills test, where you must kick or punch flying missiles.

 

99 missiles will come at you at 3 diifferent heights from either side at random. You can jump and avoid but cannot move laterally. Gets faster after the 10th one.

 

Also shored up the computer AI to where I am pretty sure no attack will work every time. Pretty challenging to defeat the AI . A little easier on game 2.

 

If you defeat all levels a trophy appears in the score area and the game is over.

 

I think it is pretty bug free at this point. I hope some folks will give it some play time , especially the mini game option #5.

 

 

 

 

 

Edited by easmith
  • Like 2

Share this post


Link to post
Share on other sites

tightened up the controls , where I was still occasionally executing unintended move. . Now pretty much always will execute the intended move .

Edited by easmith
  • Like 2

Share this post


Link to post
Share on other sites

Hi easmith, I'm looking forward to featuring Kung Fu Combat on ZeroPage Homebrew on an upcoming show!

 

During the one on one combat it looks like the game generates a very stable 262 lines so that should work very well but I noticed that your title screen reports 263 scanlines which wouldn't work well with digital displays.

 

Also, during the Skill Level it alternates between 261 and 262 lines every second frame which would also cause havoc with a digital display/video capture devices which are expecting a stable picture. If I tried to play it on the show with my Framemeister and capture devices it'll cause a blue screen (no input) and I wouldn't be able to stream it.

 

I think it is pretty bug free at this point. I hope some folks will give it some play time , especially the mini game option #5.

Share this post


Link to post
Share on other sites

Hi easmith, I'm looking forward to featuring Kung Fu Combat on ZeroPage Homebrew on an upcoming show!

 

During the one on one combat it looks like the game generates a very stable 262 lines so that should work very well but I noticed that your title screen reports 263 scanlines which wouldn't work well with digital displays.

 

Also, during the Skill Level it alternates between 261 and 262 lines every second frame which would also cause havoc with a digital display/video capture devices which are expecting a stable picture. If I tried to play it on the show with my Framemeister and capture devices it'll cause a blue screen (no input) and I wouldn't be able to stream it.

 

 

 

stable scanline version attached. Also cleaned up a few more bugs.

 

A strategy tip: game #2, where you can keep fighting w/out resetting position , is easier to beat computer opponent and make it through all 3 levels

 

Also , the I have fixed the controls to where they are more forgiving , but this might help:

 

If you are trying to punch or kick, make sure the button is pressed before the direction. If this is done you will not turn around or jump by accident.

Edited by easmith
  • Like 1

Share this post


Link to post
Share on other sites

Some final refinements to controls, with some advice from Dionoid . The jump and reverse-direction moves must be read for 4 consecutive frames to register, so it minimizes the times when these moves are unintentionally registered . But as always if button is pressed first, punch or kick will always register .

Also, button + up and button + up diagonal register as high kick, and button + down or button + down diagonal register as low kick.

 

 

 

 

Kung Fu Combat Controls.txt

Edited by easmith
  • Like 1

Share this post


Link to post
Share on other sites

some more crude videos . Screen capture frame rate was too slow so had to use phone.

 

 

 

skills test level / mini game

 

Share this post


Link to post
Share on other sites

We'll be featuring Kung Fu Combat LIVE on today's (Wednesday) ZeroPage Homebrew stream on Twitch at 11AM PT|2PM ET|7PM GMT! Hope everyone can watch!

Twitch Stream: https://www.twitch.t...ropagehomebrew/

Games:

- Star Fire (2003) by Manuel Polik of XYPE
- Kung Fu Combat (2019 WIP) by easmith
- The Children of Hurin (2019 WIP) by ultima
- Thrust+ Platinum (2003) by Thomas Jentzsch WITH Footpedal Controls!

post-37205-0-71665600-1550079450_thumb.jpg

  • Like 1

Share this post


Link to post
Share on other sites

We'll be featuring Kung Fu Combat LIVE on today's (Wednesday) ZeroPage Homebrew stream on Twitch at 11AM PT|2PM ET|7PM GMT! Hope everyone can watch!

 

Twitch Stream: https://www.twitch.t...ropagehomebrew/

 

Games:

- Star Fire (2003) by Manuel Polik of XYPE

- Kung Fu Combat (2019 WIP) by easmith

- The Children of Hurin (2019 WIP) by ultima

- Thrust+ Platinum (2003) by Thomas Jentzsch WITH Footpedal Controls!

attachicon.gif20190213-Let's Play.jpg

 

 

Put a WSYNC before lda #00, sta VSYNC. That should make it stable.

 

How's this ?

Edited by easmith

Share this post


Link to post
Share on other sites

Ok then how about this ? On Stella it seems no different. And the old version played fine on real hardware with CRT and Harmony cart. I will try to hook up to HDTV and see how this behaves . The issue I believe was with Zero Page using HDTV .

Edited by easmith

Share this post


Link to post
Share on other sites

Sorry, I meant add a WSYNC before lda #$02, sta VSYNC

Ok, I hooked up my 2600 to an HDTV with coax adapter .

The ROM after adding the WSYNC and the ROM before behave exactly the same -- both are stable , neither one freaks out anything near to what happened with Zero Page .

I am not sure what the display setup they are using is..

 

I did notice the colors were a bit different and there was a pronounced scanline effect in the sprites, but otherwise both were stable. ............?????

post-63151-0-24005600-1550169081_thumb.jpg

post-63151-0-27655600-1550169087_thumb.jpg

Share this post


Link to post
Share on other sites

Your old code had a varying timing for VSYNC enabled. This means, the total length of a frame is slightly varying too. It depends on the hardware used if that results into problems or not, so you better make sure everything is constant.

Share this post


Link to post
Share on other sites

Your old code had a varying timing for VSYNC enabled. This means, the total length of a frame is slightly varying too. It depends on the hardware used if that results into problems or not, so you better make sure everything is constant.

 

Thanks,

 

so is the updated version good then so far as you can tell?

Share this post


Link to post
Share on other sites
The ROM after adding the WSYNC and the ROM before behave exactly the same -- both are stable , neither one freaks out anything near to what happened with Zero Page .

I am not sure what the display setup they are using is..

 

The Zeropage Homebrew crew use a real Atari 2600 running thru a Framemeister to allow them to get the best quality video at 60fps for video capture (streaming) while running from real hardware . That setup is super sensitive to signal variations... the VSYNC needs to be correct and the scanline count cannot vary between frames.

 

CRTs are SUPER lax... they had to be to deal with analog signals being received via antenna. Modern TVs are hit or miss due to the rise of digital cable... the analog side of things are being neglected since that's no longer a priority.

Share this post


Link to post
Share on other sites

It's rock solid now easmith! I'll be revisiting it on ZeroPage Homebrew tonight (6PM PT | 9PM ET | 2AM GMT) as I couldn't give it a full playthrough last time. :-)

 

Twitch Stream: https://www.twitch.t...ropagehomebrew/

Thanks so much for helping him get a stable picture TJ!! :-)

 

so is the updated version good then so far as you can tell?

Share this post


Link to post
Share on other sites

Your old code had a varying timing for VSYNC enabled. This means, the total length of a frame is slightly varying too. It depends on the hardware used if that results into problems or not, so you better make sure everything is constant.

Thank you :thumbsup:

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...