Jump to content
IGNORED

Money Man - A New Platform Game!


Byte Knight

Recommended Posts

Hey guys,

 

I thought I'd give a shot at making a platform game instead of another Adventure game! I started playing around with iesposta's Donkey Kong example and came up with Money Man! The game is loosely based on Cashman, which I used to play with a friend on his Radio Shack Color Computer back in the day. You play a Sailor that runs around and collects money, avoiding Hellkats and Terry Dactyl. Bombs drop out of the ceiling that turn into eggs that eventually hatch into enemies. If you can grab the eggs before they hatch, you can chuck them at your enemies. Makes perfect sense right?

 

post-16548-0-34415600-1382751370_thumb.png post-16548-0-27318500-1382751353_thumb.png

post-16548-0-15146700-1382751338_thumb.png post-16548-0-27993700-1382751323_thumb.png

 

Currently the game only has three levels, and I'd like to have MANY more - I think Cashman had like 64 of them. If you're interested in designing some levels, let me know.

 

To do:

 

• Add titlescreen

• Learn how to change playfields to data tables so I have more graphics memory

• Add more levels

• Better ending

• Better death screen

• Add launchers / jumpers

 

Downloads:

 

moneyman16.bas

moneyman16.bin

  • Like 10
Link to comment
Share on other sites

Thanks guys - I'm afraid the jumping is the best that I can make it. You can walk about halfway off the ledge before you fall. If you really need to make a jump, stop at the edge and jump instead of doing a running jump.

 

Here's the part of the code that makes you fall. z{0} is when the player is on the ladder, z{1} is when the player is jumping, and z{2} is when the player is falling. If anyone has a better idea of how to do this, let me know...

 rem check to see if player is on a platform, and not on a ladder or jumping, then fall!
 temp1=player0y+17:temp2=player0x/4-3:temp3=player0y+20
 if z{0} || z{1} then goto drawscreen
 if !pfread(temp2,temp1) then player0y=player0y+1:z{2}=1:goto drawscreen
 if !pfread(temp2,temp3) then player0y=player0y+1:z{2}=1:goto drawscreen
 z{2}=0

drawscreen

Link to comment
Share on other sites

Wow! This is really cool, BK. It's exactly what I was trying to accomplish 6 or 7 years ago with my 'jumper' game using the multisprite kernel, but the result was less than stellar. I have to agree with the previous comments that jumping is a bit frustrating, but it's a fantastic start. I wasted many days of my youth playing jumpman on my C64 in 1983-84 and this is the game I've always wanted to see on the 2600 :)

Link to comment
Share on other sites

RevEng - let's see you beat this one first try!

Nope, It took me a few tries to get through it. I think it might be tuned a bit hard at this point, but I enjoy the challenge.

 

I think I managed to find a bug and exploit it... if you hold the jump button while climbing ladders you get a super boost right up to the next platform! Super Money Man!

Link to comment
Share on other sites

Playfield as data statements is fairly easy.

bogax is the genius with "loops within loops" that just do a pfpixel on from the top to the bottom of the screen and skip the zeros.

 

Nobody has made a tool yet, so it has to be done by hand.

I need to put together a step by step.

Basically I take the full playfield:

In a text editor, turn the . into 0 and the X into 1

Then break each row into columns, adding the % and the ,%

(Note: VbB may do this in the new "convert to data" right click thing. Must look into that.)

 

Now I have 176 rows of 4 column bytes like this:

data

%00000000,%00000011,%11000000,%00000000

%00000000,%00000000,%00000000,%00000000

etc.

end

 

There a website you can go to in your browser and paste those 176 data lines in.

I have it remove duplicates and list what was duplicated and removed.

(Advanced: If you have 16 columns or less you can really compress things. My DK level 4 had 16 unique columns.)

 

Then, again by hand with the data from that website I wrote down a table of the rows that draw the screen.

1, 1, 2, 1, 3, 2, 2, 2, 2, 4 etc.

(Advanced: Here is where the 16 or less come in. That table can be compressed into nybbles or half-bytes as 4 bits can hold (0-15) $0 to $F)

 

Then bogax took those two tables and wrote a routine to pfpixel on from the top to the bottom.

When you need a new level, just pfclear and run the routine and all the pfpixels will be drawn from the data in the bank, (not the graphics bank).

 

(More advanced: Similarly, I found ways to use the ARM routines to PUSH data to the Playfield. It is faster than pfpixel each dot, but not fast enough to do a whole screen update in-game, it will over cycle and roll the screen on real hardware. SeaGtGruff helped on that. I found you can PUSH parts of the screen in-game. Example: If you have run my Jumpman1234.bin at the beginning when kong moves left and the girders slant? That effect rolled a real TV, but with PUSH it does not roll. I was quite happy when that test worked! I love the effect. See attached opening, but note Level 1 is a failed test, 2 nothing new & 3 is messed up also.)

Jumpman1234_20131006b.bas.bin

Link to comment
Share on other sites

Wow! This is really cool, BK. It's exactly what I was trying to accomplish 6 or 7 years ago with my 'jumper' game using the multisprite kernel, but the result was less than stellar. I have to agree with the previous comments that jumping is a bit frustrating, but it's a fantastic start. I wasted many days of my youth playing jumpman on my C64 in 1983-84 and this is the game I've always wanted to see on the 2600 :)

 

Thanks! I think Cashman was based on the game Jumpman, although I never played Jumpman. Feel free to design some levels if you want...

Link to comment
Share on other sites

Playfield as data statements is fairly easy.

bogax is the genius with "loops within loops" that just do a pfpixel on from the top to the bottom of the screen and skip the zeros.

 

Cool - thanks for the very detailed explanation. I may still have to ask you to walk me through converting one of my screens. What is the website that removes the duplicates?

Link to comment
Share on other sites

Nope, It took me a few tries to get through it. I think it might be tuned a bit hard at this point, but I enjoy the challenge.

 

I think I managed to find a bug and exploit it... if you hold the jump button while climbing ladders you get a super boost right up to the next platform! Super Money Man!

 

Oh, so that's how you beat the game so easily... Thanks for the bug report - I'll definitely have to fix that one.

Link to comment
Share on other sites

  • 4 weeks later...

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