Jump to content
IGNORED

Bot&Tom (was: Top&Tom 2)


Thomas Jentzsch

Recommended Posts

 

6thAnnualAtariHomebrewAwards-Atari2600BestHomebrew4K(OriginalPort).thumb.png.2599c22ba1480801f640f6490529c7dc.png

Attached you find my latest little project called TopBot&Tom 2. If that name sounds familiar, please have a look at the game's history below.

 

Here are some basic instructions:

 

TopBot&Tom 2 is an enhanced variation of the browser game game Top&Tom by chsxf. Like in the original, you play TopBot and Tom, two bots that went on a road trip while being attached to one another. The twist is you can only control TopBot directly, but you have to help both of them continue their journey.

 

Use a joystick in the left port, to move TopBot up and down. Tom cannot be controlled directly, but you can make it avoid obstacles anyway. Jump then rush for the ground to bounce it below obstacles on its side of the road. Jump just after to bring it back to the road faster than it would be by itself.

 

A 2nd player can take over control of one direction, up or down by using a joystick in the right port. 

 

Press Select to check and change the current game variation. There are three difficulties which each can be played on three non-random and one random tracks. On top of this, you can combine each variation with  power-ups and shield options. The current variation and its options are displayed at the bottom of the screen, while the game is stopped.

 

To start a game, press Reset at any time. Or press the fire button, when a game is over.

 

During the game, TopBot and Tom will face numerous blocks in multiple combinations. If they hit these blocks, they will lose energy. If all energy is lost, the game ends. Use joystick up to make TopBot jump up and bring back Tom fast to the road. Use joystick down to bring it TopBot back fast to the road, which then allows Tom to jump.

 

The game is played in stages, each lasting ~60 seconds. At the end of each stage, you gain some extra energy and the game pauses.

 

If you have the Power-Up option enabled, you can collect power-ups, which randomly appear at the top or bottom of the screen. But you will get no extra energy at the end of a stage.

 

The shield option allows you to pass an obstacle without losing energy from it. But while the shield is enabled, it will require a little energy too. And if you still hit an obstacle, you will lose twice as much energy as without this option.

 

Note: The options can only be changed while being in select mode. During the game changing them has no effect.

 

While you select a variation, the display will alternate between the current variation, high score and high score stage display. After the game is over, the display will alternate between score, stage, high score and high score stage. High scores will be displayed in red.

 

Note: The ROM supports the PlusROM Highscore Club. But since this is a WIP and I am still tweaking some paras, all scores will be deleted for the final version.

 

Some history

Since I am always lacking ideas, I was browsing the web when I found Top&Tom by cxsxf. I really liked the unique twist in game play and the nice physics. And it looked very doable for the 2600. This was late in 2021 and I started working on it until I got a nice kernel and were able to play the game. Then RL and other projects interfered, so development stuck until after summer vacation. I was making good progress when Arlasoft (who I thought was chsxf) released his 2600 version the same original idea. This came a bit like shock. What should I do now (I thought it was his original idea)? I contacted Arlasoft and it turned out that he is a very nice person who likes my version and doesn't mind at all about me releasing it.

 

Nevertheless I decided to wait some weeks before I got public to give him time to finish his version. Since that did not happen, I finally decided to announce and release my WIP during AtariAge day. And after going public, Arlasoft came here and corrected my mistake. :) 

Top&Tom (V0.9).zip

Top&Tom 2 (V0.91).zip

Top&Tom 2 (V0.92).zip

Top&Tom 2 (V0.93).zip

Top&Tom 2 (V0.94).zip

Top&Tom 2 (V0.95).zip

Top&Tom 2 (V1.00).zip

 

Bot&Tom (V1.01).zip

Edited by Thomas Jentzsch
  • Like 24
Link to comment
Share on other sites

Awesome work!

 

I prefer the gameplay of "Top&Tom 2". Not to stop the game and just reducing the power when a obstacle is touched is a great idea!

 

On the other hand the original "Top&Tom" has a nice title screen and a catchy background music, but the gameplay is unfortunately too hard for me.

 

I have uploaded the ROM to the PlusStore, so PlusCart users can find the game in the WIP folder "/Public ROMs/WIP/R-Z/Top&Tom 2" or in the "Recently Added ROMs" folder

  • Like 3
Link to comment
Share on other sites

Just to clarify, I'm not cxsfx who created the original browser-based game. Like Thomas I saw it in a roundup for the game jam it was written for and thought it was a nice little concept. 

 

Happy that Thomas has built on the idea, my version is very much one of those frustrating 'endless runners' like Flappy Bird that are anything but endless due to their difficulty....but like Flappy Bird it does have the 'one more go' factor. 

 

It's pretty crazy that two of us were working on ports of the same extremely obscure game tucked away in a corner of the internet, for the same system at the same time!

Edited by Arlasoft
  • Like 8
Link to comment
Share on other sites

18 hours ago, Arlasoft said:

Just to clarify, I'm not cxsfx who created the original browser-based game. Like Thomas I saw it in a roundup for the game jam it was written for and thought it was a nice little concept. 

Oops, I totally misread your post on the website. :) Nevertheless, you went public first, so IMO you still have more rights to using the idea for the 2600 than I have.

 

Anyway, I have to update some posts and docs now. :D 

18 hours ago, Arlasoft said:

Happy that Thomas has built on the idea, my version is very much one of those frustrating 'endless runners' like Flappy Bird that are anything but endless due to their difficulty....but like Flappy Bird it does have the 'one more go' factor. 

Yes, there is quite a difference in the result.

18 hours ago, Arlasoft said:

It's pretty crazy that two of us were working on ports of the same extremely obscure game tucked away in a corner of the internet, for the same system at the same time!

That's really crazy, and IIRC happened only once before (Tower of Rubble).

Edited by Thomas Jentzsch
  • Like 2
Link to comment
Share on other sites

ZeroPage Homebrew is playing Top & Tom 2 on Wednesday's ZPH stream LIVE on Twitch, hope you can join us!

 

 Games:


After Dark:

  • Jumping At Shadows (2022 Demo | Jaguar) by Reboot / Lawrence Staveley @CyranoJ & Ander Lex @agradeneu (Code) / Ericde45 @Ericde45 (Sound Engine) / Ander Lex & Szadi Art (Artwork) / Roald Strauss (Music)
  • Stormbringer (2022 Exclusive Retail Premiere | Jaguar) by Lawrence Staveley @CyranoJ (Jaguar Port) / David Jones (Original Programmer) / Benedikt Scheffer @Cabbage (Packaging Artwork)

 

 (WATCH IN 1080P60 FOR BEST QUALITY)

 

  • Like 1
Link to comment
Share on other sites

33 minutes ago, Thomas Jentzsch said:

@ZeroPage Homebrew Thanks for presenting my game. But is there any chance to present the game in an early slot instead, so that I can participate? I would really prefer that.

Sadly a Wednesday can't be early as there's nobody here to do it with me at that time and the early Friday timeslot with Darcy is not for another week and a half. 😞 I was really excited to show your game after you told me you were working on it during AA Day and didn't want to wait until almost the end of November to have it on.

 

- James

Link to comment
Share on other sites

Since this is the programming forum, some info about the coding and logic. Which both became quite complex:

  • The game creates the obstacles randomly on-the-fly. There it considers the heights/bit pattern of the previous (most right) and the planned, new obstacle. And, depending on the required jumping direction (top to top,top to bottom, bottom to top, bottom to bottom) and the current difficulty, calculates a minimum distance to the previous obstacle. If that minimum is met, it randomly (more frequent at higher difficulties) starts creating the new obstacle.
  • Obstacles are also randomly extended on-the-fly while entering the screen. Either by increasing their width or by adding copies. The width is limited by the obstacle's height/bit pattern and on which side (top or bottom) it is. Else some obstacles would become impossible to pass. 
  • The kernel can display two obstacles at a time per side. One obstacle is using player 1 (so it can be made very wide or repeated) and the other one is using missile 0. (Note: It cannot use missile 1, because that would be repeated too when repeating player 1. And that's the reason why the car, which is player 0, has the same color as the obstacles. One of the usual Atari 2600 compromises, which favors gameplay over looks.) 
  • While a missile based obstacle is invisible, the code checks if the currently displayed player obstacle cannot be extended anymore (more than 64 pixel into the screen) and could therefore be displayed by the missile (no repeats and not too wide) instead. Then the missile is used for this obstacle, which frees the player. It can now create more complex obstacles earlier than without the switch to the missile.
  • There are currently 16 different obstacle bit pattern, from which only eight are used for the bottom obstacles.
  • The obstacles are smoothly faded into and out of the screen by changing player's and missile's size and by hiding their remains behind a four pixel playfield left and right of the screen.
  • The points you gain when passing an obstacle successfully (no collision) depends on its bit pattern and width. The points are also calculated on-the-fly, else the required table would become a bit large.
  • Collisions are done in hardware, separately for top and bottom. This makes them pixel perfect and saves a lot of code and CPU time.
  • The band between the cars is the ball. Its color is set to red and back to black in each line it is displayed. Else the obstacle hiding playfield would become red too.
  • The power-ups are player 1 and vertically outside the obstacle area. That's why they can have their own color.
  • The road is created from repeated missiles 0 and 1 over a colored background.
  • The game kernel is split into five vertical stripes (top power-ups, top obstacles, road, bottom obstacles, bottom power-ups) and transitions between the stripes. Between the stripes, several player and missile repositionings are required. These happen during the transitions. The code makes sure that there are no visible gaps between the stripes and no visible HMOVE blanks (often using "early HMOVEs").
  • The car jumping is using 16-bit fractional math the physics. At the start of a jump, the cars get an initial speed speed. While the player presses up, the Top car gets some additional acceleration and the bottom car some hefty (negative) acceleration towards the road. While down is pressed, the top car receives a hefty acceleration towards the road. The bottom car is not affected here. From these speeds, gravity is deducted each frame. The parameters for jumping and gravity are different between sides, to allow easier gameplay.
  • The sound uses both channels. Channel 0 is for the jumping and collision sounds, channel 1 for scoring, end of wave and game over sounds. While any of the channels is not used, the background sound is played in one or both channels. This is trying to replicate the beat pattern of Kraftwerk's famous Trans Europa Express (I am no musician, but I did my very best. :)). Did anyone even notice this? BTW: Kate Bush's Running Up That Hill uses the same beat too.

I hope that makes sense. Feel free to ask questions if anything is not clear or missing.

Edited by Thomas Jentzsch
  • Like 7
Link to comment
Share on other sites

3 hours ago, Thomas Jentzsch said:

This is trying to replicate the beat pattern of Kraftwerk's famous Trans Europa Express (I am no musician, but I did my very best. :)). Did anyone even notice this?

 

It seemed familiar, but I couldn't place it.  iTunes say's it's been over 2 years since I'd last listened to any of my Kraftwerk CDs (well, the lossless rips of them), will have to rectify that today! Of course I have the English version, Trans Europe Express.

  • Like 1
Link to comment
Share on other sites

3 hours ago, Thomas Jentzsch said:

@ZeroPage Homebrew If you stream my game, please try out the (automatic) two player option. I cannot really test it and I wonder if it doesn't make the game too hard. Maybe its just a gimmick.

 

You bet! We'll make sure to try that out on the show tonight.

 

- James

Link to comment
Share on other sites

8 hours ago, Thomas Jentzsch said:

I have just added the latest WIP (V0.91) to the first post. Its mostly just polishing and code optimizing, you may notice that the generated obstacle sequence differs.

uploaded the ROM to the PlusStore WIP folder "/Public ROMs/WIP/R-Z/Top&Tom 2". ROM can also be found in the "Recently Added ROMs" folder.

 

@Thomas Jentzsch will there be a patch for the PlusROM HSC?

Link to comment
Share on other sites

8 hours ago, Al_Nafuur said:

uploaded the ROM to the PlusStore WIP folder "/Public ROMs/WIP/R-Z/Top&Tom 2". ROM can also be found in the "Recently Added ROMs" folder.

 

@Thomas Jentzsch will there be a patch for the PlusROM HSC?

Thanks for keeping track. And no, I do not plan a patch.

Link to comment
Share on other sites

@ZeroPage Homebrew Thanks for presenting my game in the show. 

 

And sorry for the initial bug. I had expected that you would use the PlusCart and therefore tested the ROM with it. There the error doesn't show. But on Harmony it does. It turned out to be a stupid typo mistake (using tsx instead of txs in the TIA/RAM initialization code).

 

BTW: You still owe me some two player gameplay. ;) 

  • Like 1
Link to comment
Share on other sites

9 hours ago, Thomas Jentzsch said:

@ZeroPage Homebrew Thanks for presenting my game in the show. 

 

And sorry for the initial bug. I had expected that you would use the PlusCart and therefore tested the ROM with it. There the error doesn't show. But on Harmony it does. It turned out to be a stupid typo mistake (using tsx instead of txs in the TIA/RAM initialization code).

 

BTW: You still owe me some two player gameplay. ;) 

 

8 hours ago, Al_Nafuur said:

me too. I mentioned it and the PlusROM HSC connection of the game in the chat, but to no avail. 😞

 

@Thomas Jentzsch Sorry about last night, I was particularly frazzled by having to re-set up all my equipment from AADay and the fact I discovered my RetroTINK 5X-Pro wasn't working and had to be swapped out at the last minute before the show. Luckily I got the game working correctly after pointlessly fiddling around with my Framemeister settings. 😞

 

It definitely won't be the last time we'll be playing Top & Tom 2 on the stream, what an unbelievably fun game!!  I'll make up for the lack of two player gameplay the next time. Sorry again, I got distracted by all the chaos.

 

@Al_Nafuur Looking forward to doing an upcoming show highlighting all the homebrew that's been added to the PlusROM HSC and trying my hand at some highscores! 🙂

 

- James

 

 

  • Like 2
Link to comment
Share on other sites

1 hour ago, ZeroPage Homebrew said:

@Thomas Jentzsch Sorry about last night, I was particularly frazzled by having to re-set up all my equipment from AADay and the fact I discovered my RetroTINK 5X-Pro wasn't working and had to be swapped out at the last minute before the show. Luckily I got the game working correctly after pointlessly fiddling around with my Framemeister settings. 😞

And then you were unlucky enough to start with a game which has a startup bug. Completely understandable that you were stressed.

 

BTW: I was really stressed too while watching you to solve the non-existing Framemeiste problem. I knew immediately that the problem was in my game and that you just had to press SELECT to solve it. Next time we better delay until I can be following the stream live. :) 

  • Like 3
Link to comment
Share on other sites

Over the last days Top&Tom 2 received some polishing. The latest version 0.92 is attached to the first post. A PAL60 version is included now too.

 

Most cosmetic stuff will be noticeable. Besides that, I tweaked the difficulties and obstacle generation. And the difficulty now increases per stage (not per time). Also, instead of difficulties 1 to 3, I decided to use starting stages (1, 5 and 9). Here I am not finally sure if I should keep that. I have only a few bytes left (maybe I will add a pause function or so), so what is left now is some good play testing. 

 

Besides any bugs, I am most interested into the difficulty. Especially if the game is too hard when starting at stage 1 (for beginners) and if it is too easy when starting at stage 9 (for the experts). Since I have played a lot during development, I can't exactly judge that anymore. Please also have a look at the power-up and shield variations. I put them on difficulty A (advanced) intentionally, because IMO they make the game harder. So any feedback is more than welcome.

 

And two player mode testing is still missing too. :) 

  • Like 6
Link to comment
Share on other sites

Very nice game!  I found the difficulty ramp to vary depending on the powerup/shield settings.  Without powers and shields, I had less to distract me so I was able to more easily get through levels 1-7 (Using 9" CRT, Retrogameboyz D-pads).  Starting around level 8 the difficulty ramp gets noticeably harder and by 10 I was quickly crashing into targets right and left (or should I say top and bottom...).  I do prefer a few easier levels to start off with to get warmed up, so that was nice.  So far my top score on "1 1 no powerups or shields" was 37988 ending at stage 10 but I have not been playing long.   Jumping felt nice and reminded me of latter-era 8-bit games.  Some of the dodging mechanics and pre-planning needed remind me of Moon Patrol (having to time shooting of rocks and jumping of pits).    

 

Playing 1 1 with both powerups I found my games ending in earlier levels - a lot of times when I reached for a powerup I'd hit something, and since you get points for jumping over things grabbing the bombs could actually be a detriment (I don't think you get points for it).  I was "50% / 50%" successful in avoiding a situation when using shields, and had to limit my shields to the wide blocks, otherwise I'd be focused on the shields and not on the subsequent jumping.   To me with the powerups enabled the stage levels increased more linearly in difficulty, mainly because I was hitting more stuff earlier on trying to get the powerups.  I'm sure I'll get better in time (or perhaps I just need to avoid the powerups entirely as they are an attractive nuisance - you are right that either option is for more advanced players).  I think my preferred play setup is with powerups and with shields - if shields are not enabled, the the fire button isn't used for anything but resetting the game, correct?  If so, I can basically play with the shields option but not actually use them by not pressing the button.

 

For my reference, "1 1", "1 2" and "1 3" means stage one with 3 different pre-known track setups, and "1 ?" means stage one with a randomly generated track?

 

I do like the stage concept.

 

 

image.thumb.png.865036d65b0b3ddc7e586d94538d20ef.png

  • Thanks 1
Link to comment
Share on other sites

Thanks for the extensive feedback. This is very welcome.

7 hours ago, littaum said:

 I found the difficulty ramp to vary depending on the powerup/shield settings.  Without powers and shields, I had less to distract me so I was able to more easily get through levels 1-7 (Using 9" CRT, Retrogameboyz D-pads).  Starting around level 8 the difficulty ramp gets noticeably

harder and by 10 I was quickly crashing into targets right and left (or should I say top and bottom...).  

Thanks. At least for you, the difficulties feel about right. Or should the higher levels be easier, allowing longer games?

7 hours ago, littaum said:

Playing 1 1 with both powerups I found my games ending in earlier levels - a lot of times when I reached for a powerup I'd hit something, and since you get points for jumping over things grabbing the bombs could actually be a detriment (I don't think you get points for it).  I was "50% / 50%" successful in avoiding a situation when using shields, and had to limit my shields to the wide blocks, otherwise I'd be focused on the shields and not on the subsequent jumping.   To me with the powerups enabled the stage levels increased more linearly in difficulty, mainly because I was hitting more stuff earlier on trying to get the powerups.  I'm sure I'll get better in time (or perhaps I just need to avoid the powerups entirely as they are an attractive nuisance - you are right that either option is for more advanced players).

This is also my experience. Without power-ups and shield, you can get into a flow. But when they are enabled, this flow is constantly interrupted (by yourself!).

7 hours ago, littaum said:

I think my preferred play setup is with powerups and with shields - if shields are not enabled, the the fire button isn't used for anything but resetting the game, correct?  If so, I can basically play with the shields option but not actually use them by not pressing the button.

Yup. The fire button is not used during the game.

7 hours ago, littaum said:

For my reference, "1 1", "1 2" and "1 3" means stage one with 3 different pre-known track setups, and "1 ?" means stage one with a randomly generated track?

Exactly. The idea is, that you can learn the pre-know tracks to get further into the game. And have the random track for playing something new.

Link to comment
Share on other sites

To me 10 minutes is about the sweet spot for a game that requires these kind of reflexes - I start getting agility fatigue after that.   I don't really mind having my games end at stage 10 due to my own ability, as I've been well entertained along the way (and in thinking about it, it really pays to try and optimize your score on earlier levels, trying to jump over as many things as possible while it is still easy). 

 

In terms of tuning I personally feel the game is pretty good as-is.  I was mulling over how the many options could be accommodated in a high score competition (this game seems ideal for such a thing), but since it seems like the options are 50/50 whether they help you or not having people just play whichever option would seem pretty balanced in comparing scores.

  • Like 1
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...