rsiddall Posted July 16, 2022 Share Posted July 16, 2022 Trying to see how close I can get to the original Pitfall in batari. Attached .bin contains the first 3 levels (right to left). I've set-up barriers to keep Harry from proceeding further. There are some trade-offs*: Brick wall and/or ladder can't be done as sprites, together, without introducing flicker. I'm using playfield and ball to achieve something close in appearance. I don't think you can hide Harry when he falls down the holes with CTRLPF, either. There might be some rearranging of the PF/BK that might solve this. Pits opening closing with rolling logs and/or gators create the same problem as the wall/ladder and flicker is introduced. I can get a stationery pit (as playfield) with gators and it works w/out flicker. This allows Harry to traverse the pit by jumping on the gators. Swinging on a vine isn't possible in batari but the above solution solves traversing the pits. Pitfall 2 doesn't have vine swinging either... All of this was just an exercise to see how close I could get to the original game. Idea being, new levels could be introduced along with other elements. Since the actual game already exists on the 2600, there isn't a need to duplicate 1 to 1. This was more of an exercise for me and not a W.I.P. There are some things still in rough state or unimplemented: Harry will levitate if jump button is held down. Otherwise, jumping will work if you release the fire button. If trying to climb out of hole (while on ladder) pushing up plus right or left will get you out in the specific direction. Trees were fudged but still a pretty close approximation. Screen 3 is where I stopped collision detection and Harry will not fall into the pit. Believe that's everything. *Might be wrong in my assertions. ? Pitfall-batari.bin 8 Quote Link to comment Share on other sites More sharing options...
Fort Apocalypse Posted July 16, 2022 Share Posted July 16, 2022 (edited) That's awesome! I like holding down the jump button. Look, it's Peter Pan!!! Edited July 16, 2022 by Fort Apocalypse 1 Quote Link to comment Share on other sites More sharing options...
rsiddall Posted July 16, 2022 Author Share Posted July 16, 2022 8 minutes ago, Fort Apocalypse said: That's awesome! I like holding down the jump button. Look, it's Peter Pan!!! LOL! There is a slight resemblance. ? Quote Link to comment Share on other sites More sharing options...
Fort Apocalypse Posted July 16, 2022 Share Posted July 16, 2022 (edited) For a 2600 crossover, maybe you could have a game where Clark Kent is in the jungle, Lex Luthor has imprisoned Harry, and you have to change into Superman, find Lois who has the key to Lex's Jungle Lair, then rescue Harry after fighting a huge scorpion! Or Lois could save Harry. I'm trying to think what other 2600 characters would be fun to put into the jungle, but my mind's drawing a blank. Edited July 16, 2022 by Fort Apocalypse 2 Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted July 16, 2022 Share Posted July 16, 2022 For the vine you could make it one sprite that looks like a line at various angles. Would take multiple sprites to reproduce a full swing animation. Other than that you could use the Super Pitfall (NES) technique and use up a bunch of round looking sprites and move them relative to each other. ___@___ ____@__ _____@_ ______@ 1 Quote Link to comment Share on other sites More sharing options...
rsiddall Posted July 16, 2022 Author Share Posted July 16, 2022 4 minutes ago, Gemintronic said: For the vine you could make it one sprite that looks like a line at various angles. Would take multiple sprites to reproduce a full swing animation. Other than that you could use the Super Pitfall (NES) technique and use up a bunch of round looking sprites and move them relative to each other. ___@___ ____@__ _____@_ ______@ I like the idea of Super Pitfall (vine and other elements). Hadn't looked at examples beyond the original. ? 1 Quote Link to comment Share on other sites More sharing options...
rsiddall Posted July 16, 2022 Author Share Posted July 16, 2022 (edited) Zipline was another thought for traversing...ala Mayan Adventure. Edited July 16, 2022 by rsiddall Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted July 16, 2022 Share Posted July 16, 2022 I just read that DPC+ supports asymmetrical playfields and pfpixel commands. If you have the space you could just swap playfields with each step of swinging animation in the vine. Or, manually draw the vine with pfpixel commands. https://www.randomterrain.com/atari-2600-memories-batari-basic-commands.html#dpc_news 2 Quote Link to comment Share on other sites More sharing options...
rsiddall Posted July 16, 2022 Author Share Posted July 16, 2022 (edited) 2 hours ago, Gemintronic said: I just read that DPC+ supports asymmetrical playfields and pfpixel commands. If you have the space you could just swap playfields with each step of swinging animation in the vine. Or, manually draw the vine with pfpixel commands. https://www.randomterrain.com/atari-2600-memories-batari-basic-commands.html#dpc_news Sounds more involved than I'd prefer. The pfpixel part would be interesting tho'. Edited July 16, 2022 by rsiddall 1 Quote Link to comment Share on other sites More sharing options...
rsiddall Posted July 16, 2022 Author Share Posted July 16, 2022 Is there a way to slow the debounce code down: ;rem debounce jump current = INPT4 temp3 = ((current ^ %10000000) & previous) & %10000000 previous = current if temp3 then gosub harry_jump As it is currently implemented, Harry jumps up/down instantly. I need to be able to add some hang time for him. I can't figure out how to work a counter into this code example. Since I'm not relying on collision with playfield, I can't have player0y=player0y+1 acting as constant gravity. Quote Link to comment Share on other sites More sharing options...
orange808 Posted July 16, 2022 Share Posted July 16, 2022 42 minutes ago, rsiddall said: Is there a way to slow the debounce code down: ;rem debounce jump current = INPT4 temp3 = ((current ^ %10000000) & previous) & %10000000 previous = current if temp3 then gosub harry_jump As it is currently implemented, Harry jumps up/down instantly. I need to be able to add some hang time for him. I can't figure out how to work a counter into this code example. Since I'm not relying on collision with playfield, I can't have player0y=player0y+1 acting as constant gravity. You might consider using fixed point variables for the player sprite. Good news, the feature is built into batari Basic and easy to use. https://www.randomterrain.com/atari-2600-memories-batari-basic-commands.html#fixedpoint When used, you can position the player sprite on "grid" that is more dense than the Atari's coordinate plane for the five VCS objects. That will provide more flexibility with jumping and gravity--and allow you to implement "hang time". 1 Quote Link to comment Share on other sites More sharing options...
alfredtdk Posted July 16, 2022 Share Posted July 16, 2022 Pitfall is the classic of the atari 2600 classics, for me it will always be at the top of the 2600 list. Considering you don't intend to do a replication, at least do something different with what you're working with, something like the NES Super Pitfall mentioned earlier. Possibilities are endless and an expansion of elements could be added that didn't exist in the original. 1 Quote Link to comment Share on other sites More sharing options...
Fort Apocalypse Posted July 16, 2022 Share Posted July 16, 2022 8 hours ago, Gemintronic said: For the vine you could make it one sprite that looks like a line at various angles. Would take multiple sprites to reproduce a full swing animation. Other than that you could use the Super Pitfall (NES) technique and use up a bunch of round looking sprites and move them relative to each other. ___@___ ____@__ _____@_ ______@ 3 Quote Link to comment Share on other sites More sharing options...
rsiddall Posted July 16, 2022 Author Share Posted July 16, 2022 4 hours ago, orange808 said: You might consider using fixed point variables for the player sprite. Good news, the feature is built into batari Basic and easy to use. https://www.randomterrain.com/atari-2600-memories-batari-basic-commands.html#fixedpoint When used, you can position the player sprite on "grid" that is more dense than the Atari's coordinate plane for the five VCS objects. That will provide more flexibility with jumping and gravity--and allow you to implement "hang time". I'm implementing the fp for the speed of Harry and the rolling logs currently. Everything would move too fast otherwise. Part of what I'm having trouble with is keeping Harry from levitating if the fire button is held down, too. Quote Link to comment Share on other sites More sharing options...
rsiddall Posted July 16, 2022 Author Share Posted July 16, 2022 57 minutes ago, Fort Apocalypse said: 57 minutes ago, Fort Apocalypse said: Looks like the firebar in Super Mario, too. 2 Quote Link to comment Share on other sites More sharing options...
KevKelley Posted July 17, 2022 Share Posted July 17, 2022 16 hours ago, Gemintronic said: I just read that DPC+ supports asymmetrical playfields and pfpixel commands. If you have the space you could just swap playfields with each step of swinging animation in the vine. Or, manually draw the vine with pfpixel commands. https://www.randomterrain.com/atari-2600-memories-batari-basic-commands.html#dpc_news Wouldn't pfpixel use to much? I don't know how many screens the vine appears on but you could just swap the entire playfield up to the vine from the top. But I would imagine if using something like DPC+ you would have extra sprites and could just animate a sprite and I can't imagine it flickering. Best my memory the vine doesn't get to close to other sprites. 1 Quote Link to comment Share on other sites More sharing options...
Kurt_Woloch Posted July 17, 2022 Share Posted July 17, 2022 I guess there's a certain way Activision set things up in the original Pitfall so that things don't overlap and don't need to flicker (Activision, at least in those days, avoided flicker like the plaque): - There's always only one type of object on the ground, which is either a snake, a treasure, rolling or stationary logs or gators (3 in a row counts as one since this is taken care of by the TIA). - Likewise, underground there's only a scorpion or a wall, but not both. The stairs are probably made out of PF graphics. - The swinging vine is probably done with the ball or one of the missiles. - The pit, whether opening/closing or stationary, is probably done with mirrored PF graphics. 1 Quote Link to comment Share on other sites More sharing options...
rsiddall Posted July 30, 2022 Author Share Posted July 30, 2022 Okay, I went with something that looks more like the Intellivision version to solve this problem. No flicker, so bonus! Fort Apocalypse's post here got me going again... Again, not a WIP or Game...just me fooling around with what might be possible. Pitfall-batari2.bin 1 Quote Link to comment Share on other sites More sharing options...
KevKelley Posted July 31, 2022 Share Posted July 31, 2022 I think the vine looks great and had I not been familiar with the original game I would probably not noticed. Everything meshes well. 1 Quote Link to comment Share on other sites More sharing options...
rsiddall Posted July 31, 2022 Author Share Posted July 31, 2022 5 minutes ago, KevKelley said: I think the vine looks great and had I not been familiar with the original game I would probably not noticed. Everything meshes well. Thanks! I think it was an acceptable compromise. ? Quote Link to comment Share on other sites More sharing options...
rsiddall Posted August 10, 2022 Author Share Posted August 10, 2022 Anyone willing to take my code and add a "Repetition Restrainer" or "debounce" to the fire button? If you hold the fire button down, Harry will not complete a full jump but rather a half-jump and float. Of course if you just press the fire button once and let go it works wonderfully. I think I've got the hang-time down pretty spot on. I'm not using a collision jump (player0,playfield), so it needs to work with this choice. I've looked at the examples provided by Random Terrain and bogax, so not sure what I'm doing wrong. But if implemented, it kills the animation/hang-time because the restrain happens instantly. Any help appreciated!! harry_jump.bas Quote Link to comment Share on other sites More sharing options...
Fort Apocalypse Posted August 10, 2022 Share Posted August 10, 2022 3 hours ago, rsiddall said: Anyone willing to take my code and add a "Repetition Restrainer" or "debounce" to the fire button? If you hold the fire button down, Harry will not complete a full jump but rather a half-jump and float. Of course if you just press the fire button once and let go it works wonderfully. I think I've got the hang-time down pretty spot on. I'm not using a collision jump (player0,playfield), so it needs to work with this choice. I've looked at the examples provided by Random Terrain and bogax, so not sure what I'm doing wrong. But if implemented, it kills the animation/hang-time because the restrain happens instantly. Any help appreciated!! harry_jump.bas 13.63 kB · 3 downloads Here's a quick and dirty solution. harry_jump_2.bas.bin harry_jump_2.bas 1 Quote Link to comment Share on other sites More sharing options...
rsiddall Posted August 10, 2022 Author Share Posted August 10, 2022 23 minutes ago, Fort Apocalypse said: Here's a quick and dirty solution. harry_jump_2.bas.bin 32 kB · 0 downloads harry_jump_2.bas 13.76 kB · 1 download OMG...this is beyond perfect! It makes sense when looking at what you did but not sure why I couldn't make the connection from looking at the other existing examples. Just amazing!!! 1 Quote Link to comment Share on other sites More sharing options...
rsiddall Posted August 11, 2022 Author Share Posted August 11, 2022 Figure I should post this since Fort Apocalypse was nice enough to fix my fire button restrainer problem (thanks again!!) Pitfall-batari3.bin 1 Quote Link to comment Share on other sites More sharing options...
Fort Apocalypse Posted August 12, 2022 Share Posted August 12, 2022 On 8/10/2022 at 8:16 PM, rsiddall said: Figure I should post this since Fort Apocalypse was nice enough to fix my fire button restrainer problem (thanks again!!) Pitfall-batari3.bin 32 kB · 5 downloads Wow! That looks really great!! 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.