Jump to content
IGNORED

Bee Ball - 2600


LS_Dracon

Recommended Posts

The jazz one (more like boogie-woogie one!) is fun, but it changes a lot of notes in the original melody, which is a shame and kind of distracting. Maybe use the melody from the original version with the "jazz" accompaniment?

 

Of course all this assumes that the necessary pitches can be obtained from the Atari's sound chip -- a major assumption to say the least!...

 

EDIT: Whoa, I just listened to Nathan Strum's bee_loop.mp3 -- that's fabulous, especially getting the melody so in tune! Can that be used for the title screen, maybe with the jazz accompaniment instead (i.e. first eight pitches in the jazz MIDI file)?

Edited by thegoldenband
Link to comment
Share on other sites

  • Rubber floors - you don't score by hitting their floor, you only score by bouncing a shot off their floor, and having it go offscreen
  • Rubber walls - the ball bounces off the edge of the screen, and you score only when the ball goes off the bottom edge
  • Momentum - the ball hits the opponent with enough force to push him in the opposite direction
  • Overshoot scoring - the only way to score is to get the ball all the way off the other side of their screen, without hitting the floor first. However, this might be too easy, unless you also had an option for:
  • Two hit limit - limit each bee to only being able to hit the ball twice before having to send it over the net

 

Of these, momentum and two-hit limit both seem like great ideas to me.

 

I also think that a little something more in the environment would be a great idea, whether it be speed-up power-ups, or something else. Actually, I like the idea of having something that punishes a player for holding onto the ball for too long -- maybe something that starts to interfere with your ability to control your player, like a blast of wind. Right now it's a bit reminiscent of a penalty-kick shootout, in that the player with the ball has an infinite amount of time to set up his/her shot; it might be nice to change that a bit.

Edited by thegoldenband
Link to comment
Share on other sites

Great how this game has developed! I was a bit sceptical at first about the control concept, but once you get used to it, it becomes quite natural :)

 

Would keep the game simple as it is now, it's great fun like that and a nice takeback to the gameplay style of earlier VCS charmers (Sky Diver, Boxing, Frog Pond, Maze Craze,Polo, etc.).

It would be great though if you could incorporate an array of game options!

A 70's style game option matrix would be a perfect fit for this game :party:

 

Two suggestions of my own:

- it would be very nice if the winning bee could perform some kind of short "victory dance". Does not have to be anything sophisticated - he could just turn around himself or move in circle. Just something to visually award the winner.

- title screen: as nice as it is, maybe you could try some other color combinations?

The background color seems off in my feeling: the usual black(=space/abstraction) doesn't really fit this light-hearted, nature-themed game. Maybe you could experiment with a blue(=sky), yellow(=honey) or green(=field) background, for example?

 

Keep up the great work! :thumbsup:

Link to comment
Share on other sites

I have noticed some glitches(?) in the PAL version:

 

- Sometimes the computer bee does NOT catch the ball when it is its turn to serve.

- Sometimes the computer bee does NOT serve the ball correctly (it bounces it like normal, but misses when it goes to swing to hit it)

- Sometimes the computer bee doesn't move to go after the ball when i hit the ball back to it, from roughly the top left side of net.

 

rheffera, and the ball is white? Becouse in firsts PAL demos, the ball looks black or greey...

These "bugs" is AI problems, all these and others I'm try to fix, but now I'm working in other things.

 

And about new objects in screen, it's impossible now.

I have a few more ideas so let me know if you want to hear em, LS-Dracon

For sure :) Maybe I can use them.

 

I'll be following future updates more closely now!

Tnx Albert.

I'm try to do my best.

 

Rubber floors - you don't score by hitting their floor, you only score by bouncing a shot off their floor, and having it go offscreen

Rubber walls - the ball bounces off the edge of the screen, and you score only when the ball goes off the bottom edge

Momentum - the ball hits the opponent with enough force to push him in the opposite direction

Overshoot scoring - the only way to score is to get the ball all the way off the other side of their screen, without hitting the floor first. However, this might be too easy, unless you also had an option for:

Two hit limit - limit each bee to only being able to hit the ball twice before having to send it over the net

 

Nathan, these ideas can be usefull, becouse I don't need create new codes, just change an existed ones.

Ok, the Serving ball (old volleyball rules) is possible.

The bouncing ball I think is strange for this game... Do you remember the previous demos?

Momentum - This I already think, and can be possible.

Two hit limit - Nope, think on AI :(

As it is, the game plays great, and I wouldn't change a thing. But having some more variations, or some options accessed through the difficulty switches would be a nice extra.

I think in change the player speed... Slow = hard

Tnx for suggestions.

Actually, I like the idea of having something that punishes a player for holding onto the ball for too long -- maybe something that starts to interfere with your ability to control your player, like a blast of wind.

thegoldenband, I can easily limit the number of hits, or increase ball gravity (turns more hard to handle it), maybe I'll add this. The problem, is a 4kb of rom space, I already use 99%...

 

The background color seems off in my feeling: the usual black(=space/abstraction) doesn't really fit this light-hearted, nature-themed game. Maybe you could experiment with a blue(=sky), yellow(=honey) or green(=field) background, for example?

 

r_type2600, I'll try others combinations.

 

And finally, the new version!

The movement code was update, now you can desaccelerate!

This code increase the game play, I give new values for speed (this game is more faster, and better controlable).

 

And bad news, this new mov. code completly mess AI code!

I need rewrote entire AI! :( The single play mode is unplayable now.

Also, update the PAL version to current ntsc version (and minor adjust in PAL speed).

Edited by LS_Dracon
Link to comment
Share on other sites

It works nicely. the sounds are nice, but now the AI is worse. It just sits at the bottom of the screen all of the time, and when it gets served to it just moves to catch the ball, sometimes it misses completely. when it does catch the ball it just sits there and dosnt move. It just drops the ball.

Edited by rheffera
Link to comment
Share on other sites

It works nicely. the sounds are nice, but now the AI is worse. It just sits at the bottom of the screen, and when it gets served to it dosnt bounce the ball at all.

You may have missed this,

 

And bad news, this new mov. code completly mess AI code!

I need rewrote entire AI! The single play mode is unplayable now.

:)

 

..Al

Link to comment
Share on other sites

You may have missed this,

 

And bad news, this new mov. code completly mess AI code!

I need rewrote entire AI! The single play mode is unplayable now.

:)

 

..Al

 

Looks like i dropped the ball on that one :) hehe.

 

Other than that the new sounds are great.

 

Tnx. You will notice the speed is close to ntsc (a bit faster).

And I wrote new repositioning code, I need know if bees has a "fluid" movement.

 

Yes it is a bit faster.

Yes, Player bee in PAL version has smooth movement. With the AI bee the bee moves jerky, but that could be the faulty AI.

Edited by rheffera
Link to comment
Share on other sites

Ignore artificial inteligence for now.

Btw tnx for testing. My doubt is about run or not, since all is running ok, I have less things to worry about. I'll post my respositioning code in programming section, I think it's can be usefull for others programmers.

Probabilly the new AI code will be more easy to do, and with better result. This new movement code I try to do since the fist version!!!

Link to comment
Share on other sites

I tried PAL version 5.4, 5.5 and 5.8 and they still show the "ball color" and "screen jump" problems on my consoles :( . This time I tried 3 different TV sets ,as well as the video capture card on my PC, and different consoles too: I have 2 six switch, a four switch and 3 "juniors".

 

The "screen jump" happens on 2 of my TVs, the other one and the video capture card don't show this (while on version 5.3 also the capture card was affected). All other pal games I tried work fine on all of them. Maybe it's a problem with VSYNC timing? I've read something about that in the forum, but I can't find the thread now.

 

 

The "ball color" problem is present with every combination of consoles and TV I tried. Each version of the game shows a different color as you can see in the screenshots.

Rheffera isn't experiencing this issue on pal hardware, so I really don't know what's wrong. :? Maybe is my supercharger? It seems to work just fine with every other game I tried.

 

beeballpalnh7.th.jpg

Link to comment
Share on other sites

Update!

 

I think I've found the reason for the wrong color of the ball in the upper part of the screen. You use MISSILE0 to display the ball in the "bee judge" zone, so I disassembled your binary using Distella and I searched for "STA COLUP0" to see where the color is set in the code. I found this:

 

...
   LDA	PF1	  
   STA	COLUP0  
...

 

Register PF1 is mapped at memory location $0E and is write-only, so the first line was obviously intended to be "LDA #$0E", where $0E is the code for white in the TIA palette.

I changed that line and reassembled with Dasm and now the color is correct. :)

 

01eb9.th.jpg 02km7.th.jpg 03oz1.th.jpg

Link to comment
Share on other sites

Yes!!!

True, that's the problem!

Tnx for your help, I'll fix it in my source.

And about screen jumping... I don't know, I'm using correct values for PAL (I think):

Vblank = TIM64T #52 (45 lines)

Sanlines = 228 lines

Overscan = TIM64T #42 (36 lines)

 

The screen is solid, except for repositioning lines, But I send time enought for it...

All the screen jump? Or only after HMOVE (part 2 in image).

 

People, I found the bug in AI. I send inverse values for up and down, so instead going up the bee try to go down.

But I'll recode AI code anyway, this isn't unique bug.

post-10940-1193788843_thumb.jpg

Edited by LS_Dracon
Link to comment
Share on other sites

All the screen jump? Or only after HMOVE (part 2 in image).

All the screen.

The scanline count seems correct: an odd number of lines should cause loss of color on pal TV (and this happens to me with some crappy taiwanese "pirate" game), while here the screen "shakes" without color loss.

 

I'm not a programmer, but I searched the forum and the 2600 programming docs from on the net I think that the problem may be that VSYNC is enabled too late after scanline 312 and it doesn't start always at the same time. The following values are from the Z26 trace file of BeeBall version 5.8 (PAL). In different frames (296, 362 and 377 in the example) VSYNC is enabled on different cycles (54, 60 and 56 respectively). I guess that some of those values may cause certain TVs to lose sync for a moment.

 

(Frame Line Cycle Clock) (P0_Pos P1_Pos M0_Pos M1_Pos BL_Pos)  flags  A X Y SP  Code  Disasm


(296 313  54  94) ( 18 139  26 131 135) nvbdizC 02 00 00 ff  f0aa: 85 00	sta  VSYNC   
(297   1  57 103) ( 18 139  26 131 135) nvbdizC 02 00 00 ff  f0ac: 85 02	sta  WSYNC   
(297   2   0 -68) ( 18 139  26 131 135) nvbdizC 02 00 00 ff  f0ae: 85 02	sta  WSYNC   
(297   3   0 -68) ( 18 139  26 131 135) nvbdizC 02 00 00 ff  f0b0: 85 02	sta  WSYNC   
(297   4   0 -68) ( 18 139  26 131 135) nvbdizC 02 00 00 ff  f0b2: a9 34	lda #34	  
(297   4   2 -62) ( 18 139  26 131 135) nvbdizC 34 00 00 ff  f0b4: 8d 96 02 sta  TIM64T  
(297   4   6 -50) ( 18 139  26 131 135) nvbdizC 34 00 00 ff  f0b7: a9 00	lda #00	  
(297   4   8 -44) ( 18 139  26 131 135) nvbdiZC 00 00 00 ff  f0b9: 85 00	sta  VSYNC   

(362 313  60 112) ( 18 148  26 140 146) nvbdizC 02 00 00 ff  f0aa: 85 00	sta  VSYNC   
(363   1  63 121) ( 18 148  26 140 146) nvbdizC 02 00 00 ff  f0ac: 85 02	sta  WSYNC   
(363   2   0 -68) ( 18 148  26 140 146) nvbdizC 02 00 00 ff  f0ae: 85 02	sta  WSYNC   
(363   3   0 -68) ( 18 148  26 140 146) nvbdizC 02 00 00 ff  f0b0: 85 02	sta  WSYNC   
(363   4   0 -68) ( 18 148  26 140 146) nvbdizC 02 00 00 ff  f0b2: a9 34	lda #34	  
(363   4   2 -62) ( 18 148  26 140 146) nvbdizC 34 00 00 ff  f0b4: 8d 96 02 sta  TIM64T  
(363   4   6 -50) ( 18 148  26 140 146) nvbdizC 34 00 00 ff  f0b7: a9 00	lda #00	  
(363   4   8 -44) ( 18 148  26 140 146) nvbdiZC 00 00 00 ff  f0b9: 85 00	sta  VSYNC   

(377 313  56 100) ( 18 150  26 142 148) nvbdizC 02 00 00 ff  f0aa: 85 00	sta  VSYNC   
(378   1  59 109) ( 18 150  26 142 148) nvbdizC 02 00 00 ff  f0ac: 85 02	sta  WSYNC   
(378   2   0 -68) ( 18 150  26 142 148) nvbdizC 02 00 00 ff  f0ae: 85 02	sta  WSYNC   
(378   3   0 -68) ( 18 150  26 142 148) nvbdizC 02 00 00 ff  f0b0: 85 02	sta  WSYNC   
(378   4   0 -68) ( 18 150  26 142 148) nvbdizC 02 00 00 ff  f0b2: a9 34	lda #34	  
(378   4   2 -62) ( 18 150  26 142 148) nvbdizC 34 00 00 ff  f0b4: 8d 96 02 sta  TIM64T  
(378   4   6 -50) ( 18 150  26 142 148) nvbdizC 34 00 00 ff  f0b7: a9 00	lda #00	  
(378   4   8 -44) ( 18 150  26 142 148) nvbdiZC 00 00 00 ff  f0b9: 85 00	sta  VSYNC

 

 

In this post SeaGtGruff says that VSYNC should be enabled during the horizontal blank to avoid problems. In the same topic there are references about an old "safe" VERTICAL_SYNC macro that Andrew Davie posted here. I hope this help. :)

Link to comment
Share on other sites

I'm not a programmer, but I searched the forum and the 2600 programming docs from on the net I think that the problem may be that VSYNC is enabled too late after scanline 312 and it doesn't start always at the same time. The following values are from the Z26 trace file of BeeBall version 5.8 (PAL). In different frames (296, 362 and 377 in the example) VSYNC is enabled on different cycles (54, 60 and 56 respectively). I guess that some of those values may cause certain TVs to lose sync for a moment.

This is strange. The game has solid 312 scanlines. I see the scanline counter in Z26 says 312 every time, but I'll dispend more time in it.

The jump happens in title screen too?

If no I can figure what's the problem.

I make small changes in VSYNC, maybe this fix the jump glitch. Fixed the white ball too.

This version isn't a update, artificial inteligence still bad.

Edited by LS_Dracon
Link to comment
Share on other sites

In the same topic there are references about an old "safe" VERTICAL_SYNC macro that Andrew Davie posted

 

The current macro is safe as well, just download the latest version of macro.h from Andrews page. In fact it was especially created to standardize the VSYNC sequence in order to prevent errors like the one described.

 

There are other reasons causing rolls as well though, like improper handling of VBLANK.

Link to comment
Share on other sites

Finnaly. :)

The bug was in vertical blank innit :

 

lda #2

sta VSYNC

 

sta WSYNC

sta WSYNC

sta WSYNC

.....

 

And now :

 

lda #2

sta WSYNC

sta VSYNC

 

sta WSYNC

sta WSYNC

sta WSYNC

...

 

Actually the code should just read:

 

VERTICAL_SYNC

 

Besides working properly, would it also be at least 6 bytes shorter :)

Link to comment
Share on other sites

You spoke the MACRO code right?

I'm using this code now.

 

I meant that the current version of the macro is way shorter than the code you posted, which looks like being just copy & paste from an older version of the macro.

 

Instead of copying the code, you better just include the most recent macro.h and use the macros it provides, so you always have the most recent version compiled into your binaries :)

Link to comment
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.
Note: Your post will require moderator approval before it will be visible.

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...