Главная Юзердоски Каталог Трекер NSFW Настройки

Gamedev

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 15 1 4
Матрицы в геймдеве Аноним 02/12/25 Втр 13:31:20 1063054 1
img-Qkh0py.png 26Кб, 970x360
970x360
Анон, а ты считаешь нормальным что самый популярный игровой движок не дает удобных инструментов работы с матрицами из коробки?

Вот, например, мне нужно в Unity сделать простое двумерное игровое поле на котором клетки с 0 непроходимы и клетки 1 проходимы. И что, я получается должен создавать массив из всех клеток и потом искать каждую конкретную клетку по индексу? Это же пиздец, я постоянно буду ошибаться с индексами, не говоря уже об "удобстве" работы в редакторе со списком из 100 элементов.

У Юнити довольно мощный редактор, но он оказывается не справляется с такой тривиальной для геймдева задачей, без которой ни обходится почти не одна игра. Для этого нужно наворачивать какой-нибудь громоздкий плагин вроде Odin Inspector. Но мне это нахуй не нужно, проще свой мини-велосипед запилить с текстовыми файлами в которых будут 0 и 1 по числу столбцов и строк.
Аноним 02/12/25 Втр 14:36:44 1063065 2
>>1063054 (OP)
Хз при чем тут сам движок, у тебя же есть язык программирования С#, не хватает какого-то класса и оппераций с ним - пишешь его сам. Всегда так делаю для Анрила, только у нас кресты. И в 95% случаев все там уже написано до нас.
Аноним 02/12/25 Втр 15:08:26 1063071 3
>>1063065
К движку претензий не имею. Вопросы к среде разработки, к базовым функциям редактора.
Нахуя нужны какие-нибудь йоба-АИ инструменты, несколько компонентов для работы с анимацией, несколько разных систем ЮИ, несколько разных рендер-пайплайнов когда нет базовых функций которые нужны 50% разработчиков?
Может лучше бы разработчики велосипедили свои системы анимации и ЮИ? Это как-то намного логиченее чем заниматься жалкими 2д массивами.
Аноним 02/12/25 Втр 15:25:15 1063075 4
>>1063054 (OP)
> Матрицы в геймдеве
> Вот, например, мне нужно в Unity сделать простое двумерное игровое поле на котором клетки с 0 непроходимы и клетки 1 проходимы. И что, я получается должен создавать массив из всех клеток и потом искать каждую конкретную клетку по индексу? Это же пиздец, я постоянно буду ошибаться с индексами, не говоря уже об "удобстве" работы в редакторе со списком из 100 элементов.
Ебанутый? Тут вопрос не в матрицах, а в левел дизайне.

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

> У Юнити довольно мощный редактор, но он оказывается не справляется с такой тривиальной для геймдева задачей, без которой ни обходится почти не одна игра. Для этого нужно наворачивать какой-нибудь громоздкий плагин вроде Odin Inspector.
Ебанутый? Один никак не решает эту задачу.
Аноним 02/12/25 Втр 15:25:46 1063076 5
>>1063071
По повду твоей задачи, я не знаю зачем тебе именно матрица. Игровое поле - это просто игровое поле. Матрицы в математике представляют собой некие данный с которыми можно проводить сякие операции, умножать, находить определитель, инвертировать и.т.д. А человек потом эти данные уже интерпретирует как нечто прикладное. Тебе нужно искать определитель твоего игрового поля или умножать его на что-то? Я думаю нет. Тебе нужно простое ООП.
Вот у тебя есть клас Cell с твой клеткой, у неё есть поле проходимости. Далее есть само игровое поле это ждругой класс - оно спавнит эти селлы по какому-то закону. Ну например использует текстуру перлин нойза. Читаешь пиксель соответсвующий координате поля и проверяешь если значение пикселя больше порога, то спавнишь туда непроходимую клетку, если меньше порога - проходимую. Получается по сути что-то майнкрафтоподобное. Ну и карту в любом случае лучше хранить в текстуре, а не в тексте. В случае чего, ты можешь эту карту просто нарисовать и загрузить в свою дрочильню.
Так же имея Cell отдельным классом, легко навернуть чтобы она была не просто проходимой или непроходимой, а например имела цену прохождения по ней, как в Героях3. А так же у клетки может быть свой тип. Например: дорога, лес, вода, гора и.т.д.
В общем, не нужны тебе никакие матрицы.
Аноним 02/12/25 Втр 15:26:27 1063077 6
>>1063075
> Сразу заспойлеру - это называется тайл мап
На всякий случай фикс, а то с учетом того что в дальше по треду написано полагаю ты можешь быть не в курсе этого.
Аноним 02/12/25 Втр 16:14:21 1063084 7
>типичные проблемы юнити-маркетологов

мимо свободный пользователь Godot
Аноним 02/12/25 Втр 16:17:14 1063086 8
Аноним 02/12/25 Втр 16:21:12 1063087 9
Аноним 02/12/25 Втр 16:31:09 1063088 10
>>1063075
>Ебанутый? Тут вопрос не в матрицах, а в левел дизайне.
Это ты ебанутый. Я вообще не занимаюсь левел-дизайном, спрайтовые тайлы мне нах не нужны.
Мне нужны совершенно абстрактные данные о карте, по которым игра потом сама построит карту по моим скриптам. Тупо 2д массив, ничего больше.
А ты заставил меня какой-то туториал в стиле рпг-макера смотреть, пидор.

>Один никак не решает эту задачу.
Не пользовался, 100% не могу утверждать, но Один умеет сериализовать двухмерные массивы: https://odininspector.com/attributes/table-matrix-attribute#:~:text=The%20TableMatrix%20attribute%20is%20used,%7D%2C%20%7B%20null%2C%20ExampleHelper.
Мне этого более чем достаточно, сделаю просто двухмерных массив с типом bool.

>>1063076
По повду твоей задачи, я не знаю зачем тебе именно матрица. Игровое поле - это просто игровое поле.
Тут ты прав конечно. Мне по сути нужна просто удобная работы с 2д массивами в редакторе, математика не нужна почти.
Только вот блядский Юнити не умеет сериализовать 2д массивы.
Аноним 02/12/25 Втр 16:38:40 1063089 11
>>1063088
> Это ты ебанутый. Я вообще не занимаюсь левел-дизайном
А чем ты занимаешься выстраивая структуру уровня?
> спрайтовые тайлы мне нах не нужны.
> спрайтовые
Чел, как бы тебе сказать... спрацт модет быть лишь индикатором того, что там.
> Мне нужны совершенно абстрактные данные о карте
Ты четко сказал про 0 и 1 - прохода нет, проход есть.
> по которым игра потом сама построит карту по моим скриптам. Тупо 2д массив, ничего больше.
> А ты заставил меня какой-то туториал в стиле рпг-макера смотреть, пидор.
Для твоей задачи нужен нормальный визуальный редактор, чтобы иметь какое то превью карты, масштабировать, делать заливку.
Юнитевская имплементация тайлмапы и есть этот удобный визуальный редактор, все что тебе надо сделать это данные с нее сконвертить в твой массив.
> Не пользовался, 100% не могу утверждать, но Один умеет сериализовать двухмерные массивы:
В инспекторе выводить двухмерный массив чтобы заполнять карту - это джун минус уровень, юзабилити ужасное, производительность ужасная при редактировании.
Аноним 02/12/25 Втр 17:16:35 1063091 12
>>1063089
>Юнитевская имплементация тайлмапы и есть этот удобный визуальный редактор, все что тебе надо сделать это данные с нее сконвертить в твой массив.
Ну ладно, если попердолиться то этот инструмент сойдет для моей задачи, прости что объявил тебя пидором.

>В инспекторе выводить двухмерный массив чтобы заполнять карту - это джун минус уровень
Игры же разных жанров бывают, не на рпг-макере ведь делаю. Под мою задачу хватит карт 10х10.
Аноним 02/12/25 Втр 17:39:31 1063098 13
>>1063091
> Игры же разных жанров бывают, не на рпг-макере ведь делаю. Под мою задачу хватит карт 10х10.

Если 10х10 хватит то попроси нейронку сгенерить тебе редактор
Аноним 02/12/25 Втр 18:19:07 1063106 14
>>1063098
Чем 10х10 принципиально отличается от 20х20 например?
Аноним 02/12/25 Втр 18:42:39 1063108 15
>>1063106
10х10 я могу представить жизнеспособным вариантом в инспекторе, чтобы не заморачиваться
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов