avatar
1 день назад

Как я пытался сделать Telegram-игру, а закончил с браузерной RPG (и не сгорел)⁠⁠

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

Я зашёл, спросил: «Мы можем создать игру?» Он, конечно, согласился. И всё закрутилось.

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

Я описал идею, и мы начали вместе думать. Знаний — ноль. Не понимал, где писать код, как собираются игры... На все вопросы отвечал чат.

Оказалось, Telegram-игра — это по сути браузерка на HTML/CSS/JS. HTML — структура, CSS — стили, JS — логика. Если где-то ошибаюсь в терминологии — не судите строго, я только начал учиться.

***

На старте всё было в новинку. ChatGPT не всегда держал контекст, скрипты получались громоздкими, каждая механика — в отдельном .js-файле по 400+ строк. Всё писал в Блокноте, сохранял, открывал в браузере, правил — и так по кругу.

Потом нашёл Notepad++, стало немного легче. Потом открыл для себя Visual Studio Code — и вот тогда реально почувствовал кайф от нормальной работы с кодом.

Чуть позже случайно открыл DevTools (F12) в Chrome и понял, что можно прямо в браузере менять элементы, а потом копировать результат в VS Code. Удивительно, но таких фишек мне ни одна инструкция не подсказывала — сам нашёл, сам удивился.

***

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

В итоге решил: временно отказываюсь от Telegram-бота. Перехожу на полноценную браузерную игру. Там хотя бы контроль больше.

***

Подумал: ну 2D-RPG — что может пойти не так? На деле — почти всё старое перекочевало: верстка, стили, адаптивность. Но теперь я уже ориентировался лучше, поэтому работал системнее.

Проект занял около двух месяцев. Он не стал финальной версией, но именно он лёг в основу моей текущей игры на Godot. Скрипты не переносил — язык другой — но визуал, логика, структура перешли почти целиком.

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

***

  • 4 локации (в каждой — свой моб)
  • Инвентарь с drag & drop
  • Магазин, таверна, прокачка
  • Режимы боя: ручной и авто
  • Система дропа, карта с хабом
  • Эффекты при наведении
  • Плюс мелочи: продажа предметов, логика мобов, перемещение вещей

Для первой игры — это был мощный апгрейд. Я реально понял, насколько сложна масштабная браузерка. Много кода, много взаимосвязей. Это не просто “написал скрипт и игра готова”.

Однажды открыл DevTools у одной крутой браузерной игры — в HTML было 3000+ строк. И это только одна вкладка. А их там десятки. В тот момент я чётко понял: я туда больше не полезу.

***

После RPG я сделал сайт для своей игры. Опыт с браузерной версией помог — знал, куда лезть, где искать решения, и всё вышло.

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

Дополнительные материалы и скрины — оставлю в комментариях под этим постом. Заглядывайте.

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