Jump to content
IGNORED

Terrance & Phillip


atari2600land

Recommended Posts

I was bored, so I made this. Depending on feedback, I might make a full-fledged platform game out of this with this as the title screen. Up would jump and the fire button would unleash a big fire fart out of Terrance or Phillip's butt that would kill any enemy close by. Or maybe I've watched "South Park: Bigger, Longer and Uncut" too many times. ;) And if someone wants to simplify my music code, feel free to do so.

post-9475-1204012183_thumb.png

tandp.bas.bin

tandp.bas

  • Like 1
Link to comment
Share on other sites

I've added the basics to the platform part of the game, except you can't fart when you press fire. Any help on picking the right fart sound would be greatly appreciated. To start the game, press the fire button. Normally, if you get to the other side of the screen, a new screen pops up, but for now it's just this one screen, so it's like Mario Bros. I'll add some more screens as time goes on.

tandp3.bas.bin

tandp3.bas

Link to comment
Share on other sites

I found out that if I make the status bar in blue, the first line of pfblocks will also show up in blue. Is the playfield and status bar somehow connected? I also added a few other things, like a third screen and the status bar (which is for health). I'll be using the lives counter for the fart counter (you get three farts per level) and the score for the life counter. (i.e. if you have three lifes left, the score will say "000003"; or later, just plain "____03.") This'll be the last update for the day. So, how am I doing so far?

tandp7.bas.bin

tandp7.bas

Link to comment
Share on other sites

I found out that if I make the status bar in blue, the first line of pfblocks will also show up in blue. Is the playfield and status bar somehow connected? I also added a few other things, like a third screen and the status bar (which is for health). I'll be using the lives counter for the fart counter (you get three farts per level) and the score for the life counter. (i.e. if you have three lifes left, the score will say "000003"; or later, just plain "____03.") This'll be the last update for the day. So, how am I doing so far?

 

I like the player sprite. Very well done! Your games keep getting better and better.

Link to comment
Share on other sites

Thank you, Piggles.

 

Now, with this new update, I've added a fart sound. If you press fire, all the enemies (those are supposed to be pigs) on the screen will disappear, (presumably because Terrance's farts are so toxic. :))

I've also gotten rid of the score and just had Terrance have one life. When I put in the code neccessary to get rid of it, it triggered player0 having one close copy, though. Adding NUSIZ0=$00 got rid of it, though. I do have a problem, however, and it lies with the status bar. After about four hits, it doesn't go down anymore but instead does weird stuff like what is shown in the picture. Any ideas as to why and how to fix this?

As for the story, it's simple: For those of you who haven't watched the South Park movie, Terrance mentions Phillip as being a pigf---er. Well, I took that to the extreme, and having the pigs be so tired of Phillip raping them that they've kidnapped him and are presently torturing him in ways we can't even imagine. It's up to Terrance to save Phillip from the evil pigs.

post-9475-1204227964_thumb.png

tandp8.bas.bin

tandp8.bas

Link to comment
Share on other sites

I added two more screens and an infinite fart code. My plan is to have 4 levels, each with 50 screens, so it'll take a while to get this finished. Tell me if the screens are getting too hard, so I would move them to later in the game. I still need some help with the weird status bar though.

tandp9.bas.bin

tandp9.bas

Link to comment
Share on other sites

I added two more screens and an infinite fart code. My plan is to have 4 levels, each with 50 screens, so it'll take a while to get this finished. Tell me if the screens are getting too hard, so I would move them to later in the game. I still need some help with the weird status bar though.

 

I beat all of the screens without having to fart, so they're not too difficult yet.

Edited by aftermac
Link to comment
Share on other sites

Seems like a simple, but reasonably nice game. Some aspects of the jumping physics seem a bit dodgy, though, especially those involving playfield collisions.

 

I would suggest that at each frame you keep track of how the player has moved from the previous frame (U=up; UR=up right; etc.). If there's a collision and the player's last move was diagonal, undo the vertical part. For other collisions, move the player down.

 

There are some more sophisticated techniques that involve figuring out before each frame whether there will be a collision and where on the player sprite it will be, thus allowing for more sophisticated rules (e.g. a player jumping against a wall could be allowed to climb if his hands can reach an exposed edge but not otherwise). I don't know if you want to go to that much trouble, but a good approach is to have two extra versions of each shape, seven lines taller than the displayed version. Start by putting the shape at the top of the first region; then for every pixel that's set in the original shape, set that are in the same row or within the next seven rows down, and in the same column or the next three columns to the right. The second copy of the shape should hold the "overflow" from stretching the first copy (e.g. if a pixel was set in the seventh column of the fifth row of the original shape, the second copy should have the left two columns filled in the fifth through twelfth rows).

 

These extra shapes will not be displayed, but they may be used fairly easily for collision detection. If the player's sprite could overlap nine playfield pixels, it may be checked for a playfield collision by checking the state of those nine playfield blocks and, for each block that's set, looking at one bit in one of those revised shapes. Probably not an instantaneous operation, but probably faster than checking all of the pixels the playfield block might touch.

Link to comment
Share on other sites

Great job a2600l, looks like your programming skills are definitely catching up with your creativity and design abilities.

The status bar problem is a bug in bB 1.0; You can't set the status bar color or it won't work, have to leave it the same color as the playfield.

Link to comment
Share on other sites

Oh and as usual, I'm gonna gripe about your player movement code. Your jump code is pretty weird and unnatural, needs a little work.

This game also seems like it would be a good chance for you to implement velocity and friction for your player movement code. Then you can have a variety of surfaces and elements the player reacts with differently, like ice, tar, quicksand, water, wind - the list goes on.

 

Super Mario Brothers 2 for the NES is a good reference for quality physics for a platformer, and contains excellent examples of everything I've mentioned - including how to improve your jump code.

Link to comment
Share on other sites

Added a screen. You now start at screen 10 instead of screen 1 so you don't have to go so far to get to the new screens. Each level will have 15 screens, with hopefully 6 levels, each with a different theme (ice, desert, etc.). This level is the plains.

tandp14.bas.bin

tandp14.bas

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