Вкатываюсь в гд со своей магической экшон-рпг-роглайт со сложной системой стихий, кучей ЦИФЕРОК, использованием заклинаний для путешествий по разным планам за редкими ресурсами для покупки новых заклинаний и повышенным содержанием символизма и мистицизма (на скринах не представлено).
В обычной жизни — JS-разработчик. Пилю по вечерам с августа, мне помогает еще один человек. Не заебало. Юнити, пиксель-арт. Lich это рабочее название проекта, потому что он про безымянную криповую сорку.
Что уже есть: — Общий диздок и подробно расписанный демо/онбоардинг — Движок с абстракцями для мобов, игрока, заклинаний и т.д. — Гибкий генератор данжей — Дубовый генератор комнат — Фреймворк для ИИ мобов на конечном автомате — Спизженные из разных игр спрайты — Изрисованный наполовину скетчбук с видением мира и всякими СКРЫТЫМИ СИМВОЛАМИ — Стены, пол и двери для одной локации — наибанальнейшего данжа из камней
Сейчас работаю по двум направлениями: — Переключиться с рисования графики на написание брифов и отдать ее тем, кто рисовать действительно умеет — Написать редактор уровней, чтобы не возиться напрямую с JSON
>>327577 (OP) Арт сочный, пиксели не поворачиваешь, мне нраица. Unity пугает — системные требования у игры с таким графоном всё равно завышены, я прав?
>>327590 Да, скорее всего с этим будут. Я еще ГМ, смотрел мельком, но он мне показался слишком примитивным и там 30 фпс вроде, что не очень хорошо для экшона. А что бы ты выбрал?
Начал писать редактор уровней. Посколько все, что он должен делать это открывать и записывать JSON, решил не упариваться в интерфейсы на Юнити и нафигачить его на хорошо мне известном Реакте, а потом просто запихать в Электрон. Или даже так оставить. Дополнительный профит — легко шарить редактор онлайн.
Завел вебпак и нафигачил прототип редактора. Пока все, что он умеет — выделять тайлы по клику. Ну и интерфейс продумал. Меньше драг-энд-дропа, больше хоткеев: легче писать и быстрее работать.
Продолжаю писать редактор, хочу закончить приемлемую для работы версию сегодня-завтра.
Он научился составлять библиотеку ассетов, и преобразовывать JSON уровня в его превью. Осталось сделать обратный процесс и допилить всякие мелочи вроде возможных слотов для дверей.
По поводу спрайтов — это просто временные заглушки для тестов кода и геймплея. Не думал, что нужно это уточнять.
Привет, анончик. Интересные вещи тут делаешь, правда, комната со скринов уж очень что-то напоминает, но вот что - не могу понять. Вопрос к тебе: если я картиночки всякие умею рисовать, но не в пиксель-арте - могу ли в команду влиться али не нужон?
>>328878 >комната со скринов уж очень что-то напоминает, но вот что - не могу понять Зельду, Айзека. С такой перспективой не очень-то много игр. Сейчас обычно делают вид сбоку (Crawl, Enter the Gungeon, Nuclear Throne), но я не хочу по геймплейным соображениями.
>Вопрос к тебе: если я картиночки всякие умею рисовать, но не в пиксель-арте - могу ли в команду влиться али не нужон? Не надо, спасибо.
>>329173 Так я не понял, почему редактор у тебя открывается на localhost:7099, если ты на Unity делаешь? На выходе ведь должна .exe программа получаться?
Добавил в редактор возможность размещать и удалять ассеты из библиотеки, горячие клавиши для перемещения по сетке и сохранение в локал сторейдж. Остались двери, добавление и удаление уровней и экспорт в JSON. Всякую мелочевку, типа возможности поворачивать ассеты, пока нафиг.
Редактор допилен, экспорт в JSON работает, уровни рисуются. Настало время вернуться к пикселям, запилить несколько брифов и озаботиться поисками приличного пиксель-артиста за монету. Потому что сам все это рисовать я точно ебанусь.
>>329806 Не вижу особого выигрыша от такого способа.
Ковырял несколько часов спрайты, в попытках сделать нормальные камни из нескольких пирамид. Даже сделал по-быстрому рендер в Блендре, но на таком размере хрен нарисуешь сколько-либо сложную форму. Результат пока не радует.
Проебался несколько вечеров с Юнити, в частности с автоматизированной загрузкой ресурсов — одни предлагают папку ресурсов, другие ассет бандлы, третьи — захуячить расширения для редактора чтобы собирать. Кто во что горазд, короче. Попутно горю от многословности, дубовости и императивности C#.
Предвижу завтра веселье с попытками распрарсить JSON уровня в классы.
Ожидаемое веселье с JSON действительно было — убогий парсер Юнити может только в массивы и заранее предопределенные структуры. Отдельный багет доставляет полное отсутствие культуры внешних библиотек и управления зависимостями — только ассет стор, где нормальный парсер стоит 25 баксов. Безумие какое-то. Впрочем, через некоторое время JSON сдался.
На выходных впихал редактор в Электрон, чтобы можно было работать напрямую с файлами из папки ресурсов, брать оттуда ассеты и сохранять уровни. Получилось годно, батя говорит маладца. Второй Кирилл тем временем пилил генератор данжей.
Технический фундамент игры начинает мне нравится. Следующая задача — написать генератор комнат и прикрутить к нему работу с лейаутами уровней.
>>359966 Возьми Newtonsoft.Json, в слегка урезанной для Юнити версии нет некоторой неработающей на айфонах хуйни и не еби мозги. Лежит на гитхабе где то.
>>360588 >>360943 И их придется в репозитории держать? Вот это я имел в виду, говоря про отсутствие культуры управления зависимостями. В любом случае, спасибо за советы.
>>360972 жс-макака не может прожить без своего npm и кучи ненужного говна? Не расстраивайся, для C# есть nuget. Проблемав том, что UNYTI это слишком специальная программа, с своей кастомной и древней mono, в которой нет дохуя библиотек.
>>360973 >жс-макака не может прожить без своего npm и кучи ненужного говна? Да ещё какого говна, инструментарий JS - говнище уровня Unity, тащем-та. Просто опять же, лучше ничего и нет.
>Не расстраивайся, для C# есть nuget. А я и пишу на C#.
>>360945 А ты используешь не Perforce/Plastic для контроля версий? Зачем? Всякие там помойные гиты для бинарников не годятся. А в геймдеве большая часть всего - бинарники. Ну а в целом тут управление зависимостями живет постольку поскольку.
Не особо производительные три дня, еще и на работе адок; допиливал редактор, настраивал для него сборку (вайн ставился полтора часа), причесал все проекты и слил на гитхаб и прочее такое. Посмотрел альтернативные VCS, не впечатлился. Тяжелых бинарников у меня не особо много, графон-то уровня NES. Так что обойдусь гитом.
Сделал генерацию комнат из ресурсов. Делаю комнату в редакторе, сохраняю, сразу же смотрю в игре, красота. Теперь нужно прикрутить к ресурсам лут и мобов. Наверно, надо будет из кода генерить анимации и их контроллеры.
Немного поковырял камеру, выяснилось, что стиль пиксель-арта, который я выбрал, прекрасно скеилится. Даже если в сетке чередуются логические пиксели по 3 и 4 физических, то это совершенно незаметно. Приятный бонус. До этого хотел скейлить только до полностью кратных разрешений, теперь разрешу x2.5, x3.5 и т.д. (х1.5 выглядит все равно довольно стремно).
Второй Кирилл, тем временем, допил генератор уровня, который отвечает нашим планам.
>>374464 Пиксели разного размера в любом случае не ок. Сука, сначала стараются, вырисосывают, а потом херят картинку в собственной игре. Так трудно догадаться, что надо увеличивать в целое число раз, а потом уменьшать биленейным до пользовательского окна?
Чем же занимался ОП каждый вечер это недели? Охуевал от Юнити, конечно.
Прикрутив статичные спрайты, я принялся за анимации. Нагуглил аж 4 способа: 1. Написать корутину, которая будет менять спрайты по таймеру 2. Legacy Animation, который ОЧЕНЬ ЛЕГАСИ НЕ ИСПОЛЬЗЙТЕ ПЛЕС 3. Mecanim, который доступен только из редактора 4. Playable API, который экспериментальный и нестабильный
Первый способ — очевидный велосипед и хуита, легасиговно мы тоже не хотим, меканим оче переусложнен и ничего не может из рантайма, на последний толком нет примеров и вообще экспериментальные фичи — ну нахуй.
Кроме того, в Юнити тупо невозможно создать AnimationClip из спрайтов в рантайме. В игре 50 мобов? Будь добр сделать по десятку анимаций для каждого и закинь это все руками в контроллеры. Или пиши скрипты для редактора, которые все это будут делать за тебя. Собственно, последним я и занимался. Ура, теперь есть кнопка, которая собирает клипы из спрайтов. Осталось решить проблему с контроллерами и прикрутить это все к объектам.
Не могу сказать, что все это дрочево вместо программирования, собственно, геймлпея мне нравится, но делать такое руками — фу блять! Тем более, что Кирилл №2 все еще подпиливает скрипт генерации данжа.
>>381015 >В игре 50 мобов? Будь добр сделать по десятку анимаций для каждого и закинь это все руками в контроллеры Если у этих мобов спрайтлист и анимация выполнена по одному шаблону то можно использовать один контроллер для всех. Меняешь спрайт в спрайтрендерере и всё будет работать.
>>381015 >Первый способ — очевидный велосипед и хуита Лол, дурачок. Animator просто меняет sprite в SpriteRender. Никто не запрещает тебе сделать свой компонент, который будет делать тоже самое.
>>381437 Насколько я понял, это работает только если в анимации используется один спрайт. А у меня кейфреймы. AnimationClip в рантайме привязать или заменить нельзя.
>>381466 >Если анимировать персонажей, то меканим таки поудобнее будет. Если анимировать сложных 3Д персонажей. Тебе же только спрайты переключать надо.
Решил нарисовать нормальные спрайты игрока и порядком подвис на выборе стилистики и палитры. Очевидно, что уровень Super Metroid или Minish Cap мне не осилить, так что пока выбор из двух стульев — честная палитра NES без нормальных красных цветов и с полным отсутствием приличного темного цвета для фона кроме черного и, с оговорками, темно-бирюзового (на пике) или более мягкие и ламповые тона SNES, но все равно с жестким ограничением по количеству цветов. Последнее посложнее и уже готовые стены придется сильно перерисовывать, чтобы контраст был поменьше. Отдельный вопрос — делать обводки или нет?
>>381974 >>381976 Спасибо за советы. Я не сторонник слишком маленьких палитр, потому что там приходится делать миллионы дизеринга, а я его терпеть не могу. Надеюсь, что уложусь в 64 цвета или около того.
Чуть не неделю не писал апдейтов, а тем временем сделали кучу всего.
Во-первых перерисовал стены, сделал палитру более мягкой и убрал верхнюю часть стен (извини, Зельда, но нет) и выработал для проекта принципы пиксель-арта, которых буду придерживаться в дальнейшем.
Во-вторых Кирилл #2 запилил генерацию данжа, да еще и настраиваемую по веткам. Лейауты берутся из базы, комнаты генерятся, переходы работают, примитивная карта рисуется. Красота!
Теперь планирую налечь на три направления: 1. Сделать персонажу анимацию, понять как это удобнее экспортировать в спрайтшит и настроить соответствующим образом сборку контроллера из этого спрайтшита. После этого можно будет сделать мобов.
2. Изменить генерацию стен, пола и дверей так, чтобы они не зависели друг от друга и сделать возможность динамически свопать палитру на них — в целях экономии двери и пол будут одинаковые во всей игре. Видимо через шейдеры? Пока не знаю.
Разработка продолжается в обычном темпе, просто я ленюсь писать отчеты. За два месяца запилили систему управления ресурсами и автогенерацию анимаций и контроллеров, сделали нормальный пасфайндинг, нормальную миникарту, уточнили миллион геймплейных вопросов и заебошили несколько спрайтов. Все еще подгораю с Юнити и необходимости писать кучу тулинга самому. А ведь это время можно было бы потратить на программирование геймплея. Но, что уж есть.
Вместо простыней буду бампать картиночками мобов. Вот, например, грибомедуза — самый базовый овощной монстр.
Хотел сегодня сделать новые анимейшен контроллеры для 1- и 2-направленных мобов, но вместо этого убил весь день на простейшую (казалось бы) задачу — вывести текст о состоянии ИИ рядом с мобом. Хуй знает какой индус делал систему гизмо в юнити — некоторые гизмо работают в гейммоде, некоторые — нет, гизмо для вывода текста тупо нет, если вызывать GUI из OnGUI, то он получает один скин, если из OnDrawGizmos, то другой... Опять весь день потрачен на тулинг вместо программирования геймплея.
Сегодня большую часть дня пилил отлетающие цифры, куча времени ушла на подбор приятных кривых. Плюс сделал так, чтобы направление разлета зависело от положения игрока в комнате.
Из важного — запилена система заклинаний, которая позволяет гибко комбинировать эффекты (пик 2 — файрболл). Это важно, потому что спеллов планируется МНОГО — на их сборе и комбинациях и построена вся игра.
Кроме того произведена эпическая работа по переписыванию генератора анимаций и контроллеров, теперь он полностью контролируется JSON-данными, а не тупо именами файлов в папке.
Ближайшие планы — нормальные индикаторы здоровья и маны, основной геймлуп (база / данж / смерть), оставшиеся мобы и спрайты окружения.
У меня вопрос - где ты берешь свободное время? Я вот как и ты, пердак-пердукс макака, и напрограммировавшись за день на работе, сидеть еще и вечером за геймдевом у меня сил не остается. Хоть и хочется. Но башка уже не варит. В итоге пилю свой тетрис только на выходных. И из за этого медленно получается.
>>403043 Немного по вечерам, вся суббота, иногда еще вечер воскресенья. Иногда удается попилить полдня в рабочее время, когда жду бэкенд и нет задач. Если башка не варит, то иду спать. У меня все тоже не быстро, знаешь ли; девятый месяц разработки и даже демки нет. Но я сразу планировал, что буду делать ДОЛГО и понемногу, так что особо не бугурчу — мне нравится процесс. И привычка сформировалась уже.
Оп на связи. Неделя довольно продуктивная, сделал базовый UI на канвасе, контроллер к нему, ивенты и т.д.
Сильно допилил код игрока, выкинул оттуда старый мусор, сделал кастайм и глобальный кулдаун. Неожиданно много времени заняла разработка такой простой внешне фичи, как определение направления каста по последней нажатой стрелке — ходить можно в 8 направлениях, а стрелять только в 4. Пришлось даже прибегнуть к помощи коллеги из Физтеха, но в итоге все сделано и работает прекрасно.
Хочу рассказать о некоторых фишках игры, которые отличают ее от Айзека. Там сходство больше внешнее на самом деле.
— Основа боевой механики — заклинания. Их много, они разных элементов, стоимости, мощности и т.д. — Лич путешествует по разным мирам и выбивает из мобов ресурсы и использует их для покупки новых заклинаний в логове. Ресурсы пропадают при телепортации обратно в данж, но заклинания всегда остаются в собственности игрока. — Все планы (данжи) игры связаны друг с другом, некоторые связи очевидные, некоторые секретные, некоторые требуют определенных заклинаний для прохода.
И две важные механические фишки: — Магия нейтральна. Заклинанию все равно кто его скастовал, можно убиться об собственный файрболл или подставить моба под спелл, который скастовал другой моб. — Магия материальна. У файрболла есть масса, он отбросит тело, в которое стукнулся, два файрболла взорвутся при столкновении. Взаимодействие между заклинаниями зависит от их силы и элемента.
На той неделе решил сделать простую задачу — покрасить цифры, которые вылетают при ударе в разные цвета. Белый для урона по мобам, зеленый для лечения и красный для урона по игроку.
Думаю ок, надо делать через замену палитры шейдером, все равно это потом понадобится. Но чтобы сделать через замену палитры, надо чтобы исходный спрайт был нормализован, т.е. показатели красного канала располагались через равные промежутки, типа 0, 0.33, 0.66, 1. Руками вроде как делать не хочется. Пишу скрипт, который нормализует спрайты.
Попутно думаю — так, а что если у меня палитра у [email protected] и [email protected] будет разная? Может там какие-то цвета используются только в анимации атаки, например? Тогда палитра свопаться будет криво. Ок, значит надо склеивать спрайты с одинаковым именем, но разными действиями и делать для них единую нормализованную палитру.
Да, кстати, а чего-то у меня спрайты хранятся в разных ase-файлах? Я же могу их хранить в одном, но разные анимации под разными тегами, тогда и тестировать свопы будет проще и вообще как-то правильней получается. Тем более у Aseprite есть CLI, ща мы все через консоль экспортируем. Выясняется, конечно, что CLI недопилен и экспортировать по тегам может только в отдельный файлы, но не в спрайтшиты. Но меня уже не остановить, я нахожу либу чтобы дергать шелл из ноды, генерю через Aserprite CLI миллиарды промежуточных файлов с фреймами, собираю их нодой в спрайтшиты, нормализую палитру, и пишу на диск.
Потом еще полдня ковыряю шейдер и УРА, РАЗНОЦВЕТНЫЕ ЦИФРЫ.
Две недели ковырял три вещи: — UI, в частности генерик меню выбора чего-либо — сверстал, подобрал шрифт, сделал автоматическую подгонку размера по обоим осям, сделал для UI систему ивентов, адаптировал ее к инпуту игрока и т.п. — NPC, сам класс, корутина, которая отслеживает ближайшего NPC и перехватывает инпут — Класс с прогрессом, который потом можно будет записывать как сейв и отслеживание этого прогресса другими классами.
Плюс всякие менее значимые вещи, например перенос конфигурации всех материальных объектов в JSON. Кажется, что префабы уже практически не нужны, все генерится через код.
Это, кажется, самый большой коммит за всю историю проекта.
Спрайты все еще временные, не могу определиться со стилем, освещением и эффектами.
>>406073 Своп палитр планирую использовать повсеместно, так что думаю, что эти усилия оправданы. В любом случае, я рад что разобрался что такое шейдеры и как они работают.
>>408449 Согласен, но это не в приоритете. Отдельный цифры сейчас потому что заклинания собраны из «эффектов». Например Fireball состоит из FireballProjectile и FireballBlast. И если проджектиль может попасть только в одного моба, то бласт вполне может задеть нескольких. Это сделано для того, чтобы можно было создавать сложные заклинания комбинируя простые эффекты.
>>408465 Игрок может ходить в 8 направлениях, а кастовать только в 4. Представь, что сначала он жмет вверх (идем вверх, кастуем вверх), потом не отпуская вверх, вправо (идем вправо-вверх, кастуем вправо), а потом отпускаем вправо (снова идем вверх и кастуем вверх, хотя последняя нажатая кнопка — вправо). Как решать будешь? Плюс еще есть интересные крайние случаи, когда сначала идем вверх, а потом вниз и влево — игрок нажал две кнопки в один фрейм, ничего невозможного. Тоже надо обработать.
>>408489 Перечитал, там глупость написана. Что значит «если направление - диагональ, то по последней нажатой кнопке»? У тебя нажатия кнопок не идут потоком, просто в каждом фрейме можно получить инпут для оси X и Y.
В кадре N тебе приходит инпут [0, 1], а в кадре N+1 — [-1, -1]. И что, какая кнопка тут была последней? Куда надо кастовать?
>>408490 Какой 0, какой -1, наркоман? На клавиатурке тю-тю нулей и минус-единиц, але блять. Совсем со своим юнити поехали. Ты говорил о кнопках - я тебе про кнопки и ответил. Если у тебя вместо кнопок абстракция, которая тебе не подходит, то это совершенно другой разговор, это же очевидно.
А уж если у тебя абстракция, то спеллы всегда должны кастоваться в направлении движения, ибо мобилки, например. А если у тебя нет клавиатуры в коде, но ты ее выдумываешь обратно, то у тебя эта абстракция протекает - тоже очевидно, кстати.
>>408495 Тебя каждый пост надо просить перечитывать? Нет, ну все написано же - прочитай, потом отвечай. Я уж молчу про то, что описанный мной в первом посте способ работает точно так же и для твоих нулей с единичками, но ты опять не удосужился подумать об этом, прежде чем писать пост.
Я другой анон, не понял, из-за чего у вас тут спор, хочу понять. Объясните, например, в чем минусы такого нахождения последней кнопки (псевдокод): private int[] inputKeysInPreviousFrame = new int[2]; private string lastKey;
void Update() { inputKeys = input.keys() //та самая функция, которая выдает что-то типа [0, -1] if (inputKeys[0] != inputKeysInPreviousFrame[0]) { if (inputKeys[0] == 1) lastKey = "up"; if (inputKeys[0] == -1) lastKey = "down"; } if (inputKeys[1] != inputKeysInPreviousFrame[1]) { if (inputKeys[1] == 1) lastKey = "right"; if (inputKeys[1] == -1) lastKey = "left"; } inputKeysInPreviousFrame = inputKeys
А, да, при касте еще должна идти проверка, движется ли сейчас персонаж по диагонали. Если да - используем эту нашу lastKey, если нет - используем направление движения.
Минус только один (довольно минорный) — приоритет одной оси даже в тех случаях, когда это не нужно, например при инпуте вида [0, 1] -> [-1, -1] хочется двигаться по той оси, где разница была больше, а просто по фиксированной.
Сейчас добиваю все куски движка и ассеты нужные для демки, потом, вероятно, долго будут ковырять геймплей, баланс и прочий флоу.
Что сделал с прошлого раза: — Выпилил из ядра практически все следы императивщины, заменив их на ивенты. Стало намного понятнее что за чем идет, код ста менее связанным. — Доработал UI — шрифты, обводки, ХП и МБ бары — Сделал вариант меню из двух секций, добавил лайтбокс — Сделал сохранение и удаление сейва — Продумал основные положения вселенной игры и накидал несколько временных спрайтов (потом художник с руками перерисует)
Процесс движется черепашьими шагами, все еще куча времени уходит на инструментарий.
Что сделано: — Дорисовал всем спрайтам тени, стало сильно лучше, но над полом еще надо поработать. Добавил работу с тенями в свой сборщик спрайтов, сейчас он просто следит за тем, чтобы все тени были одного цвета. — Практически закончил покупку за лут NPC и заклинаний, скоро смогу наконец-то тестить главный геймлуп — Нормальный инвентарь с иконками — Перенес все ресурсы кроме уровней из JSON в ScriptableObjects, стало значительно удобнее в них копаться
>>429299 Его делал Кирилл №2, так что на сто процентов точно не отвечу. Там стандартный A*, плюс, если я ничего не путаю, то если моб не видит пути до игрока, то идет к мобу, который ближайший к игроку. Какая-то очень простая логика, в общем.
Прошел через очередной цикл перепридумывания основных геймлупов и механик. Вроде справился, попустило.
Для реализации новых идей стало надо потюнить генератор уровней, но внезапно оказалось, что он намертво привязан к гейм обжектам. Пришлось переписать. Теперь можно гонять его прямо в редакторе, каеф.
Теперь игре надо нарастить немного мясца — задизайнить пару десятков комнат, расставить мобов, посмотреть что работает, а что нет.
>>440468 Нет, у разных объектов разная перспектива.
Стены и пол нарисованы строго сверху, под 90°, в развертке.
Объекты, видимость который сортируется по оси Y — персонажи и большие препятствия за которые можно зайти, рисуются под углом в 45° в 3/4.
Объекты, которые просто лежат на полу и перекрываются персонажами всегда, вне зависимости от их положения по оси Y, рисуются под углом ~75°, т.е. почти полностью сверху.
Не все спрайты нарисованы строго так, но общая идея такая.
>>440501 Но из-за разной перспективы фигня получается. Если смотреть незначительно верхней стены, то всё норм, а если на остальные, то похоже, что персонаж пьяный на карачках ползает.
>>443272 Технически все ок — прикрутил генератор к игре, починил ряд багов. Даже веб-билд сделал (работает!). Но что-то поток идей подиссяк, геймплей кажется примитивным, не нравится сюжетная и арт-составляющая. Дело не бросаю, рисую в скетчбуке, пытаюсь вдохновиться всякими штуками. Думаю месяца на два это уйдет.
Раз тут рпг тред спрошу здесь. Как хранить\находить объекты на карте? Завести каждой ячейки карты список, и для каждой ячейки обновлять список, если на ячейке что-то находится?
>>445289 Если у тебя игра тайловая, то можно так, да.
Находить можно кучей разный путей — через коллайдеры, через отдельную сетку (при пасфайндинге), через выборку по тегу и последовательный опрос. Общий совет — делать это в отдельной корутине, например, 5 раз в секунду, а не в каждом кадре.
>>445390 >тайловая ага. >Общий совет — делать это в отдельной корутине, например, 5 раз в секунду, а не в каждом кадре. ну, она пошаговая к тому же, так что можно сверять только в ход объекта. спасибо в общем, буду пилить.
Вкатываюсь в гд со своей магической экшон-рпг-роглайт со сложной системой стихий, кучей ЦИФЕРОК, использованием заклинаний для путешествий по разным планам за редкими ресурсами для покупки новых заклинаний и повышенным содержанием символизма и мистицизма (на скринах не представлено).
В обычной жизни — JS-разработчик. Пилю по вечерам с августа, мне помогает еще один человек. Не заебало. Юнити, пиксель-арт. Lich это рабочее название проекта, потому что он про безымянную криповую сорку.
Что уже есть:
— Общий диздок и подробно расписанный демо/онбоардинг
— Движок с абстракцями для мобов, игрока, заклинаний и т.д.
— Гибкий генератор данжей
— Дубовый генератор комнат
— Фреймворк для ИИ мобов на конечном автомате
— Спизженные из разных игр спрайты
— Изрисованный наполовину скетчбук с видением мира и всякими СКРЫТЫМИ СИМВОЛАМИ
— Стены, пол и двери для одной локации — наибанальнейшего данжа из камней
Сейчас работаю по двум направлениями:
— Переключиться с рисования графики на написание брифов и отдать ее тем, кто рисовать действительно умеет
— Написать редактор уровней, чтобы не возиться напрямую с JSON