Jump to content

Photo

ooze V1 Fully playable game


29 replies to this topic

#1 potatohead OFFLINE  

potatohead

    River Patroller

  • 4,404 posts
  • Location:Portland, Oregon

Posted Mon Aug 1, 2005 1:47 AM

Well, I got it done this weekend. The game is complete and all the elements are there and working. There will probably be minor bugs, but you can expect a decent play experience, with score and goal.

My oldest son just got done playing this and scored 44,000. Not too shabby. He says it's addictive which tells me I'm on the right path. (On easy, slow ship)

Joystick0 left and right move your ship
joystick0 fire launches your bullet. (You can hold down the fire button if you want to.)

right difficulty sets the ship speed (default fast)

left difficulty sets the ooze drop rate (default easy)

You get three lives. They are shown graphically on the left side of the screen

You start the game with a ration of fuel. This is displayed on the right side of the screen.

As the game progresses, you will consume the fuel. The rate of consumption varies a small amount just to keep the cycle from being routine.

When your ship gets low on fuel, it will turn bright white. You have a few seconds before game over at this point.

When your fuel reaches a designated level, the fuel target will appear amidst the ooze. Hit it for a fresh tank of fuel + some smaller random amount of fuel.

If your ship contacts the ooze, all the ooze gets knocked back a bit and you lose a ship. Your next ship starts with a generous allocation of fuel to get you started again.

If you run out of fuel, the game ends no matter how many ships you may have remaining.

Every 4th time you hit the fuel target, you level up and the ooze is knocked back a lot farther than it is when you lose a ship, giving you a brief rest.

When the game ends, the background is changed and game action is frozen so you can note your score. Holding the trigger down for 1/2 second or so will restart the game.

At this point, the game consumes all but 340 bytes of the 4K ROM space, giving a good idea of what is possible in Batari Basic at the moment. I've actually got a byte or two variable space left!

Moving your joystick during the title screen reveals a blob thing I simply thought was cool and left it in the game.

EDIT: Kirk's bug fixed & comments added. Download links updated.


V1.1 Added this evening. Moving target, extra ship after 15 target hits, reset bug really fixed, title screen toy removed.

Latest version sits in thread "Ooze V0.5 released". Was going to use whole rev numbers, then changed my mind. Sorry...

Attached File  ooze.game.1.1.zip   2.35KB   197 downloadsAttached File  ooze.bas.1.1.zip   6.03KB   187 downloads
ooze_title.png ooze_game.png ooze_game_over.png

Edited by potatohead, Sat Aug 20, 2005 11:54 AM.


#2 kisrael OFFLINE  

kisrael

    HMBL 2600 coder

  • 4,071 posts
  • Location:Boston Burbs, MA

Posted Mon Aug 1, 2005 6:17 AM

Small bug report I think: at one point I got hit by the ooze just after the Fuel icon appeared, and then I couldn't hit the fuel icon for a long time. I think finally I could, because I hit it and that was the 4th time and the ooze kind of reset, but I'm positive I saw bullets pass right through it the 2 or 3 times I tried to hit it.

Nice commented code...though I wish you would tell the reader what the ASM section is doing...

At some point soon there will be a gallery here at AA, an extension of the few entries I started on http://alienbill.com/2600/basic/ in a format mch like what the hacks have now. Can't wait to put this on it!

Edited by kisrael, Mon Aug 1, 2005 6:20 AM.


#3 potatohead OFFLINE  

potatohead

    River Patroller

  • Topic Starter
  • 4,404 posts
  • Location:Portland, Oregon

Posted Mon Aug 1, 2005 10:47 AM

Small bug report I think: at one point I got hit by the ooze just after the Fuel icon appeared, and then I couldn't hit the fuel icon for a long time. I think finally I could, because I hit it and that was the 4th time and the ooze kind of reset, but I'm positive I saw bullets pass right through it the 2 or 3 times I tried to hit it.

Nice commented code...though I wish you would tell the reader what the ASM section is doing...

At some point soon there will be a gallery here at AA, an extension of the few entries I started on http://alienbill.com/2600/basic/ in a format mch like what the hacks have now. Can't wait to put this on it!

View Post


Sweet! Put it up there!

I'll add the assembly comments. Eventually, I would like to get this on a cart with game listing and more detailed explanation of how the game works, along with some information about Batari Basic. I've always wanted to do something and get a cart for my own. Perhaps the package will motivate others and we will see more interesting gameplay scenarios that way.

The comments could use some additional cleanup, but as always the docs are the last thing to get done. :ponder:

Yep, that's a bug. When you get hit by the ooze, your new ship comes with enough fuel to disable the target, but does not actually turn the target off. I forgot to set the right flags.

#4 cd-w OFFLINE  

cd-w

    Stargunner

  • 1,616 posts
  • Juno First!
  • Location:Glasgow, UK

Posted Mon Aug 1, 2005 2:57 PM

Great game, and surprisingly addictive! Have you thought about adding powerups (similar to the fuel, but which only appear for a limited time) to give you things like double shot, fast movement, reverse ooze, etc? I will be interested to see how this develops.

Chris

#5 potatohead OFFLINE  

potatohead

    River Patroller

  • Topic Starter
  • 4,404 posts
  • Location:Portland, Oregon

Posted Mon Aug 1, 2005 5:25 PM

Nice commented code...though I wish you would tell the reader what the ASM section is doing...

View Post


Done. + some extra comments that explain how the flags work too.

(That will save my own arse when I go to work on this later on.)

The link in the above post has been updated.

#6 Jacob Rose OFFLINE  

Jacob Rose

    Dragonstomper

  • 545 posts
  • Location:Brooklyn, New York

Posted Mon Aug 1, 2005 6:23 PM

Fun!

#7 Jacob Rose OFFLINE  

Jacob Rose

    Dragonstomper

  • 545 posts
  • Location:Brooklyn, New York

Posted Mon Aug 1, 2005 6:25 PM

And that blob thing is pretty cool...what were you planning to use it for?

#8 potatohead OFFLINE  

potatohead

    River Patroller

  • Topic Starter
  • 4,404 posts
  • Location:Portland, Oregon

Posted Mon Aug 1, 2005 8:26 PM

And that blob thing is pretty cool...what were you planning to use it for?

View Post


Actually I was thinking about some sort of background for the title screen. The idea didn't pan out and I was left with that blob. Figured it might as well stay until there was no more room for it.

#9 vdub_bobby OFFLINE  

vdub_bobby

    Quadrunner

  • 5,832 posts
  • Boom bam.
  • Location:Seattle, WA

Posted Tue Aug 2, 2005 9:19 AM

Possible bug: When you press RESET it flashes the playing screen before going to the title screen. This is most obvious when you hold down RESET.

#10 potatohead OFFLINE  

potatohead

    River Patroller

  • Topic Starter
  • 4,404 posts
  • Location:Portland, Oregon

Posted Tue Aug 2, 2005 2:05 PM

Possible bug: When you press RESET it flashes the playing screen before going to the title screen.  This is most obvious when you hold down RESET.

View Post


Yep, I forgot to clean up the reset logic when I worked through using the brk opcode to start things fresh. Changes made --thanks.

How it works now is that holding down reset will freeze whatever is on screen, releasing it will go to title screen. The joystick trigger will then start a new game.

#11 kisrael OFFLINE  

kisrael

    HMBL 2600 coder

  • 4,071 posts
  • Location:Boston Burbs, MA

Posted Tue Aug 2, 2005 2:45 PM

Actually earlier I didn't realize you were still open to ideas for polishing/tweaking.

One idea....maybe you could get a nice "drip" effect for the title screen. Like, have "OOZE" there all the time, but there's a single drip drip drip off of the O or someting into a puddle below. You'd have to play with it to get it just right...I'm thinking of something that evokes the nice dripping slime pipes from NES "Bionic Commando"...

#12 potatohead OFFLINE  

potatohead

    River Patroller

  • Topic Starter
  • 4,404 posts
  • Location:Portland, Oregon

Posted Tue Aug 2, 2005 3:08 PM

Actually earlier I didn't realize you were still open to ideas for polishing/tweaking.

One idea....maybe you could get a nice "drip" effect for the title screen.  Like,  have "OOZE" there all the time, but there's a single drip drip drip off of the O or someting into a puddle below. You'd have to play with it to get it just right...I'm thinking of something that evokes the nice dripping slime pipes from NES "Bionic Commando"...

View Post



--not a bad idea. There is a funky graphics thing in the title that consumes some room right now. The dripping would be a good exchange. Player shapes might just consume too much rom space though... I can start using inline assembler to save bytes however. I'm beginning to get a real feel for the tradeoffs on the 2600. There seems to always be a way to do things, but there are also pros and cons. Batari Basic leaves one at a disadvantage where address space is concerned, but does currently give flexibility in the ram playfield, for example...

Added today: Moving target --will post new code this evening.

Also I want to have some sort of music running in the background. There is time for it to happen and I think I can share the ooze growth sound channel with the music and have things work out ok. The bullet sound channel is pretty much consumed with the many bullets. It can hold a hit target sound as well.

There is playtuning to be done as well. The easy mode is pretty decent. It probably can stand where it is and be ok. The hard mode is too hard.

What I want to do is allow a paddle option as well. That way, the play can get totally freaky because it won't be limited to the joystick movement. Easy mode can be for the joystick, hard can be paddle!

That's going to take some assembly hacking, which I'm not up to just yet.

#13 retrocon OFFLINE  

retrocon

    Chopper Commander

  • 119 posts

Posted Fri Aug 5, 2005 12:15 PM

What is the objective of this game exactly? Is it just kill as much of the ooze as possible?

I really think it would be better if you could clear the ooze in a level and then it would go on to the next level with more ooze/faster growing ooze/etc. Did you consider doing something like this?

I get this hopeless feeling when I play it now... You know what I mean?

#14 sku_u OFFLINE  

sku_u

    Quadrunner

  • 13,984 posts

Posted Fri Aug 5, 2005 12:29 PM

I just tried this on CC2 and the scoring isn't working. Am I missing something?

#15 potatohead OFFLINE  

potatohead

    River Patroller

  • Topic Starter
  • 4,404 posts
  • Location:Portland, Oregon

Posted Fri Aug 5, 2005 12:55 PM

What is the objective of this game exactly? Is it just kill as much of the ooze as possible?

I really think it would be better if you could clear the ooze in a level and then it would go on to the next level with more ooze/faster growing ooze/etc. Did you consider doing something like this?

I get this hopeless feeling when I play it now... You know what I mean?

View Post


That's good input. I totally understand what you mean. Right now, I'm pretty limited because I've run out of room for more code. Everybody wants the levels and some sense of accomplishment. I thought knocking back the ooze after a few targets would do that. Clearly is does not.

How about a pause after a given amount of ooze, combined with a color change like in missile command? The ooze difficulty could ramp up each time as well. The pause seems to work in games like Kaboom! Maybe it makes sense in ooze.

The other option would be to make the target multi-functional. Instead of giving the player just enough fuel to get to the next target, make it 3x the fuel and let the next coupla targets be interesting powerups? Making the bullet speed faster or slower (hehe), or changing the ooze rate are all options I can make doable.

All of that can happen once I go over the code, tighten things up and free some room.

A coupla folks suggested moving obstacles. If I can get a byte or two of variable storage free, I could have falling things that must be avoided or shot. With all the rapid fire, that might not work too well though. They will almost always get shot. Another moving option could be a wall that cannot be shot though, that moves. This would prevent the user from knocking back the ooze in that area of the screen, adding some difficulty and variance to the overall game play. (maybe make that a bad powerup to offset good ones?)

At this point, I'm not sure this last option can happen just yet. This next rewrite will probably tell me for sure. I think I can carve out room for the code necessary, but might not have enough variable storage to hold the game state. Making full use of every last bit is proving to be very, very important. (Nothing is easy on this machine it seems!)

Score not working? I'll check it out. Maybe it's something I'm doing. Can you tell me more? Like is the score on screen, but not changing? I'm interested in knowing if this works on a real machine because I want a personal cart when it's all done as a minimum. Care to test a coupla versions? I'll post 'em here and gladly wait for your feedback when you have time. Let me know.

I'll be whacking on this over the weekend to try some of this stuff out. Thanks everyone for playing and your suggestions. Keep it up and I'll do the same. This game might just get there yet!

On a random note, can a programmer use the 6507 interrupt flag for storage? Since the machine cannot service interrupts, turning it on should have no effect right? I might need that bit actually. (serious)

#16 potatohead OFFLINE  

potatohead

    River Patroller

  • Topic Starter
  • 4,404 posts
  • Location:Portland, Oregon

Posted Fri Aug 5, 2005 12:59 PM

Actually earlier I didn't realize you were still open to ideas for polishing/tweaking.

One idea....maybe you could get a nice "drip" effect for the title screen.  Like,  have "OOZE" there all the time, but there's a single drip drip drip off of the O or someting into a puddle below. You'd have to play with it to get it just right...I'm thinking of something that evokes the nice dripping slime pipes from NES "Bionic Commando"...

View Post



---I like this idea, but it's going to have to be shelved. The input I'm getting is all gameplay related. Given the tight storage constraints, I don't think I can afford to put anymore title screen goodies in the game at this point. When it's all tuned --I'll give this another look. I've already tossed the title thingy that moved.

Edited by potatohead, Fri Aug 5, 2005 1:00 PM.


#17 sku_u OFFLINE  

sku_u

    Quadrunner

  • 13,984 posts

Posted Fri Aug 5, 2005 1:19 PM

Score not working?  I'll check it out.  Maybe it's something I'm doing.  Can you tell me more?  Like is the score on screen, but not changing?  I'm interested in knowing if this works on a real machine because I want a personal cart when it's all done as a minimum.  Care to test a coupla versions?  I'll post 'em here and gladly wait for your feedback when you have time.  Let me know.


When I run the game through the CC2, I can shoot and move and knock the ooze back, but the score does not change. It remains at zeros.

#18 potatohead OFFLINE  

potatohead

    River Patroller

  • Topic Starter
  • 4,404 posts
  • Location:Portland, Oregon

Posted Fri Aug 5, 2005 1:38 PM

Score not working?  I'll check it out.  Maybe it's something I'm doing.  Can you tell me more?  Like is the score on screen, but not changing?  I'm interested in knowing if this works on a real machine because I want a personal cart when it's all done as a minimum.  Care to test a coupla versions?  I'll post 'em here and gladly wait for your feedback when you have time.  Let me know.


When I run the game through the CC2, I can shoot and move and knock the ooze back, but the score does not change. It remains at zeros.

View Post


--thanks. I'll double check what I posted this evening and post new code here this weekend.

#19 vdub_bobby OFFLINE  

vdub_bobby

    Quadrunner

  • 5,832 posts
  • Boom bam.
  • Location:Seattle, WA

Posted Fri Aug 5, 2005 1:56 PM

On a random note, can a programmer use the 6507 interrupt flag for storage?  Since the machine cannot service interrupts, turning it on should have no effect right?  I might need that bit actually.  (serious)

View Post

I think the only way that the interrup flag can be modified is by sei, cli, and brk (EDIT: and rti?). I think there was some discussion recently (within the last two weeks) about brk behavior; you might check the archives and read up. :)

Ok, I went back and dug it up myself.

Linky: http://www.biglist.c...7/msg00172.html and associated messages.
Relevant quote, from Eckhard S:

The B flag is wired directly to the interrupt input pin on the
6502. In the 6507 this pin is internally set high, so on the VCS
the B flag should always be set.

The BRK instruction sets the I flag after pushing the status byte
to the stack though, as you mentioned below.


Edited by vdub_bobby, Fri Aug 5, 2005 1:57 PM.


#20 retrocon OFFLINE  

retrocon

    Chopper Commander

  • 119 posts

Posted Fri Aug 5, 2005 5:42 PM

[how about a pause after a given amount of ooze, combined with a color change like in missile command? The ooze difficulty could ramp up each time as well. The pause seems to work in games like Kaboom! Maybe it makes sense in ooze.


Yes, I think that would work well.

A level could just be X amount of ooze, moving in at a rate of Y, with Z seconds between waves. A simple background color change would be a nice indicator of a new level. This reminds me of how that PSP game Lumines works.

I think that would be a lot of fun.

#21 potatohead OFFLINE  

potatohead

    River Patroller

  • Topic Starter
  • 4,404 posts
  • Location:Portland, Oregon

Posted Fri Aug 5, 2005 8:13 PM

On a random note, can a programmer use the 6507 interrupt flag for storage?  Since the machine cannot service interrupts, turning it on should have no effect right?  I might need that bit actually.  (serious)

View Post

I think the only way that the interrup flag can be modified is by sei, cli, and brk (EDIT: and rti?). I think there was some discussion recently (within the last two weeks) about brk behavior; you might check the archives and read up. :)

Ok, I went back and dug it up myself.

Linky: http://www.biglist.c...7/msg00172.html and associated messages.
Relevant quote, from Eckhard S:

The B flag is wired directly to the interrupt input pin on the
6502. In the 6507 this pin is internally set high, so on the VCS
the B flag should always be set.

The BRK instruction sets the I flag after pushing the status byte
to the stack though, as you mentioned below.

View Post


My thought was to put it on the stack, pull it into the accumulator, store that into a basic variable and test the bit.

Did that and sure enough, it's always a 1.

#22 Brad2600 OFFLINE  

Brad2600

    Quadrunner

  • 24,871 posts
  • Formerly known as Kepone, 2002-2012
  • Location:South Burlington, VT

Posted Wed Aug 10, 2005 12:17 PM

This game doesn't boot up in Stella. I tried it with both attached files and the first time I got an error: Illegal instruction 62

The second file just wouldn't boot at all. No clue what I may be doing wrong.

#23 potatohead OFFLINE  

potatohead

    River Patroller

  • Topic Starter
  • 4,404 posts
  • Location:Portland, Oregon

Posted Wed Aug 10, 2005 12:27 PM

This game doesn't boot up in Stella. I tried it with both attached files and the first time I got an error: Illegal instruction 62

The second file just wouldn't boot at all. No clue what I may be doing wrong.

View Post



Have you tried other games? The bin files posted are known good.

#24 Brad2600 OFFLINE  

Brad2600

    Quadrunner

  • 24,871 posts
  • Formerly known as Kepone, 2002-2012
  • Location:South Burlington, VT

Posted Wed Aug 10, 2005 12:35 PM

Other versions of Ooze you mean?

All I know is that Stella wouldn't open the files you posted and the screen came out all scrambled/bunched up when it did boot once.

However, Stella works fine otherwise.

#25 potatohead OFFLINE  

potatohead

    River Patroller

  • Topic Starter
  • 4,404 posts
  • Location:Portland, Oregon

Posted Wed Aug 10, 2005 1:38 PM

Other versions of Ooze you mean?

All I know is that Stella wouldn't open the files you posted and the screen came out all scrambled/bunched up when it did boot once.

However, Stella works fine otherwise.

View Post



Interesting. I'm fairly sure it's not the game code posted here. Just to confirm, are you able to run other atari bin files besides the two for this game?




0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users