Этого треда уже нет.
Это копия, сохраненная 25 октября 2019 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Lich # OP 327577 В конец треда | Веб
Сап Двач.

Вкатываюсь в гд со своей магической экшон-рпг-роглайт со сложной системой стихий, кучей ЦИФЕРОК, использованием заклинаний для путешествий по разным планам за редкими ресурсами для покупки новых заклинаний и повышенным содержанием символизма и мистицизма (на скринах не представлено).

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

Что уже есть:
— Общий диздок и подробно расписанный демо/онбоардинг
— Движок с абстракцями для мобов, игрока, заклинаний и т.д.
— Гибкий генератор данжей
— Дубовый генератор комнат
— Фреймворк для ИИ мобов на конечном автомате
— Спизженные из разных игр спрайты
— Изрисованный наполовину скетчбук с видением мира и всякими СКРЫТЫМИ СИМВОЛАМИ
— Стены, пол и двери для одной локации — наибанальнейшего данжа из камней

Сейчас работаю по двум направлениями:
— Переключиться с рисования графики на написание брифов и отдать ее тем, кто рисовать действительно умеет
— Написать редактор уровней, чтобы не возиться напрямую с JSON
layout-2.png10 Кб, 400x240
# OP 2 327578
>>327577 (OP)
И сразу же обосрался, приложив комнату без дверей.
sage 3 327590
>>327577 (OP)
Арт сочный, пиксели не поворачиваешь, мне нраица. Unity пугает — системные требования у игры с таким графоном всё равно завышены, я прав?
4 327616
>>327590
Да, скорее всего с этим будут. Я еще ГМ, смотрел мельком, но он мне показался слишком примитивным и там 30 фпс вроде, что не очень хорошо для экшона. А что бы ты выбрал?
# OP 5 327617
>>327616
Двощ не запоминает ОП-галку. Очень плохо.
Girls.png490 Кб, 449x401
6 327629
>>327577 (OP)

>JS


>разработчик

7 327632
>>327577 (OP)
Спиженно все, что только можно. Найди себе хужодника дизайнера полоумный.
sage 8 327744
>>327616
Ну, я пользуюсь LWJGL3 c Kotlin, но я велосипедист-извращенец. С другой стороны, рогалику не нужны особые велосипеды.
9 327838
>>327616
У тебя же на анимациях в лучшем случае 15 фпс.
# OP 10 327864
>>327838
Какая разница сколько кадров в анимациях? Ее вообще может не быть, отзывчивость управления от этого не зависит.
11 327869
>>327577 (OP)

>ЮНИТЕЙ


Webgl билды делаешь? Летает на 60 фпс в браузерах? Любопытно очень.
# OP 12 327872
>>327869
Пока не делал, но тоже очень хочу попробовать. В 60 фпс, впрочем, сомневаюсь.
Screen Shot 2017-01-26 at 01.31.59.png54 Кб, 1440x770
# OP 13 328147
Начал писать редактор уровней. Посколько все, что он должен делать это открывать и записывать JSON, решил не упариваться в интерфейсы на Юнити и нафигачить его на хорошо мне известном Реакте, а потом просто запихать в Электрон. Или даже так оставить. Дополнительный профит — легко шарить редактор онлайн.

Завел вебпак и нафигачил прототип редактора. Пока все, что он умеет — выделять тайлы по клику. Ну и интерфейс продумал. Меньше драг-энд-дропа, больше хоткеев: легче писать и быстрее работать.

Завтра продолжу.
14 328188
>>328147
Иди делай ФРОНТЭНД
Игры это не твое.
15 328284
>>327577 (OP)
ОП, удачи!
Вот только зря ты этот тред создал - местные говноебы неисправимы.
16 328286
>>327838
Вот, пожалуйста, типчный представитель фауны.

>>327869
Еще один.

>>328188
И младший брат-долбоеб тоже на месте.
# OP 17 328317
>>328284
Спасибо. Я ожидал подобной реакции, не первый проект на дваче пилю. Мою самооценку такой ерундой не пошатнуть.

>>328188
Фронтенд тоже когда-то был не моим. Ничего, научился.
18 328320
>>327590
Дык у него же арт спизжен из FFVI и Зельды.
19 328557
>>328317
Ты понимаешь, что все это время ты учился онанизму, вместо отношений с тянками?
Уже поздно пытаться стать нормальным. Смирись.
Screen Shot 2017-01-27 at 01.52.17.png69 Кб, 1182x769
# OP 20 328851
Продолжаю писать редактор, хочу закончить приемлемую для работы версию сегодня-завтра.

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

По поводу спрайтов — это просто временные заглушки для тестов кода и геймплея. Не думал, что нужно это уточнять.
21 328878
Привет, анончик. Интересные вещи тут делаешь, правда, комната со скринов уж очень что-то напоминает, но вот что - не могу понять.
Вопрос к тебе: если я картиночки всякие умею рисовать, но не в пиксель-арте - могу ли в команду влиться али не нужон?
22 328884
>>328878

>комната со скринов уж очень что-то напоминает, но вот что - не могу понять.


Legend of Zelda: A Link to the Past
23 328890
>>328878

>комната со скринов уж очень что-то напоминает, но вот что - не могу понять


Зельду, Айзека. С такой перспективой не очень-то много игр. Сейчас обычно делают вид сбоку (Crawl, Enter the Gungeon, Nuclear Throne), но я не хочу по геймплейным соображениями.

>Вопрос к тебе: если я картиночки всякие умею рисовать, но не в пиксель-арте - могу ли в команду влиться али не нужон?


Не надо, спасибо.
24 329171
>>327577 (OP)
ОП, а разве Unity позволяет делать броузерные игры на JavaScript ???
# OP 25 329173
>>329171
Вообще можно писать на недо-JS и компилять под WebGL, но я на C# пишу. После первого языка остальные учатся намнооого легче.
26 329177
>>329173
Так я не понял, почему редактор у тебя открывается на localhost:7099, если ты на Unity делаешь? На выходе ведь должна .exe программа получаться?
# OP 27 329233
>>329177
Редактор вообще не связан с Юнити, все, что он него требуется это редактировать JSON-файлы. На шарпе я бы его в пять раз дольше писал.
Screen Shot 2017-01-28 at 01.27.25.png72 Кб, 1107x786
# OP 28 329308
Добавил в редактор возможность размещать и удалять ассеты из библиотеки, горячие клавиши для перемещения по сетке и сохранение в локал сторейдж. Остались двери, добавление и удаление уровней и экспорт в JSON. Всякую мелочевку, типа возможности поворачивать ассеты, пока нафиг.
sage 29 329806
>>329308
Довольно некрасиво заполнять комнату подобными объектами. Сделал бы лучше тайлы.

Пример того как сделать красиво на быдлохабре: https://habrahabr.ru/post/227205/
Простая софтина, чтобы сделать ещё и быстро:
http://pixelatto.com/autotilegen/
Screen Shot 2017-01-29 at 01.49.40.png81 Кб, 1112x773
# OP 30 329971
Редактор допилен, экспорт в JSON работает, уровни рисуются. Настало время вернуться к пикселям, запилить несколько брифов и озаботиться поисками приличного пиксель-артиста за монету. Потому что сам все это рисовать я точно ебанусь.

>>329806
Не вижу особого выигрыша от такого способа.
Screen Shot 2017-01-31 at 01.24.52.png35 Кб, 668x474
# OP 31 343699
Ковырял несколько часов спрайты, в попытках сделать нормальные камни из нескольких пирамид. Даже сделал по-быстрому рендер в Блендре, но на таком размере хрен нарисуешь сколько-либо сложную форму. Результат пока не радует.
# OP 32 356287
Проебался несколько вечеров с Юнити, в частности с автоматизированной загрузкой ресурсов — одни предлагают папку ресурсов, другие ассет бандлы, третьи — захуячить расширения для редактора чтобы собирать. Кто во что горазд, короче. Попутно горю от многословности, дубовости и императивности C#.

Предвижу завтра веселье с попытками распрарсить JSON уровня в классы.
# OP 33 359966
Ожидаемое веселье с JSON действительно было — убогий парсер Юнити может только в массивы и заранее предопределенные структуры. Отдельный багет доставляет полное отсутствие культуры внешних библиотек и управления зависимостями — только ассет стор, где нормальный парсер стоит 25 баксов. Безумие какое-то. Впрочем, через некоторое время JSON сдался.

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

Технический фундамент игры начинает мне нравится. Следующая задача — написать генератор комнат и прикрутить к нему работу с лейаутами уровней.
34 360280
>>359966
А ты думал, в сказку попал что ли. Unity - говнище для школьников. Но другого нет.
35 360588
>>359966
Кирилл, ты ебанутый? Ты можешь кинуть любую managed dll в папку с ассетами и она сама подключится.
36 360943
>>359966
Возьми Newtonsoft.Json, в слегка урезанной для Юнити версии нет некоторой неработающей на айфонах хуйни и не еби мозги. Лежит на гитхабе где то.
# OP 37 360945
>>360588
>>360943
И их придется в репозитории держать? Вот это я имел в виду, говоря про отсутствие культуры управления зависимостями. В любом случае, спасибо за советы.
38 360972
>>360588
И ещё раз. Шёл 2017 год, менеджеры пакетов там, нет? Не слышал? Закинул DLL блядь, лол.
39 360973
>>360972
жс-макака не может прожить без своего npm и кучи ненужного говна?
Не расстраивайся, для C# есть nuget.
Проблемав том, что UNYTI это слишком специальная программа, с своей кастомной и древней mono, в которой нет дохуя библиотек.
40 360982
>>360973

>жс-макака не может прожить без своего npm и кучи ненужного говна?


Да ещё какого говна, инструментарий JS - говнище уровня Unity, тащем-та. Просто опять же, лучше ничего и нет.

>Не расстраивайся, для C# есть nuget.


А я и пишу на C#.
41 361003
>>360945
А ты используешь не Perforce/Plastic для контроля версий? Зачем? Всякие там помойные гиты для бинарников не годятся. А в геймдеве большая часть всего - бинарники. Ну а в целом тут управление зависимостями живет постольку поскольку.
42 361010
>>360973

>жс-макака не может прожить без своего npm и кучи ненужного говна?


Да ((((9
npm заебись же, ну ты чо

>>361003
Гит использую, про Perforce/Plastic почитаю, спасибо.
# OP 43 361012
>>361010
Галку забыл.
44 364319
>>361003
>>361010

>Perforce


Perforce это боль. У нас его использовали на работе, но год назад перешли на гит.
# OP 45 369250
Не особо производительные три дня, еще и на работе адок; допиливал редактор, настраивал для него сборку (вайн ставился полтора часа), причесал все проекты и слил на гитхаб и прочее такое. Посмотрел альтернативные VCS, не впечатлился. Тяжелых бинарников у меня не особо много, графон-то уровня NES. Так что обойдусь гитом.
# OP 46 373049
Сделал генерацию комнат из ресурсов. Делаю комнату в редакторе, сохраняю, сразу же смотрю в игре, красота. Теперь нужно прикрутить к ресурсам лут и мобов. Наверно, надо будет из кода генерить анимации и их контроллеры.

Немного поковырял камеру, выяснилось, что стиль пиксель-арта, который я выбрал, прекрасно скеилится. Даже если в сетке чередуются логические пиксели по 3 и 4 физических, то это совершенно незаметно. Приятный бонус. До этого хотел скейлить только до полностью кратных разрешений, теперь разрешу x2.5, x3.5 и т.д. (х1.5 выглядит все равно довольно стремно).

Второй Кирилл, тем временем, допил генератор уровня, который отвечает нашим планам.
47 373999
>>373049

>Даже если в сетке чередуются логические пиксели по 3 и 4 физических, то это совершенно незаметно.


Скинь, плз, примеры, как это выглядит.
lich-scaling.png26 Кб, 593x480
# OP 48 374464
>>373999
Как видишь, в 2.5 пиксели на стенах ок, а на Тайге местами зафаченые. В 3.5 ок уже везде.
# OP 49 374718
>>374464

>на Тайге


На Терре, конечно. Совсем уж поехал.
50 380949
>>374464
Пиксели разного размера в любом случае не ок.
Сука, сначала стараются, вырисосывают, а потом херят картинку в собственной игре.
Так трудно догадаться, что надо увеличивать в целое число раз, а потом уменьшать биленейным до пользовательского окна?
# OP 51 380999
>>380949
Ну блин, тогда мыло же будет.
52 381001
>>380999
Ты попробуй, оно почти не заметно. Увеличивай ближайшим соседом во много раз, 4 например. Так делали в Megaman Legacy Collection.
53 381002
>>381001
Ок, спасибо за совет, попробую этот подход.
Screen Shot 2017-02-16 at 23.38.24.png159 Кб, 1552x925
# OP 54 381015
Чем же занимался ОП каждый вечер это недели? Охуевал от Юнити, конечно.

Прикрутив статичные спрайты, я принялся за анимации. Нагуглил аж 4 способа:
1. Написать корутину, которая будет менять спрайты по таймеру
2. Legacy Animation, который ОЧЕНЬ ЛЕГАСИ НЕ ИСПОЛЬЗЙТЕ ПЛЕС
3. Mecanim, который доступен только из редактора
4. Playable API, который экспериментальный и нестабильный

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

Кроме того, в Юнити тупо невозможно создать AnimationClip из спрайтов в рантайме. В игре 50 мобов? Будь добр сделать по десятку анимаций для каждого и закинь это все руками в контроллеры. Или пиши скрипты для редактора, которые все это будут делать за тебя. Собственно, последним я и занимался. Ура, теперь есть кнопка, которая собирает клипы из спрайтов. Осталось решить проблему с контроллерами и прикрутить это все к объектам.

Не могу сказать, что все это дрочево вместо программирования, собственно, геймлпея мне нравится, но делать такое руками — фу блять! Тем более, что Кирилл №2 все еще подпиливает скрипт генерации данжа.
55 381431
>>327577 (OP)
рпгмейкер?
56 381437
>>381015

>В игре 50 мобов? Будь добр сделать по десятку анимаций для каждого и закинь это все руками в контроллеры


Если у этих мобов спрайтлист и анимация выполнена по одному шаблону то можно использовать один контроллер для всех. Меняешь спрайт в спрайтрендерере и всё будет работать.
57 381463
>>381015

>Первый способ — очевидный велосипед и хуита


Лол, дурачок. Animator просто меняет sprite в SpriteRender. Никто не запрещает тебе сделать свой компонент, который будет делать тоже самое.
58 381466
>>381437
Насколько я понял, это работает только если в анимации используется один спрайт. А у меня кейфреймы. AnimationClip в рантайме привязать или заменить нельзя.

>>381431
Зачем, чтобы еще сильнее страдать?

>>381463
Если анимировать персонажей, то меканим таки поудобнее будет. Тем более, что с процедурной генерацией контроллеров я уже разобрался.

Алсо, галка ОПа проебана навсегда вместе со старым ноутбуком.
Безымянный2.png30 Кб, 1100x858
59 381474
>>381466

>Если анимировать персонажей, то меканим таки поудобнее будет.


Если анимировать сложных 3Д персонажей. Тебе же только спрайты переключать надо.

Вот ради интереса набросал пруфес оф концепт
60 381475
>>381474
Ок, подумаю над этим, спасибо.
player.png1 Кб, 240x160
61 381934
Решил нарисовать нормальные спрайты игрока и порядком подвис на выборе стилистики и палитры. Очевидно, что уровень Super Metroid или Minish Cap мне не осилить, так что пока выбор из двух стульев — честная палитра NES без нормальных красных цветов и с полным отсутствием приличного темного цвета для фона кроме черного и, с оговорками, темно-бирюзового (на пике) или более мягкие и ламповые тона SNES, но все равно с жестким ограничением по количеству цветов. Последнее посложнее и уже готовые стены придется сильно перерисовывать, чтобы контраст был поменьше. Отдельный вопрос — делать обводки или нет?

Просто пиздец, голова взрывается.
62 381939
>>381934

>Просто пиздец


Не умеешь - не лезь. Я НЕСоеды умирают. Делай казуально. Ебать палитру уже не модно, не оценят.
sage 63 381974
>>381934
Обводки однозначно делай. Чем меньше палитра, тем больше шансов твоего спрайта потеряться на пике.

Я пользую fun16, но я убеждённый дебил.
64 381976
>>381974
>>381934
Забыл сказать: цветная (тёмно-фиолетовая как на пике или ещё какая) обводка делает всё на 20% круче.
Ещё и сажа приклеилась.
65 381988
>>381974
>>381976
Спасибо за советы. Я не сторонник слишком маленьких палитр, потому что там приходится делать миллионы дизеринга, а я его терпеть не могу. Надеюсь, что уложусь в 64 цвета или около того.
66 384857
Чуть не неделю не писал апдейтов, а тем временем сделали кучу всего.

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

Во-вторых Кирилл #2 запилил генерацию данжа, да еще и настраиваемую по веткам. Лейауты берутся из базы, комнаты генерятся, переходы работают, примитивная карта рисуется. Красота!

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

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

3. Секретные геймплейные вопросы.
67 385169
>>384857
Лучше бы в кои-то веки сделал нормальную перспективу.
68 400059
Оп на связи. Хорошо, что тред не утоп еще.

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

Вместо простыней буду бампать картиночками мобов. Вот, например, грибомедуза — самый базовый овощной монстр.
69 400079
>>381934
Не знаешь, кстати, как в гимпе переконвертировать изображение в цвета с палитры?
70 400081
>>400079
Ебать я даун, нагуглил за 5 минут. Соре.
lich10.gif7,5 Мб, 848x470
71 400230
Окай, вот гифочка.

Хотел сегодня сделать новые анимейшен контроллеры для 1- и 2-направленных мобов, но вместо этого убил весь день на простейшую (казалось бы) задачу — вывести текст о состоянии ИИ рядом с мобом. Хуй знает какой индус делал систему гизмо в юнити — некоторые гизмо работают в гейммоде, некоторые — нет, гизмо для вывода текста тупо нет, если вызывать GUI из OnGUI, то он получает один скин, если из OnDrawGizmos, то другой... Опять весь день потрачен на тулинг вместо программирования геймплея.
72 400243
Чем больше я читаю эти блоги разработки игр, тем меньше у меня веры что мне стоит заниматься геймдевом.
Терпения и удачи тебе, ОП.
73 400244
>>400243
Конечно, стоит. Добра.
74 400245
>>400243
Да уж, делать столько времени никому ненужное вторичное говно это нужно много терпения
75 402803
Сегодня большую часть дня пилил отлетающие цифры, куча времени ушла на подбор приятных кривых. Плюс сделал так, чтобы направление разлета зависело от положения игрока в комнате.

Из важного — запилена система заклинаний, которая позволяет гибко комбинировать эффекты (пик 2 — файрболл). Это важно, потому что спеллов планируется МНОГО — на их сборе и комбинациях и построена вся игра.

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

Ближайшие планы — нормальные индикаторы здоровья и маны, основной геймлуп (база / данж / смерть), оставшиеся мобы и спрайты окружения.
76 402887
>>400245
Иди на хуй, у него отлично получается. Будет отличная игра.

>>402803
Хочу айзека без какашек и с приятными персонажами!
77 403032
>>402803
Самую малость нечитабельно. Нужно как-то циферки разными делать. Или допустим от каждого спелла свой размер/цвет шрифта.
78 403043
Ух ты, ОП, у тебя тут серьезное дерьмо.

У меня вопрос - где ты берешь свободное время?
Я вот как и ты, пердак-пердукс макака, и напрограммировавшись за день на работе, сидеть еще и вечером за геймдевом у меня сил не остается. Хоть и хочется. Но башка уже не варит.
В итоге пилю свой тетрис только на выходных. И из за этого медленно получается.
79 403062
>>402887
>>403032
Спасибо, аноны, ваш фидбек согревает мое сердце.

>>403043
Немного по вечерам, вся суббота, иногда еще вечер воскресенья. Иногда удается попилить полдня в рабочее время, когда жду бэкенд и нет задач. Если башка не варит, то иду спать. У меня все тоже не быстро, знаешь ли; девятый месяц разработки и даже демки нет. Но я сразу планировал, что буду делать ДОЛГО и понемногу, так что особо не бугурчу — мне нравится процесс. И привычка сформировалась уже.
80 403063
>>403062
а жена-дети есть?
81 403065
>>403063
Тян только, такая же домосед-аутист. С детьми, мне кажется, нереал что-то пилить.
blob43 Кб, 200x181
82 403077
>>327577 (OP)
я не понимаю что тут происходит, но уверен что тебе нужна поддержка в качестве бессмысленных кукареков итт
83 403170
>>403065
А у меня вот жена и сыну 7 лет. Но жена на порядок больше времени и внимания тянет((
84 403172
>>403170

>жена на порядок больше времени и внимания тянет


Почему ты не позвонил?
85 403174
>>403077

>поддержка в качестве


Поддержка в виде

пофиксил тибя
86 404097
>>402887
Ну если тебе 15 то несомненно будет отличная лол
87 404111
>>327577 (OP)
ОП, можно к тебе саунд-дизайнером вписаться?
Навыки ниже среднего наверное, но я очень хочу попробовать себя в деле.
Screen Shot 2017-05-31 at 17.45.39.png121 Кб, 1590x966
88 404138
Оп на связи. Неделя довольно продуктивная, сделал базовый UI на канвасе, контроллер к нему, ивенты и т.д.

Сильно допилил код игрока, выкинул оттуда старый мусор, сделал кастайм и глобальный кулдаун. Неожиданно много времени заняла разработка такой простой внешне фичи, как определение направления каста по последней нажатой стрелке — ходить можно в 8 направлениях, а стрелять только в 4. Пришлось даже прибегнуть к помощи коллеги из Физтеха, но в итоге все сделано и работает прекрасно.

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

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

И две важные механические фишки:
— Магия нейтральна. Заклинанию все равно кто его скастовал, можно убиться об собственный файрболл или подставить моба под спелл, который скастовал другой моб.
— Магия материальна. У файрболла есть масса, он отбросит тело, в которое стукнулся, два файрболла взорвутся при столкновении. Взаимодействие между заклинаниями зависит от их силы и элемента.

>>404111
cone-of-colYdbdANUSyaPUNCTUMrf62u
eGIYVW.gif885 Кб, 520x520
89 404140
>>404138
Подгоняю заморским конкурентом.
lich12.gif7,1 Мб, 784x468
90 406019
На той неделе решил сделать простую задачу — покрасить цифры, которые вылетают при ударе в разные цвета. Белый для урона по мобам, зеленый для лечения и красный для урона по игроку.

Думаю ок, надо делать через замену палитры шейдером, все равно это потом понадобится. Но чтобы сделать через замену палитры, надо чтобы исходный спрайт был нормализован, т.е. показатели красного канала располагались через равные промежутки, типа 0, 0.33, 0.66, 1. Руками вроде как делать не хочется. Пишу скрипт, который нормализует спрайты.

Попутно думаю — так, а что если у меня палитра у MonsterANUSMovYHOePUNCTUMpqj'ng и Mons+~yterANUSIdlePUNCTUMpng будет разная? Может там какие-то цвета используются только в анимации атаки, например? Тогда палитра свопаться будет криво. Ок, значит надо склеивать спрайты с одинаковым именем, но разными действиями и делать для них единую нормализованную палитру.

Да, кстати, а чего-то у меня спрайты хранятся в разных ase-файлах? Я же могу их хранить в одном, но разные анимации под разными тегами, тогда и тестировать свопы будет проще и вообще как-то правильней получается. Тем более у Aseprite есть CLI, ща мы все через консоль экспортируем. Выясняется, конечно, что CLI недопилен и экспортировать по тегам может только в отдельный файлы, но не в спрайтшиты. Но меня уже не остановить, я нахожу либу чтобы дергать шелл из ноды, генерю через Aserprite CLI миллиарды промежуточных файлов с фреймами, собираю их нодой в спрайтшиты, нормализую палитру, и пишу на диск.

Потом еще полдня ковыряю шейдер и УРА, РАЗНОЦВЕТНЫЕ ЦИФРЫ.
91 406073
>>406019
Ебучий случай анон. Нахуй блядь это программирование с нуля. Цвет циферок поменять и такой невзъебенный квест с кучей геммороя. Я ебал.
92 406499
>>406019
Сделай для урона по мобам жёлтым цветом, белый не смотрится, плохо читается. А жёлтый это традиционно
93 408449
>>406019
Я обычный геймер и, имхо, не всегда отдельные циферки лучше суммы всего дамага за атаку или комбо.
94 408462
Зачем брать юнити для подобной игры?
95 408464
>>381474
Ого, лол, давно такого отборного говнокода не видел.
96 408465
>>404138

> коллеги из Физтеха


Шта? Не понял, ты коллегу из физтеха спрашивал, как сохранить последнюю нажатую стрелочкуя или что?
lich13.gif3,6 Мб, 680x475
97 408482
О, вовремя тред бампанули.

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

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

Это, кажется, самый большой коммит за всю историю проекта.

Спрайты все еще временные, не могу определиться со стилем, освещением и эффектами.

>>406073
Своп палитр планирую использовать повсеместно, так что думаю, что эти усилия оправданы. В любом случае, я рад что разобрался что такое шейдеры и как они работают.

>>406499
Согласен.

>>408449
Согласен, но это не в приоритете. Отдельный цифры сейчас потому что заклинания собраны из «эффектов». Например Fireball состоит из FireballProjectile и FireballBlast. И если проджектиль может попасть только в одного моба, то бласт вполне может задеть нескольких. Это сделано для того, чтобы можно было создавать сложные заклинания комбинируя простые эффекты.

>>408462
Из-за величины комьюнити, в основном.

>>408465
Игрок может ходить в 8 направлениях, а кастовать только в 4. Представь, что сначала он жмет вверх (идем вверх, кастуем вверх), потом не отпуская вверх, вправо (идем вправо-вверх, кастуем вправо), а потом отпускаем вправо (снова идем вверх и кастуем вверх, хотя последняя нажатая кнопка — вправо). Как решать будешь? Плюс еще есть интересные крайние случаи, когда сначала идем вверх, а потом вниз и влево — игрок нажал две кнопки в один фрейм, ничего невозможного. Тоже надо обработать.
lich13.gif3,6 Мб, 680x475
97 408482
О, вовремя тред бампанули.

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

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

Это, кажется, самый большой коммит за всю историю проекта.

Спрайты все еще временные, не могу определиться со стилем, освещением и эффектами.

>>406073
Своп палитр планирую использовать повсеместно, так что думаю, что эти усилия оправданы. В любом случае, я рад что разобрался что такое шейдеры и как они работают.

>>406499
Согласен.

>>408449
Согласен, но это не в приоритете. Отдельный цифры сейчас потому что заклинания собраны из «эффектов». Например Fireball состоит из FireballProjectile и FireballBlast. И если проджектиль может попасть только в одного моба, то бласт вполне может задеть нескольких. Это сделано для того, чтобы можно было создавать сложные заклинания комбинируя простые эффекты.

>>408462
Из-за величины комьюнити, в основном.

>>408465
Игрок может ходить в 8 направлениях, а кастовать только в 4. Представь, что сначала он жмет вверх (идем вверх, кастуем вверх), потом не отпуская вверх, вправо (идем вправо-вверх, кастуем вправо), а потом отпускаем вправо (снова идем вверх и кастуем вверх, хотя последняя нажатая кнопка — вправо). Как решать будешь? Плюс еще есть интересные крайние случаи, когда сначала идем вверх, а потом вниз и влево — игрок нажал две кнопки в один фрейм, ничего невозможного. Тоже надо обработать.
98 408483
>>408482
В направлении движения, если направление - диагональ, то по последней нажатой кнопке, не? Я как бы это и имел в виду.
99 408484
>>408483
Я тебе в после привет пример, где эта логика не работает. Мне это тоже сначала очевидным казалось, кек.
100 408485
>>408484
Где привел? Во всех описанных в том посте - работает.
101 408486
>>408485
Зажать вверх
Зажать вправо
Отпустить вправо

Последняя нажатая кнопка — вправо, а кастовать надо вверх.
102 408489
>>408486
Перечитай >>408483 пост, подумай. Можешь вместе со своим физтехом подумать.
103 408490
>>408489
Перечитал, там глупость написана. Что значит «если направление - диагональ, то по последней нажатой кнопке»? У тебя нажатия кнопок не идут потоком, просто в каждом фрейме можно получить инпут для оси X и Y.

В кадре N тебе приходит инпут [0, 1], а в кадре N+1 — [-1, -1]. И что, какая кнопка тут была последней? Куда надо кастовать?
104 408492
>>408490
Какой 0, какой -1, наркоман? На клавиатурке тю-тю нулей и минус-единиц, але блять. Совсем со своим юнити поехали. Ты говорил о кнопках - я тебе про кнопки и ответил. Если у тебя вместо кнопок абстракция, которая тебе не подходит, то это совершенно другой разговор, это же очевидно.

А уж если у тебя абстракция, то спеллы всегда должны кастоваться в направлении движения, ибо мобилки, например. А если у тебя нет клавиатуры в коде, но ты ее выдумываешь обратно, то у тебя эта абстракция протекает - тоже очевидно, кстати.
105 408495
>>408492
Рад, что ты признал непонимание того, как и зачем устроен инпут в Юнити. На этом можно и закончить, наверно.
106 408496
>>408495
Тебя каждый пост надо просить перечитывать? Нет, ну все написано же - прочитай, потом отвечай. Я уж молчу про то, что описанный мной в первом посте способ работает точно так же и для твоих нулей с единичками, но ты опять не удосужился подумать об этом, прежде чем писать пост.
107 408517
Я другой анон, не понял, из-за чего у вас тут спор, хочу понять. Объясните, например, в чем минусы такого нахождения последней кнопки (псевдокод):
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

// остальной код
}
108 408518
А, да, при касте еще должна идти проверка, движется ли сейчас персонаж по диагонали. Если да - используем эту нашу lastKey, если нет - используем направление движения.
109 408520
>>408517
>>408518
О, код! Обычно сначала X, а потом Y идет.

Минус только один (довольно минорный) — приоритет одной оси даже в тех случаях, когда это не нужно, например при инпуте вида [0, 1] -> [-1, -1] хочется двигаться по той оси, где разница была больше, а просто по фиксированной.

Ну и через вычитание векторов таки покороче.
110 408537
>>408517
Так спора и не было. Оп просто не понял, о чем я ему писал, а потом обиделся.
111 417232
ОП, ну что ты?
lich14.gif6,9 Мб, 790x504
112 417749
>>408537
Я работаю над игрой!

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

Что сделал с прошлого раза:
— Выпилил из ядра практически все следы императивщины, заменив их на ивенты. Стало намного понятнее что за чем идет, код ста менее связанным.
— Доработал UI — шрифты, обводки, ХП и МБ бары
— Сделал вариант меню из двух секций, добавил лайтбокс
— Сделал сохранение и удаление сейва
— Продумал основные положения вселенной игры и накидал несколько временных спрайтов (потом художник с руками перерисует)
113 417814
Промахнулся с ответом. Ну да и ладно >_>
114 427236
Сегодня без гифок, извините.

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

Что сделано:
— Дорисовал всем спрайтам тени, стало сильно лучше, но над полом еще надо поработать. Добавил работу с тенями в свой сборщик спрайтов, сейчас он просто следит за тем, чтобы все тени были одного цвета.
— Практически закончил покупку за лут NPC и заклинаний, скоро смогу наконец-то тестить главный геймлуп
— Нормальный инвентарь с иконками
— Перенес все ресурсы кроме уровней из JSON в ScriptableObjects, стало значительно удобнее в них копаться
115 429299
Оп, расскажи как пилил пасфайндинг, чтобы мобы аккуратно бегали и не врезались друг в друга
116 429669
>>429299
Его делал Кирилл №2, так что на сто процентов точно не отвечу. Там стандартный A*, плюс, если я ничего не путаю, то если моб не видит пути до игрока, то идет к мобу, который ближайший к игроку. Какая-то очень простая логика, в общем.

По алгоритму хороший туториал вот: https://www.youtube.com/watch?v=-L-WgKMFuhE&list=PLFt_AvWsXl0cq5Umv3pMC9SPnKjfp9eGW
118 436576
>>436227
Спасибо, чекну.

Что сделал за последнюю неделю? А нихуя не сделал. На работе дикий дедлайн, ебошу до ночи. К счастью, это скоро кончится.
119 438513
>>402803
Почему персонажи ходят по стенам?
lich15.gif4,3 Мб, 790x498
120 440187
ТАК БЛЭТ

Работу раскидал, продолжаем.

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

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

Теперь игре надо нарастить немного мясца — задизайнить пару десятков комнат, расставить мобов, посмотреть что работает, а что нет.
121 440188
>>438513
Потому что коллайдеры плохо поставлены.
122 440468
>>440188
А может потому что объекты нарисованы не видом сверху?
123 440501
>>440468
Нет, у разных объектов разная перспектива.

Стены и пол нарисованы строго сверху, под 90°, в развертке.

Объекты, видимость который сортируется по оси Y — персонажи и большие препятствия за которые можно зайти, рисуются под углом в 45° в 3/4.

Объекты, которые просто лежат на полу и перекрываются персонажами всегда, вне зависимости от их положения по оси Y, рисуются под углом ~75°, т.е. почти полностью сверху.

Не все спрайты нарисованы строго так, но общая идея такая.
124 441001
>>440501
Но из-за разной перспективы фигня получается. Если смотреть незначительно верхней стены, то всё норм, а если на остальные, то похоже, что персонаж пьяный на карачках ползает.

Может тебе в старой доброй изометрии всё делать?
125 441077
>>441001
Ты не шаришь. Так во всех двумерных зельдах было.
image.png151 Кб, 300x300
126 441299
>>440187
А что это у тебя за соль на карте?
Zeldadangeon.png4 Кб, 256x240
127 441462
>>441077
Там графика был мельче чем у тебя... А судя по первым роликам ты вообще планируешь здоровые локации лепить.
128 441465
>>441462
Двачюю знатока. Когда видно всю комнату, такое еще прокатывает, а с большими уровнями хуйня выйдет
129 441592
>>441462
>>441465
Говорю же - не шаришь.
Обширные комнаты были и в цепи в прошлое и в ораклах, и в миниш кепе.
я не ОП
130 441600
>>441592
и это выглядит как полное безвкусное говно
131 441601
>>441592
Эта зельда совсем не понравилась, слишком запутанная
мимодругой
132 443272
Как дела, ОП?
133 445247
>>443272
Технически все ок — прикрутил генератор к игре, починил ряд багов. Даже веб-билд сделал (работает!). Но что-то поток идей подиссяк, геймплей кажется примитивным, не нравится сюжетная и арт-составляющая. Дело не бросаю, рисую в скетчбуке, пытаюсь вдохновиться всякими штуками. Думаю месяца на два это уйдет.

Спасибо, что бампаете тред :3
134 445289
Раз тут рпг тред спрошу здесь. Как хранить\находить объекты на карте? Завести каждой ячейки карты список, и для каждой ячейки обновлять список, если на ячейке что-то находится?
135 445390
>>445289
Если у тебя игра тайловая, то можно так, да.

Находить можно кучей разный путей — через коллайдеры, через отдельную сетку (при пасфайндинге), через выборку по тегу и последовательный опрос. Общий совет — делать это в отдельной корутине, например, 5 раз в секунду, а не в каждом кадре.
136 445450
>>445390

>тайловая


ага.

>Общий совет — делать это в отдельной корутине, например, 5 раз в секунду, а не в каждом кадре.


ну, она пошаговая к тому же, так что можно сверять только в ход объекта.
спасибо в общем, буду пилить.
137 464673
бамп
138 476483
>>327577 (OP)

> безымянную криповую сорку


Это Терра
139 478052
Up что-ли
datfeelandpepe.jpg48 Кб, 480x402
140 483887
bump
141 483896
Оп, могу графикой помочь
sage 142 483903
>>483887
ВНИМАНИЕ!
ОРУДУЕТ БУХОЙ НЕКРОФИЛ
ВНИМАНИЕ!
143 495913
144 497930
8
145 497969
>>327616

> А что бы ты выбрал?


G O D O T
O
D
O
T
146 498012
>>327616
В ГМе 60 фпс
147 508469
148 522548
Тред утонул или удален.
Это копия, сохраненная 25 октября 2019 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /gd/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски