2048

    19-летний итальянский разработчик Габриэле Чирулли (Gabriele Cirulli) создал чрезвычайно захватывающую игру 2048, скрестив тетрис и «пятнашки».



    На каждом раунде в игре появляется две плитки с цифрой «2». Нажимая стрелки, нужно сбросить их в сторону, при этом плитки одного «номинала» складываются. Выигрыш засчитывается при достижении результата 2048.

    За удачное сложение начисляются очки, в соответствии с номиналом плитки. Несмотря на кажущуюся простоту, выиграть в 2048 очень непросто. Автор говорит, что у него самого наилучший результат — около 6000, несмотря на то, что он сам играет уже целый день без перерыва. Впрочем, нескольким всё-таки удалось выиграть.



    Код программы открыт. Кстати, есть похожие игры Threes и 1024! для iOS.
    Поделиться публикацией
    Похожие публикации
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 138
    • +72
      И почему мне кажется, что какая-то часть дня будет абсолютно потерянной для человечества? Презанятнейшая штука, скажу я вам.
      • +10
        Вот так вот взять и выкрасть начало рабочего дня надо уметь. :)
        • +17
          Предлагаю перепоручить скрипту это дело, а то я тоже уйму времени потерял.
          Просто вставьте в консоль

          var manager = new GameManager(4, KeyboardInputManager, HTMLActuator);
          function move(){ var d = 0; return function(){ manager.move(d); d++; if (d === 4){d=0} } };
          setInterval(move(), 500);
          

          • +4
            Настоящий гик не играет, а выигрывает.
            • +1
              Дальше 256 ни разу не было у меня этим скриптом.
              • +1
                Подобрал более оптимальный алгоритм — этот у меня до 512 добирает.
                Можно более умное что-нибудь сделать. В переменной manager.grid.cells находится текущее состояние поля со значениями ячеек — но что-то лень.

                Там изменился маленько код для инициации поля (добавилась функция для вывода самых высоких оценок)
                var manager = new GameManager(4, KeyboardInputManager, HTMLActuator, LocalScoreManager);
                function move(){ var i = 0; return function(){ var d = [ 1, 0, 3, 0 ]; manager.move( d[i] ); i++; if (i===4){i=0} } };
                setInterval(move(), 500);
                
                • 0
                  Я с вашим «читом» набрал 1024 + рядом был 512 почти превратившийся в 1024 :D
                  • 0
                    Зависает когда все клетки первых двух строк заполенны разными числами :)
                    • 0
                      Это уже баг игры, вы сами попробуйте играть используя только 3 кнопки управления. Кстати, это хорошая тактика. Вчера так смог победить :)
                      • 0
                        не игры, а скрипта. именно из-за 3 кнопок.
                        • 0
                          Нет нет, баг игры. Потому что я уже не раз играя только с 3 кнопками сталкивался с этим багом. Без этого скрипта
                          • 0
                            А в чем же этот баг игры состоит? С багом скрипта мне очевидно, но вот как он, по-вашему, проявляется в игре? Я что-то недопонял? (Оригинально имел ввиду зацикливание скрипта више)
                            • 0
                              Игра предусматривает использование 4-х кнопок. То есть это не баг, а необходимость нажать 4-ую кнопу. Не раз из-за этого проигрывал.
              • +9
                Да вы негодяй! Как такое можно было выкладывать в понедельникпервый рабочий день? Как теперь работать? :(
                Задумка отличная, и очень затягивает!
                • 0
                  Тут есть хорошие математики, которые рассчитают, как игру можно завершить, ну или докажут невозможность?
                  • +7
                    Загонять все в один угол, чтобы там была самая большая цифра, так как появляются всегда самые маленькие и по мере увеличения чтобы они были ближе к этому углу.
                    Грубо говоря если выбрать правый верхний угол то нажимать в основном вправо и вверх.
                    • 0
                      угу, причем если просто тупо чередовать вверх и вправо — неплохо получается. Иногда нужно сделать влево, потом опять вправо, и дальше тупо вверх-вправо.

                      На эту основу можно добавлять целевые функции, типа не просто чередовать, а исходя из конфигурации, но что бы получалось, что в самом верхнем угулу всегда самое большое, и вниз и влево — всегда уменьшаются.
                      • 0
                        Работает до 256, дальше думать надо, но все равно бОльшее число нельзя вытаскивать из угла.
                        • 0
                          за какое-то количество убитого времени улучшил стратегию. Хотя, её уже описать сложнее, попробую рассказать идею. Возьмем за начало отсчета левый нижний угол, строки и столбцы пронумеруем. 1-4 Собирать максимальное значение в клеточке будет стараться на 2-3 строке, первого столбца. Движение «вправо» не используется вообще.

                          Первый столбец — результирующий
                          Второй столбец — «рабочая область»
                          Третий и четвертые — «зона вброса»

                          Стратегия сводится к тому, что бы в «рабочей области», собирать значения равные результирующему столбцу, и движением «влево» соединять их. Движения вверх/вниз в основном дают варианты, для того, что бы движением «влево», накапливать нужные значения в рабочей области. Всегда, у шага «объединить влево» приоритет. При вверх/вниз тоже происходят объединения более мелких значений. из зоны вброса и рабочей области, и даже результирующего столбца.

                          Есть ощущение, что максимальное значение которое можно набрать таким образом ограничено. Ощущение складывается на том, что с ростом значений в результирующих клетках зоны вброса и рабочей области будет недостаточно.

                          С другой стороны, решение задачи ханойский башен работает для любых n.

                    • НЛО прилетело и опубликовало эту надпись здесь
                      • НЛО прилетело и опубликовало эту надпись здесь
                        • 0
                          Я когда в первый раз играл и еще не до конца понял логику перемещения блоков, дошел до 512.
                          В последующие несколько подходов, когда разобрался, как оно работает, и тщательнее продумывал ходы, дальше 256 не уходил.
                          Видимо, нужно прокачивать стратегические навыки ;-)
                          • НЛО прилетело и опубликовало эту надпись здесь
                        • +9
                          аддиктивную -> захватывающую
                          • НЛО прилетело и опубликовало эту надпись здесь
                            • +5
                              Это каламбур, намёк на слово «аддитивный».
                            • +3
                              Одно понять не могу: при чем здесь тетрис?
                            • +1
                              Эх, стрелки… Вот так всегда, зайдешь с планшета и нужно стрелки нажимать
                              • 0
                                А вы попробуйте жестами в стороны по доске поводить, на iOS работает.
                              • –5
                                Поставил «1024!» на iOS, не впечатлило, если честно
                                • +5
                                  Кхм. Тогда, пользуясь случаем, представляю вам свою игру — Hex LED. Смысл тот же, но всё происходит на шестиугольном поле. Игра уже неделю в Google Play, и эту же неделю ждёт рассмотрения в App Store.
                                  play.google.com/store/apps/details?id=com.spiralcodestudio.hexled



                                  За счёт такого поля игра становится более вариативной и появляются даже различные тактики. Сначала я в ней набирал до 10000 очков, и думал, что до 20000 невозможно дойти, но недавно набрал более 40000, что меня крайне удивило. Максимальное число 4096 и присутствуют три набора фишек. Сделал платной без рекламы и внутриигровых покупок так как это дело мне порядком надоело.

                                  Прототип был сделан за 4 часа для конкурса, финальная версия была сделана за неделю. Сделано на Corona SDK.

                                  Буду признателен если поиграете и оставите отзыв!
                                  • +2
                                    Можно было бы хоть lite-версию выделить, за 15 минут не разберёшься, стоит ли внимания игра.
                                    • +3
                                      Хм. Сейчас сделаю.
                                      • +2
                                        Выкладываю APK Lite версии:
                                        spiralcodestudio.com/tmp/Hex%20LED%20Lite.apk

                                        Короткая ссылка: goo.gl/eYi9Ll
                                        • +2
                                          Ух. Меня затянула ваша лайт-версия. Люблю игры, написанные с душой. Эта как раз из таких. Сам сейчас пишу свою первую игру под Android (пятнашки :)) и ваша игра, скажу я, круче некуда) Хороших продаж) Была бы у меня карточка — купил бы без промедления. А так — играю в лайт.
                                          ЗЫ: на ходу, правда, играть немного неудобно одной рукой — иногда перекидывает не в ту сторону
                                          • +2
                                            Спасибо за лестный отзыв! Игру правда делал с душой.
                                            Моя другая игра — Laser Puzzle, сейчас платная в App Store и бесплатная с видео рекламой в Google Play. Изначально она была платной и там, и там, и всё было неплохо, только на Android мало продаж. Решил сделать бесплатной с рекламой и тут посыпались гневные отзывы… терпеть этого не могу. Люди жалуются, что в бесплатной игре реклама… А обратно платной уже не сделать, Google запрещает.

                                            А хотите, я вам сделаю полную версию с рекламой? Только на рекламу нажимайте пожалуйста, от неё неплохо идут деньги.
                                            • +2
                                              А хочу) а то как-то напрягает, когда стоят 3 фишки по 512 в ряд и ничего с ними сделать нельзя)
                                              • +2
                                                Вот, пожалуйста. Полностью функциональная версия с рекламой.
                                                spiralcodestudio.com/tmp/Hex%20LED.apk

                                                Короткая goo.gl/t2Sii1
                                                • +1
                                                  Спасибо большое (самизнаете что уже когда-то плюсовал, так что обойдусь словами.
                                                  А вообще это довольно рискованно — выкладывать ссылку на всеобщий доступ. Кто-то менее сознательный возьмёт, вырежет рекламу лаки патчером и выложит на тот же 4pda)
                                                  • +1
                                                    Ну это не менее рискованно чем выкладывать в google play. От пиратства включать параноика бесполезно. В платной версии присутсвует защита, а ломать уже бесплатную версию малоизвестного разработчика занятие сомнительное.
                                                    Кстати только что версия для iOS перешла в статус In Review! Ура!
                                      • +8
                                        Буду признателен если поиграете и оставите отзыв!
                                        Какой-то не совсем уместный призыв, учитывая тот факт, что она платная.
                                      • 0
                                        А игра тем временем вышла на iOS itunes.apple.com/app/id830218249
                                      • –6
                                        Выкладываем свои рекорды.
                                        Мой рекорд на данный момент
                                      • +23
                                        Я старался держать одну линию статичной, и делал ходы только так что бы линия могла накапливать большие стеки по нарастающей. И получилась довольно малозатратная по ходам победа :)
                                        • +3
                                          Я бы хотел сказать, что мне сразу стало неитересно, но это было бы ложью.
                                          • 0
                                            Пожалуй, наиболее разумная стратегия. Единственное её слабое место — в моментах, когда в той линии, в которой копится результат — пусть это будет верхняя горизонтальная линия — оказывается пустое место, а сдвиги вверх и влево более недоступны.
                                            В таком случае целесообразно выполнить пару сдвигов вниз и вверх. Если повезёт — новые элементы появятся именно в пустующем столбике. Если нет — то может потребоваться некоторое усилие для восстановки порядка следования элементов в верхней линии. Но это лучше, чем делать сдвиг вправо, ибо если новый элемент окажется в верхнем левом углу, то на этом игру можно заканчивать.
                                            • +3
                                              Весь день коту под хвост…
                                              image
                                              • +1
                                                Но рекорд то побили, так что, день прошел не зря)
                                                • 0
                                                  А у нас тут рекордами меряются? Тогда вот:
                                                  • 0
                                                    Ну что же,
                                                    image
                                                    Примерно понятно, как ловить максимум — нужно в нижнем ряду собрать две 1024-ки по углам.
                                                    • +2
                                                      Пожалуй, хватит…
                                                      image
                                                      • +1
                                                        Надо отписаться в трекере от этого поста, каждый раз захожу и снова запускаю!
                                                        • 0
                                                          И антирекорд (до и после финальной цепочки ходов):
                                                          image
                                                          Хотя, в позиции, приведённой ниже, должно было бы получиться ещё очков на 50-60 меньше — совершенно непонятно, за счёт чего. Может быть, там выпадало настолько больше «четвёрок»?
                                                    • +3
                                                      Не хочу показаться завистником, но тут сложнее пройти в меньшее количество ходов(с меньшим количеством очков), чем наоборот :)
                                                      • 0
                                                        Это да! Но и игру слишком долго тоже не затянешь, тк повышается вероятность геймовера.
                                                      • 0
                                                        deleted
                                                    • 0
                                                      Использовал аналогичную стратегию. 20888 очков
                                                      • 0
                                                        Я сделал это :) Стратегия — по возможности не трогал нижнюю линию, накапливал отсортированную последовательность — 128, 256, 512, 1024. Ну а затем собрать еще 128 и склеить все вместе
                                                        image
                                                        • 0
                                                          Аналогично
                                                          720x1280 px
                                                        • +1
                                                          Какой однако молодой и талантливый разработчик, судя по профилям.
                                                          • +14
                                                            Ненавижу тебя, alizar! Верни мне утро!
                                                            • +9
                                                              Я меняю свое мнение, наконец-то сложив этот пазл с результатом 21284.
                                                              Ненавижу тебя, alizar! Верни рабочий день!
                                                              • +3
                                                                Именно поэтому я читаю хабр только по вечерам
                                                                • 0
                                                                  Убитые вечера тоже считаются :) 2 вечера потратил на это
                                                            • +1
                                                              Кстати, по механике игры неплохо было бы, если и три одинаковых номинала складывались, давая бонусы.
                                                              • 0
                                                                Результат не будет степень двойки и в механику, как раз-таки не вписывается.
                                                                • 0
                                                                  Почему же 2^3 = 8. Складывались, в смысле фишки складывались, а не операция сложения)
                                                                • 0
                                                                  Логичным обобщением для данной задачи будет использование не только бинарной, но и произвольной системы счисления. В частности, троичной :)
                                                                • +1
                                                                  Огромное спасибо, еще один уничтоженный день моей жизни
                                                                  • +1
                                                                    Стратегия максимального числа в углу действительно работает =)
                                                                    • НЛО прилетело и опубликовало эту надпись здесь
                                                                      • 0
                                                                        Более того: эта игра — клон saming.fr/p/2048/, который заимствовал идею у 1024, который копипастил уже у Threes — финалиста в Excellence in Design на IGF 2014.
                                                                      • НЛО прилетело и опубликовало эту надпись здесь
                                                                        • –9
                                                                          АААААААААААААААААА!!! вот это вещь! Больше 256 пока не набрал :-)
                                                                          • –5
                                                                            Обычный клон троек. В чем прикол?
                                                                            • +9
                                                                              А теперь можно просто сидеть и наблюдать за магией 2048-AI
                                                                              • +1
                                                                                Бот собрал ячейки 1024, 512, 256, и геймовернулся на попытке объединить две 128. Всё тлен.

                                                                                Завербую его себе на скринсейвер…
                                                                                • +3
                                                                                  А у меня этот гадёныш всё собрал с первой попытки!
                                                                                  • +1
                                                                                    А бота за день, видать, перепаяли — стал жрать в полтора раза больше ресурсов, зато за 3 запуска — 3 чистых победы.
                                                                                • +6
                                                                                  Блин, хочу такую на android. Интересно, что быстрее будет: подождать или написать самому…
                                                                                  • +2
                                                                                    Я тоже вот думаю, сесть написать, что ли… ) Пока играю в версию от Lerg
                                                                                    • +2
                                                                                      Астрологи объявили неделю клонов «2048».
                                                                                      Количество клонов «2048» увеличилось вдвое. ;)
                                                                                      • 0
                                                                                        Кстати, даже под WP, где по традиции считается, что «игр нет», написали уже четыре клона.
                                                                                        Причём судя по тайлу одного из них, автор явно присутствует на хабре. Пользуясь случаем, передаю привет ;)
                                                                                    • +2
                                                                                      Она, кстати, прямо в браузере нормально работает, вместо стрелок свайп по области с числами.
                                                                                      • 0
                                                                                        К сожалению, не все так гладко

                                                                                        • 0
                                                                                          У вас, вероятно, не очень свежий андроид (это вообще андроид?). Я запускал на 4.4, там в стандартном браузере движок от хромиума 30, в более ранних версиях версия webkit примерно соответствует chromium 12. Можно попробовать поставить Chrome/Chrome Beta.
                                                                                          • 0
                                                                                            Galaxy S4, прошивка стоковая последняя (4.4), браузер стандартный. В хроме не пробовал.
                                                                                      • 0
                                                                                        В маркете уже появилось куча игр 2048. Но неясно, которая из них самая-самая.
                                                                                        • 0
                                                                                          Видимо официальное приложение — это. Но оно у меня, как и браузер (дельфин), последние 2 дня не отображает цифры. Пустые клетки и всё.
                                                                                          • 0
                                                                                            Нашел последний рабочий коммит 92399414eb8fa4907621a9de530169063fdfc619, следующий 74494bb5f512265f913272e7b0748bf1958c1cbf с комментарием «modify the game to allow using transforms» ломает игру на моем смартфоне. Откатился у себя назад, поигрываю по дороге на работу.
                                                                                      • 0
                                                                                        I scored 20344 points at 2048
                                                                                        • 0
                                                                                          После того, как мне приснилось, что я двигаю ящики с зерном по расчерченному полю, а при соприкосновении они «схлопываются», поняла, что нужно как можно скорее покончить с этой игрой.

                                                                                          Стратегия «Держать большие числа примерно в одном месте» очень помогла, но под конец удержать её было уже сложно, вот такая анархия получилась:
                                                                                          • +1
                                                                                            Гм, а можно и так.
                                                                                              • +1
                                                                                                Спасибо, хотя бы так прошел…
                                                                                              • 0
                                                                                                Написал консольную версию на питоне. Пока что код выглядит ужасно и почти не закомментирован, ибо писалось всё сегодня ночью.

                                                                                                bitbucket.org/dsupiev/cli-2048

                                                                                                Тестил под виндой и под маком, вроде норм. Если будут проблемы с клавишами под никсами — добавьте в словарь ARROWS какие хотите кнопки.

                                                                                                Если кому интересно, могу статейку накатать.
                                                                                                • +1
                                                                                                  Если вдруг кому-то нечем занять выходные, в новой версии можно продолжать игру после получения 2048:

                                                                                                  image
                                                                                                  • +1
                                                                                                    Это нечестно с их стороны! 37560. Уже хватало материала, чтобы собрать 4096, но увы…
                                                                                                    • 0
                                                                                                      Два дня играю
                                                                                                      image
                                                                                                      image

                                                                                                      И все таки прошел =) Затягивающая штука!
                                                                                                      Использовал стратегию трех кнопок. Выстраивал змейкой последовательность.
                                                                                                      • 0
                                                                                                        У меня 4096 тоже получилось, но счет меньше — 50224. На то, чтобы ловить 8192, очень жалко времени :(
                                                                                                  • +1
                                                                                                    Ещё клон. Но вместо степеней двойки там числа Фибоначчи.
                                                                                                    themoreyouknow.github.io/fib/
                                                                                                    Игра нетривиальная, но чтобы добраться до действительно интересного уровня нужно больше часа. На поле 3*4 или 3*3 она была бы лучше.
                                                                                                    • +1
                                                                                                      За что!? ))
                                                                                                      Скрытый текст
                                                                                                      • 0
                                                                                                        Если нажимать вверх и влево по очереди (а когда движение заканчивается — один раз вправо, и снова вверх-влево), то за пять минут можно дойти почти до тысячи.

                                                                                                        Скрытый текст
                                                                                                        image
                                                                                                        • +2
                                                                                                          Это ужас…
                                                                                                          image
                                                                                                      • +2
                                                                                                        phoenix.dj/65536
                                                                                                        Русская локализация будет к вечеру, если не забуду.
                                                                                                        Удачного понедельника ;)
                                                                                                        • 0
                                                                                                          Штатный бот почему-то фейлится на сборе 32768 (уже не один раз проверил). Кто-нибудь может понять, почему? Подозреваю, что там что-то не так с приоритетами ходов…
                                                                                                          habrastorage.org/files/01e/047/39d/01e04739d0134778a51bd046b18a8c19.png
                                                                                                          • 0
                                                                                                            Напрягает шрифт для цифр, хотелось бы полный клон с той же анимацией сдвига и шрифтом иначе крайне трудно отделаться от ощущения плохой подделки. К тому же лицензия позволяет, насколько я понимаю.
                                                                                                            • 0
                                                                                                              Я при адаптации в свой движок вырезал некоторые моменты, чтоб не мешались при проверке, а потом забыл их вернуть… Виноват, исправлюсь. Только либо завтра, либо вечером — сегодня занят, справляю апгрейд до версии 2.0 :)
                                                                                                              • 0
                                                                                                                Да вы не торопитесь, исправляйте потихоньку, главное-то чтобы пилилось в удовольствие :)
                                                                                                            • 0
                                                                                                              Извиняюсь за занудство, но если у вас будет время, то сделайте что-нибудь с плавающим кернингом в цифрах при сдвиге.
                                                                                                              • 0
                                                                                                                Сделайте возможность продолжить игру в удобное время)
                                                                                                                • 0
                                                                                                                  Да, в таких масштабах надо подумать над сохранениями :)
                                                                                                              • 0
                                                                                                                Интересно, а есть ли клон с троичной системой счисления, где 3 квадратика схлопывались бы в 9 и т.д.? И назывался бы он 19683 (3^9 = 19683).
                                                                                                                • 0
                                                                                                                  Через некоторое время вирус «2048» мутирует, и среди прочего мы увидим и «19683» ;)
                                                                                                                  • +1
                                                                                                                    Заказ принял :)
                                                                                                                    • 0
                                                                                                                      Оповестите тогда, когда закончите. Сам хотел сделать, да времени мало для этого :(
                                                                                                                      • 0
                                                                                                                        Я вот думаю, какой размер поля делать. Если собирать в ряд 3 ячейки, то 4х4 явно мало. Выбираю между 6х6 и 9х9
                                                                                                                        • 0
                                                                                                                          С точки зрения троичной системы счисления — лучше 9*9, и уж точно не 4*4, т.к. это будет идеологически неправильно. А само 19683 потом можно и изменить, в зависимости от того, насколько будет легко или сложно, т.е. взять 3^8 или 3^10 или другую степень.
                                                                                                                          • 0
                                                                                                                            Кстати о размерах полей и принятых заказах! Пожелание: несколько уровней сложности в том же 2048 не помешал бы. Easy выше выкладывали 8х8. Что-то подобное можно и для остальных вариаций
                                                                                                                  • +1
                                                                                                                    Коллекция клонов:
                                                                                                                    Усложнение
                                                                                                                    Мультиплеер
                                                                                                                    4096
                                                                                                                    8192
                                                                                                                    65536
                                                                                                                    9007199254740992
                                                                                                                    Трёхмерная
                                                                                                                    Четырёхмерная

                                                                                                                    Bыше уже упоминалось:
                                                                                                                    FIB
                                                                                                                  • +1
                                                                                                                    image
                                                                                                                    • +1
                                                                                                                      Нет времени объяснять. Вы монстр!
                                                                                                                      • 0
                                                                                                                        На reddit обнаружилась картинка с плиткой 16384. Вот они действительно монстры :)
                                                                                                                        • 0
                                                                                                                          Мне только интересно, сколько у вас ушло времени на эту игру? :)
                                                                                                                          • 0
                                                                                                                            Думаю, в сумме часа 2-2.5. Там было около 5000 ходов, на большинство ходов уходила секунда или две.
                                                                                                                    • 0
                                                                                                                      del
                                                                                                                      • +2
                                                                                                                        • 0
                                                                                                                          сегодня обнаружил в репозиториях maemo игрушку «2048», сразу же установил, пока максимальный рекорд 512
                                                                                                                          <оффтопик>в репозитории кроме «2048» появилось еще пара популярных игрушек с android под китайским авторством</оффтопик>
                                                                                                                          • –1
                                                                                                                            Вот еще один клон игры на D dlang.ru/forum/236-klon-2048-na-d
                                                                                                                            • 0
                                                                                                                              image
                                                                                                                              Игра 2048 батником на Windows

                                                                                                                              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.