Jump to content
IGNORED

Anyone think Ballblazer is possible on the 2600?


Recommended Posts

I use Stephen Judd's method, given the formula of:

f(x) = x^2/4

which you can then see that:

f(a+b) - f(a-b) = a*b

 

Stephen Judd's method? Only a few millennium off... Babylonians had used this technique since perhaps 4000 years ago. Astonishing isn't it?

 

 

bitmapped graphics for the display.

--Selgus

 

What technique for bitmapped graphics are you using? Is it for the 2600?

 

 

The Ballblazer is coming along really well. Are there really any hurdles now other than just finishing the gameplay?

Edited by djmips
Link to comment
Share on other sites

Selgus,

 

I have to study a bit more to understand that math.

 

As for your algorithms Roland, I need to run some numbers through it and see how they come out, but if it is working for you and gives you proper perspective, that's all that matters. Like I said, what I am doing is overkill for a game that doesn't need to rotate at all and only project 3D->2D.

--Selgus

 

Then I'll stick to my math for now, and maybe improve it.

 

The Ballblazer is coming along really well. Are there really any hurdles now other than just finishing the gameplay?

 

I have to display a ball. I want to speed up the calculations, so I'm able to display more objects. 4 goals, 2 balls and 1 ship has to be calculated at a time.

 

I've completed rotation, the controls are now rotated along when the ship is rotated. The physics are also improved (24-bit values) so low speeds are far more accurate.

 

All in all, it's a fun project.

Link to comment
Share on other sites

What technique for bitmapped graphics are you using? Is it for the 2600?

How the end-points are calculated and the bitmapped lines/fills are done is what I was referring to... and yes, it is for the 2600 (but I don't wish to hijack Roland's thread).

--Selgus

Link to comment
Share on other sites

  • 3 weeks later...
I use Stephen Judd's method, given the formula of:

f(x) = x^2/4

which you can then see that:

f(a+b) - f(a-b) = a*b

 

Stephen Judd's method? Only a few millennium off... Babylonians had used this technique since perhaps 4000 years ago. Astonishing isn't it?

 

Stephen Judd just wrote a series of (really excellent!) articles regarding 3D programming on the C64 for the C= Hacking mag. He does not claim it being *his* method ;)

Link to comment
Share on other sites

I use Stephen Judd's method, given the formula of:

f(x) = x^2/4

which you can then see that:

f(a+b) - f(a-b) = a*b

 

Stephen Judd's method? Only a few millennium off... Babylonians had used this technique since perhaps 4000 years ago. Astonishing isn't it?

 

Stephen Judd just wrote a series of (really excellent!) articles regarding 3D programming on the C64 for the C= Hacking mag. He does not claim it being *his* method ;)

Yes, I guess I should have been clearer in my post, that it was the method he wrote about, not that he *created* it. Sorry if it caused confusion.

--Selgus

Link to comment
Share on other sites

the more memory used, the better a game can be.

That's true for this game. With 4kB you would only see a checkerboard. Now I've reserved 8kB for the kernel alone, 4kB for unrolled math routines (the one I talked a lot about...), 4kB for sprite settup (deciding which sprite should be drawn at what height). etcetera.

 

By the way, I'm now on holiday for a while, so you won't be seeing new updates from me for a while (just like the past month :D) But I have my netbook with me, so I hope to make some progress.

Link to comment
Share on other sites

I can picture some nerds playing Doom with pen and paper. :lol:

"You press the keypad and the door hisses open, bringing you face to face with a pink, slavering demon! It's rotten breath courses over you as it snarls angrily in your face. Roll 1d20 for initiative."

  • Like 1
Link to comment
Share on other sites

I can picture some nerds playing Doom with pen and paper. :lol:

"You press the keypad and the door hisses open, bringing you face to face with a pink, slavering demon! It's rotten breath courses over you as it snarls angrily in your face. Roll 1d20 for initiative."

 

Didn't the babylonians have to deal with demons in real life anyway? You know, Nephilim and Cthulu and all those guys. ;)

 

nephilim-skeleton.jpg

Necronomicon_3.gif

Edited by mos6507
Link to comment
Share on other sites

Atleast the way the engine works now, it would be workable as 3D pong since they face each other and all and that it. Oh and if there was enough time in the code, it might look nicer since it seems to be hard to get the detail and coloring of the rotofoils of the original versions, if just a section of them were a darker color for a shadowing look. What ya think? Or is this just too superficial?

post-10601-1248229972_thumb.png

 

I stand corrected. The original had this shadowing too.

Edited by grafixbmp
Link to comment
Share on other sites

the more memory used, the better a game can be.

That's true for this game. With 4kB you would only see a checkerboard. Now I've reserved 8kB for the kernel alone, 4kB for unrolled math routines (the one I talked a lot about...), 4kB for sprite settup (deciding which sprite should be drawn at what height). etcetera.

 

By the way, I'm now on holiday for a while, so you won't be seeing new updates from me for a while (just like the past month :D) But I have my netbook with me, so I hope to make some progress.

 

Take it nice and easy on this one!! It's really cool, and totally worth the wait!

 

And have fun on holiday! (dang! I need one of those.)

Link to comment
Share on other sites

Oh and if there was enough time in the code, it might look nicer since it seems to be hard to get the detail and coloring of the rotofoils of the original versions, if just a section of them were a darker color for a shadowing look. What ya think? Or is this just too superficial?

post-10601-1248229972_thumb.png

 

I stand corrected. The original had this shadowing too.

 

I've not tried coloring of sprites yet, but I guess I would need to add three instructions to the kernel to do this. At this moment, there aren't any cycles left (all cycles are used for the two sprites for the rotofoil and the two missiles for the goals).

 

I remember the atari 800/5200 version hadn't the shadow and the 7800 version had it, right?

 

the more memory used, the better a game can be.

That's true for this game. With 4kB you would only see a checkerboard. Now I've reserved 8kB for the kernel alone, 4kB for unrolled math routines (the one I talked a lot about...), 4kB for sprite settup (deciding which sprite should be drawn at what height). etcetera.

 

By the way, I'm now on holiday for a while, so you won't be seeing new updates from me for a while (just like the past month :D) But I have my netbook with me, so I hope to make some progress.

 

Take it nice and easy on this one!! It's really cool, and totally worth the wait!

 

And have fun on holiday! (dang! I need one of those.)

 

Thanks!

 

I played this holiday mostly SD-Snatcher on my psp :D

 

But I did have some time to work on ballblazer too. I first wanted to add bouncing between the two rotofoils, but with the bouncing, the opponent rotofoil appeared still too close on screen, so it could not be drawn right. I wasn't too happy about the way stuff was drawn so I decided to make that part better (the part for horizontal lines, and determining vertical positions of stuff). I picked up an old idea cd-w used in juno first for drawing the horizontal lines. I didn't know how to adapt it to ballblazer first, but now it suddenly was clear to me. The effect was supprisingly good and I soon got the idea to take it even further and add some ANTI-ALIASING to it!!!

 

I now have to check how much cycles this takes and if I can speed it up. And maybe add an interlacing like effect to double the vertical resolution so the field of view is doubled.

 

 

 

Smoothest version of ballblazer yet:

post-15728-1248459310_thumb.png

ballblazer.bin

Link to comment
Share on other sites

It looks great with interlacing giving more resolution and like you said with anti-ailising however, it suffers greatly in speed. The former speed seemed to be spot on. but if that are all the benifit that are earned with interlacing then lack of speed could hurt the game. however, if this also gives more time to increse the complexity of the code since a full frame has droped to 30 Hz, then you may be able to fit one missle at a time per 60 Hz frame to get the goals from all angles. Just a thought. Oh and when the rotofoils match the resolution of the playfield, then things will be looking way up. :) Can't wait. :ponder:

Link to comment
Share on other sites

Looking good (only checked latest pics).

 

I think you might need, with the way that playfield is rendered, to look at how it'll look in PAL. Those interleaved lines will probably blend, although it will probably work in favour of the look of the game.

Link to comment
Share on other sites

It looks great with interlacing giving more resolution and like you said with anti-ailising however, it suffers greatly in speed. The former speed seemed to be spot on. but if that are all the benifit that are earned with interlacing then lack of speed could hurt the game. however, if this also gives more time to increse the complexity of the code since a full frame has droped to 30 Hz, then you may be able to fit one missle at a time per 60 Hz frame to get the goals from all angles. Just a thought. Oh and when the rotofoils match the resolution of the playfield, then things will be looking way up. :) Can't wait. :ponder:

 

The interlace effect would not necesarily mean the speed will be dropped. Just like cameras can record intelaced and capture 59.94 moments in time, this should be possible with ballblazer too. I just try it and see how it looks, if it sucks, I'll throw it away :)

Link to comment
Share on other sites

I picked up an old idea cd-w used in juno first for drawing the horizontal lines. I didn't know how to adapt it to ballblazer first, but now it suddenly was clear to me. The effect was supprisingly good and I soon got the idea to take it even further and add some ANTI-ALIASING to it!!

 

I'm not sure what idea you got from Juno First, but the display now looks amazing!

 

Chris

Link to comment
Share on other sites

I picked up an old idea cd-w used in juno first for drawing the horizontal lines. I didn't know how to adapt it to ballblazer first, but now it suddenly was clear to me. The effect was supprisingly good and I soon got the idea to take it even further and add some ANTI-ALIASING to it!!

 

I'm not sure what idea you got from Juno First, but the display now looks amazing!

 

Chris

 

Thanks.

 

This part gave me the idea:

; Calculate Line Offsets
	ldx #7
stx DVD
ldy #0
lda START
DivLoop
	lsr
sta DVDTAB,Y
iny
	dex
	bpl DivLoop

 

For ballblazer I start calculating with the low byte of the ships Y position. Divide it by two and OR it with 128. So I have a value between 128 and 256. From there on, I start LSR'ing to get the horizontal lines, until value reaches 0.

 

For antialiasing, I use the 2 bytes that would be truncated.

Link to comment
Share on other sites

Hi,

 

I've now created an interlaced version of the checkerboard. The blank lines are now filled in with new data. The increased resolution allows for smoother scrolling (no anti alias yet) and 1 extra tile in the field of view (instead of the anticipated doubling...). You only see one playfield since the rountine is not optimised yet. Press Alt-P in stella for Phosfor-mode.

 

What do you think of it? Speak freely :)

ballblazer_interlace_effect.bin

Edited by roland p
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...