Jump to content
IGNORED

Amoeba Jump


Dionoid

Recommended Posts

Hi folks, I'll be using this topic to keep you posted about new releases of... Amoeba Jump !

 

(screenshot of older version)

post-63708-0-98802600-1530295612.png

 

ROM Downloads (last updated on 05/02/2023)

 

Physical cartridge (+ manual + optional box)

 
About
Amoeba Jump is a homebrew platform game for the Atari 2600. It's the first Atari game developed by me, Dion Olsthoorn (or Dionoid as I'm known on the AtariAge forums). I initially planned to build this game for the Commodore 64, but after reading the book "Racing the Beam" I decided to buy an old Atari VCS and challenge myself to write a game for this strange, limited but wonderful machine 🙂
The game is free for personal usage, and available in both NTSC and PAL versions (see downloads). An extended version of the game is available in the AtariAge store since 2019 and features alternating 2-player mode (introducing Ms. Amoeba) and SaveKey/AtariVox support for saving your high-score!
 
Objective
The aim of the game is to guide the amoeba (a single-celled creature) up a never-ending series of platforms without falling. The higher you get, the higher your score will be.
There are three different platform types:
  • Yellow - these are the basic, stable platforms
  • White - these are unstable platforms that disappear after you bounce off them once
  • Blue - these platforms are harder to hit because they move back and forth horizontally

Jumping on a red or green spring-button will give you a short boost and some bonus points, but best of all: it makes the little amoeba rejoice!

 

When your score gets beyond 1000 points, little oval-shaped bacteria start appearing on the platforms, which can be eaten by the amoeba. Each bacteria holds one of the six letters from the word A-M-O-E-B-A. Collect all six and the single next time you jump on a spring, you will get a super long boost.
While doing this super boost, the amoeba will show all kind of rainbow-colors, which is done by using code-bytes as colors (just as in Yars' Revenge)
 
The screen wraps around, which means that the Amoeba can leave one side of the screen and immediately reappear on the opposite side. You're going to need this to reach some platforms!

 

Controller

This is a single-player game which uses a joystick as controller.

 

Videos

  • Recorded livestream showing the latest build of Amoeba Jump on ZeroPage Homebrew stream:
Edited by Dionoid
  • Like 16
Link to comment
Share on other sites

It's playing well and looking good! I kind of miss the spring speedrunning aspect but I think the other commenters (in the last thread) are correct in saying it takes over the game quite a bit when it's non-stop springs. I think it could make for an interesting and challenging section of the game though if it's ALL springs spaced one spring-jump apart that you have to land on to progress.

 

It's harder to rack up the huge points now quite as quickly without the spring speed running but that's probably a good thing too, much more challenging. :-) Keep up the awesome work!

  • Like 1
Link to comment
Share on other sites

Chimning in with all other comments - a Doodle Jump version was predestined for the 2600 and the Amoeba has assumed that role brilliantly so far!

It's good to see it developing its own flavor and personality, in true 2600 style.

 

In that vein - how about including a variation in which the "combo spring-jumps" is included as a bonus level after reaching a certain threshold (say 10.000 pts.)?

Player has a chance to maximize his scorer until he falls off in that round, game carries on thereafter. Something around the lines of the bonus round in Paperboy.

  • Like 1
Link to comment
Share on other sites

Finally got to play this. It is very enjoyable. I feel it plays really well with the joystick and I expected to feel otherwise.

Driving control as an option would be interesting and fun to try but I would put my money on paddle control with no screen wrap being the most natural feel.

Look forward to details of the extended version you plan to sell.

Link to comment
Share on other sites

Note: I couldn't figure out how to change the title of an existing topic, so sorry for starting a *third* topic on basically the same homebrew game...

 

***news*** The game will be available on Hyperkin's Retron 77 as one of the pre-installed homebrew games (I think it will be part of the next batch of systems).

Controller
This is a single-player game which uses a joystick as controller. Support for the Driving controller (the one used in Indy 500) is in development.

 

Things you can expect in future releases

  • Different objects that will give you a boost
  • Visual indication of a highscore
  • Some sort of "stage" indication (e.g. background color change)
  • Stages with all white or blue platforms
  • Blue platforms that move independently from each other
  • Objects that you should avoid / not touch

 

 

Dionoid, in its current state, this game is already a lot of fun! Looking forward to future releases, and I for one, will support a cart release. Thanks for sharing your ROMs with the community. :thumbsup:

 

Really nice to hear that Hyperkin will include the game in a future batch of Retron 77's. :)

 

post-21941-0-02556900-1530400033.jpg

Link to comment
Share on other sites

Great game here! In fact, I think this demake could be done on some other old systems as well... the blocky score digits remind me of the Channel F; and the sounds remind me of the Odyssey^2, and I think the game should be doable on both of those systems. On the Channel F, it might get a decent framerate because most of the objects are just 1-pixel high strips (and it doesn't have too many colors as well), and the Odyssey^2 actually should be able to display the platforms as sprites (similar to its Q*bert version) which are actually part of the "block" object, and the 4 redefinable sprites would cover the player and a spring. The only tricky thing here is that there are more than 12 platforms on screen at once, so you may have to multiplex the sprites (which happens in Q*bert as well) or use quad characters.

  • Like 1
Link to comment
Share on other sites

From the other thread. I did the the poodle was cute, but moving forward this is just as good...

Honestly I liked the poodle concept better. But either one is good. I killed A LOT of poodles while playing this afternoon. Best that PETA doesn't get wind of it. :lolblue:

 

My high score so far is 3,100 and some change. I'll post a pic later.

 

It is still pretty hard to daisy chain springboards. I've died too many times deliberately trying to make daring jumps in order to reach them. A couple of times I jumped on a white platform above a springboard thinking I could fall through it ad catapult myself, only to see it disappear below the bottom and end my game... :skull:

Link to comment
Share on other sites

Hi, I just uploaded a version of Amoeba Jump with these new features:

  • 07/10/2018 - After the Amoeba dies, the message "press fire" appears above the score bar. I used a 48-pixel sprite routine for this ; I never knew that showing text on an Atari 2600 is this hard :-)
  • 07/05/2018 - Added a PAL 60Hz version
  • 07/04/2018 - As requested, I added an extra challenge: screens with all white or blue platforms! These screens are showing at scores 4000 (white) and 7000 (blue)
  • 07/02/2018 - Blue platforms now move independently from each other. Makes hitting them somewhat harder, but the movement looks much better.

You can download the new version from the fist post in this thread!

Cheers!

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

It's an amazing game :) I don't know your reason behind it, but I love that the platforms at the start of the game aren't random. After a few deaths (and, boy did I die a lot) the startup layout feels a bit like home. It's a detail, but it feels important.

 

I do think however, that allowing the world to reverse just a tiny bit could improve the game and giving the player the option of making a leap of faith to a platform or spring that has just moved off screen. I think this would not necessarily make the game 'easier', just feel a little bit more foregiving or 'fair'. But maybe that's not the right word: I'm not saying I think it's 'unfair' now. It's just that I think it could improve the flow of the game without impacting the difficulty much.

 

Anyway, great game! Haven't played the last of this.

Link to comment
Share on other sites

Congrats Dionoid on the inclusion of Amoeba jump in Retron 77's new 3.9.3 update today!

 

http://atariage.com/forums/topic/266544-retron-77/?p=4071405

 

EDIT: Looks like it's the 06/26/2018 release of the game that was included, the one with the spring speed running still available.

post-37205-0-27984400-1531716107.png

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

Congrats Dionoid on the inclusion of Amoeba jump in Retron 77's new 3.9.3 update today!

 

http://atariage.com/forums/topic/266544-retron-77/?p=4071405

 

EDIT: Looks like it's the 06/26/2018 release of the game that was included, the one with the spring speed running still available.

is it still displaying the file names with only 8 characters? there would be defender III's if so

Link to comment
Share on other sites

I haven't made the upgrade on the Retron 77 just yet, I'm still waiting for the dust to settle a bit with all the hacks and updates that are flying out. I extracted the ROMs from the posted update from Hyperkin to see what new homebrew games they included.

 

is it still displaying the file names with only 8 characters? there would be defender III's if so

  • Like 1
Link to comment
Share on other sites

Just a couple of suggestions:

- add (as an option) a slow down scrolling increasing with difficulty to force player moving fast instead of staying bouncing on a platform thinking what move to do

- change score visualization using players graphics to cope with modern style "press button" message

Link to comment
Share on other sites

...and add some score multiplicator (like in pinball machines) rewarding "spring combos" (jumping from a spring to the next with only one jump)

 

Just a couple of suggestions:

- add (as an option) a slow down scrolling increasing with difficulty to force player moving fast instead of staying bouncing on a platform thinking what move to do

- change score visualization using players graphics to cope with modern style "press button" message

Link to comment
Share on other sites

...and add some score multiplicator (like in pinball machines) rewarding "spring combos" (jumping from a spring to the next with only one jump)

 

 

Thanks for your suggestions, Silvio! I didn't think of slowly scrolling down the platforms before; that will indeed force you to make a move :-)

I like the current score visualization looking like an early '2600 game; it's that big on purpose :-)

  • Like 2
Link to comment
Share on other sites

 

- add (as an option) a slow down scrolling increasing with difficulty to force player moving fast instead of staying bouncing on a platform thinking what move to do

 

 

 

Thanks for your suggestions, Silvio! I didn't think of slowly scrolling down the platforms before; that will indeed force you to make a move :-)

I like the current score visualization looking like an early '2600 game; it's that big on purpose :-)

 

Make the "slow down scrolling" feature on difficulty switch A/Expert and keep the current on difficulty switch B/Novice.

I say keep the old type scoring font too.

:thumbsup: :thumbsup: Good work Dion!

  • Like 2
Link to comment
Share on other sites

 

Thanks for your suggestions, Silvio! I didn't think of slowly scrolling down the platforms before; that will indeed force you to make a move :-)

I like the current score visualization looking like an early '2600 game; it's that big on purpose :-)

Don't forget spring combo bonus!

Link to comment
Share on other sites

I found this game on my retron and it has grown on me. I like it a lot! If you are open to suggestions:

 

+ Let the player choose a Mrs.Amoeba. Give her red lipstick and a bow (Mrs Pacman style).

+ Change the color of the background from time to time. Let the player know they are doing well.

+ Give the amoeba a simple somersault-like animation.

+ Add lives. If the amoeba dies then show the amoeba flapping some wings (or a sprite angel, balloon or wingy thing picking it up) and placing it on the nearest platform. Die 3 times and you loose! (5 if playing on easy difficulty). Keep the current "1 life" mode as a game variation.

+ Give the player more incentives to jump on to platforms by placing objects like fruit or letters (exidy style) for extra points. Place these on a platform or hang them in the air in straight lines, sine or tangent patterns.For example if doing letters think like in Mr. Do or LadyBug where if you spell "Extra" you get an 1up.

+ Pickable power ups like

* extra lives

* temporary super jump boots (all platforms boost the same as the spring). Play a catchy tune or color cycle somewhere while this goes on

* a net on the bottom that automatically follows the amoeba. Once it catches the amoeba then it disappears after the amoeba jumps on it or you could make it last a few jumps before it disappears.

* an umbrella that allows amoeba more horizontal air time.

+ Enemies that kill the amoeba when touched or fall from the sky that eat or break the platforms. Or a platform that when touched forcefully pushes the amoeba in one direction.

+ Enemy that attaches to the amoeba making it heavier decreasing its ability to jump. Have the player quickly move left and right a few times to shake them off.

+ Special square windows that when touched send the amoeba into a bonus screen. Make it a timed challenge, e.g. "grab as many goodies as you can" Or a "Jumpy Challenge", eg, some pre-made tricky platform level where the amoeba has to reach the top before time runs out.

+ A night stage where platforms are only viewable when lightning strikes. No need to draw the lightning, just flicker the platforms or similar.

+ An ending screen where Mr. Amoeba reaches home as is met by Mrs. Amoeba and the kids LOL

+ Play a short musical riff somewhere when starting the game or at a title screen.

Edited by Atari Pixel
  • Like 3
Link to comment
Share on other sites

The game plays very nicely. keep up the good work! :thumbsup:

There seems to be a small bug, though: if you set the option "Drive unused TIA pins randomly on a read/peek" in Stella, the game crashes. This indicates that you're relying on the value of bits 0-5 when reading from TIA addresses (either directly or because you forgot a "#" symbol in front of a constant in your source, which could cause an unwanted TIA read). The TIA only drives pins 6 and 7, the others should be considered undefined. This is a bug difficult to track down on real hardware because of how undriven bits typically work on the VCS, but it will cause the game to sporadically fail on some consoles (a few games, both classic ones and homebrews have this sort of bug and fail with the option enabled in Stella and, occasionally, on real hardware). A good overview on this subject can be found in this old blog post by supercat:

For a device to put data onto the data bus requires some moderately-beefy transistors. In designing the TIA, Atari only included output transistors for two of the data bus pins, D6 and D7. Consequently, when a read cycle is performed on the TIA, it's the only device that does anything with the data bus, and it only drives two of the bits. So what happens with the others? Nothing, at least not deliberately.

If a signal isn't driven high and it isn't driven low, what will happen to it is anyone's guess. It's possible to design a system so undriven signals will be weakly pulled high, or weakly pulled low, or weakly held in whatever state the seem to be in, but the 2600 doesn't do that. One might think of the state of an undriven wire as being like a feather sitting on the ground. If nothing disturbs it, it will remain wherever it happens to be. On the other hand, there's no particular assurance that nothing's going to disturb it.

In practice, undriven bits on the 2600 usually seem to keep the last state they were driven with. Many things can affect this, though, and good design must not rely upon such behavior. Otherwise, if using EPROMs, one may end up with things like games that work in with some brands of EPROM but not others, or even games that work the dark but not when the lights are on (light falling on an EPROM may slightly nudge undriven signals). Even if a game that relies upon such behavior seems to work today, there's no guarantee that it will work tomorrow.

 

I suggest to enable all the developers settings in that dialog in Stella when developing and/or testing new code. Conveniently, there are two (configurable) sets of options: "player" and "developer", so you can quickly switch between the two without having to change each individual option.

Link to comment
Share on other sites

The game plays very nicely. keep up the good work! :thumbsup:

 

There seems to be a small bug, though: if you set the option "Drive unused TIA pins randomly on a read/peek" in Stella, the game crashes. This indicates that you're relying on the value of bits 0-5 when reading from TIA addresses (either directly or because you forgot a "#" symbol in front of a constant in your source, which could cause an unwanted TIA read). The TIA only drives pins 6 and 7, the others should be considered undefined. This is a bug difficult to track down on real hardware because of how undriven bits typically work on the VCS, but it will cause the game to sporadically fail on some consoles (a few games, both classic ones and homebrews have this sort of bug and fail with the option enabled in Stella and, occasionally, on real hardware). A good overview on this subject can be found in this old blog post by supercat:

 

 

I suggest to enable all the developers settings in that dialog in Stella when developing and/or testing new code. Conveniently, there are two (configurable) sets of options: "player" and "developer", so you can quickly switch between the two without having to change each individual option.

 

 

Thanks for the excellent suggestion, alex_79 !

I found that inside a skipdraw branch of my display-kernel I was doing lda VSYNC, assuming that would always read value 0 into the Accumulator using 3 CPU cycles. Note: I can't use lda #0 because that only takes 2 cycles, and I really need 3 cycles to have the branche-cycles stay in sync. So I changed my code to use a special "Zero" zero-page variable, which fixes the issue. Too bad I need to use an additional ZP variable for this, but it works and I cannot think of a better solution for now.

 

I'll make sure to enable Stella's developer settings by default!

Link to comment
Share on other sites

The matter with the TIA pins is a bit more complicated. The setting is handling a worse case scenario and helps finding coding bugs (e.g. missing '#').

 

On real hardware, the TIA pins are not completely random. E.g. I have written code which assumes that the lower bits of the collision registers are always 0. And that works well on my console.

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