Coder Social home page Coder Social logo

2048-2600's Introduction

2048 2600

A port of the 2048 game to the Atari 2600.

(because there aren't enough versions of this game 😆)

Cartridge Art (click to zoom) and Screenshot

Art by Jenn Harrison     (simulated - 236-0873 was Bozo's phone number in Brazil)

Instructions

Game Modes

There are two modes: one-player and two-player. You can use GAME SELECT to switch between them (the selected game will auto-start).

On the title screen, the left joystick button will start a single-player game, and the right joystick button will start a two-player game. When a game is over, the buttons restart the game appropriately.

One-Player Game

This mode follows the original 2048 as closely as possible.

Move the joystick to shift the tiles into a direction. Tiles with the same value will join, and you'll earn the joined tile's value in points (shown above the board).

You win by forming the 2048 tile. The game continues until there is no movement possible, and the current high score will be displayed below the board.

The high score will be erased if you turn the console/emulator off (it's an Atari game, after all) or if you start a two-player game.

Two-Player Game

Both players use same board in turns. The current player is the one with the bright score, and keeps playing (and scoring) as long as they keep merging. If a shift happens and no tile is merged, it's the other player's turn.

The game ends when there is no possible movement, and the player with the highest score wins. Either fire button restarts the two-player game.

PAL

The game supports PAL Atari systems - just change the TV TYPE switch to the B/W position (the COLOR position is NTSC).

Running

On the Browser

Click here to play on your browser, thanks to Paulo Augusto Peccin's Javatari.js.

On an Emulator or a Real Atari

I suggest using Stella, or a real Atari with an Harmony cart. In either case, just download 2048.rom and run as a normal Atari game.

If you are running on a PAL Atari/TV, put the TV TYPE switch on the B•W position.

Bulding / Development info

All the juicy details are included on 2048.asm (the main source file), and a bit easier to read on this blog post.

Author and License

© 2014 by Carlos Duarte do Nascimento (Chester)

Portions contributed and © by their respective authors, see below.

Cartridge Art © 2014 by Jenn Harrison

Based on the original 2048 game by Gabriele Cirulli, which is based on 1024 by Veewo Studio and conceptually similar to Threes by Asher Vollmer.

This software is released under the MIT license, and pull requests are welcome. Keep in mind that by submitting a pull request, you are agreeing to the licensing terms and licensing your contribution under them (without undermining any of your other rights).

If you have any questions/comments/rants, feel free to contact me on Twitter, on my blog, or simply write an e-mail!

Contributors

Special Thanks

2048-2600's People

Contributors

chesterbr avatar unwiredben avatar

Stargazers

 avatar Tyler Jaacks avatar Michael Grünewald avatar Joseph Davies avatar Stefan avatar ERHAN AYDIN avatar Oleksandr Kovalenko avatar Victor Borges avatar Luke Triantafyllidis avatar Jeff avatar Jho avatar Jean-François Trân avatar Marcelo Lv Cabral avatar Wiktös avatar Diane avatar Lucas Mendes avatar Matthias Endler avatar hed0rah avatar Dustin Long avatar Rachel Simone Weil avatar  avatar Mark Cassady avatar Sylvio Tavares avatar Andrea Pascal avatar Angus H. avatar Arthur Barros avatar Sebastião Relson avatar Fernando Mumbach avatar Claudemiro A F Neto avatar William Oliveira avatar Horácio Dias Baptista Neto avatar Ramon Barros avatar MacTaylor avatar Lucas Caton avatar Kate Kligman avatar  avatar Allan Dieguez avatar Asdrúbal Iván Suárez Rivera avatar Shannon Freeman avatar Rajesh Singh avatar Tommy Chen avatar Osvaldo Santana Neto avatar Daniel Gomes Vargas avatar Ricardo Bánffy avatar Herbert Fischer avatar Adam Ryman avatar Mike Carson avatar Thiago Macedo avatar Mendelson Gusmão avatar Rodrigo Panachi avatar Lee Semel avatar Nícolas Lazarte avatar Guilherme Barile avatar Aaron Kaluszka avatar Vinnicius de Oliveira Campagnuci avatar Vian avatar Alex W avatar Steven Otto avatar Artur Ostrega avatar David Fisher avatar  avatar  avatar Tim Ryan avatar  avatar Fernando Meyer avatar Adam Proctor avatar Ellison avatar

Watchers

 avatar  avatar  avatar James Cloos avatar Allan Dieguez avatar Horácio Dias Baptista Neto avatar Shannon Freeman avatar  avatar Wiktös avatar

2048-2600's Issues

Need sound effects!

The game plays nicely, but it lacks any sound. Having some simple effects for merging cells would be really nice, and if an end-of-game state is implemented, that would be a nice hook for playing some melody.

Incorrect addressing mode for ldx FirstDataCellOffset?

Ola -
I am porting your engine to the Apple II, and I ran across this in line 599 in 2048.asm:
ldx FirstDataCellOffset ; and count points for merged cells...
But FirstDataCellOffset is a constant, of value 5. Shouldn't this be an immediate load instead of zero page?
ldx #FirstDataCellOffset ; and count points for merged cells...
It seems to work either way, but the score goes crazy the first time through (on my Apple port). Subsequent games behave correctly. Fixing the addressing mode makes the first game score correctly.

Support multiple tile sets

It might be nice to support multiple versions of the tile set using the SELECT switch... since the setup code sets the MSB of all the tile bitmap pointers, changing tiles would just involve having more pages of the bitmaps ready and resetting that MSB value.

Show a running score

The original web game keeps a running score based on the sum of all the merges. It seems possible to adapt an existing six-digit score kernel to show a running total kept by the game, making it more fun to go after a high score on the console.

Need a game over state

If the "find new cell" routine runs for 16 frames with no success, the game should go into a GameOver state. Traditionally, one way to show this is to have the playground/foreground colors cycle to avoid monitor burn in.

Animation during shifts

Inspired by the frame-based iteration to find the new cell after a move, I'm thinking that you could do animation fairly easily by showing the intermediate frames as you do the collapse of cells. So, if a cell was moving from column 1 to 4, you'd see two frames in the middle of the move. I think this would be a small modification, breaking up the current shifting processing code to only do one shift per frame display and adding a Shifted state that you'd be in if you're still shifting but had shifted at least one cell. I might work on this and see how it affects the game.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.