Jump to content
IGNORED

Fake Gravity Platformer Test


Random Terrain

Recommended Posts

I'm 'cheating' with simple counters in this test program and it seems to feel like other games that use complicated math to simulate real gravity, so that's why I call this fake gravity.

[In case anyone wants to know, I have no missiles in the standard kernel versions because of the kernel_options I'm using, so I had to use the ball. Now I just have one sprite left that I can use for an enemy or target.]


Latest Versions

 

 

Plain (Standard kernel)

 

Below is the newest plain version with no shooting (standard kernel). I updated the code and now it uses fewer variables.


Here's the .bin file to use with an emulator:

fake_gravity_platformer_test_by_random_terrain_plain_2020y_01m_02d_0020t.bin

Here's the bB code:

fake_gravity_platformer_test_by_random_terrain_plain_2020y_01m_02d_0020t.bas

 

 

 

Duck and Shoot (Standard kernel)

 

Below is the newest duck and shoot version (standard kernel). You can shoot by ducking and pressing the fire button (you shoot in the last direction you were facing). I updated the code and now it uses fewer variables.

 

Here's the .bin file to use with an emulator:

fake_gravity_platformer_with_duck_and_fire_button_2020y_01m_02d_0020t.bin

 

Here's the bB code:

fake_gravity_platformer_with_duck_and_fire_button_2020y_01m_02d_0020t.bas
 

 

 

Plain (DPC+ kernel)

 

Below is the newest plain version with no shooting (DPC+ kernel). Since the DPC+ kernel is so different, I had to change some of the numbers and redo the sprite images.

 

Here's the .bin file to use with an emulator:

fake_gravity_platformer_test_plain_dpc_2020y_01m_08d_0544t.bin

 

Here's the bB code:

fake_gravity_platformer_test_plain_dpc_2020y_01m_08d_0544t.bas



post-13-0-68052100-1301261227_thumb.png


http://www.youtube.com/watch?v=Hy5_K2oUprY&rel=0&fmt=35&showinfo=0




Old Versions:

 

Here's the .bin file to use with an emulator:

fake_gravity_platformer_with_duck_and_fire_button_2012y_05m_29d_0338t.bin


Here's the bB code:

fake_gravity_platformer_with_duck_and_fire_button_2012y_05m_29d_0338t.bas

 

-------------------------------------------------

Here's the .bin file to use with an emulator:

fake_gravity_platformer_test_by_random_terrain_2011y_03m_30d_1620t.bin

Here's the bB code:

fake_gravity_platformer_test_by_random_terrain_2011y_03m_30d_1620t.bas

-------------------------------------------------

Here's the .bin file to use with an emulator:

fake_gravity_platformer_test_by_random_terrain_2011y_03m_29d_1452t.bin

Here's the bB code:

fake_gravity_platformer_test_by_random_terrain_2011y_03m_29d_1452t.bas

-------------------------------------------------

Here's the .bin file to use with an emulator:

fake_gravity_platformer_test_by_random_terrain_2011y_03m_28d_1618t.bin

Here's the bB code:

fake_gravity_platformer_test_by_random_terrain_2011y_03m_28d_1618t.bas

-------------------------------------------------

Here's the .bin file to use with an emulator:

fake_gravity_platformer_test_by_random_terrain_2011y_03m_28d_0037t.bin

Here's the bB code:

fake_gravity_platformer_test_by_random_terrain_2011y_03m_28d_0037t.bas

-------------------------------------------------

Here's the .bin file to use with an emulator:

fake_gravity_platformer_test_by_random_terrain_2011y_03m_27d_2351t.bin

Here's the bB code:

fake_gravity_platformer_test_by_random_terrain_2011y_03m_27d_2351t.bas

-------------------------------------------------

Here's the .bin file to use with an emulator:

fake_gravity_platformer_test_by_random_terrain_2011y_03m_27d_2212t.bin

Here's the bB code:

fake_gravity_platformer_test_by_random_terrain_2011y_03m_27d_2212t.bas

-------------------------------------------------

Here's the .bin file to use with an emulator:

fake_gravity_platformer_test_by_random_terrain_2011y_03m_27d_1728t.bin

Here's the bB code:

fake_gravity_platformer_test_by_random_terrain_2011y_03m_27d_1728t.bas



About this test program:

I played around with batari's platformer code and made a little test program with it in August of 2010. The complicated math was a couple of miles over my head, so I kind of gave up on it (hoping to do something similar with my own code some day that might be easier for my tiny brain to understand). I never got around to it until a couple of days ago.

I slapped together a pfread fix for a program that Master_Programmer was working on and my pfread code seemed to be better than what I was already using in some of my other programs. It got me in the mood to finally try my own platformer type of code.

My code seemed to be working pretty good, so I made a new test program using an improved version of my code and added a crappy little animated sprite, then posted it above for you to poop on. :D

Whether the code is good enough as it is or people have ideas to make it better, I won't try to turn it into a game until Seaweed Assault is finished. I just wanted to get this test program done while it was fresh in my mind and so people could let me know know if it's something I should keep working on later.


Thanks.

Edited by Random Terrain
  • Like 5
Link to comment
Share on other sites

Boy I like that! Especially your little skid feature. Almost has a SMB feel to it. He does move a bit quick. I guess your code is scalable for speed though. Don't know if this is anything or not, but when you jump in the open it seems strait forward but when jumping under a platform, the little guy pauses as if he went all the way up before he falls.

  • Like 1
Link to comment
Share on other sites

I am not a platform expert but IMHO player's movement is very good!

Thanks.

 

 

 

 

Boy I like that! Especially your little skid feature. Almost has a SMB feel to it. He does move a bit quick. I guess your code is scalable for speed though.

Yeah, I can slow him down or speed him up. I tend to like faster movement, so that's why I went with 1.38. I was moving him at 1.52 at one time, but that seemed a little too fast.

 

 

 

 

Don't know if this is anything or not, but when you jump in the open it seems strait forward but when jumping under a platform, the little guy pauses as if he went all the way up before he falls.

Thanks for pointing that out. I probably forgot to clear the jump code when he bangs his head. I'll check after I eat supper/dinner or whatever it's called.

Link to comment
Share on other sites

Don't know if this is anything or not, but when you jump in the open it seems strait forward but when jumping under a platform, the little guy pauses as if he went all the way up before he falls.

Thanks for pointing that out. I probably forgot to clear the jump code when he bangs his head.

Yep, that's what I did. I forgot to clear the appropriate variables when he bangs his head. The improved version is in the first post.

Link to comment
Share on other sites

Don't know if this is anything or not, but when you jump in the open it seems strait forward but when jumping under a platform, the little guy pauses as if he went all the way up before he falls.

Thanks for pointing that out. I probably forgot to clear the jump code when he bangs his head.

Yep, that's what I did. I forgot to clear the appropriate variables when he bangs his head. The improved version is in the first post.

The movement is spot on however, holding the button works differently between being in the open and being under a platform. In the open, its one shot when holding the button. Being under a platform it is repeated jumping.

  • Like 1
Link to comment
Share on other sites

The movement is spot on however, holding the button works differently between being in the open and being under a platform. In the open, its one shot when holding the button. Being under a platform it is repeated jumping.

Oops, I cleared one too many variables. Thanks. I'll fix it right now.

Link to comment
Share on other sites

IT'S PERFECT! That feels so natural. Very high quality. Just curious, if yours doesn't have any complicated math going on, then I'm guessing there's plenty of room for adding many other things for any gind of game the engine would be used for? I may play with this one. I smell mario bros 2 (not super).

 

Ok. This may be a stupid question... I follow most everything in the code except for one thing, I never understood how ya alter the thickness of sections on the playfield. I figured there was a provision for it but I can't find it in the code nor have I ever figured it out before. And when ya set the colors, whats the purpose of setting the PF color, then pulling the color data from the list immediately afterwards?

Edited by grafixbmp
  • Like 1
Link to comment
Share on other sites

IT'S PERFECT! That feels so natural. Very high quality. Just curious, if yours doesn't have any complicated math going on, then I'm guessing there's plenty of room for adding many other things for any gind of game the engine would be used for? I may play with this one. I smell mario bros 2 (not super).

Thanks. As it is, there's only 1586 bytes of ROM space left, but there will be a lot more with bank switching turned on.

Link to comment
Share on other sites

Ha! This whole time I didn't realize he could squat. I like runnijng right up near the edge and have him slide only to fall off the edge very gracefully. Your code explained to me and gave me appreciation in one go of how PFreads work. I love it. I still don't get how ya do the variable playfield line thickness thing.

Link to comment
Share on other sites

I still don't get how ya do the variable playfield line thickness thing.

This post might help:

 

http://www.atariage.com/forums/topic/127258-unnamed-scrolling-game-work-in-progress/page__p__1536795#entry1536795

 

 

This might help too:

 

http://www.randomterrain.com/atari-2600-memories-batari-basic-commands.html#no_blank_lines

Edited by Random Terrain
Link to comment
Share on other sites

Nice job RT! :thumbsup:

 

This is super nit-picky, but the one thing that struck me as odd is the fact that the guy skids when stopping but not when changing directions.

Thanks. That is a little odd. I only activated the slide when the player stopped moving the joystick, but forgot about sliding when changing directions. I'll try to add that right now.

Link to comment
Share on other sites

New version in the first post. You can now slide while squatting and slide when changing directions while running. I hope nothing got screwed up. I haven't found any problems on my own so far. Besides the usual WTF problems that always pop up because a solution is never as simple as you imagine it, one problem I had was that || (OR) stopped working when I added more code to the lines. I had to split them up into separate if-thens before they would work.

 

That's something useful to remember. If your program won't compile all of a sudden (although everything looks right) or it stopped working the way it should and you're ready to gnaw off your arm and beat yourself in the face with it, the problem is probably an if-then that stopped working.

Edited by Random Terrain
Link to comment
Share on other sites

I have no words.

Movements are awesome.

Thanks. If nobody finds any other problems, I'll leave this alone for a while and when I get done with Seaweed Assault, I'll turn this into an actual game with platforms that are placed using controlled randomness.

Link to comment
Share on other sites

This looks very good and I love how well documented the code is.

Thanks. I forgot to add comments for the last bit of stuff I did. I'll add the comments and see if I can find a sound effect I like and add it to the program. That will give me an excuse to upload a new version.

Link to comment
Share on other sites

New version in the first post. This one has two sound effects (one for jumping and one for falling). It looks like all of the new code has comments now, but I might have missed something. As usual, if anyone spots a mistake or places in the code that need comments or someone has found a way to crunch my bloated code, please let me know.

 

 

Thanks.

Edited by Random Terrain
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...