Найти тему
Я, Golang-инженер

#30. Текстовый квест с псевдографикой на Go

Это статья об основах программирования на Go. На канале я рассказываю об опыте перехода в IT с нуля, структурирую информацию и делюсь мнением.

Хой! Джедаи и Амазонки!

Это будет короткая публикация.

Последнее время только и занимаюсь, что изучением Go. Утомился.

Пришло время немного отвлечься и развлечься. Решил написать текстовую игру на Go с использованием псевдографики, см. ниже:

⠄⠄⠄⠄⠄⠄⠄⠄⠄⣀⣤⣤⣤⣤⣤⣤⣤⣤⣤⣀
⠄⠄⠄⠄⠄⠄⣠⡶⠛⠉⠄⠄⠄⠄⠄⠄⠄⠄⠄⠁⠙⢶⣀
⠄⠄⠄⠄⢀⡼⠋⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠹⣆
⠄⠄⠄⢠⡟⠁⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⢹⣆
⠄⠄⢀⡟⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⢹⣆
⠄⠄⣾⠁⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⢿
⠄⢸⡿⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⢸⣇
⠄⢸⣷⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⢸⣿⡽⣆
⠄⠈⣿⡀⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⢈⣯⠻⢹⡄
⠄⠄⢸⡇⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⢀⣠⣤⣤⡄⠄⠄⠸⣿⠄⢸⡇
⠄⣼⠇⢿⡀⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠴⠾⠛⣡⣤⣴⠶⠆⠄⠄⠟⢠⣿⠁
⠄⣿⠰⡟⣷⠄⠄⣤⣤⣤⣤⣤⣦⡀⠄⠄⠄⠄⣾⡋⣯⠄⣼⠇⠄⢠⣴⡿⠁
⠄⠹⣷⡀⢸⣧⠄⢶⣍⡉⠉⣤⣼⠇⠄⣦⠄⠄⠈⠛⠿⠟⠋⠄⠄⠈⠉
⠄⠄⠈⠻⣦⣹⣆⠄⠉⠻⠶⠟⠋⠄⠄⣿⠄⠄⠄⠄⠄⠄⠄⠄⠄⣸⣧⣀
⠄⠄⠄⠄⠘⠛⠻⣦⡀⠄⠄⠄⠄⠄⠄⢸⣇⡀⠄⠄⠄⠄⠄⠄⢰⣿⣿⣿⣿⣦
⠄⠄⠄⠄⠄⠄⠄⠙⣷⣄⠄⠄⠄⠄⠄⠄⠉⠁⠄⠄⠄⠄⠄⢀⣿⣿⣿⣿⣿⣿
⠄⠄⠄⠄⠄⠄⢀⣴⠟⣡⣶⡀⠄⠄⠄⠄⠄⠾⠂⠄⠄⠄⢠⣾⣿⣿⣿⢱⣿⠏
⠄⠄⠄⠄⠄⢠⡙⣵⣿⣿⣿⠿⣷⣤⣀⡀⠄⠄⠄⠄⢀⣴⣿⣿⣿⣿⢣⣿⠏⠄
⠄⠄⠄⠄⢰⡟⠻⠈⠻⣿⣿⣄⡻⠉⠻⣿⣷⣶⣶⣾⣿⣿⣿⣿⣿⢡⣿⠏⡄⠄
⠄⠄⠄⢀⡟⠄⠄⠄⠰⢮⡛⠿⣿⣦⣄⡀⠈⠙⠻⢿⣿⣿⣿⣿⢧⣿⢏⡼⠁⣠
⠄⠄⠄⢸⡇⠄⠄⠄⠄⠄⠙⠲⠌⠛⢿⣏⠠⣤⣤⣶⣾⣿⣿⡟⢠⠇⠈⢀⣶⠟
⠄⠄⣰⠟⠛⠷⣶⣤⣤⣤⣄⡀⠄⢸⣶⣬⣛⠦⠉⠻⢿⣿⡿⠁⠋⠄⣾⣿⣇⠄
⢀⣼⠋⠄⠄⠄⠄⠈⠉⠙⠛⠻⢷⣾⣿⣿⣭⣧⡶⠂⠄⠄⠄⠄⠄⠄⠸⣿⣿⠄
⡾⠁⠄⠄⠄⠄⠄⠄⣀⠄⠄⠄⠄⠄⡌⣿⡃⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⣿⣿⠄
⠄⠄⠄⢀⠄⠄⠄⣼⠇⠄⠄⠄⠄⠄⣷⢻⡇⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠘⣿⡇
⣄⠄⠄⠸⡇⠄⣰⠏⠄⠄⠄⠄⠄⠄⢻⣸⡇⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠛⠓

Суть игры: даётся история и варианты выбора. После того как выбор сделан, будет выдаваться новый фрагмент истории - в зависимости от сделанного выбора.

По ходу действия главный герой встречает персонажей (пример выше) и находит предметы; можно ввести ограничения на хп, броню, патроны, добавить таймер и т.д.

В одном из прошлых постов, рассказывал о псевдографике "Ёлочка". Здесь не буду рисовать псевдографику, а возьму готовую.

Плюс, если хочу более сложный квест - нужно изучить больше механик Go. И конечно, нужно написать историю.

Когда всё будет готово - оформлю всё в exe-файл и направлю друзьям. Либо покажу гостям - просто развлечение. Помню, любил такие вещи в "Космических рейнджерах", например:

Фрагмент текстового квеста "Космические рейнджеры 2"
Фрагмент текстового квеста "Космические рейнджеры 2"

Картинок пока добавлять в свой квест не могу, это будет консольная игра.

Структура игры

Чтобы структурировать код, предполагаю сделать так:

  • Будет основной код, где прописан алгоритм;
  • Будут txt-файлы с псевдографикой персонажей и предметов;
  • Содержание истории предполагаю сделать в одном txt-файле и читать из него фрагменты текста.

Пока не знаю, как прочитать из txt файла фрагмент текста. Возможно, в альфа-версии игры текст истории будет прописан в основном файле.

Самое сложное, думаю - история. Вот, уже нужно команду искать - писатель нужен) Сам, конечно напишу.

Штука эта не быстрая, уже сейчас понимаю, на этапе идеи. Ещё будет интересно добавить пару несложных головоломок. Поглядим. Думаю, в целом проект займёт 25 часов чистого времени в таком виде, чтобы я был им доволен. Go!

PS первое что понял нужно сделать - проверить, входят ли текстовые файлы с псевдографикой в скомпилированный exe-файл.

--//--//--

Напоминаю, если захотите купить курс от SkillBox, воспользуйтесь моей реферальной ссылкой. Вы получите огромную скидку на курс и плюс в карму за помощь каналу.

Псевдографика
Псевдографика

Бро, ты уже здесь? 👉 Подпишись на канал для новичков «Войти в IT» в Telegram, будем изучать IT вместе 👨‍💻👩‍💻👨‍💻

Наука
7 млн интересуются