HenjTV

HenjTV

Пикабушник
Дата рождения: 15 июня
109 рейтинг 1 подписчик 0 подписок 2 поста 0 в горячем
9

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

Всем привет, меня зовут Henj и я тут новенький.

Хочу рассказать о своем небольшом хобби - создании онлайн игры.

Немного о себе

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

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


Период блокнотика

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

Так продолжалось достаточно долго (почти 3 года, если честно) и в какой-то момент я понял, что:
1. Материалов уже достаточно, чтобы сделать прототип
2. Блокнотик заканчивается и надо начинать что-то переносить в компьютер.


Период форумов

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

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

В общем я подготовил ГДД (как смог), оформил посты, свои мысли и эскизы, опубликовал и стал ждать. И дождался.

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

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

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


Период раннего прототипа

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

Основа игры - одновременные ходы и предугадывание действий соперника. Игрок выбирает одно из 5 действий, противник делает тоже самое. Результат и вот уже базовый геймплей готов.

Первый прототип игры.

Первый прототип игры.

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


Период браузерной игры

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

Чем примечателен этот период?

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

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

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

Конечно, я немного расстроился, что обменял время на опыт, но решив не затягивать этот процесс я снова вернулся в Unity.


Период Unity (клиент-сервер)

Проанализировав предыдущие ошибки я понял, что варианты с клиент-клиентом мне не подходят (уж не помню хронологию, но где-то между PUN и браузером я потрогал и Unity FGO и Mirror и еще что-то полуживое).

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

Теперь я начал получать еще большее удовольствие от процесса. Если раньше над самой маленькой фичей можно было страдать день-два, то тут за неделю мне удалось перенести весь Web на сервер, да еще и так, что оно работало!

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

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

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

Дальше улучшения были буквально "по капельке". Где-то дорисовать форму, где-то переместить панель. Все варианты я уж не буду прикреплять, а то получится слайдшоу на несколько часов. Вот такая была самая долгая по продолжительности версия:


Небольшое лирическое отступление

Период всего

Я довольно много рассказал об интерфейсе, но что же еще есть в моей игре? Вот что я хотел видеть из ключевых моментов:
1. Увлекательный геймплей, где простота базовых механик умножается на глубину взаимодействия способностей персонажей
2. Сюжет каждого персонажа и мира в целом. Каждый персонаж - не просто болванчик, а личность, имеющая свою мотивацию и историю (хотя, фактически, для игры в этом не было необходимости, все-таки сессионка)
3. Голоса персонажей, сделанные живыми людьми. Я напомню, что нейросети - всего лишь средство для достижения цели, и хотя бы такие мелочи мне хотелось сделать более душевными.
4. Соревнование в чистом виде, где только от твоих действий зависит твоя победа
5. Работающий матчмейкинг, чтобы люди могли сразиться из любого места.

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

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

В добавок к этому не забывал и о комьюнити - вел Devlog, а так же стримил разработку на твич. (после основной работы). Рекордная серия стримов - 100 дней без перерыва.


Период мобильной игры.

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

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

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

Актуальное состояние геймплея примерно такое:

Суть поста

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

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

Я продолжу делать игру, постараюсь сделать её настолько хорошей, чтобы в нее интересно было играть.


Ответы на часто задаваемые вопросы

Какая цель разработки? Что будет, если игра не станет популярной?

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

Как давно ты делаешь игру?

Первая строчка кода появилась в январе 2025 года. До этого все было в блокнотике.

Игра бесплатная?

Игра совершенно бесплатная и всегда будет таковой.

Как называется игра? Твоя игра уже доступна? В нее можно поиграть?

Игра называется Synthetic Eclipse. Сервер всегда онлайн. Скачать можно с RuStore и ItchIO и играть на PC или мобильном телефоне Android.

Какие нейросети используешь?

Использую более 50 нейронок. Ключевой момент - все бесплатные. Возможно когда-нибудь сделаю пост по оптимизации работы с ними.

Какой игровой цикл? В чем заключается геймплей?

Игровой цикл примерно следующий:
1. Игрок выбирает персонажа и находит себе соперника (подбором занимается матчмейкинг)
2. Игрок выбирает таланты, усиливая свои основные способности
3. Игроки одновременно выбирают основные способности

Вот небольшое видео геймплея:

Твоя игра похожа на "Бойцовский клуб" или что-то еще из браузеров 2000х

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

Где можно узнать подробнее о тебе или об игре?

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

Ты продолжаешь работать над игрой?

Да, каждый день стараюсь сделать её хоть немного лучше.

У меня остались вопросы!

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

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

Показать полностью 3 6

Я ненавижу шуруповерты!

Всем привет, меня зовут Henj. Я вот уже более 20 лет работаю профессиональным закручивателем саморезов с помощью отвертки и я терпеть не могу шуруповёрты.

И вот только некоторые из причин, почему это так:

Закручиванием шурупов должны заниматься только профессионалы.

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

Шуруповёрты повсюду.

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

Шуруповерты тупые.

Один мой знакомый, наслушавшись рассказов о том, как шуруповёрты "здорово помогают в ремонте" купил самый дорогой из них. И что бы Вы думали? С криком "Поклей мне обои" кинув шуруповёрт в комнату он ожидал, что этот инструмент действительно окажется полезен, но вместо поклеенных обоев друг получил лишь порчу пола в том месте, куда шуруповёрт упал. И вот это Вы называете "прорывом в технологиях"? Если бы меня закинуть в помещение и сказать поклеить обои - я бы справился. Шуруповёрт - никогда.

Руководители думают, что шуруповёрты полезны

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

Шуруповёрты - пузырь.

Вы заметили, что с момента появления первых электрических шуруповёртов прошло уже много времени, а их прогресс все больше останавливается? Уже давно не слышно о каких-то глобальных прорывах. Где-то увеличивается мощность, где-то время работы аккумулятора, но на этом все. Да еще и запчасти стали дороже. Компании создают их на все свои ресурсы и скоро будут терять убытки.

Заключение

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

По традиции - Всем спасибо и хорошего дня!

p.s. на*** шуруповёрты.

Показать полностью 6
Отличная работа, все прочитано!