You know, I wonder if we're about to see another tetris phenomenon. One of the miracles of tetris is that the game mechanics scaled from a few dots on an 80s era LCD keychain game to HDTV and surround sound.
Some kind of generalized 2048 game, with different or harder goals every "level" and some tweaked mechanics and we could see another one.
After thinking about 2048 a lot while making and refining the 2048-AI program [1], I don't think that will happen in its current form. The game has a perfect level of complexity to be engaging and interesting to newcomers, but it can be completely mastered with just a little bit of knowledge and practice. And now that the game has been out for a bit, the optimal strategies are pretty well known and easy to discover [2]. Of course, it will still be appealing to people who choose to learn it on their own, but it's certainly possible to master the game in under an hour with some help, unlike classics like tetris. In order to give the game good replayability, it will at least need some new twists like timed moves or adversarial AI or something.
I wonder if, instead of new blocks randomly showing up after you make a move, if they just showed up after a period of time. If a new block showed up right on top of an old one some kind of rule would take effect, like add them together, or the larger wins or something. As "levels" progressed, the rate these new blocks showed up would increase. The goal would probably have to be changed, instead of just getting to 2048, get to, or exceed, or come in just under some arbitrary number for the level or something.
Might add new strategy elements to the basic idea. You might not want to make a move, hoping the next blocks add to a block that's already on the board...maybe even "hint" where the next blocks will appear, but not the value. Tetris after all shows you the next block that will appear.
Yeah, it is as simple as changing every single mention of 2048 in the source code to 4096. My friend actually tried that and it was... a lot harder than 2048. (The 2048-AI fails to make 4096 for most games, for example.)
A straightforward hue/rainbow progression might work. You need 11 colors to represent 2^1..2^11, so you could do {red, yellow, green, blue, magenta} * {normal, bright}, with 2048 as cyan.
This is awesome and yet another way to kill my productivity!
I noticed something that I think is incorrect behavior based on my playing of the original. If I have a row that has 2 - 2 - 4, when I press right, it goes straight to 8, rather than the behavior that I think is supposed to happen - press right once and get 4 - 4, press it again and get 8. A minor difference but does actually change the gameplay a bit.
I wrote a similar game called Fibs, where the game mechanism is that adjacent Fibonacci numbers are combined to make the next Fibonacci number. It's also command-line based.
There's Threes (https://itunes.apple.com/us/app/threes!/id779157948?mt=8) which is similar but not the same (since it requires a 1 and a 2 to generate a 3, which makes it slightly more troublesome. I prefer powers of 2, too, they appeal my inner nerd.
Some important differences:
* the first step is explicitly 1 + 2 = 3 (which you mentioned), 1+1 and 2+2 do NOT add
* You move all tiles a single space at once, rather than 'to the edge'. Note tiles only merge when they push together, so an edge or other cards restricting their movement. This is a side effect design decision of single space moving. I do not know if two pairs will merge, e.g. will 3 + 3 + 6 + 6 leave 6 + 12? I suspect it will, but I haven't seen it.
* Numbers 1 and 2 both spawn, and there is a 'next number' indicator, although placement still appears random. (A 3 spawned in the tutorial, but I think that was a special case)
Overall this leads to a very different feel to the game.
Yeah, after Threes, 2048 felt a little easier, though. Enjoy Threes, I already thing it was well worth it: real moment killer without being excessively mindless
What would this offer over the official version other than "doesn't take up a tab in MobileSafari" (which could be fixed if the developer just added the right meta tags)?
The new "best score" feature is saved in localStorage, so that's now already covered. While the existing app doesn't cover all of your other use cases, those have nothing to do with being native, and you could even download the HTML and fix some of them yourselves in a few minutes: adding a cache manifest (three line text file and one attribute in the HTML) would make fully-offline possible (and when combined with the aforementioned meta tag, gives a pretty native experience, as the app at this point would work without Internet access, with its own icon and its own entry in the multitasking list). It would also be trivial to implement saving games with the web implementation, probably an addition 20 lines of JS (although the length of the game is capped, so I'm surprised you want this). As for having to reload to start a new game, I'm surprised that that matters to you: but adding a "new game" button (that could just reload the page, which would be instantaneous with the cache manifest) would also be trivial. Like, if you are willing to spend $5 on this, maybe you'd be willing to spend 15 minutes? ;P
I don’t know what is Mobile Safari support for these, but you can play 2048 in your browser without Internet connection once you downloaded the page, and you can save game/scores in localStorage.
I hadn't used pip before. I wonder how many different package managers I have installed now? Figuring out how to install pip on OSX I discovered "easy_install" which I hadn't used before.
It's not so bad with the right tools. In particular, "virtualenv" lets you make "environments" for python packages so you can install these things without needing root access:
- Use your distro package manager to install virtualenv
- Make a new virtual environment with: virtualenv /tmp/vv
- "Enter" the environment: source /tmp/vv/bin/activate
- You now have "pip" so you can say pip install term2048
- Play
- rm -r /tmp/vv and log out; everything's all cleaned up now.
I didn't get around to write a good AI, but you can uncomment two lines in the main to play yourself. The interactive play is not colorful or as polished, but works the same way.
If you want to write a bot yourself, just call "play_bot(logic)", where "logic" is a function that takes a board state and returns a play. "play_bot" returns the highest piece created.
Not at 12 for me, I didn't start programming my own games until high school. But this would actually be fun to hack out on my old TI-85 or HP-48G (too bad both got water damaged).
A little buggy: It'll collapse 8,4,4 into 16 in a single move when the original does not. Not always, and I have no idea how to reproduce it. Maybe I should just chalk it up to accidental double-bounce on the keyboard?
Put it on a server, let people telnet to port 2048 (anything else using this yet?) and play the game. Store high scores and display standings.
EDIT: Still in the window! 2048 is not used by many projects. So essentially zero risk of a port conflict hosting this on a server with other services running.
final nail in the coffin :). a highly addictive game in the terminal. Damn you hackers!!
Love text based games and bonus for being in the terminal. Btw, I know a few p.eople mentioned that it collapses 2-2-4 kind of combinations in one go and I noticed that too. But, you know what, I personally like this variation.
There’s no way to have custom colors for now, but I can change the default colors. I’m on the collapse bug that was reported by a few people right now, will check back on your issue just after.
Edit: I’m on it.
Edit 2: I added a `--mode` option in the last version (0.1.7) to change the default colors mode. Use 'dark' on a dark background and 'light' on a light one. For now it only replaces dark blue with white on dark mode and yellow with black on light mode.
TL;DR: update with `pip install -U term2048` and use `term2048 --mode dark`.
Thanks, it would be sweet if you could use the VI keys or WASD instead of arrows (would work on Windows then)and if you could use A-K instead of the decimal numbers. In that way the aspect ratio could be more square, which I think would improve the ease of noticing chains.
Some kind of generalized 2048 game, with different or harder goals every "level" and some tweaked mechanics and we could see another one.