Jump to content
IGNORED

2048 2600


chesterbr

Recommended Posts

Hi!

 

I just released 2048 2600, a port of the 2048 game to the Atari 2600.

 

It is a very simple program, with lots of to-dos, but I had to release it while 2048 is still a thing :-D.

 

Its source code is freely available, and since I could not have done it without the many useful tips and tricks I've learned on this forum, I wanted to share it here first.

 

The ROM is attached, but the source code and more information can be found from here.

 

Cheers,

Chester

2048.bin

  • Like 5
Link to comment
Share on other sites

Just played, great game so far! Are you still iterating?

 

I would like the game to keep score. Also a "Game Over" or similar on the last tile. If you get the score working, maybe make use of the hi-score chip used by other games?

 

As far as blue sky dreaming, make a 5x5 grid version?

  • Like 1
Link to comment
Share on other sites

Just played, great game so far! Are you still iterating?

 

I would like the game to keep score. Also a "Game Over" or similar on the last tile. If you get the score working, maybe make use of the hi-score chip used by other games?

 

As far as blue sky dreaming, make a 5x5 grid version?

 

Thanks! And yes, there is still lots of room for improvement. Score is at the top of the list, because several of the multiplayer ideas depend on it.

 

The good news is that the game is already designed for the score - for example, the players are positioned just before the board (and not outside the frame loop, as I'd usually do since they don't change positions so far).

 

Another thing that is accounted for in is the ability to draw two boards on the screen (also a multiplayer demand). There is an issue open about the Game Over status - another necessity for multiplayer.

5x5 can be messy :-( Not impossible, but the impact would be quite big, so I'd rather concentrate on what can be added on the 4x4, which is pretty stable right now.

 

I appreciate the feedback!

Link to comment
Share on other sites

 

5x5 can be messy :-( Not impossible, but the impact would be quite big, so I'd rather concentrate on what can be added on the 4x4, which is pretty stable right now.

 

I appreciate the feedback!

Fair enough. I know the 2600 has its limits. Keep up the good work!

Link to comment
Share on other sites

Great. Then everything else is just bells and whistles.

 

BTW: I would like to have a programmers edition, with binary numbers (using dots and dashes for 0s and 1s). Like this one, but maybe better without leading zeros. :)

 

Heh, can be done. The tiles are defined here: https://github.com/chesterbr/2048-2600/blob/master/tilegen.rb

 

Could switch between different tilesets (although that might need the cart to be upgraded from 2K to 4K, or just build a "pre-hacked" version :-)

Edited by chesterbr
Link to comment
Share on other sites

Ok, we have a score now: http://github.com/chesterbr/2048-2600

 

post-36187-0-15799300-1396111429_thumb.png

 

Font is likely to change - I loved the one I adapted from Berzerk, but I felt it was too much of a rip-off (I mostly shortened, flipped and played a tiny bit with the smaller widths), so I trashed it. For the record, looked like this:

 

post-36187-0-75250800-1396111372_thumb.png

 

  • Like 1
Link to comment
Share on other sites

I have worked a bit on designing a kernel which looks closer to the original. If you are interested, let me know,

 

Since I don't like tiny numbers, I decided to display them as 2^x, with only the x displayed. :)

post-45-0-75729600-1396124656_thumb.png

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

I have worked a bit on designing a kernel which looks closer to the original. If you are interested, let me know,

 

Since I don't like tiny numbers, I decided to display them as 2^x, with only the x displayed. :)

 

Looks nice indeed! I'm working on getting the tiles display on individual colors, would appreciate if you could share some insight on how you are doing it.

Link to comment
Share on other sites

Really cool (the way you did it and blogging about it).

 

I didn't really plan much for colors back then, and was ok with having the looks more "Atari-ish" by using the playfield to draw the grid (instead of using it for the colors). Either way, I got hit by the timing problems the same way - my solution shows more of my... colors as a first-time game writer (I have written some tiny bits of code and a still-not-realtime Atari emulator in Ruby, but this was all to warm up for real games) - even after using all sorts of tricks I ended up writing the 2nd copy of GRP0 too early (and VDEL would make it too late), so I had to make my numbers 7-bit instead of 8-bit. But other than that I'm happy, as my goal was to give the game an Atari feeling, while keeping the mechanics intact.

 

Thanks again for sharing, I'll sure take it in consideration next time I try to write such a kernel.

Link to comment
Share on other sites

I may, however, add (optional) tiles with the values you display.

 

I'm even considering using letters instead of two-digits (making them hexadecimal tiles, which only adds to the nerd factor :-) ).

 

Trivia 1: The game stores the tiles in RAM using those values and not the powers of 2 (I even had to introduce a powers of 2 table for score calculations)

Trivia 2: I call them log₂n in my head, seems more appropriate. What a nerd I am... :)

Link to comment
Share on other sites

cool game chesterbr!........had it added to Highscore.com tonight and posted my first score on there now...... of course I'm playing more to beat it (and others that will beat my score on the site)!

 

Heh, cool! The latest version has a 2-player versus mode that I enjoyed playing with my significant other a couple times (we are tied, but I had to delay the 3rd round or I'd not fix all the bugs we found :-D).

 

I intend to work a bit more later this week, adding:

  • Detection of game over (no more moves) and 2048 (the "win but keep on playing" situation of the original game)
  • Sound (gotta learn it - only did small buzzes till now. SvOlli's presentations and links are helping a lot!
  • High score (heard there are some carts that support storing it - if the Harmony cart supports that, will be a nice optional feature).

Thank you all for the feedback and tips. I'm learning and having lots of fun!

2048.bin

  • Like 1
Link to comment
Share on other sites

Nice work. I have started to make my kernel playable a bit, but for now there is too much labor involved to make it a full fledged game.

 

The Harmony can store the high scores (see Star Castle Arcade source code for details). You have to keep the first 256 bytes of each bank unused then. For those without a Harmony, you should at least store the high score during a session.

Link to comment
Share on other sites

The Harmony can store the high scores (see Star Castle Arcade source code for details). You have to keep the first 256 bytes of each bank unused then. For those without a Harmony, you should at least store the high score during a session.

 

Yep. The main idea was the session high score (almost put it in the place of Player 2's score - since multiplayer games tend to lower scores anyway due to it being a good strategy to pursue finishing the game once you are way ahead - but it would lead to confusion and force me to do a proper game select screen).

 

Any suggestions on where/how/when to display the high score in a way that does not confuse the players?

 

(and doesn't involve a completely different score kernel or tiles? :) )

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