Jump to content
IGNORED

Game Catcher 2600


Lodmot

Recommended Posts

Here's my next project. Stepping it up a bit. It's called Game Catcher 2600.

 

Back in 2004, I made a game for the computer called Game Catcher. It involved the player collecting games that were flying around, and they had to collect 100 games before the picky customers, while avoiding running out of cash. It's an original game of mine, and I decided I'd try and port it to the 2600.

 

1485235771-main.jpg

 

High-Res Title Screen:

 

game_catcher_2012y_01m_31d_1306t.bas.bin.png

 

Working 1P/2P Menu:

 

game_catcher_2012y_01m_31d_1306t.bas.bin_1.png

 

Gameplay with smooth, colorful graphics:

 

GameCatcherAlpha1.png

 

In case you're curious, this is the original game: http://megatoxic.com...e%20Catcher.exe

I think this could be very faithful to my original game.

 

Updates - 2/5:

 

Alright, well so far I've had little to no suggestions from people, so I'm going to assume everyone likes the game the way it is and call this game finalized.

I'm still open for suggestions though, just in case someone wants to post something. I know the rom file is still called "beta", but I don't really have time to change it at the moment because I have work soon. >.<

 

So, hope you guys like the game! ^^

 

Status: Game is finalized!

 

 

Let me know what you guys think.

game_catcher_finalbuild_033012.bas.bin

Edited by Lodmot
Link to comment
Share on other sites

I don't have time this second but I will download and play soon enough and get back to you. :3

Yay! :3

I think you're like my biggest fan right now. XD

Keep in mind, it's still very early in development, so there's no way to lose or win. Right now, you're just picking up items and that's it. It's merely a graphical demo of what it's going to be.

Link to comment
Share on other sites

Ehh... I'm having problems making this game...

It appears that some of my loops cannot reach to other loops because of the distance...

I'm stumped, I don't know what to do, and it's driving me crazy..

Unless I figure something out or get help from somewhere, I don't know if this game can be finished... :/

 

EDIT: Nevermind! I arranged sections of the code in a way that somehow works! 8D YAY! xD

Edited by Lodmot
Link to comment
Share on other sites

Ehh... I'm having problems making this game...

It appears that some of my loops cannot reach to other loops because of the distance...

I'm stumped, I don't know what to do, and it's driving me crazy..

Unless I figure something out or get help from somewhere, I don't know if this game can be finished... :/

 

EDIT: Nevermind! I arranged sections of the code in a way that somehow works! 8D YAY! xD

 

I had a similar problem even when using smartbranching, so I stopped using smartbranching and just use goto all of the time like this:

 

if _Monkey_Fart = 5 then goto __Giraffe_Candlestick

Link to comment
Share on other sites

Ehh... I'm having problems making this game...

It appears that some of my loops cannot reach to other loops because of the distance...

I'm stumped, I don't know what to do, and it's driving me crazy..

Unless I figure something out or get help from somewhere, I don't know if this game can be finished... :/

 

EDIT: Nevermind! I arranged sections of the code in a way that somehow works! 8D YAY! xD

 

I had a similar problem even when using smartbranching, so I stopped using smartbranching and just use goto all of the time like this:

 

if _Monkey_Fart = 5 then goto __Giraffe_Candlestick

Well, now my code isn't working at all... I try to add another label for setting up the next stage of the game, and when I compile, it gives me an unexpected error....

I think I have too many labels in the game now or something, because there's no errors in my code. The game has gotten very big, and I'm sure there's probably a more efficient way I could've made the game, or at least some way I could somehow split the code into chunks so it's easier for the console to read, but I'm still pretty new at this. When I run the game, it still plays quite nicely, even on the real console the game runs flawlessly.

Edited by Lodmot
Link to comment
Share on other sites

Ehh... I'm having problems making this game...

It appears that some of my loops cannot reach to other loops because of the distance...

I'm stumped, I don't know what to do, and it's driving me crazy..

Unless I figure something out or get help from somewhere, I don't know if this game can be finished... :/

 

EDIT: Nevermind! I arranged sections of the code in a way that somehow works! 8D YAY! xD

 

I had a similar problem even when using smartbranching, so I stopped using smartbranching and just use goto all of the time like this:

 

if _Monkey_Fart = 5 then goto __Giraffe_Candlestick

Well, now my code isn't working at all... I try to add another label for setting up the next stage of the game, and when I compile, it gives me an unexpected error....

I think I have too many labels in the game now or something, because there's no errors in my code. The game has gotten very big, and I'm sure there's probably a more efficient way I could've made the game, or at least some way I could somehow split the code into chunks so it's easier for the console to read, but I'm still pretty new at this. When I run the game, it still plays quite nicely, even on the real console the game runs flawlessly.

 

If you post your latest code, I can look at it to see if I can find the problem. You can have a ton of labels, so that's not the problem (unless you are using a "known keyword or any labels internal to bB" and that can be fixed by starting your labels with an underscore). I start my labels with two underscores and my variable aliases with one underscore so I don't have to worry about anything.

Link to comment
Share on other sites

 

If you post your latest code, I can look at it to see if I can find the problem. You can have a ton of labels, so that's not the problem (unless you are using a "known keyword or any labels internal to bB" and that can be fixed by starting your labels with an underscore). I start my labels with two underscores and my variable aliases with one underscore so I don't havedo this, so thank you very much. :3 to worry about anything.

Id greatly appreciate that.

 

I usually try not to ask people to look at my code because I don't want to seem noobish, but at the same time Im still learning how to do this, so thank you very much. :)

 

Edited by Lodmot
Link to comment
Share on other sites

Thank you for your kind words. :3

 

Well, I'm having problems again... I thought I got it working, but now it's doing the same thing it did last night. >.<

I'm gonna put up my up-to-date code for Random Terrain to look at. It just won't compile correctly for some reason.

 

If all goes well, I'm hoping to actually make this a full-fledged game, with music, a titlescreen and 2-player mode and everything.

But I gotta figure this stuff out first and find out why the playerscore kernel doesn't like bank-switching games.

Edited by Lodmot
Link to comment
Share on other sites

Well, you've tempted me long enough. I'm diving into your code - probably some of your simpler games first, to try to get myself somewhere close to your level of batari basic programming X3 X3. Here comes reo!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

ugguuuuuuuuuuuuuuuu!!!!!!!!!!!!!

XDDDDDDD Awesome dude! :3

I hope you learn a lot from my sources.

 

I didn't even look at many example games actually, I watched a youtube video that explained the different functions as he was making the example game.

It was pretty good. ^^

Link to comment
Share on other sites

I don't get any errors when I run this:

 

game_catcher_2012y_01m_30d_1306t.bas

 

game_catcher_2012y_01m_30d_1306t.bin

 

 

I fixed a few things and used the following tip from SeaGtGruff in case it might help:

 

http://www.atariage.com/forums/topic/123592-unknown-keyword-inline/page__p__1493047#entry1493047

Link to comment
Share on other sites

@Random Terrain:

Wow, I really like what you did with the code. It's a lot easier for me to read it now. I even picked up a variable that I initiated but never used in the game! XDD Thank you for helping me. :3

 

@reo

LOL! Yeah, I see it too. That's quite easy to fix, it's just a NUSIZ issue.

Edited by Lodmot
Link to comment
Share on other sites

Actually, I discovered that the glitch with the boxes looking like lines was my fault. XDDD

But I got it fixed now. Also, I was able to incorporate the use of actual stages! The game has 15 stages of gameplay that you can do. They get harder as you go.

There's actually a bug that I have to fix where periodically the game won't notice if you or the CPU player collected the specific amount of games. I believe that's

some kind of timing issue and is easily fixable. But anyway, I'm gonna upload this new version when I get home. I'm using my school's computer right now. xDDD!!!

I brought my laptop, but the wireless sucks here so bad, I can't connect anywhere! D8

 

Anyway, that's all for now. Next I have to figure out how to get the playerscore minikernel to work with bankswitching, which is more of a pain than I thought it'd be.. Right now, the base game code just BARELY fits onto the default 4K rom size, but I need to increase that to at least 16KB in order to add more stuff to it, like music and 2P mode and an actual titlescreen.

 

I'm gonna change the first post to list the other things I hope to get working.

 

In the meantime, TATA FOR NOW! 8D

Edited by Lodmot
Link to comment
Share on other sites

Hellllllllloooooooooooooooo!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! How can I load bass?

 

Do you mean a batari Basic .bas file? One way is to use Visual batari Basic. That's what I use:

 

http://www.randomterrain.com/atari-2600-memories-batari-basic-vbb.html

Link to comment
Share on other sites

Alright... Kinda ran into another problem...

 

I was planning on putting a bunch of other stuff in the game (title screen, 2P mode, music, etc), but in order to do that, I have to make the rom size 16k.

Now the game will start, but when you touch one of the squares, this happens...

 

game_catcher_2012y_01m_30d_1306t.bas.bin.png

 

It has something to do with the playerscores.asm kernel, but I don't see what I'm doing wrong...

 

Here's what the code looks like in the beginning:

 

  set romsize 16k
  set optimization inlinerand
  rem Titlescreen Code will go here.
__Start_Stage
  COLUPF=$d2
  player0x=50 : player0y = 60
  player1x=(rand&127)+1 : player1y=(rand&63)+1
.... and so on.

 

And here is how the game's code ends:

 

............
  %01111110
end
  if s > 99 then v=v+1 : goto __Start_Stage
  goto __Win
  bank 2
  bank 3
  bank 4
  inline bcd_math.asm
  inline playerscores.asm

All I did was add the first two lines at the top of the code, and these last 5 lines indicating the different banks (which have nothing in them because that's where the music and titlescreen would go), and two asm files. Based on the instructions for both Batari Basic and the playerscores kernel, I'm pretty sure this is a glitch in the playerscores kernel of some kind rather than my own code...

Edited by Lodmot
Link to comment
Share on other sites

@ Lodmot: I promise to download a .bas file from you asap, once provided. I cannot open .bas.bin, just .bas like in game_catcher.bas, do not need bin at this moment, I can compile on my own.

Uploaded! :D

 

By the way, the source file I put up is the 16kb dump, so it has that weird error that I mentioned in my post above. You'll have to revert the rom back over to 4KB and get rid of the bank indicators in order to get the game to play correctly.

 

Also, would you guys like me to credit you both for helping me on my first really ambitious project?

I really appreciate the support, so the least I could do is mention you at the top page, or somewhere in the game maybe.

Edited by Lodmot
Link to comment
Share on other sites

this thread is evidence enough of what went on XD. Thank you SOOOOOOOO much for sending me the code. It's not ever yet I thought ??? :??

 

Alright. XD

 

If you ever want me to credit you for helping, let me know.

I don't feel right asking people for help and not at least acknowledging them when I release the game.

Edited by Lodmot
Link to comment
Share on other sites

UPDATE:

I got the playerscore.asm kernel to work with the 16k rom size! The weird thing though, is that I actually had to put the main game loops into the 4th bank in order for it to work. It seems to me like in order for the playerscores kernel to work properly, the entire game code (or most of it at least) needs to be in the same bank as the "inline playerscores.asm" commands, or else it messes up like in the picture above. That makes sense I guess, but now I think I've ran out of space in the 4th bank, because when I compile, the message looks like this:

 

Compile started at 1/30/2012 9:56:57 PM

Compiling C:\Documents and Settings\Win2K\My Documents\My Atari Games\Game Catcher\Game Catcher\game_catcher_2012y_01m_30d_1306t.bas

2600 Basic compilation completed.

DASM V2.20.07, Macro Assembler ©1988-2003

bytes of ROM space left in bank 1

bytes of ROM space left in bank 2

bytes of ROM space left in bank 3

bytes of ROM space left in bank 4

Possible duplicate label: L012 90ad

3309 bytes of ROM space left in bank 1

4052 bytes of ROM space left in bank 2

4052 bytes of ROM space left in bank 3

Compilation completed at 1/30/2012 9:56:58 PM

view output file:///C:/Documents and Settings/Win2K/My Documents/My Atari Games/Game Catcher/Game Catcher/bin

Post compilation files deleted

As you could see, where it lists the amount of bytes in each bank, bank 4 is not there. That makes me think bank 4 was entirely used up, and the compiler had to resort to moving some of the game code to the first bank? I'm not sure... I'm just guessing.

 

But yeah, so that's what's up. :3

Link to comment
Share on other sites

hi Lodmot,

 

I have to get to bed, I'm getting sleepy. I will check out your code and games as soon as I wake up tomorrow. Goodnight an good luck in all your life's endeavors. X3

 

Okii. ^^

 

Good night Reo. I have Tuesday off completely, so I'm sure I'll see you tomorrow.

Link to comment
Share on other sites

When I work on a program, I use Save As every time I make a major change and use this style of software versioning:

 

http://www.atariage....are-versioning/

If you're never exactly sure how many numbers and periods to use with the software versioning that most programmers seem to be devoted to, this tip might save you some time and energy.

 

Every time I make a significant change to a program I'm working on, I save it as a new file so I can go back to a previous working version if I mess something up. I don't have time to figure out what version number it should be (1.2.0.1? Huh?), so I simply put the year, month, day, and military time. Here's an example:

 

kasploder_2011y_04m_28d_0940t.bas

 

I changed the system clock on my computer to military time, so all I have to do is look down in the corner. No more complicated version numbers, just the fast and easy date and time.

 

To be clear, I have the program name, 4 digits + y for the year, 2 digits + m for the month, 2 digits + d for the day, 4 digits + t for the time, and use underscores to separate each part. Doing it this way also makes all of the files line up in the proper order in my folders.

 

 

 

Related Links:

 

How to Attach Files and Images

 

Posting Tips for New bB Users

 

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