Jump to content

Photo

Bee Ball - 2600


152 replies to this topic

#76 thegoldenband OFFLINE  

thegoldenband

    Quadrunner

  • 5,567 posts
  • Location:The Sapphire Galaxy

Posted Mon Oct 29, 2007 2:48 PM

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, Mon Oct 29, 2007 2:59 PM.


#77 thegoldenband OFFLINE  

thegoldenband

    Quadrunner

  • 5,567 posts
  • Location:The Sapphire Galaxy

Posted Mon Oct 29, 2007 3:05 PM

  • 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, Mon Oct 29, 2007 3:06 PM.


#78 r_type2600 OFFLINE  

r_type2600

    Chopper Commander

  • 231 posts
  • Location:Vienna

Posted Mon Oct 29, 2007 4:05 PM

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:

#79 Blackjack OFFLINE  

Blackjack

    Stargunner

  • 1,243 posts
  • Location:Midwest

Posted Mon Oct 29, 2007 4:18 PM

I'm on the "keep it simple" side.

Although a "hit limit" or "shot timer" would be very good.

#80 LS_Dracon OFFLINE  

LS_Dracon

    Dragonstomper

  • Topic Starter
  • 778 posts

Posted Mon Oct 29, 2007 4:33 PM

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, Wed Nov 14, 2007 7:38 PM.


#81 rheffera OFFLINE  

rheffera

    Dragonstomper

  • 564 posts
  • Mr.Data Set course for planet Stella
  • Location:Adelaide, Australia

Posted Mon Oct 29, 2007 4:39 PM

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


Yes it is.
I will tesl the latest version of PAL beeball now.

#82 LS_Dracon OFFLINE  

LS_Dracon

    Dragonstomper

  • Topic Starter
  • 778 posts

Posted Mon Oct 29, 2007 4:42 PM

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.

#83 rheffera OFFLINE  

rheffera

    Dragonstomper

  • 564 posts
  • Mr.Data Set course for planet Stella
  • Location:Adelaide, Australia

Posted Mon Oct 29, 2007 4:54 PM

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, Mon Oct 29, 2007 4:57 PM.


#84 Albert OFFLINE  

Albert

    Quadrunner

  • 35,256 posts

Posted Mon Oct 29, 2007 4:56 PM

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

#85 rheffera OFFLINE  

rheffera

    Dragonstomper

  • 564 posts
  • Mr.Data Set course for planet Stella
  • Location:Adelaide, Australia

Posted Mon Oct 29, 2007 5:06 PM

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, Mon Oct 29, 2007 5:12 PM.


#86 LS_Dracon OFFLINE  

LS_Dracon

    Dragonstomper

  • Topic Starter
  • 778 posts

Posted Mon Oct 29, 2007 6:09 PM

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

#87 alex_79 OFFLINE  

alex_79

    Stargunner

  • 1,195 posts
  • Location:Italy

Posted Tue Oct 30, 2007 10:32 AM

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.

Posted Image

#88 alex_79 OFFLINE  

alex_79

    Stargunner

  • 1,195 posts
  • Location:Italy

Posted Tue Oct 30, 2007 4:15 PM

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

Posted Image Posted Image Posted Image

#89 LS_Dracon OFFLINE  

LS_Dracon

    Dragonstomper

  • Topic Starter
  • 778 posts

Posted Tue Oct 30, 2007 6:00 PM

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.

Attached Thumbnails

  • beeball_PAL.JPG

Edited by LS_Dracon, Tue Oct 30, 2007 6:08 PM.


#90 rheffera OFFLINE  

rheffera

    Dragonstomper

  • 564 posts
  • Mr.Data Set course for planet Stella
  • Location:Adelaide, Australia

Posted Tue Oct 30, 2007 11:48 PM

The "jumping" does not occur on my PAL tv or PAL 2600. My ball is always white in the game. and i am using the latest PAL rom.

Edited by rheffera, Tue Oct 30, 2007 11:48 PM.


#91 alex_79 OFFLINE  

alex_79

    Stargunner

  • 1,195 posts
  • Location:Italy

Posted Wed Oct 31, 2007 4:23 AM

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

#92 rheffera OFFLINE  

rheffera

    Dragonstomper

  • 564 posts
  • Mr.Data Set course for planet Stella
  • Location:Adelaide, Australia

Posted Wed Oct 31, 2007 4:45 AM

I guess that some of those values may cause certain TVs to lose sync for a moment.


Quite possible. It explains why my TV dosn't loose sync but yours does.

#93 LS_Dracon OFFLINE  

LS_Dracon

    Dragonstomper

  • Topic Starter
  • 778 posts

Posted Wed Oct 31, 2007 4:53 PM

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, Wed Nov 14, 2007 7:39 PM.


#94 Cybergoth OFFLINE  

Cybergoth

    Quadrunner

  • 8,888 posts
  • This is Sparta!
  • Location:Bavaria

Posted Wed Oct 31, 2007 5:06 PM

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.

#95 alex_79 OFFLINE  

alex_79

    Stargunner

  • 1,195 posts
  • Location:Italy

Posted Wed Oct 31, 2007 6:02 PM

I make small changes in VSYNC, maybe this fix the jump glitch.

Yes, it works fine now! :)

#96 LS_Dracon OFFLINE  

LS_Dracon

    Dragonstomper

  • Topic Starter
  • 778 posts

Posted Wed Oct 31, 2007 7:54 PM

Finnaly. :)
The bug was in vertical blank innit :

lda #2
sta VSYNC

sta WSYNC
sta WSYNC
sta WSYNC
.....

And now :

lda #2
sta WSYNC <- Fixed
sta VSYNC

sta WSYNC
sta WSYNC
sta WSYNC
...

#97 rheffera OFFLINE  

rheffera

    Dragonstomper

  • 564 posts
  • Mr.Data Set course for planet Stella
  • Location:Adelaide, Australia

Posted Wed Oct 31, 2007 9:54 PM

I have tested the latest version my self. It works as good as the previous ROM for me. However, is it just me or is the ball movement more jerky than before

#98 Cybergoth OFFLINE  

Cybergoth

    Quadrunner

  • 8,888 posts
  • This is Sparta!
  • Location:Bavaria

Posted Thu Nov 1, 2007 1:06 AM

Finnaly. :)
The bug was in vertical blank innit :

lda #2
sta VSYNC

sta WSYNC
sta WSYNC
sta WSYNC
.....

And now :

lda #2
sta WSYNC <- Fixed
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 :)

#99 LS_Dracon OFFLINE  

LS_Dracon

    Dragonstomper

  • Topic Starter
  • 778 posts

Posted Sat Nov 3, 2007 1:19 PM

Besides working properly, would it also be at least 6 bytes shorter
You spoke the MACRO code right?
I'm using this code now.

I'm working in probably the final version, with new AI code, and finishing others things (the ball graphic trick is working again).

#100 Cybergoth OFFLINE  

Cybergoth

    Quadrunner

  • 8,888 posts
  • This is Sparta!
  • Location:Bavaria

Posted Sat Nov 3, 2007 2:26 PM

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 :)




0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users