LINUX.ORG.RU
ФорумGames

Игры в терминале

 , , ,


19

14

Данный топик про игры в юниксовом терминале. Здесь я буду на регулярной основе (в идеале) описывать в отдельном комментарии какую-нибудь игру. В стартер-посте будут ссылки на эти комментарии. Обзор будет не очень подготовленным, поэтому не ждите литературных изысков. Но тем не менее те, кто любит подобное красноглазие, смогут познакомиться с играми и выбрать на свой вкус понравившуюся вещицу. Данная тема создана по аналогии с соседним топиком про стимовские игры.

Приглашаются красноглазые задротики, которые любят тупить в консольку между сессиями компиляния очередного ядра линукса. Можете подписываться на темку, ставить лайк, прожимать колокольчик или что тут у вас принято.

Теги для поисковых ботов (жрите мои любимые ботики): ascii games, terminal games, ncurses games, tty games, console games, cli games, tui games, text-based games, command line games, игры в терминале, игры в консоле, игры для командной строки.

Критерии отбора:

  1. Язык программирования: Си(в приоритете), си++. Остальные пока не рассматриваются. Потенциальные в будущем - ада, фортран, бейсик, паскаль. Жирный пайтон идет лесом, хипстерские гоу, раст и иже с ними туда же.
  2. Открытые исходники с лицензиями, позволяющими модификацию, не препятствующие распространению. Свободные и одобренные дядюшкой Столлманом в приоритете.
  3. Зависимости. Без sdl и других графических либ. Опционально пускай будет, например, для музыки. Но не навязывается. NCurses и подобные библиотеки для работы с терминалом всяко одобряются и котируются. Не приветствуются в зависимостях всякие гугловские юнит тесты и другие чёрт ногу сломит либы. Для маленьких терминальных игр эта мишура не нужна.

Источники игорей:

  1. https://ttygames.wordpress.com/
  2. https://github.com/ligurio/awesome-ttygames
  3. https://inconsolation.wordpress.com/
  4. https://kmandla.wordpress.com/
  5. https://ibiblio.org/pub/linux/games/ Артефакты прошлого. Игры для терминала надо искать. Не всё собирается с современным компилятором.
  6. gopher://sdf.org/9/users/saahriktu/bttf/gamez_p0.tar.lzma (использовать lynx) - сборник ascii игр, собранный камрадом @saahriktu
  7. https://www.youtube.com/user/livibetter/videos
  8. https://zenway.ru/tag/ASCII
  9. https://blends.debian.org/games/tasks/console
  10. ASCII игры по Linux
  11. Поиск на github.com, gitlab.com по соответствующим запросам
  12. Поиск рогаликов на http://www.roguebasin.com/index.php?title=Category:Roguelike_games
  13. Все поисковики, даже малоизвестные иногда выдают страницы, на которые не попадешь с гугла или яндекса.

Сами игори:

!!!NEW!!! 1. 8f - Терминальный вариант карточной игры Сумасшедшие восьмёрки (Crazy Eights).

  1. Alienwave - Сложная Galaga-подобная игра с хорошим ascii-артом.
  2. Bricktick - Красивый клон арканоида с бонусами.
  3. CLines - Качественная реализация всеми известной офисной игры Color Lines.
  4. Dominoes - Реализация одного из вариантов игры Домино.
  5. Lwrace - Бегаем символом «O», собираем «$», избегаем «#», уворачиваемся от «o».
  6. Morpion solitaire - Отличная реализация отличной же тетрадной игры Join Five.
  7. MyMan - Пакман для терминала с множеством настроек.
  8. Peg-solitaire.c - Добротная реализация одноименной настольной игры с 5-ю раскладками.
  9. XT gyoretsu - Воссозданная с любовью и с ncurses старая тетрадная игра.
  10. Ztrack - Псевдо-тридешные гоночки с красивым бэкграундом.
  11. to be continued


Последнее исправление: nab_linux (всего исправлений: 16)

Alienwave

  • Название: Alienwave
  • Версия: 0.4.0
  • Язык: Си
  • Зависимости: ncurses
  • Жанр: Шмап (shmup)
  • Интерфейс: TUI
  • Коротко: Сложная Galaga-подобная игра с хорошим ascii-артом.

Жанр фиксированного шутемапа (fixed shoot’em’up) частый гость наших терминалов. Чего только стоят две известные реализации Спейс Инвейдерса (Space Invaders): Ninvaders и ascii invaders, про которые я напишу как-нибудь в другой раз. Сейчас же нас больше интересует оригинальная игра, сделанная итальянцем Alessandro Pira. Она оригинальна хотя бы тем, что не является прямым клоном шедевров старой эпохи, имеет с любовью написанную историю и разработанным с нуля дизайном врагов. Причем противников здесь несколько штук и каждый со своим паттерном поведения, под который надо найти ещё тактику.

За убийство вражеских алиенов начисляются как подобает очки. При достижении 5 тысяч появится босс, спамящий мелких тварин. Чтобы достичь заветной цифры может потребоваться пережить не одну волну нападения. Как правило требуется – 2-3. Одна волна состоит из разных врагов, которые появляются по очереди. Паттерн появления всегда один, поэтому подстроится не составит труда. А вот босс, хоть имеет легко считываемое поведение, доставит немало хлопот своими маленькими приспешниками. Да и сам норовит протаранит нашего героя.

Здесь ещё надо упомянуть об управлении, которое тоже вносит свой вклад в сложность игры. При нажатии на клавиши влево/вправо наш кораблик начинает движение вбок. И движется он постоянно, пока мы не нажмём клавишу противоположного движения или вниз. Из-за этого маневрировать между врагами становится крайне сложно. Спасает в данной ситуации дополнительный щит, активизирующийся при нажатии клавиши вверх. Но он, к сожалению, кратковременный и к тому же требуется время, чтобы заполнилась колонка щита (верхний левый угол терминала).

Главное достоинство игры, на мой взгляд, — это ascii арт. Игр с проработанным дизайном и с любовью нарисованными ascii спрайтами не так много. Чаще всего подобные игры ограничиваются простыми символами. Единственное, что я могу отнести к минусам — это небольшие артефакты, время от времени появляющиеся в гномовском терминале. В остальном же — это великолепный образец программистской и красноглазой мысли, воплощенный в отличной игре для unix-подобных терминалов.

nab_linux
() автор топика

CLines

  • Название: CLines (Curses Lines / Console Lines)
  • Версия: 1.0.5
  • Язык: Си
  • Лицензия: GNU GPL 2
  • Зависимости: NCurses
  • Жанр: Головоломка
  • Интерфейс: TUI
  • Коротко: Качественная реализация всеми известной офисной игры Color Lines.

Наверное, все знают казуальную игру «Шарики». В 90-ые она была популярна и стояла практически на каждом офисном компе. Тётечки-бухгалтера с удовольствием убивали свое драгоценное время, собирая пять шариков в ряд. Под наш любимый линукс есть несколько графических реализаций. И благодаря Павлу С. Веселову теперь имеем версию для терминала.

Забавна история создания данной игры. В 2002 году автор с женой переезжал и временная заминка с новой квартирой вынудила пару недель использовать ноутбук с линуксом без иксов. А его жена любила играть в цветные линии. И на логичный вопрос: «А как я буду играть в свою любимую игру в этих твоих линуксовых терминалах?», Павлу ничего не оставалось как запилить свою ascii версию.

Геймплейно игра повторяет оригинал. Дается поле 9 на 9 клеток, на котором случайно появляются 3 шара разных цветов. Задача игрока — собрать 5 шаров в ряд по горизонтали, вертикали или диагонали. Собранная линия убирается с поля, а игрок получает немножко виртуальных деньжат в свою копилку. В конечном итоге игра всё равно закончится, как бы виртуозно не выстраивал стратегию наш гениальный мозг. И только счет в табличке рекордов будет напоминать о убиенных часах за игрой.

Игра имеет обширные настройки, которые можно выбрать, передав определенный ключ при запуске в терминале. Настроить можно как игровое поле, так и количество шаров, количество цветов и режим игры(черно-белый/цветной). Правда файл рекордов работает только с дефолтными настройками, поэтому результаты альтернативных игр придется по старинке записывать в блокнотик или запоминать. Игра также умеет динамически подстраиваться, когда изменяются размеры окна терминала(можно видеть на скриншотах). Присутствуют анимации, что редкость для подобных игр. Так, например, при выборе шара, он начинает мигать, а при указании для него нового места, он как в старой игре «пробегает» этот путь. По технической части никаких нареканий.

Если подводить итог, то можно сказать, что это отличная игра, механика которой проверена временем. Подобно тетрису, она поможет скоротать несколько минут(а может быть даже часов) при очередной попытки пропатчить кде под фрибсд.

nab_linux
() автор топика
  • Название: XT gyoretsu
  • Версия: 0.2
  • Язык: Си
  • Лицензия: GNU GPL 3
  • Зависимости: NCurses
  • Жанр: Головоломка
  • Интерфейс: TUI
  • Коротко: Воссозданная с любовью и с ncurses старая тетрадная игра.

Я не мог пройти мимо игры камрада @saahriktu. Во-первых, его сборник терминальных игр в своё время явно повлиял на моё увлечение этим красноглазием. А во-вторых, сама игра достойна упоминания и из-за ностальгических слёз умиления, и просто из-за интересного геймплея.

Возможно, кто-то помнит старую тетрадную игру, за которой ученики коротали время на скучных уроках. Цифры, семечки, чиселки, девятнадцать – много названий у данной игры. В 90-ые у нас она была очень популярна вместе с точками и морским боем. Поэтому-то я был приятно удивлен, что имеется реализация этой время-убивалки под нашу любимую черную консольку.

Правила просты и гениальны одновременно. Выписываем все числа от 1 до 19, кроме 10 в строчку по 9 цифр. Затем удаляем парные, стоящие по вертикали или горизонтали, а также те, которые в сумме дают 10. Как зашли в тупик, дописываем оставшиеся цифры и продолжаем вычеркивать. Правила могут немного разнится, но в целом концепт остается всегда неизменным. Так у нас, например, было можно вычеркивать цифры, которые стояли на разных строчках, но шли подряд. В игре же от saahriktu это запрещено.

Игра имеет несколько режимов. Классический — по описанным выше правилам, случайный — когда стартовые числа , как не трудно догадаться, случайные, и шестнадцатеричный — изменяется система счисления. Есть ещё режим Kuangshan Yougang, где сумма, которую надо вычеркивать постоянно изменяется. Интерфейс приятный. По центру узкий стакан с цифрами, с правой стороны вся полезная информация — очки, пустые/полные ячейки.

К минусам – отсутствие таблицы рекордов, что для подобных игр напрашивается само и небольшие баги. У игрового поля пропадает линия с правой стороны, там, где была надпись game over и после перезапуска появляются посторонние символы(можно видеть на одном из скринов). Не критично, но впечатление немного подпортило.

Но даже не смотря на мелкие огрехи, игра выглядит солидно по меркам терминальных ascii игр. Затягивающий геймплей здесь тоже вносит свою лепту в интересность игры. И вот уже компиляние ядра закончилось, либре офис собрался с хромом, а оторваться невозможно. Ещё один разок, можно улучшить результат. Вон там, по-моему, я пропустил пару цифр. И начинается очередное мельтешение чиселок в черной консольке, от которого начинает рябить в глазах. Но приятно рябит.

nab_linux
() автор топика
  • Название: ztrack
  • Версия: 1.0
  • Язык: Си
  • Лицензия: Public domain
  • Зависимости: NCurses
  • Жанр: Гонки
  • Интерфейс: TUI
  • Коротко: Псевдо-тридешные гоночки с красивым бэкграундом.

Трехполосное шоссе, уходящее вдаль, манит своей неизвестностью. Проплывающие облака и автомобили за стеклом говорят, что 150 миль в час – это всё, на что способен наш железный конь. А больше и не надо. Не хватит реакции увернуться от машин, для которых 150 – предел мечтаний. Можно, конечно, сбросить до 60-ти и наслаждаться легкой прогулкой под палящим солнцем. Но это не наш путь. Мы любим скорость, мы любим драйв, нерв. Руль (o и p) – продолжение наших рук, педали газа(q) и тормоза(a) – ног. Мелькающие пятна в отражениях зеркал заднего вида говорят нам, что это те, неудачники, боятся рискнуть, вдавить газ в пол и наслаждаться заветными цифирками на лицевом счету. Так и влачат они неторопливо свою колымагу по дороге жизни. И только те, кто способен, не взирая на все трудности, преодолеть страх и изменить что-то в этом потоке, достигают топа рейтинга, которого нет. Но ты-то знаешь, что ты достиг, что смог, что лучший. И это главное.

Многое можно изменить, улучшить в этом безобразии. Чтобы было интересно ехать по шоссе, была конечная цель и смысл, чтобы машины не были призраками, не замечающими других и проходящими сквозь себе подобных. Да, многое… Но создатель (Рассел Маркс) имел ограниченные время и ресурсы, и поэтому получилось то, что получилось. Противоречивое, вводящее иногда в ступор, нелогичное, но захватывающее и красивое. И машины, и облака тоже красивые. Не у каждого получается такой результат. Для этого надо обладать хотя бы толикой таланта. И у автора явно он есть.

nab_linux
() автор топика
Последнее исправление: nab_linux (всего исправлений: 1)
Ответ на: комментарий от anonymous

Знаю одну, анон. Не шибко продвинутую в техническом плане, но что есть. Не обессудь. Напишу следующей, как будет время. Так что заходи, глянешь, может понравится.

nab_linux
() автор топика
Ответ на: комментарий от nab_linux
  1. Попроси модеров тереть левые комментарии в теме.

  2. Где «краткие описания»? Я не планировал бы читать несколько абзацев читать когда тут этих игр будет штук 20. Ссылки на Ютуб не убирай ни при каких обстоятельствах.

anonymous
()
Ответ на: комментарий от jhonathan

Нужен список игр для терминала, также важен «свежий» взгляд.

ТС, рядом можешь создать тему Аля программы для терминала. Вдохновись тредом про стим-игры, мне твоих тредов очень не хватало в своё время. Спасибо тебе за начинание, и постарайся не бросить через 3 месяца.

anonymous
()
  • Название: Dominoes
  • Язык: Си
  • Лицензия: GNU GPL 3
  • Зависимости: нет
  • Жанр: Настольная игра
  • Интерфейс: CLI
  • Коротко: Реализация одного из вариантов игры Домино.

Выполняя просьбу анона, я хотел бы рассказать про игру Dominoes, на которую в своё время набрёл на гитхабе, где скрыты настоящие жемчужины терминальных ascii игр, которые ещё придётся мне открыть для вас в данном топике. Вариаций игр с доминошками великое множество. С разными правилами, сложностью погружения. В описываемой мной игре самый простой вид домино. Играют от 2 до 4 человек. Каждому раздаётся по 7 костяшек. Кто первым останется с пустыми руками – того и тапки. Имеется общая куча, из которой в случае невозможности хода, берётся новая доминошка. Есть в игровом процессе ещё пара ньюансов, с которыми вы легко разберётесь, если сыграете хотя бы партию.

Интерфейс построен на принципах командной строки. Игроку нужно вводить указанный номер хода или буквой отвечать на вопросы, как в самом начале игры, где можно выбрать количество игроков, показ или нет всех костей и наличие/отсутствие человека-игрока (в противном случае играют только боты). Также здесь организован показ выкладываемых домино и под символами вопросительного знака – руки противников. В целом, интерфейс удобный и информативный. Единственное, иногда попадаются знаки и сокращения явно не характерные английскому языку. Перевернутый знак вопроса в начале предложения, i – для обозначения выкладки костяшки справа и d – слева. А иногда целые фразы на испанском, родном языке автора. Но это не влияет на сам геймплей. К этому можно привыкнуть или в крайнем случае можно подправить сам исходник. А вот, что более не приятное. Так это возникающая периодически ошибка сегментирования, что уже исправить не программисту не представляется возможным.

В dominoes нет очков, как в популярном у нас «козле». Сыграли одну партию, игра напишет кто выиграл и завершится. Хочется сыграть ещё? Только новый запуск исполняемого файла.

Хотелось бы, конечно, что бы на этой кодовой базе был реализован сборник разных вариантов домино. Потому что сыграв несколько партий, чувствуется скудность стратегии и «чересчурная» простота в этом варианте. Особо разгуляться негде. Но, наверное, нельзя требовать от Victor Luque, разработчика данной игры, большего, чем есть. Всё же, как часто бывает среди ascii игр, данный проект использовался как ученический, чтобы выучить язык программирования си и судя по возникающей ошибке с памятью, си он выучил так себе.

nab_linux
() автор топика
Ответ на: комментарий от tz4678

Интересный проект, но фпс в 6 кадров удручает. И php - это не мой путь. У меня жесткий критерий отбора игр - си(в приоритете) или плюсы(на худой конец). Остальные языки программирования пока не рассматриваю.

nab_linux
() автор топика
  • Название: MyMan
  • Версия: 0.7.1
  • Язык: Си
  • Лицензия: MIT
  • Зависимости: Ncurses и множество либ для других вариантов вывода графики
  • Жанр: Аркада, лабиринт
  • Интерфейс: TUI
  • Коротко: Пакман для терминала с множеством настроек.

Пакман часто выступает в роли жертвы клонирования. Конечно, не как тетрис или змейка, но гитхаб полнится различными версиями разной степени паршивости. Из всех мной сыгранных(а это с десяток), MyMan считаю наиболее качественной. Исполнение, близость к оригиналу, настройки. Всё на высоком уровне. В игру просто интересно играть. Да что говорить?! Если тут есть даже заставка с бегающими врагами и пакманом. При этом я хоть и играл без звука, но в голове невольно раздавались все эти «вака-вака».

В общем-то, описывать геймплей пакмана как-то не комильфо. Я надеюсь, что все знакомы с классикой игрового искусства. Но для тех, кто в танке: пакман – это классическая аркада, в которой наш круглоголовый герой кушает точки в лабиринте и убегает от призраков. А если схватить большую точку, то на небольшое время появляется возможность уже самому съесть назойливых приведений. Плюс фрукты-бонусы и очки. На лицо наличие всего того, что присуще для игр тех времен.

Что поражает при первом включении – это визуальная составляющая. Благодаря удачно подобранным символам и цветам, MyMan хоть и являясь ascii игрой, выглядит как графическая. Этакий обман зрения, который вызван тем, что оригинальный пакман выглядел скудно. Черный фон, лабиринт, нарисованный простыми линиями, точки да мелкие спрайты героя и противников. Разработчику Benjamin C. Wiley Sittler не составило особого труда добиться примитивными средствами сходства с оригиналом. Причём «графику» можно настроить. Есть несколько стилевых решений, из которых мне больше всего нравится именно дефолтный. На мой вкус он ближе к прародителю. Но возня с настройками сама по себе затягивает и невольно становится метаигрой.

Скелет игры был написан в далёком 1996 году. Впоследствии игра улучшалась и превратилась в то, что мы сейчас наблюдаем. Очень интересную и крепкую реализацию неувядающей аркады, которая затянет вас в чёрную консоль также, как и 40 лет назад она затягивала людей на игровых автоматах.

nab_linux
() автор топика
  • Название: Morpion solitaire
  • Автор: Gaetan Renaudeau
  • Версия: 1.0
  • Язык: Си
  • Лицензия: MIT
  • Зависимости: Ncurses
  • Жанр: Головоломка
  • Интерфейс: TUI
  • Коротко: Отличная реализация отличной же тетрадной игры Join Five.

Эх, жаль в школьные и студенческие годы я не знал про эту игру. Столько бы скучных уроков и пар получилось скрасить. Пасьянс morpion — это игра на бумаге с ручкой. На размеченной крестом области игроку нужно ставить точку так, чтобы через неё и ещё 4 точки проходила линия. Счёт ведется по линиям. Простые правила, но увлекательная для мозга разминка. Первые результаты скорее всего у вас будут колебаться в районе 60 линий. Но с каждой новой попытки – по линии, по точечки – результат будет улучшаться. Современный компьютерный просчёт с помощью метода Монте-Карло выдает в пределах 170-180 линий. Сможете ли вы приблизиться к электронному мозгу?

Игра Morpion solitaire от Gaetan Renaudeau отличный образец реализации физической игры в компьютерной оболочке. Удобное управление, сохранение партии, показ по клавиши «h» всех возможный ходов на данный момент и ещё много мелких деталей, которые ставят эту игру выше других ученических проектов подобного направления. За десятки партий не было замечено критических ошибок и вылетов. Возможно на более длинной дистанции они появляются, но на первый взгляд игра кажется очень отполированной.

Управление интуитивно понятное. К тому же здесь есть строка подсказки внизу экрана. Даже если игрок чего-то сделает не то, данная подсказка кричащим красным выведет предупреждение: «Ай-яй-яй, так делать!». Или одобряющим зелёным виртуально похвалит: «Линия сыграна». Визуально игра смотрится приятно. Использование символа «x» для пересекающихся линий — отличное решение. Линии хорошо считываются с терминала и поиск очередного хода не затрудняется. Использование цвета также играет на руку визуальной составляющей игры.

В завершение можно сказать, что игра Morpion solitaire, известная также как Join Five, Cross ‘n’ Lines и Line Game мало популярна у нас. В русскоязычной вики нет даже страницы с данной игрой. И абсолютно не заслуженно. Пускай терминальная версия в богом забытой теме на лорчике хотя бы двум с половиной анонам поведает про эту жемчужину среди игр с бумагой и ручкой.

nab_linux
() автор топика
Ответ на: комментарий от kto_tama

Тетрисов для терминала очень много и все они плюс/минус похожи. Есть, конечно, образчики типа bastet с жопоразрывающим алгоритмом или ptakovina с красивым ascii-артом на бэкграунде. Могу назвать ещё с пяток, которые выделяются тем или иным. Но как написать про них пока не решил. Была идея собрать все интересные мне тетрисы в один комментарий, но не зная лимита символов для комментов на лоре, как-то не рискнул. Возможно просто опишу по отдельности. Если есть прям запрос на тетрисы, то могу парочку описать в ближайших комментариях.

nab_linux
() автор топика
  • Название: Lawyer Race
  • Автор: Andreas Andersson
  • Версия: 1.0 RC1
  • Язык: Си
  • Лицензия: GNU GPL v3
  • Зависимости: Ncurses
  • Жанр: Аркада
  • Интерфейс: TUI
  • Коротко: Бегаем символом «O», собираем «$», избегаем «#», уворачиваемся от «o».

Маленький Андреас, балуясь с Qbasic’ом, случайно написал игру. Такое бывает, когда маленькие дети балуются с бейсиком. Повзрослев, уже большой Андреас уже не случайно сделал ремейк своего баловства на си. Такое тоже бывает, когда большие дяди балуются с си. Затем некто nab_linux раскопал всё это на гитхабе, препарировал и вытащил на суд лора. И такое тоже бывает, когда красноглазый задротик балуется с терминальными ascii играми. В мире вообще очень много странного бывает…

Lwrace – скоростная аркадная игра, которая поражает своим молниеносным откликом на действия игрока. И это всё в текстовом терминале. Никакого инпут лага. Иксбоксы, плейстейшоны со своими навороченными геймпадами нервно курят в сторонке. Только черная консоль, только клавиатура, хардкор и угар.

По игровому полю под нашим управлением носится угорелая буковка «O», пытаясь захватить появляющиеся то там, то сям доллары «$». А за ним по пятам гоняется «#», пытаясь засадить нашего героя видимо за решётку. Со временем игра усложняется. Сначала увеличивается количество противников, что удивительно с разным алгоритмом поведения. Один по горизонтали норовит перехватить, другой – по вертикале, а третий просто следует по пятам, как коллектор, пытающийся отнять честно потраченные деньги по кредиту. Ну а когда и они не смогут прищучит нашего отважного мистера «O», откуда не возьмись сверху начнут сыпаться камни «o». Вот и бегай между всеми препятствиями, выпавшими на нашу не легкую долю и собирай деньги, которые нужны, чтобы показать всем какие мы бохатые. Показывать мы будем в табличке рекордов, в которую впишем своё имя после неминуемой смерти нашего отчаянного товарища «O».

В игре 10 уровней сложности, которые можно выбрать, передав в теминале по ключу -l цифру от 0 до 9, что увеличивает скорость противников. По дефолту стоит 3, что вполне комфортно, но даже на ней иногда попасть в «$» проблематично. На 9-ой это превращается в нарезание кругов вокруг доллара в лихорадочной попытке наконец-то его ухватить.

Визуально игра без изысков. Цвета не используется, менюшек или особых каких-то наворотов в интерфейсе нет. Всё стандартно для подобных школьных проектов. Выделяет её то, что маленький Андреас выбрал не очередной тетрис, спейс инвейдерс или сокобан, а пускай и простую, но вполне интересную идею геймплея, чем-то напоминающую змейку. Простенькая механика увлекательна и ставить новые рекорды мотивирует. К сожалению, таких самобытных ученических проектов меньшинство. Поэтому, и маленькому, и большому Андреасу большой респект за эти минутки, проведенные с интересом за игрой.

nab_linux
() автор топика

Очевидный Cataclysm-DDA С++ ncurses(Есть и sdl который работает быстрее)
Рогалик про выживание в зомби(и не только) апокалипсисе.
Бонусом, внутри самой игры есть Змейка, Сокобан, Сапер, Light on! и robotfindskitten - в последнем есть локализация на Русский язык.

aplay ★★★★★
()
Ответ на: комментарий от kto_tama

Ты, наверное, Qix или Xonix имеешь в виду. Я знаю ровно 2 версии. Одна хороша геймплейно, но исходники без лицензии, другая вроде как public domain, но хромает игровым процессом.

nab_linux
() автор топика
Ответ на: комментарий от aplay

Я пока не хотел брать большие рогалики на обзор. Это очень интересная тема и вместе с тем очень сложная. Для поверхностного изучения даже одного представителя жанра требуется несколько дней. Пока я хотел бы остановиться на рассмотрении более компактных и маленьких играх. Тем более, что на лоре есть закреплённая тема, посвященная roguelike.

nab_linux
() автор топика
  • Название: peg-solitaire.c
  • Автор: Maurits van der Schee
  • Язык: Си
  • Лицензия: MIT
  • Зависимости: нет
  • Жанр: Головоломка, настольная игра
  • Интерфейс: TUI
  • Коротко: Добротная реализация одноименной настольной игры с 5-ю раскладками.

Солитер — забавная физическая головоломка/настольная игра, известная как минимум с 17 века. Задача игрока – убрать с игрового поля фишки (колышки, камни – использоваться могут разные предметы). Убираются фишки по принципу шашек, только в горизонтальном или вертикальном направлении. Выбранной фишкой перепрыгиваем через соседнюю, которую затем снимаем с поля. В самом конце игры у нас должна остаться только одна фишка (в других вариантах количество может варьироваться). На первый взгляд кажется, что просто, но это обманчивое впечатление. На самом деле, чтобы найти выигрышную тактику потребуется много попыток и напряжения умственных способностей. И наконец, когда основной принцип будет усвоен, не составит особого труда экстраполировать его на другие варианты данной игры.

Самые смышленые могут по названию понять, что peg-solitaire.c – это компьютерное воплощение солитера, написанное на си. Данное воплощение без изысков, в черно-белом исполнении. Символом «o» обозначены фишки и точками пустая игровая область. Enter отвечает за выбор фишки, курсорные клавиши – за направление хода. Невозможность сделать ход ведёт к game over’у. Как правило, на первых порах в конце партии остается 3-5 разнесенных по разным углам фишек, которые уже нет никакой возможности убрать с поля. С ростом умения и понимания игры будет сокращаться и количество оставшихся фишек, пока в прекрасный момент пазл не сложится и peg-solitaire.c не рапортует о своей капитуляции.

Игра поддерживает несколько начальных расстановок, которые можно выбрать указав требуемую доску после пробела в терминале при запуске игры. Всего 5 расстановок: asymmetric, diamond, english, french, german. По умолчанию используется английская доска(english). С неё и советую начинать. Она наиболее распространенная и в разных реализациях чаще всего мне попадалась.

Небольшим упущением игры является отсутствие функции отмены хода, иногда так нужной при мисклике. В остальном, приятная головоломка без явных минусов, способная увлечь на небольшое время поиска решения. После нахождения решения играть уже не так интересно. Здесь мог бы спасти ситуацию режим генерации рандомной головоломки, как это сделано в известном сборнике пазлов от Simon Tatham. Но в данном случае довольствуемся 5-ю предустановленными раскладками, что тоже неплохо для ascii игры в терминале.

nab_linux
() автор топика
  • Название: Bricktick
  • Автор: Subsentient
  • Версия: 0.9
  • Язык: Си
  • Лицензия: Public Domain
  • Зависимости: Ncurses
  • Жанр: Аркада
  • Интерфейс: TUI
  • Коротко: Красивый клон арканоида с бонусами.

Даже создать клон популярной игры надо уметь. Особенно для терминала. Сколько этих арканоидов и брейкаутов валяется на гитхабе. А толку? Играть не интересно. Нет понимания, что игру делает игрой. Геймплей склонировали — ума хватило, а сделать увлекательно — уже нет. Поэтому-то разработчик с ником Subsentient меня очень удивил, когда я наткнулся на его арканоид.

Bricktick обладает всеми атрибутами хорошей ascii игры. Здесь уместно подобранные символы для отображения в консоли и использование цветов, что делает игру визуально красивой и легко читаемой. Удобное управление и самое главное – оно отзывчивое. Пачка уровней, которые постепенно усложняются, даруя вызов для игрока. Различные бонусы, которые разнообразят геймплей. И сама механика, скопированная достаточно близко к оригиналу. Насколько это позволяет терминал, конечно. В зависимости в какую часть ракетки попадает шарик, он отскакивает в разные стороны.

В игре реализовано сохранение на клавишу «s» и загрузка – на «o», что очень удобно. Но, к сожалению, нет таблицы рекордов. Подобное – всегда упущение для такого класса игр. Скорость подобрана, на мой вкус, идеально. И не медленная, что делает игру скучной, и не сильно быстрая, которая ведёт к переусложнению. Первые уровни — лёгкая прогулка, но начиная с 5-ого уже придется применить всю имеющуюся сноровку и реакцию. Всего же уровней 7, после чего появится надпись, что игрок победил и итоговый счёт. Но здесь надо сказать, что прошёл игру я только с помощью функции сохранения. Попытки же пройти за один присест, с начала и до конца, не увенчались успехом. Ну ничего, это хороший мотиватор для следующего раза.

Из не очевидных вещей. Каждый уровень начинается с 3-мя жизнями. Какого же было мое удивление, когда непосильно нажитые жизни на следующем уровне улетучились. Но таково гейдизайнерское решение. Тем более, что жизней здесь сыплют обильно и главное выжить первое время на уровне, затем благодаря бонусам будет намного легче.

Bricktick безусловно заслуживает вашего внимания. Яркая ascii картинка, отточенный геймплей и общая вылизанность проекта. Эти свойства игры не так уж часто встречаются среди терминальных игр, если учесть их общее количество в сети. Поэтому команды make и make install ждут вас в терминале, чтобы показать новый образец красноглазого искусства.

nab_linux
() автор топика
  • Название: 8f
  • Автор: Brian Puthuff
  • Язык: Си
  • Лицензия: BSD-2-Clause License
  • Зависимости: нет
  • Жанр: Карточная игра
  • Интерфейс: CLI
  • Коротко: Терминальный вариант карточной игры Сумасшедшие восьмёрки (Crazy Eights).

Crazy Eights популярная на западе карточная игра, малоизвестная у нас, хотя и попадаются игры с похожими правилами, но всё же другие. Играется обычной для покера колодой, состоящей из 52-ух карт. Раздается игрокам по 8 карт и выкладывается одна карта на стол лицом вверх. Затем игроки по очереди начинают выкладывать свои так, чтобы их карты были одинаковы с открытыми по номиналу или масти. То есть составляется цепочка. Например, 6 пик – король пик – король бубен – 2 бубен и т. д. Восьмерки имеют особый статус. Не зря же их вынесли в название игры. Данную карту можно разыгрывать в любое время и когда она сбрасывается на стол, игрок может объявить любую масть, что вносит разнообразие в достаточно скудный игровой процесс. Правила могут немного отличаться и на основе этой игры существует великое множество других, одна из которых была популярная в нашей семье и мы играли в неё ещё в те времена, когда компы не были распространены.

8f – неплохой вариант для терминала, но только с одним режимом игры с компьютерным противником, что немного скучновато. Тем более кремниевый супостат не очень умён и сбрасывает свои «козырные» восьмёрки явно раньше времени. Чисто визуально игра сделано хорошо. Для показа карт используются символы соответствующего номинала и буквы H, D, S, C для обозначения масти. При этом каждая масть выделяется своим цветом. Красным – бубны и червы, синим – трефы и пики. Это позволяет быстро сориентироваться в непривычных для нас английских обозначениях карт. Карты же соперника показываются трёмя решетками (###), символизируя рубашки. Также здесь есть другая полезная и нужная для игры информация. Вверху – счёт и разыгранная в данный момент карта, внизу – всплывающие подсказки.

Управление осуществляется посредством ввода команды, которая отражает номинал и масть разыгрываемой карты. Например, 5C(пятерка треф). В случае с восьмёркой компьютер дополнительно попросит указать желаемую масть. В данном варианте игра идёт до 100 очков. Подсчет осуществляется после партии. Карты проигравшего суммируются по номиналу и записываются на счёт победителя. По достижении 100 очков игра спросит хочет ли уважаемый дон ещё разок сыграть. Правда это бессмысленно в данном контексте, так как игра имеет баг, который не позволяет начать игру сначала. Только ctrl + c. Также к недоработкам я могу отнести то, что игрок вправе сбросить любую карту, даже ту, которая не подходит по правилам в данный момент. И компьютер на эту наглость ничего не скажет.

Возможно, данная игра не лучший образец карточной игры для терминала. Но она явно выделяется на фоне той кучи различных ученических проектов, вываленных на гитхабе, в которые невозможно играть. Здесь хотя бы есть вменяемый геймплей с понятным управлением, какой-никакой бот, пускай и не шибко умный и легко считываемая картинка, что всё вместе позволяет выделить 8f и написать про неё эту небольшую заметку.

nab_linux
() автор топика
Последнее исправление: nab_linux (всего исправлений: 1)
11 мая 2022 г.
Ответ на: комментарий от endlessend

$ gh search repos --language c tetris curse

brandon1024/tetris             Yet another Tetris implementation, written in C with a Curses frontend.                                                                 stalker5217/curses-tetris      tetris using unix curses                                                                                                                mechos/ctes                    curses tetris game                                                                                                                      nobodyzxc/Tetris               Use curses play Tetris on linux terminal                                                                                                AndyDahlstroem/TerminalTetris  C impl of Tetris using curses                                                                                                           Oskube/C-Tetris                Tetris clone written in C with SDL and Curses user interfaces                                                                           frederick99/termetris          Termetris is a terminal based game of tetris, written in C using curses library.                                                        andrejlamov/cursed-tetris                                                                                                                                              MarosMacko/Tetris              Pure C Tetris for Linux and Windows (no curses)                                                                                         jbrubake/tetrix                A UNIX-hosted, curses-based clone of Tetris                                                                                             drcz/tettys                    A curses-based tetris clone found on a dusty backup disk, from the C course I conducted @ Technical University of Gdansk, 2007/2008.  public  Mar 29, 2016
dataman ★★★★★
()
25 июля 2022 г.
10 апреля 2023 г.