Jump to content

Photo

2048 2600

homebrew puzzle release 2048 open-source

55 replies to this topic

#1 chesterbr OFFLINE  

chesterbr

    Space Invader

  • 28 posts
  • Location:Toronto, ON, Canada

Posted Tue Mar 25, 2014 12:25 AM

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

Attached Files



#2 bcombee OFFLINE  

bcombee

    Moonsweeper

  • 361 posts
  • Location:Austin, TX

Posted Tue Mar 25, 2014 10:53 AM

Awesome, just posted a pull request to fix a bug with filling the last cell.



#3 Zoyx OFFLINE  

Zoyx

    Stargunner

  • 1,583 posts
  • Prominent Internet User
  • Location:Honolulu, HI

Posted Wed Mar 26, 2014 10:33 AM

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?



#4 TrekMD OFFLINE  

TrekMD

    River Patroller

  • 4,031 posts
  • Location:Coral Gables, FL

Posted Wed Mar 26, 2014 12:24 PM

Cool, I'll have to check it out.  :)



#5 Zoyx OFFLINE  

Zoyx

    Stargunner

  • 1,583 posts
  • Prominent Internet User
  • Location:Honolulu, HI

Posted Wed Mar 26, 2014 12:55 PM

I'm not so blue sky after all... look at all the variants you can do - http://phenomist.wor.../2048-variants/



#6 chesterbr OFFLINE  

chesterbr

    Space Invader

  • Topic Starter
  • 28 posts
  • Location:Toronto, ON, Canada

Posted Wed Mar 26, 2014 10:35 PM

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!



#7 Zoyx OFFLINE  

Zoyx

    Stargunner

  • 1,583 posts
  • Prominent Internet User
  • Location:Honolulu, HI

Posted Wed Mar 26, 2014 11:26 PM

 

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!



#8 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash, THREE·S, Star Castle

  • 24,085 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany, Europe, Earth

Posted Thu Mar 27, 2014 12:39 PM

To keep the people playing longer, this game needs scoring and if possible for you, also a highscore.



#9 chesterbr OFFLINE  

chesterbr

    Space Invader

  • Topic Starter
  • 28 posts
  • Location:Toronto, ON, Canada

Posted Thu Mar 27, 2014 12:45 PM

To keep the people playing longer, this game needs scoring and if possible for you, also a highscore.

 

Yup, working on both! :-) Thanks for the feedback.



#10 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash, THREE·S, Star Castle

  • 24,085 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany, Europe, Earth

Posted Thu Mar 27, 2014 1:05 PM

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



#11 Paulo Peccin OFFLINE  

Paulo Peccin

    Chopper Commander

  • 148 posts
  • http://javatari.org
  • Location:Sao Paulo - Brazil

Posted Thu Mar 27, 2014 8:14 PM

Play the latest version online in your browser, powered by Javatari!

 

http://javatari.org/games/2048 

 

Thanks Chester for the amazing work.

 

Enjoy!

Paulo



#12 chesterbr OFFLINE  

chesterbr

    Space Invader

  • Topic Starter
  • 28 posts
  • Location:Toronto, ON, Canada

Posted Thu Mar 27, 2014 9:09 PM

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/c...ster/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, Thu Mar 27, 2014 9:09 PM.


#13 chesterbr OFFLINE  

chesterbr

    Space Invader

  • Topic Starter
  • 28 posts
  • Location:Toronto, ON, Canada

Posted Sat Mar 29, 2014 10:48 AM

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

 

2048-2600.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:

 

berzerk-ish-font.png

 



#14 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash, THREE·S, Star Castle

  • 24,085 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany, Europe, Earth

Posted Sat Mar 29, 2014 2:23 PM

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

Attached Thumbnails

  • 2048.png

Edited by Thomas Jentzsch, Sat Mar 29, 2014 2:25 PM.


#15 chesterbr OFFLINE  

chesterbr

    Space Invader

  • Topic Starter
  • 28 posts
  • Location:Toronto, ON, Canada

Posted Sat Mar 29, 2014 5:15 PM

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.



#16 chesterbr OFFLINE  

chesterbr

    Space Invader

  • Topic Starter
  • 28 posts
  • Location:Toronto, ON, Canada

Posted Sat Mar 29, 2014 11:36 PM

...aand colors! :-)

 

2048-2600.png

 

 

Attached Files



#17 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash, THREE·S, Star Castle

  • 24,085 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany, Europe, Earth

Posted Sun Mar 30, 2014 1:21 AM

...would appreciate if you could share some insight on how you are doing it.

Sure. I have posted a blog entry which explains the main kernel.



#18 chesterbr OFFLINE  

chesterbr

    Space Invader

  • Topic Starter
  • 28 posts
  • Location:Toronto, ON, Canada

Posted Sun Mar 30, 2014 10:06 AM

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.



#19 chesterbr OFFLINE  

chesterbr

    Space Invader

  • Topic Starter
  • 28 posts
  • Location:Toronto, ON, Canada

Posted Sun Mar 30, 2014 10:20 AM

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



#20 Arenafoot OFFLINE  

Arenafoot

    Stargunner

  • 1,383 posts
  • videogamestores.net
  • Location:Watson, LA

Posted Sun Mar 30, 2014 10:15 PM

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)!



#21 chesterbr OFFLINE  

chesterbr

    Space Invader

  • Topic Starter
  • 28 posts
  • Location:Toronto, ON, Canada

Posted Sun Mar 30, 2014 10:25 PM

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!

Attached Files



#22 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash, THREE·S, Star Castle

  • 24,085 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany, Europe, Earth

Posted Mon Mar 31, 2014 1:52 AM

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.



#23 Mayhem OFFLINE  

Mayhem

    Commodore Chaos Knight

  • 5,241 posts
  • Cartridge master
  • Location:London, England

Posted Mon Mar 31, 2014 3:09 AM

Btw why 2048 and not Threes for this version?



#24 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash, THREE·S, Star Castle

  • 24,085 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany, Europe, Earth

Posted Mon Mar 31, 2014 4:45 AM

2048 is definitely PD, not so sure about Threes.



#25 chesterbr OFFLINE  

chesterbr

    Space Invader

  • Topic Starter
  • 28 posts
  • Location:Toronto, ON, Canada

Posted Mon Mar 31, 2014 6:35 AM

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? :) )







Also tagged with one or more of these keywords: homebrew, puzzle, release, 2048, open-source

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users