Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Игра «История одной фермы» - увлекательное и бросающее вызов вашим серым клеточкам приключение, от которого невозможно оторваться!

История одной фермы - маджонг

Маджонг, Казуальные, Приключения

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

Python + Компьютерные игры

С этим тегом используют

Программирование IT Программист Обучение IT юмор Разработка YouTube Игры Видеоигра Юмор Геймеры Steam Картинка с текстом Все
22 поста сначала свежее
0
Agmioli
Agmioli
1 месяц назад
Искусственный интеллект

Как с нуля, сгенерировать игру или приложение, состоящие из нескольких файлов. Для чайников!⁠⁠

Как с нуля, сгенерировать игру или приложение, состоящие из нескольких файлов. Для чайников! Искусственный интеллект, Нейронные сети, Gamedev, Unity, Приложение, Android разработка, Digital, Программа, Компьютерные игры, Программирование, Программное обеспечение, Python, Гайд, Лайфхак, Чат-бот, Разработка, HTML, Браузерные игры

Как с ноля, сгенерировать игру или приложение, состоящие из нескольких файлов. Для чайников.

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

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

Чтобы избежать сложностей и путаницы, достаточно в самом начале использовать важную команду, которая выглядит примерно так:
Напиши для каждого файла код игры которая будет запускаться с html-сайта. Суть игры следующая.....

Но если вы создаете игру не на базе html-страниц и сайта, то вместо фразы "которая будет запускаться с html-сайта", вам надо указать типа-платформу игры, или ее среду разработки.

"Напиши для каждого файла код игры", является самой главной фразой, с которой надо начинать любой запрос, если приложение или игра состоят не из одного файла или страницы.

ПРАКТИКА.
Вот полный пример запроса для нейросети, чтобы создать саму примитивную игру, которая запускается в виде веб-страницы в браузере.

ЗАПРОС:
Напиши для каждого файла код игры которая будет запускаться с html-сайта. Суть игры следующая.

Объект-игрок, вид которого задается файлом"image1", управляется при помощи клавиш. Клавиши-стрелки определяют направление стороны движения объекта-игрока.

В пространстве игры, рандомно расположены объекты-препятствия, внешний вид которых задается файлом "image2".

Если Объект-игрок задевает объекты-препятствия, то Объект-игрок отскакивает в сторону.

Фон игры задается файлом "image3".

Код созданный для каждого файла, полностью вставляете в текстовый редактор (например Блокнот), и сохраняете с тем названием и расширением, который указала нейросеть.

Если вы не знаете, в какую директорию/папку игры, вставлять конкретный файл
- наберите в интернет поиске :
"название.расширение файла где должен находиться"
"название.расширение файла где расположен/где находиться"
"название.расширение файла куда положить"
Или просто изучите архитектуру игровой платформы, чтобы решить этот вопрос".

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

Показать полностью
[моё] Искусственный интеллект Нейронные сети Gamedev Unity Приложение Android разработка Digital Программа Компьютерные игры Программирование Программное обеспечение Python Гайд Лайфхак Чат-бот Разработка HTML Браузерные игры
1
1
luis2gerallit
luis2gerallit
2 месяца назад
Искусственный интеллект

Как создать игру с помощью нейронной сети: инструкция для начинающих⁠⁠

Мечтаете создавать игры, но не знаете языков программирования и даже английского? Не беда! Благодаря развитию технологий сегодня практически любой человек может воплотить свои идеи на экране монитора. В этой небольшой инструкции я подробно расскажу, как создать свою первую игру мечты.

Как создать игру с помощью нейронной сети: инструкция для начинающих Windows, Компьютерные игры, Python, Разработка, Программирование, Gamedev, Нейронные сети, Длиннопост

Автор: Павел Прилуцкий | Источник: ixbt.com

Пояснение

Ещё пару лет назад для создания сценария, ассетов (игровых ресурсов) и игровой логики требовалось нанимать команду сценаристов, художников и программистов. Но с развитием технологий всё изменилось. Чтобы создать игру мечты, теперь достаточно уметь применять на практике такие современные инструменты, как нейронные сети.

Нейросети способны:

  • Придумать сюжет.

  • Сгенерировать графику и музыку.

  • Написать код.

  • И многое другое.

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

Инструкция

Как я уже писал в своём предыдущем материале, посвящённом созданию программ, первым делом необходимо определиться с выбором нейронной сети. Ведь именно от её мозгов (совершенства модели) зависит итоговое качество проекта. Если вы проживаете не на территории России, советую обратить внимание на Grok или ChatGPT. В противном случае лучше всего подойдёт DeepSeek.

1. Скачиваем и устанавливаем Python.

Как создать игру с помощью нейронной сети: инструкция для начинающих Windows, Компьютерные игры, Python, Разработка, Программирование, Gamedev, Нейронные сети, Длиннопост

Установщик Python

2. Открываем нейронную сеть и задаём следующий запрос:

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

Как создать игру с помощью нейронной сети: инструкция для начинающих Windows, Компьютерные игры, Python, Разработка, Программирование, Gamedev, Нейронные сети, Длиннопост

Запрос

3. Теперь всё, что остаётся нам сделать — это подробно составить предложение на родном языке с описанием игры и её внутриигровой логики. Пойдём простым путём и создадим копию популярной космической стрелялки Galaga.

Вводим запрос:

Напиши игру на языке программирования Python: 2D-игра, стрелялка. Главный герой — космический корабль, который вынужден отбиваться от атакующих его инопланетных кораблей. Предоставь полный код игры.

4. Вставляем сгенерированный код в текстовый документ и сохраняем его с расширением .py. Пробуем запустить игру.

Как создать игру с помощью нейронной сети: инструкция для начинающих Windows, Компьютерные игры, Python, Разработка, Программирование, Gamedev, Нейронные сети, Длиннопост

Игра

Пока наша игра мечты напоминает что-то из эпохи Atari 800. Добавим ей текстур, фоновую музыку и звуки выстрелов. Текстуры и музыку можно взять в интернете или сгенерировать самому используся Stable Diffusion и SUNO AI.

Вводим запрос:

Добавь в код игры возможность изменить текстуры корабля, выстрела, врагов, звуки стрельбы и фоновую музыку.

Как создать игру с помощью нейронной сети: инструкция для начинающих Windows, Компьютерные игры, Python, Разработка, Программирование, Gamedev, Нейронные сети, Длиннопост

Кастомизация

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

Как создать игру с помощью нейронной сети: инструкция для начинающих Windows, Компьютерные игры, Python, Разработка, Программирование, Gamedev, Нейронные сети, Длиннопост

Улучшенная игра

Стало намного лучше. Но игры, в которых практически вся логика хранится в одном конфигурационном файле, уже давно никто не пишет. Тем не менее создать визуальную новеллу, платформер или даже копию Doom таким нехитрым способом вполне возможно. Осталось собрать игру в самостоятельный файл .exe.

5. Нажимаем Win+R и в появившееся окно вводим cmd. В командной строке вводим команду:

pip install pyinstaller

6. Не закрывая окна командной строки, переносим файл .py в любую папку и вводим следующие команды:

cd (путь до папки с файлом .py)

pyinstaller --onefile --windowed --icon=assets/icon.ico --add-data «assets;assets» game. py

Как создать игру с помощью нейронной сети: инструкция для начинающих Windows, Компьютерные игры, Python, Разработка, Программирование, Gamedev, Нейронные сети, Длиннопост
  • onefile — собрать всё в один exe-файл.

  • windowed — запускать без консоли (если нужна консоль, уберите этот флаг).

  • icon=assets/icon.ico — установить иконку для exe (если есть).

  • add-data «assets;assets» — включить папку с игровыми ресурсами в сборку.

  • game.py — файл с кодом игры.

Заключение

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

Оригинал

Показать полностью 6
[моё] Windows Компьютерные игры Python Разработка Программирование Gamedev Нейронные сети Длиннопост
14
1
CheZter
CheZter
5 месяцев назад
Лига Геймеров
Серия Нейросети и колхозный геймдев

Продолжение поста «Нейросети и колхозный геймдев, так сказать»⁠⁠1

В общем, посмотрел я на это всё дело и решил, что надо игру переносить на какой-нибудь движок. Или писать свой, что, в силу того, что я не умею программировать, выглядит как совершенно безумная задача даже с использованием нейронок, или использовать существующие. В общем, выбор пал на Unity.
На данный момент перенёс игрока, управление игроком, базовые спрайты анимации, генерацию чанков поверхностей с заполнением рандомными тайлами как в оригинале (это был ад на 4 часа ковыряния юнити и пинания нейронки), генерацию и поведение врагов (оно чуть-чуть изменилось, но пофиг, так как планирую вообще кардинально переделать эту тему в будущем), стрельбу, одно базовое оружие, нанесение урона и смерть, отображение здоровья, опыта и запаса патронов (пока без текста, только колбочки), а ещё добавил главное меню, анимированный фон для него, фоновую музыку для меню, настройки разрешения (да, оно реально меняется, я в шоке!), ну и сверху ещё навалил кнопочек для сохранения-загрузки, но пока что они не работают. Ну и кнопки New Game и Exit, соответственно, выполняют свои функции. Ну и интерфейс в игровом цикле перерисовал в нечто более лаконичное и структурированное. Цвет планирую потом подобрать поприятнее.

В планах: отказаться от бесконечной генерации врагов и бесконечных процедурных уровней, а сделать уровень-базу, в которой будут диалоги, прокачка, торговля и т.д., а сам игровой прогресс будет заключаться в прохождении уровней после выхода с базы. А сами уровни, в свою очередь, будут проработаны вручную.

Из плюсов, которые ощущаю уже сейчас: полноценное GPU-ускорение, что даёт солидный прирост fps, нормальный графический интерфейс, который позволяет работать со сценами, не перелопачивая сотни строк кода, ну и вообще, горизонт возможностей видится теперь гораздо шире.

Как-то так :)

Показать полностью 1
[моё] ChatGPT Нейронные сети Программирование Игры Компьютерные игры Чат-бот Windows Python Видеоигра Видео RUTUBE Ответ на пост
8
9
CheZter
CheZter
5 месяцев назад
Лига Геймеров
Серия Нейросети и колхозный геймдев

Нейросети и колхозный геймдев, так сказать⁠⁠1

В общем, начну с того, что языкам программирования я не обучен вообще. Когда-то в школе по азам прошёлся по ТурбоПаскалю и в универе долго и безуспешно мучал Си - на этом, в общем-то, всё.
И чего-то захотелось мне нейросети пощупать за самые интересные места. И вот он - итог. Ну, точнее, как итог - одна из стадий. Буду развивать дальше в свободное время, авось чего ещё более крутое получится)
Весь код этой игрули написан нейросетями, начинал ещё на ChatGPT 3-го поколения (не помню уже на какой конкретно версии), но использовал и 4o и o1 и Claude и Gemini и другие модели. Ассеты сгенерированы через Aurora, Flux, Stable Diffusion, Expression Editor от fffiloni и отшлифованы напильником вручную. Фоновая музыка - Suno. Сэмплы выстрелов взяты откуда-то из открытых источников.
В целом, процесс идёт довольно туго, так как нейронки часто забывают, что они сами же предлагали сделать с кодом пару сообщений назад, игнорируют твои указания, либо вообще выходят на замкнутый круг из одинаковых изменений туда-сюда. Бывает даже так, что, пытаясь изменить логику появления какой-нибудь небольшой картиночки на экране, нейронка может сломать к чёрту вообще половину функционала игры, так что совсем мозг отключать явно не получится, если хочется на выходе получить работающий продукт.
Ну а пока что получилось вот это. 1127 строчек кода.

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

PPS: За Рутуб прошу прощения, но видео напрямую на Пикабу загружаться не соглашалось ни в какую, а vkvideo вообще не распознаёт как ссылку. Понятия не имею почему.

Показать полностью 1
[моё] ChatGPT Нейронные сети Программирование Игры Компьютерные игры Чат-бот Windows Python Видеоигра Видео RUTUBE
23
LapisLabs
LapisLabs
1 год назад

Ничего нового...⁠⁠

Пока интернет комьюнити все еще спорит о том, что Ахерон вышла слишком имбовой и ее надо нерфить или бафать старых персонажей, я искренне их не понимаю. Это единственная ОДИНОЧНАЯ игра, в которой я заметил, что люди спорят о балансе персонажей... Сегодняшняя тема не баланс а нечто иное... Сегодня поделюсь своим прогрессом по обновлению бота для ХСРки. Отбросим эти бесполезные рассуждения о ботоводстве... ведь они не имеют смысла точно так же как и баланс собственных персонажей в одиночной игре...

Ничего нового... Honkai: Star Rail, Python, Программа, Программирование, Приложение, Боты, Видео, Без звука, Гифка, Длиннопост, Игры, Компьютерные игры
Ничего нового... Honkai: Star Rail, Python, Программа, Программирование, Приложение, Боты, Видео, Без звука, Гифка, Длиннопост, Игры, Компьютерные игры

Буквально вчера бот был обновлен до версии 3.3.

Из новинок, добавленных в этой версии:

Заполнение параметров активности, цикличное выполнение асайнментов, автоматический сбор уровней и наград в батлпасе, выполнение ежедневных заданий и сбор ежедневных наград.

Так же были исправлены ошибки в наименованиях... да и вообще я много чего там исправлял, ибо один и тот же код ошибки на все 500 строк исполняемого кода- это ну совсем уж не дебагается. xD

Ничего нового... Honkai: Star Rail, Python, Программа, Программирование, Приложение, Боты, Видео, Без звука, Гифка, Длиннопост, Игры, Компьютерные игры

Из запланированых апдейтов на будующее:

1\ Добавление хоть какого-то гуи. Мне конечно нравится, как выглядит шелл, но все таки окно нужно... хоть мне и не хочется наступать на те же грабли как было в более ранних версиях...

Ничего нового... Honkai: Star Rail, Python, Программа, Программирование, Приложение, Боты, Видео, Без звука, Гифка, Длиннопост, Игры, Компьютерные игры

как это было в ранних версиях

2\ Добавление каких-нибудь способов перезапуска, при появляющихся ошибках. если честно, у меня ни разу не было такого, что оставив бота на ночь он не фармил или багался. Но КАЖДЫЙ раз, когда я его тестирую он отправляется в какие то невероятные приключения и я его дебагаю.

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

4\ Если честно подумываю сделать большой хаб, который будет запускать нескольких ботов, но до этого еще далеко, как до луны пешком, да и ПК у меня не тянет больше одного клиента. я думаю, что если я буду что то подобное реализовывать, то это будет очень весело, учитывая, что если я открываю игра+ браузер(1вкладка), то одно из двух приложений крашится...

5\ Добавить автоматический сбор ежедневных наград за отметки.

Ничего нового... Honkai: Star Rail, Python, Программа, Программирование, Приложение, Боты, Видео, Без звука, Гифка, Длиннопост, Игры, Компьютерные игры

вот этих вот ежедневных наград.

6\ Рано или поздно, но я перепишу всю эту бадягу на компьютерное зрение и добавлю мультизадачность... но это все потом, и не факт, что будет.

ну вроде больше ничего нету для апдейта. могу разве что научить его самостоятельно выбирать, артефакты ему фармить, следы или ресурсы. для артефактов разработчики как раз недавно обновили инвентарь и добавили рекомендации!

Ничего нового... Honkai: Star Rail, Python, Программа, Программирование, Приложение, Боты, Видео, Без звука, Гифка, Длиннопост, Игры, Компьютерные игры

ну в принципе может в 4.0 да и выйдет...

а на этом у меня все... может через год отпишусь.

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

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

удачного вам дня!

Ничего нового... Honkai: Star Rail, Python, Программа, Программирование, Приложение, Боты, Видео, Без звука, Гифка, Длиннопост, Игры, Компьютерные игры
Показать полностью 6 1
Honkai: Star Rail Python Программа Программирование Приложение Боты Видео Без звука Гифка Длиннопост Игры Компьютерные игры
7
17
Mr.Nox
Mr.Nox
1 год назад
Лига Разработчиков Видеоигр
Серия Дневники разработчика. Духи Леса, текстовая-ММОРПГ

DnD в телеграме. Дневник разработчика. Часть 4⁠⁠

Предисловие для тех, кто не читал предыдущие части дневника: Это блог начинающего разработчика-самоучки, не претендующий на гениальность и уникальность. Я просто делаю свою первую текстовую ММОРПГ в телеграм-боте на python, и мне это нравится. А тут делюсь впечатлениями.

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

- где будут генерироваться не только монстры и боссы, но и небоевые события;

- где будут иметь значение не только боевые, но и ремесленные навыки, а также специализированные ролевые навыки типа ночного зрения, разведки, взлома замков и побега;

- где будет нужна слаженная группа, причем, не только в качестве бойцов. Например, павшего союзника может оживить только другой игрок. Если союзников нет, или они без зелий, или решили тебя бросить, то на этом подземелье для тебя закончится.

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

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

Структура

DnD в телеграме. Дневник разработчика. Часть 4 Текстовая ролевая игра, MMORPG, Gamedev, Чат-бот, Telegram бот, Компьютерные игры, ОБТ, Python, Животные, Длиннопост

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

При выборе размера подземелья остановился на 13 комнатах. В каждой из первых 12 комнат могут быть случайные противники и находки. Шанс наткнуться на врагов и находки вырастает, если забраться подальше. В последней всегда ожидает финальный босс. По времени, если проходить на предельной сложности - около часа.

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

Враги

DnD в телеграме. Дневник разработчика. Часть 4 Текстовая ролевая игра, MMORPG, Gamedev, Чат-бот, Telegram бот, Компьютерные игры, ОБТ, Python, Животные, Длиннопост

Обычные монстры и случайные боссы - это еще не все, кто может повстречаться в подземелье.

Обычные враги трех классов встречаются в количестве от 1 до 6. Боссы могут встретиться в случайной комнате подземелья, но с прокачанной разведкой и ночным зрением их можно также заметить заранее. Боссы тоже соответствуют одному из трех классов, и это влияет на их сильные и слабые стороны, особые навыки, а также шансы получить классовый предмет.

К слову, для подземелий пришлось создать изрядное количество новых предметов: оружия и экипировки, которые можно получить только в этом подземелье - Катакомбах шипов.

Групповые бои

DnD в телеграме. Дневник разработчика. Часть 4 Текстовая ролевая игра, MMORPG, Gamedev, Чат-бот, Telegram бот, Компьютерные игры, ОБТ, Python, Животные, Длиннопост

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

Групповые бои - это отдельная большая механика, которую я разрабатывал специально для подземелий. До этого бои в игре существовали только 1 на 1, как ПвЕ (против монстров), так и ПвП (арена и дуэли).

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

С новым балансом добавил и другие боевые навыки, работающих как в групповых, так и в обычных боях - комбо, отражение, амбидекстр.

Вместе с тем, старался сохранить систему сдержек, чтобы нельзя было просто "вкачать все" - боевые навыки работают только с соответствующим оружием. Соответственно у разного оружия по 2-3 бонуса к разным навыкам. Значит, для сочетаний навыков нужно подбирать определенные оружия. Либо менять их по ситуации, что также поощряет игра.

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

Теперь бои получались разнообразными. Каждая комбинация персонажей, навыков, экипировки имела свои сильные и слабые стороны и прохождение сложных боссов стало интересной задачей.

Кроме того, здесь наконец-то заиграли красками расовые навыки, которые я заложил в начале игры: ночное зрение у Рысей, взлом у Енотов, тактическое отступление у Лис. Например, только при срабатывании Тактического отступления после поражения персонаж остается живым и может воскресить союзников, чтобы с новыми силами попробовать добить противников.

Находки

DnD в телеграме. Дневник разработчика. Часть 4 Текстовая ролевая игра, MMORPG, Gamedev, Чат-бот, Telegram бот, Компьютерные игры, ОБТ, Python, Животные, Длиннопост

Каждая из находок прописана так, что может выдать минимум несколько результатов, как полезных так и вредных.

И еще одна механика которая тоже появилась в игре только в этом дополнении, это находки. В каждой из комнат может появиться случайным образом одна из них. И у каждой минимум несколько вариантов использования.

Конечно же, я не удержался от соблазна добавить в игру мимика. Поэтому при встрече с сундуком игра честно предлагает варианты открыть, взломать, ударить... Вот только, что игрок может получить, а что потерять, если не угадает правильный вариант? В зависимости от ситуации и вида сундука последствия могут быть разными. Как и с другими находками.

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

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

И конечно же очень приятно получать теплые отзывы от игроков, которые уже успели пройти эти подземелья. Практически все первопроходцы отозвались очень положительно и побежали проходить более высокие уровни. Огромное спасибо всем, кто уже поддерживает проект, играет и дает обратную связь! Понимание, что это это кому-то тоже нравится, придает мне сил и энтузиазма работать ночами напролет, изучать и добавлять в наш волшебный Лес что-то новое.

Ремарка для истории: С момента написания прошлой части дневников население Духов Леса выросло до 600 зверьков. А кроме того, выходили другие дополнения, про которые я напишу как-нибудь в следующий раз. Так что жизнь в Лесу бьет ключом! Я только и успеваю, что каждый день ловить старые баги, плодить новые, дорабатывать, улучшать и изобретать велосипеды на свой лад.

На этом откланяюсь. Спасибо и удачи всем кто дочитал!

С вами был Нокс. До встречи в Лесу!

Показать полностью 4
[моё] Текстовая ролевая игра MMORPG Gamedev Чат-бот Telegram бот Компьютерные игры ОБТ Python Животные Длиннопост
19
10
Mr.Nox
Mr.Nox
1 год назад
Лига Разработчиков Видеоигр
Серия Дневники разработчика. Духи Леса, текстовая-ММОРПГ

Дневник разработчика. Часть 3. Ищем свой путь!⁠⁠

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

Дневник разработчика. Часть 3. Ищем свой путь! Текстовая ролевая игра, MMORPG, Gamedev, Чат-бот, Telegram бот, Компьютерные игры, ОБТ, Python, Животные, Длиннопост

Последний тренд моды в Духах Леса. Домики - зверятам! Замки - стаям! Травки - всем желающим!

Уникальные истории - вот то, ради чего (в той или иной степени) многие приходят в игры. В реальной жизни твои возможности ограничены телом человека, законами физики и банковским счетом. А в играх ты можешь стать кем угодно: супергероем, спецагентом, космическим рейнджером, и даже пушистым енотиком. А значит, одна из главных задач разработчика - дать возможность прожить эти роли по своему и получить уникальный опыт.

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

На что потратить очки навыков: боевой навык своего класса или чужого? Или, может быть, ремесленный навык? Но, из какой ветки крафта, и какой стадии: для добычи ресурсов, их переработки или создания предметов? Или, может быть, прокачать навыки ремонта или улучшения экипировки?

Для того чтобы игроки могли проявлять индивидуальность и выбирать свой путь, я проработал 7 видов ресурсов (металл, драгметалл, самоцветы, камень, дерево, кожа, травы), 6 видов переработки (для получения обработанных ресурсов), и отдельные механики для каждого вида создания, починки, улучшения предметов. Кроме того, я старался для каждого из этих процессов добавить хотя бы небольшие отличия и "изюминки". Вот несколько примеров:

Травы не обрабатываются и сразу пригодны для крафта зелий.

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

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

Самоцветы добываются гарантированно, как руда, но их огранка происходит с шансом успеха, как выделка шкур.

Кроме того, для создания почти любого предмета требуются два вида ресурсов. Для оружия - металл и доски. Для брони - металл и кожа. Для аксессуаров, в зависимости от вида, это может быть сочетание любых двух ресурсов кроме трав и камня. Таким образом, любой ремесленник также стоит перед выбором, прокачивать ли добычу всех необходимых ресурсов или объединяться с кем-то, и каждому делать упор на конкретный ресурс.

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

Дневник разработчика. Часть 3. Ищем свой путь! Текстовая ролевая игра, MMORPG, Gamedev, Чат-бот, Telegram бот, Компьютерные игры, ОБТ, Python, Животные, Длиннопост

При плавке руды по строчке с эмодзи руды бежит огонек. При переработке леса пила превращает деревья в бревнышки. Камень при шлифовке становится кирпичиками. Разные варианты "двигающихся" эмодзи прописаны для всех видов переработки и крафта.

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

Еще один пример того, как я постарался дать игрокам свободу выбора и разнообразие - это квесты. Как только получились первые несколько стандартных квестов типа "убей N противников" и "принеси N предметов", захотелось шагнуть дальше. Поэтому, например, при создании ремесленных заданий у просветленного рыбака-выдры Марлина, я прописал возможность выбора из нескольких предметов, которые нужно скрафтить по квесту. Кроме этого, в промежуточных квестах на сбор ресурсов для крафта Марлин подскажет игроку, что ресурсы можно получить несколькими путями, например, добыть самому, купить, найти в походе.

Таким образом, игрок чувствует свободу и выбирает наиболее выгодный или доступный путь. Более того, в финальных квестах крафтовых веток, Марлин просит изготовить самостоятельно квестовый предмет, и у игрока появляется еще один выбор. О нем не говорится напрямую, но об этом не сложно догадаться на основе предыдущих квестов. Как именно выполнить это задание: делать вещь самому, купить на рынке или одолжить у другого игрока?

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

Дневник разработчика. Часть 3. Ищем свой путь! Текстовая ролевая игра, MMORPG, Gamedev, Чат-бот, Telegram бот, Компьютерные игры, ОБТ, Python, Животные, Длиннопост

Мудрый Марлин поощряет изобретательность и поиск своего пути.

Ну и разумеется, раз уж речь зашла о свободе выбора, я обязан упомянуть о боевом билдостроении.

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

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

Дневник разработчика. Часть 3. Ищем свой путь! Текстовая ролевая игра, MMORPG, Gamedev, Чат-бот, Telegram бот, Компьютерные игры, ОБТ, Python, Животные, Длиннопост

Пример комбинации навыков из нескольких школ. Здесь активные навыки из веток бойца (мастер меча) и убийцы (ночной охотник) работают за счет разных оружий в двух руках.

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

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

Всегда есть выбор: взять в левую руку щит или второе оружие? Или вообще взять двуручное оружие? Щит дает больше выживаемости. Второе оружие дает больше бонусов к своим навыкам или позволяет комбинировать навыки разных школ, но урон у оружия в левой руке снижен на 50%. Двуручное же оружие имеет больше урона, чем два одноручных, однако дает меньше навыков.

С доспехами тоже не все так просто. Тяжелые доспехи дают больше всего брони и кучу дополнительного здоровья, но снижают шанс парирования на 50% и лишают героя возможности уворачиваться. Средние доспехи дают меньше брони и жизней, не мешают парировать, но снижают уворот на 50%. Легкие же доспехи позволяют максимально эффективно и парировать и уворачиваться, но, как и следует из названия, дают совсем мало защиты и здоровья.

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

А пока что волшебный Лес потихоньку наполняется жизнью, а я продолжаю работать над следующим патчем и исправляю баги, которые мне помогают найти активные зверятки, ворвавшиеся в ОБТ. В проекте уже 250+ игроков, каждый из которых открывает свой собственный уникальный путь!

Всем спасибо за внимание и до встречи в Лесу!

Показать полностью 3
[моё] Текстовая ролевая игра MMORPG Gamedev Чат-бот Telegram бот Компьютерные игры ОБТ Python Животные Длиннопост
5
12
Mr.Nox
Mr.Nox
1 год назад
Лига Разработчиков Видеоигр
Серия Дневники разработчика. Духи Леса, текстовая-ММОРПГ

Дневник начинающего разработчика. Часть 2. Длиннопостные животные и сотворение жизни в Лесу⁠⁠

Продолжение истории о том, как я пишу Духов Леса - свою первую текстовую ММОРПГ в телеграм-боте на Python.

Но, для начала, посмотрите на эти прекрасные мордашки.

Дневник начинающего разработчика. Часть 2. Длиннопостные животные и сотворение жизни в Лесу Текстовая ролевая игра, MMORPG, Gamedev, Чат-бот, Telegram бот, Компьютерные игры, ОБТ, Python, Животные, Длиннопост

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

Итак, начало положено. Параллельно с изучением теории программирования я набрасывал в табличках планы, механики, формулы, объекты и ключевые события.

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

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

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

Переменных оказалось действительно много даже на начальной стадии. С точки зрения игрока не задумываешься, сколько разных данных о твоем персонаже хранится и изменяется при каждом взаимодействии. Сейчас в файлике каждого персонажа может быть по 200+ переменных, учитывая все ремесленные и боевые характеристики, предметы инвентаря, домашнего хранилища и рыночного склада, навыки, изученные рецепты, полученные письма и посылки, временные эффекты и состояния, текущую работу и т.д.

Дневник начинающего разработчика. Часть 2. Длиннопостные животные и сотворение жизни в Лесу Текстовая ролевая игра, MMORPG, Gamedev, Чат-бот, Telegram бот, Компьютерные игры, ОБТ, Python, Животные, Длиннопост

И это лишь малая часть всех характеристик. Для удобства игроков сделано упрощенное отображение только тех характеристик, которые игрок уже увеличил. Полное отображение тоже можно включить при желании.

Сам процесс создания героя я пытался упростить для игрока, насколько это возможно. В него входит только выбор имени, расы, класса и получение аватарки. Но на деле все было не так просто, ведь в коде для этих действий нужно было прописать разную замысловатую логику. Каждая из трех рас должна давать свой небольшой бонус. Каждый класс должен открывать базовый навык и предоставлять игроку начальное снаряжение именно для этого класса. Аватарки выбирались случайным образом из пула картинок выбранной расы. Впоследствии, конечно же, были добавлены возможности сменить как аватарку, так и другие параметры, чтобы игрок не оказался в ситуации, когда он "запорол" персонажа.

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

Как оказалось позже, даже на этой стадии всем игрокам невозможно угодить. Так как я делал именно текстовую игру, казалось логичным, что львиную долю информации о механиках и лоре придется преподносить именно текстом. Однако, уже на создании персонажа для некоторых проблемой стало "много букв". Но для себя я уже тогда решил, что подход к текстам будет именно таким. Я собирался прорабатывать детальный мир, а для передачи всех механик и лора явно требовалось больше пары строчек текста.

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

Дневник начинающего разработчика. Часть 2. Длиннопостные животные и сотворение жизни в Лесу Текстовая ролевая игра, MMORPG, Gamedev, Чат-бот, Telegram бот, Компьютерные игры, ОБТ, Python, Животные, Длиннопост

Первый из "длиннопостных" животных. Он рад каждому новому путнику в Изумрудном Холме, и ему есть что рассказать тем, кто не ленится читать. Так выглядит создание персонажа.

Здесь же, на стадии создания персонажа, нужно было кратко ввести игроков в курс боевки. Как любителя РПГ типа Diablo и POE меня всегда радовала вариативность. Потому и в своем мире мне хотелось сделать не жесткое деление на классы, а возможность их комбинировать. Основа должна быть простой и понятной с первого взгляда: воин, танк, убийца - которые по принципу камень-ножницы-бумага имеют разные преимущества. Однако, с самого начала игры новички предупреждаются, что все классы можно комбинировать, и ни один из первоначальных выборов не ограничивает другие возможности. Просто стоимость прокачки "чужих" навыков будет больше, чем "родных".

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

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

Навыки к этому моменту уже были в общих чертах распланированы в таблице, оставалось их только перенести в код и надеяться, что на стадии создания боевки я смогу это все учесть в формулах и функциях. Сначала я написал только первые 3 школы по 6 боевых навыков, а впоследствии добавил к ним 4 ремесленные школы по 8 - 10 скиллов.

Дневник начинающего разработчика. Часть 2. Длиннопостные животные и сотворение жизни в Лесу Текстовая ролевая игра, MMORPG, Gamedev, Чат-бот, Telegram бот, Компьютерные игры, ОБТ, Python, Животные, Длиннопост

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

С инвентарем пришлось повозиться тоже достаточно долго. Была создана база данных с видами предметов и функции для создания баз данных экземпляров предметов для каждого чата, где запущена игра. Так например вид предмета "катана", в зависимости от материала, из которого ее создают, может превратиться в экземпляры: Стальная катана, Кобальтовая катана, Титановая катана и т.д. со своими характеристиками. Плюс каждый из экземпляров можно улучшить, пока что до 5 уровня. Таким образом 1 строчка предмета "катана" в типовой базе с учетом коэффициентов материалов и улучшений превращалась в игре в 25 разных катан с отличающимися характеристиками.

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

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

Дневник начинающего разработчика. Часть 2. Длиннопостные животные и сотворение жизни в Лесу Текстовая ролевая игра, MMORPG, Gamedev, Чат-бот, Telegram бот, Компьютерные игры, ОБТ, Python, Животные, Длиннопост

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

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

За сим на сегодня откланяюсь и побегу делать следующее обновление. Сейчас у меня в разгаре разработка веток крафта, отвечающих за строительство домиков и клановых замков, и обустройство их мебелью и пристройками. А всех, кого заинтересовал мой проект, прошу заглядывать на ОБТ.

Спасибо всем, кто дочитал! Продолжение следует.

Играйте в игры, любите игры, следуйте за своей мечтой и просто хорошо проводите время!

Показать полностью 4
[моё] Текстовая ролевая игра MMORPG Gamedev Чат-бот Telegram бот Компьютерные игры ОБТ Python Животные Длиннопост
12
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии