Jump to content
IGNORED

NEW Atari 2600 Game Shown


Crimefighter

Recommended Posts

While I am somewhat sad that Scott doesn't want to release the game, I do respect his decision.

 

I do have one request that may seem reasonable to the developer. Would you consider posting a YouTube video of the gameplay captured through an emulator? This will give fans the ability to see the graphics more clearly, hear the audio without distortion and to the truly appreciate the amazing effort that has been put into this game.

 

Just a thought...

Link to comment
Share on other sites

Well, I for one would enjoy some tech discussion on the rings. In the video shown, they appear solid. One player used up for the center baddie, another player used up for the player ship, then there are the three little sparkles, and that leaves what left over for the rings??

 

Is there flicker on the screen, not shown in the video, or...

 

Do tell :)

 

(Scott rest assured, that's a perfectly fine effort, easily putting you in with all the others that get top marks! )

Link to comment
Share on other sites

here's a hint - they said this game could NEVER been ported to an Atari 2600.

Looks very nice, but I know of at least one or two people who thought it could be done... :ponder:

 

I knew I couldn't have been the first, my hat is off to those who have tried before me.

 

D. Scott Williamson

Link to comment
Share on other sites

While I am somewhat sad that Scott doesn't want to release the game, I do respect his decision.

 

I do have one request that may seem reasonable to the developer. Would you consider posting a YouTube video of the gameplay captured through an emulator? This will give fans the ability to see the graphics more clearly, hear the audio without distortion and to the truly appreciate the amazing effort that has been put into this game.

 

Just a thought...

 

I will soon, but I have a question. The game runs 30fps in two 60 Hz fields. One field draws the cannon, shields, and the shots, the other the ship, fuzzball, and three sparks. Using over bright colors on black makes the flicker on a phosphor television unnoticable, but stella flickers a lot. Do you have a suggestion for the best way to capture a video?

 

D. Scott Williamson

Link to comment
Share on other sites

While I am somewhat sad that Scott doesn't want to release the game, I do respect his decision.

 

I do have one request that may seem reasonable to the developer. Would you consider posting a YouTube video of the gameplay captured through an emulator? This will give fans the ability to see the graphics more clearly, hear the audio without distortion and to the truly appreciate the amazing effort that has been put into this game.

 

Just a thought...

 

I will soon, but I have a question. The game runs 30fps in two 60 Hz fields. One field draws the cannon, shields, and the shots, the other the ship, fuzzball, and three sparks. Using over bright colors on black makes the flicker on a phosphor television unnoticable, but stella flickers a lot. Do you have a suggestion for the best way to capture a video?

 

D. Scott Williamson

 

Stella emulates the phosphor effect :) To enable it, press tab and click on game properties. From there, go to the display tab, turn phosphor on, and set it to 100.

Link to comment
Share on other sites

Mr. D. Scott Williamson is responsible for some of the most prolific and arcade-perfect conversions on the Lynx - Roadblasters and Toki.

Definitely two of the best games on that system (Toki especially). :thumbsup:

 

Aw Gee Wiz, thanks. I wrote S.T.U.N Runner on the Lynx too. I absolutely love that system to this day, it was way ahead of its time. I was the head of external Lynx development at Atari. I developed new technologies and supported external developers. It was one of the most exciting times of my life. I still work with John Sanderson who wrote Steel Talons and Hard Drivin' (and more? idk) at High Voltage Software.

  • Like 4
Link to comment
Share on other sites

Well, I for one would enjoy some tech discussion on the rings. In the video shown, they appear solid. One player used up for the center baddie, another player used up for the player ship, then there are the three little sparkles, and that leaves what left over for the rings??

 

Is there flicker on the screen, not shown in the video, or...

 

Do tell :)

 

(Scott rest assured, that's a perfectly fine effort, easily putting you in with all the others that get top marks! )

 

As I said in a previous post the game runs in two frames. I deliberately chose overbright colors on black because they appear to the eye (not the camera) to flicker the least and they best matched the coin op appearance. I tested my video timing with a white background and boy oh boy that was an epileptic flicker fest.

 

One screen is a classic Atari 2600 kernel, it shows an 8x8 pixel ship, an 8x8 pixel fuzzball, and the three sparks or mines that follow the ship around. It is a double line kernel so looks more blockey. All image data is displayed directly from ROM.

 

The other screen shows the cannon, shields, and the 3 player shots. Internally, logically, each shield is 12 bits in two bytes that rotate coarsely. There is another byte that has the fine angular position of each shield. Those bits are used to build the shield data into RAM during two vblanks and one overscan. The shield logic is EXTREMELY complex. It basically converts each set of shield bits into a bit-mapped line that it wraps into a circle and packs with other shield bits into about 60 bytes of RAM for display. Each shield ring has different sized shield segments. A later step or's the appropriate 16x14 pixel cannon frame into the center area. The shield screen has a top and bottom portion that simply display the shots where needed, but the 46ish double scan lines in the center center of the display is pretty intense. It's a double line kernel that does not loop, a 3k monolithic function that uses a number of hand optimized macros to construct the lines. It, like the title screen, uses what we used to call a modified Dave Stauguss 6 character score kernel, you probably know the same code as a 48 pixel sprite kernel. Using player 0 and player 1 in tripled mode interleaved with each other on the screen, you load graphics into the GRP0 and GRP1 in such a way as to spit out 48 pixels of graphics by rewriting or latching registers right ahead of the electron beam as its being displayed. It's very sensitive to timing. I use no wsyncs in that code, I sync at the top and it's 76 cycles per line. Each line starts by grabbing bytes out of RAM and masking (and-ing) them with immediate values specified per line in the macros. Those values are drawn into the shield/cannon area, then the graphics registers are cleared and the next scan line turns each shot on and off as needed. That is why the shots are smaller than the sparks (as in the coin op) and the shields appear to be louvered.

 

It was very challenging to get them to work properly in the small amount of RAM and time allotted. There were at least 5 major revisions of the shield code, each previous revision was thrown away for the next. I applied way too many clever programming tricks and modern day game programming techniques, most got thrown out. On the 2600 straight tables are usually smaller and faster than any other cleverness. One classic example was the cannon frames. I only stored 90 degrees of cannon frames in ROM at one point, but the code used to vertically flip the frames was slower and larger than the frame data in the first place. I laughed my butt off when I figured that out.

 

Timing was also a real problem. I wrote the shields first and like I said, they took 2 vblanks and an overscan (37+37+30=104) scan lines to prepare which only left one overscan or 30 scan lines to do all the game logic, including 3 shots that can each collide with the cannon, 3 spinning shields, and 3 sparks. I finally was able to shoehorn all the processing in at about 1am before the Video Game Summit. Placing all the tables (graphics, arc-tangent, sin, cos, etc) in carefully aligned areas of ROM that don't cross page boundaries bought back a lot of time. Sensitive display kernels also had to be sure not to cross page boundaries.

 

 

To be a good 2600 programmer you have to be a master of both time and space.

(and maybe a little bit of a masochist)

 

D. Scott Williamson

  • Like 3
Link to comment
Share on other sites

While I am somewhat sad that Scott doesn't want to release the game, I do respect his decision.

 

I do have one request that may seem reasonable to the developer. Would you consider posting a YouTube video of the gameplay captured through an emulator? This will give fans the ability to see the graphics more clearly, hear the audio without distortion and to the truly appreciate the amazing effort that has been put into this game.

 

Just a thought...

 

I will soon, but I have a question. The game runs 30fps in two 60 Hz fields. One field draws the cannon, shields, and the shots, the other the ship, fuzzball, and three sparks. Using over bright colors on black makes the flicker on a phosphor television unnoticable, but stella flickers a lot. Do you have a suggestion for the best way to capture a video?

 

D. Scott Williamson

 

Stella emulates the phosphor effect :) To enable it, press tab and click on game properties. From there, go to the display tab, turn phosphor on, and set it to 100.

 

Doh! That would have been insanely helpful at times. Thanks!

Link to comment
Share on other sites

I'm chuckling at code to save data being bigger than just the data. :)

 

You got my next few questions answered, all involving how you managed the data for the shield segments. I maybe have another question or two, once I digest what you've written. Thanks for that. It's the best part of this hobby for me. So many interesting things have been crammed into the tiny VCS. Thanks for showing it off. It must have been great fun seeing everybody jam on the finished (just in time like for real) program.

 

And what do you think of the Harmony? Personally, I love the thing. I get to bang around on the real deal, and it's great fun.

Link to comment
Share on other sites

Thought you might like this, there was a 70's band called Ten Years After with Alvin Lee, and they had an album called: A SPACE IN TIME! The big hit of that album was "I'd Love To Change The World"

 

ROFL - I'm jamming out to it now on youtube here.

 

I was only 4 when that song came out but I remember it vividly - awesome!

 

D. Scott Williamson

Link to comment
Share on other sites

Mr. D. Scott Williamson is responsible for some of the most prolific and arcade-perfect conversions on the Lynx - Roadblasters and Toki.

Definitely two of the best games on that system (Toki especially). :thumbsup:

 

Aw Gee Wiz, thanks. I wrote S.T.U.N Runner on the Lynx too. I absolutely love that system to this day, it was way ahead of its time. I was the head of external Lynx development at Atari. I developed new technologies and supported external developers. It was one of the most exciting times of my life. I still work with John Sanderson who wrote Steel Talons and Hard Drivin' (and more? idk) at High Voltage Software.

 

Not to get too much off track, but I just wanted to add another thumbs up for Toki. I had played the Lynx version for years, and only recently found the arcade machine at an amusement park. I played it, and was amazed at how close the Lynx version was.

 

Star Castle looks great, btw!!!

Edited by Midnight Synergy
Link to comment
Share on other sites

I'm chuckling at code to save data being bigger than just the data. :)

 

You got my next few questions answered, all involving how you managed the data for the shield segments. I maybe have another question or two, once I digest what you've written. Thanks for that. It's the best part of this hobby for me. So many interesting things have been crammed into the tiny VCS. Thanks for showing it off. It must have been great fun seeing everybody jam on the finished (just in time like for real) program.

 

And what do you think of the Harmony? Personally, I love the thing. I get to bang around on the real deal, and it's great fun.

 

Yea, the other thing that happened was that I had a sincos table (a full sin table, with a quarter repeated to read cosine by starting 1/4 cycle into the table) but I was shifting the results to match all the fixed point math for the different entities that it was cheaper to add more tables and remove the sign extended shifts. The ship velocity is a byte but stored in such a way as to affect the 16 bit fixed point ship position with a decent balance of precision. The shots need to inherit the ship velocity but they use a different decimal (binamal?) location in their single byte fixed point precision.

 

It was great seeing people enjoy it and talking to some really great people who've seen a lot more retro gaming stuff than I have. For example I met a guy who had an absolutely fantastic collection of Lynx's and Lynx games. When I watch people play the game I see all the things I still want to fix though (the shots need more directional precision, the game starts too hard, there's no progressive difficulty, I want a better attract mode, I'd like to keep a high score...) And most of all I really want to finish fabricating my clear acrylic cart with LEDs flashing to the game play in it.

 

And the Harmony, man I just love that thing, that and Stella are just genius. I'm soooo glad I found it here on Atari Age. I was just going to use Stella and a home made cart with a romulator on it. Hats off to the guy(s) who made the Harmony. I do some hardware development (PIC/FPGA) and I know first hand a lot of work goes into something like that, and to top it off, it has a really good PC interface and a top notch on cartridge menu. A really well conceived piece of hardware all around - with the casual consumer and developer in mind.

 

D. Scott Williamson

Link to comment
Share on other sites

Mr. D. Scott Williamson is responsible for some of the most prolific and arcade-perfect conversions on the Lynx - Roadblasters and Toki.

Definitely two of the best games on that system (Toki especially). :thumbsup:

 

Aw Gee Wiz, thanks. I wrote S.T.U.N Runner on the Lynx too. I absolutely love that system to this day, it was way ahead of its time. I was the head of external Lynx development at Atari. I developed new technologies and supported external developers. It was one of the most exciting times of my life. I still work with John Sanderson who wrote Steel Talons and Hard Drivin' (and more? idk) at High Voltage Software.

 

Not to get too much off track, but I just wanted to add another thumbs up for Toki. I had played the Lynx version for years, and only recently found the arcade machine at an amusement park. I played it, and was amazed at how close the Lynx version was.

 

Star Castle looks great, btw!!!

 

Thanks. We got no source code from TAD, it was the first game I reverse engineered - legally of course it was licensed - but I did install a pause switch on the coin op. It would halt the CPU, and if you were really lucky, you could unpause it too ;)

 

I STRONGLY recommend checking out the "Freakout" easter egg. http://www.vgcheats.co.uk/cheats/lynx/Toki.html

There is an opening scene where the princess is held by a floating magic fist and carried away, well the first time I got the sprites in there they were upside down. That was so funny it became an inside joke and we started throwing all kinds of crazy stuff in there.

 

And thanks re. Star Castle.

Link to comment
Share on other sites

Thumbs up to the LEDs. Rock on with that! Be sure and get some beer, and a few buddies to play with, or you will miss out on some possible fun! I've often thought blinking lights in the cart would be sweet. Back in the day, tossing a few LED's in a clear cart would have been pure gold, literally because we didn't have blue ones. (now we do, and I think at least one needs to be in there, just because)

 

Gonna go with colors, or what? :)

 

Yeah, Harmony is amazing, considering there just aren't the proper signals on that cart. The same guy, who lives near me, also produced the Batari Basic. It's absolutely fun, and it works very well. Something I think a lot of people thought was impossible. Many great, and goofy little games have shown up because of that. Reminds me of sharing stuff we wrote in 8 bit days.

 

Did you end up with a particularly clever bit of 6502 code? You know something like one of those "who uses that kind of instruction" like (zp,x), that ended up just fitting in there nicely?

 

Oh, and check this out:

 

http://www.dimensionprinting.com/

 

Heh... We've got one in the building, and I'm still hoping to print up some Atari stuff on it. They are as cheap as $15K. Seems Star Trek to me!

Edited by potatohead
Link to comment
Share on other sites

While I am somewhat sad that Scott doesn't want to release the game, I do respect his decision.

 

I do have one request that may seem reasonable to the developer. Would you consider posting a YouTube video of the gameplay captured through an emulator? This will give fans the ability to see the graphics more clearly, hear the audio without distortion and to the truly appreciate the amazing effort that has been put into this game.

 

Just a thought...

 

I will soon, but I have a question. The game runs 30fps in two 60 Hz fields. One field draws the cannon, shields, and the shots, the other the ship, fuzzball, and three sparks. Using over bright colors on black makes the flicker on a phosphor television unnoticable, but stella flickers a lot. Do you have a suggestion for the best way to capture a video?

 

D. Scott Williamson

 

Stella emulates the phosphor effect :) To enable it, press tab and click on game properties. From there, go to the display tab, turn phosphor on, and set it to 100.

 

Doh! That would have been insanely helpful at times. Thanks!

 

Stella fraps capture here http://www.youtube.com/user/spot1984#p/a/u/0/UygsjtFtf2k

Link to comment
Share on other sites

Thumbs up to the LEDs. Rock on with that! Be sure and get some beer, and a few buddies to play with, or you will miss out on some of that! I've often thought blinking lights in the cart would be sweet. Back in the day, tossing a few LED's in a clear cart would have been pure gold, literally because we didn't have blue ones. (now we do, and I think at least one needs to be in there, just because)

 

Gonna go with colors, or what? :)

 

Yeah, Harmony is amazing, considering there just aren't the proper signals on that cart. The same guy, who lives near me, also produced the Batari Basic. It's absolutely fun, and it works very well. Something I think a lot of people thought was impossible. Many great, and goofy little games have shown up because of that. Reminds me of sharing stuff we wrote in 8 bit days.

 

Did you end up with a particularly clever bit of 6502 code? You know something like one of those "who uses that kind of instruction" like (zp,x), that ended up just fitting in there nicely?

 

Oh, and check this out:

 

http://www.dimensionprinting.com/

 

Heh... We've got one in the building, and I'm still hoping to print up some Atari stuff on it. They are as cheap as $15K. Seems Star Trek to me!

 

Colors were originally going to be blue and white, but so was the palette in the game. I had a few colors in there and yellow and white were the most eye catching. We'll see.

 

I just found out about batari basic from Dan, the organizer of the Video Game Summit show. He uses it and has written a game on it. I'm very impressed that it can compile such usable and capable for such a quirky platform. Say hi to the genius next time you see him at the supermarket :)

 

(zp,x) takes too much time! I like dec $7f to kill 5 cycles in 2 bytes. I really like all the cleverness you can get by moving the stack pointer around and using php to set bit1 from the carry bit - like enabling missiles, or setting vdelp1 for the 6 digit display kernel. Or using the stack pointer to fill memory. I got a surprising amount of memory back with this function:

 

; INITMEM WILL LOAD RAM WITH PREDEFINED VALUES FROM TABLES

INITMEM

.INITLOOP

LDY INITTAB,X

BEQ .DONE

LDA INITTAB+1,X

STA 0,Y

INX

INX

BNE .INITLOOP

.DONE

RTS

 

INITTAB

INITGAMEDATA

DC SHIPS,3

; CLEAR VBLS AND SCORE

DC SCORE,0

DC SCORE+1,0

DC SCORE+2,0

DC 0

INITGAMEDATABOOM

DC SHIPX,0

DC SHIPX+1,160*3/4

DC 0

 

Called with these 5 bytes:

LDX #INITGAMEDATABOOM-INITGAMEDATA

JSR INITMEM

 

It replaces each 4 byte lda #, sta zp with 2 bytes and they all can be unique. The table is good for 128 values in any number of 0 terminated lists. The routine could be optimized to use two lists for example which would double the address range and eliminate the need for one dex, but the lists wouldn't be as easy to manage.

 

Also, like I said earlier, I underestimated the value of reducing indexed page boundary crossings.

 

I really don't want to bring the topic of money up again, but $15k is cheap for a fab machine but not exactly in john q. public's home brew budget. What "building" do you have one in and what kind of work do you do? :)

 

D. Scott Williamson

Link to comment
Share on other sites

I'm in Portland Oregon.

 

My work is high end CAD / CAM software sales, support, training, and application solution engineering. (figuring out for the guys that paid for it, how stuff can or should get done) We've a product design focus, mostly mechanical, some electrical, and the 3D printer is a show 'n tell toy for us. The software is Siemens Unigraphics NX. Powerful, expensive stuff. One seat would about pay for the printer, if somebody wants any of the good functions.

 

My interest in retro comes from this being a hobby, since the 8 bit days. I spend most of my time, either banging on a VCS with Harmony, or doing stuff on a Parallax Propeller. I'm flirting with the CoCo 3, because it's got a 6809, but I haven't gotten serious just yet. I kind of never let go of the Atari machines, and have enjoyed the productions over the years. My fave is doing lower level graphics stuff. My weakness is making it all run together! Batari Basic helps with that big, because one can get a lot of the speed in the VCS, without having all the ASM management issues. Ordinary people can actually do stuff, and I think that's just cool as hell.

 

I'll send a PM, and deffo say, "hi" next time we meet. (Batari is his handle here, BTW)

 

Yeah, I think it's cheap too! Amazingly cheap actually, which is why I linked it. Seeing as how you like that kind of thing, I figured you would appreciate it. Can run in a living room, if somebody wants to do that. That machine can do a cart, or most any of the plastic I've seen on the Atari machines. Been trying to get some time to model and build some stuff. Kind of slammed with other people's parts at the moment though.

 

A home made CNC machine is an excellent to have. Sort of a "one of these days thing" for me. I've done manufacturing in my past, and really enjoy new tech on that part of things.

 

I think these things will see another round of cost reduction, eventually landing in the 5K range, and then parts of this hobby are gonna rock, IMHO. People can just send files and print stuff. Golden :)

Edited by potatohead
Link to comment
Share on other sites

I'm in Portland Oregon.

 

My work is high end CAD / CAM software sales, support, training, and application solution engineering. (figuring out for the guys that paid for it, how stuff can or should get done) We've a product design focus, mostly mechanical, some electrical, and the 3D printer is a show 'n tell toy for us. The software is Siemens Unigraphics NX. Powerful, expensive stuff. One seat would about pay for the printer, if somebody wants any of the good functions.

 

My interest in retro comes from this being a hobby, since the 8 bit days. I spend most of my time, either banging on a VCS with Harmony, or doing stuff on a Parallax Propeller. I'm flirting with the CoCo 3, because it's got a 6809, but I haven't gotten serious just yet. I kind of never let go of the Atari machines, and have enjoyed the productions over the years. My fave is doing lower level graphics stuff. My weakness is making it all run together! Batari Basic helps with that big, because one can get a lot of the speed in the VCS, without having all the ASM management issues. Ordinary people can actually do stuff, and I think that's just cool as hell.

 

I'll send a PM, and deffo say, "hi" next time we meet. (Batari is his handle here, BTW)

 

Yeah, I think it's cheap too! Amazingly cheap actually, which is why I linked it. Seeing as how you like that kind of thing, I figured you would appreciate it. Can run in a living room, if somebody wants to do that. That machine can do a cart, or most any of the plastic I've seen on the Atari machines. Been trying to get some time to model and build some stuff. Kind of slammed with other people's parts at the moment though.

 

A home made CNC machine is an excellent to have. I think these things will see another round of cost reduction, eventually landing in the 5K range, and then parts of this hobby are gonna rock, IMHO. People can just send files and print stuff. Golden :)

 

[getting way OT] Wow, very cool, I thought so. My other big project is a 5x10' CNC table with a 4.5' x 8.5' x .5' work area, a 3.25 hp porter cable router, vacuum table, vacuum system, and a fourth axis I'll install one of these days. I designed and built it from scratch with a mountain of advice and guidance that from a machinist friend of mine whom I've known and worked with for 10 years - we met at a local robotics club. He died in his sleep last November and I miss him terribly - I'm on my own now and the learning curve got a lot steeper. Photos here

 

Some of my latest test cuttings here

 

I was going to make a mold of an Atari cart in silicone and cast my cart in acrylic, but I'm planning on machining the cartridge pieces on my machine now. It all takes a different kind of time and space :)

 

D. Scott Williamson

Link to comment
Share on other sites

Yeah, sorry for the OT. Sometimes it's kind of nice to riff a little, but for a quick trip to shuffle some kids, I had a quiet time with no "honey do" list in play.

 

Just checked out the photos. Nice build :) Test cuts aren't looking to shabby either. I've got a little CNC envy, LOL!! You could use that to cut some circuit boards too. It's a major bummer to lose a mentor / friend. Nothing good to say there, other than he probably would tell you to see it through.

 

So, that bit of code, drops data structures in the ram, depending on what the kernel needs, or is that to init various game states? Looks like game states. Did you use all the bits in RAM? Probably dumb question. It's not like there is extra.

 

That kind of thing is where Batari Basic is so damn cool. I'm beginning to see how the pieces can be built to fit together, by following the many great projects here. With something a bit more high level, that's easier for some reason. IMHO, it's probably all the abstractions required for assembly. The more of those there are, the harder it seems it is to link them up!

 

Several here, myself included, are boot strapping with the bB, then adding assembly language to slowly cross that hump. I like assembly language, because it's to the metal. Most things are way more forgiving, because there is room enough and resources enough to tolerate a wide variance in skill and style.

 

I'm going to have to read Ian's book. I've always liked the VCS because there is just enough --often no more, to capture the core elements of a particular game. I really like that because it's kind of pure. The game has to work, because there isn't enough to just be an entertaining distraction like there can be on machines today. And simple things, like a few more pixels, or an extra color on a scan line are the bomb, and people notice. Expectations are low and high at the same time.

 

Thanks again for a nice bit of conversation.

Edited by potatohead
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...