Анон, а ты считаешь нормальным что самый популярный игровой движок не дает удобных инструментов работы с матрицами из коробки?
Вот, например, мне нужно в Unity сделать простое двумерное игровое поле на котором клетки с 0 непроходимы и клетки 1 проходимы. И что, я получается должен создавать массив из всех клеток и потом искать каждую конкретную клетку по индексу? Это же пиздец, я постоянно буду ошибаться с индексами, не говоря уже об "удобстве" работы в редакторе со списком из 100 элементов.
У Юнити довольно мощный редактор, но он оказывается не справляется с такой тривиальной для геймдева задачей, без которой ни обходится почти не одна игра. Для этого нужно наворачивать какой-нибудь громоздкий плагин вроде Odin Inspector. Но мне это нахуй не нужно, проще свой мини-велосипед запилить с текстовыми файлами в которых будут 0 и 1 по числу столбцов и строк.
>>1063054 (OP) Хз при чем тут сам движок, у тебя же есть язык программирования С#, не хватает какого-то класса и оппераций с ним - пишешь его сам. Всегда так делаю для Анрила, только у нас кресты. И в 95% случаев все там уже написано до нас.
>>1063065 К движку претензий не имею. Вопросы к среде разработки, к базовым функциям редактора. Нахуя нужны какие-нибудь йоба-АИ инструменты, несколько компонентов для работы с анимацией, несколько разных систем ЮИ, несколько разных рендер-пайплайнов когда нет базовых функций которые нужны 50% разработчиков? Может лучше бы разработчики велосипедили свои системы анимации и ЮИ? Это как-то намного логиченее чем заниматься жалкими 2д массивами.
>>1063054 (OP) > Матрицы в геймдеве > Вот, например, мне нужно в Unity сделать простое двумерное игровое поле на котором клетки с 0 непроходимы и клетки 1 проходимы. И что, я получается должен создавать массив из всех клеток и потом искать каждую конкретную клетку по индексу? Это же пиздец, я постоянно буду ошибаться с индексами, не говоря уже об "удобстве" работы в редакторе со списком из 100 элементов. Ебанутый? Тут вопрос не в матрицах, а в левел дизайне.
То что ты описываешь - тебе выходит нужен инструмент для левел дизайна чтобы клеточки размечать заняты они или не заняты удобно. Сразу заспойлеру - это называется тайп мап, и даже он есть в юнити из коробки.
> У Юнити довольно мощный редактор, но он оказывается не справляется с такой тривиальной для геймдева задачей, без которой ни обходится почти не одна игра. Для этого нужно наворачивать какой-нибудь громоздкий плагин вроде Odin Inspector. Ебанутый? Один никак не решает эту задачу.
>>1063071 По повду твоей задачи, я не знаю зачем тебе именно матрица. Игровое поле - это просто игровое поле. Матрицы в математике представляют собой некие данный с которыми можно проводить сякие операции, умножать, находить определитель, инвертировать и.т.д. А человек потом эти данные уже интерпретирует как нечто прикладное. Тебе нужно искать определитель твоего игрового поля или умножать его на что-то? Я думаю нет. Тебе нужно простое ООП. Вот у тебя есть клас Cell с твой клеткой, у неё есть поле проходимости. Далее есть само игровое поле это ждругой класс - оно спавнит эти селлы по какому-то закону. Ну например использует текстуру перлин нойза. Читаешь пиксель соответсвующий координате поля и проверяешь если значение пикселя больше порога, то спавнишь туда непроходимую клетку, если меньше порога - проходимую. Получается по сути что-то майнкрафтоподобное. Ну и карту в любом случае лучше хранить в текстуре, а не в тексте. В случае чего, ты можешь эту карту просто нарисовать и загрузить в свою дрочильню. Так же имея Cell отдельным классом, легко навернуть чтобы она была не просто проходимой или непроходимой, а например имела цену прохождения по ней, как в Героях3. А так же у клетки может быть свой тип. Например: дорога, лес, вода, гора и.т.д. В общем, не нужны тебе никакие матрицы.
>>1063075 > Сразу заспойлеру - это называется тайл мап На всякий случай фикс, а то с учетом того что в дальше по треду написано полагаю ты можешь быть не в курсе этого.
>>1063075 >Ебанутый? Тут вопрос не в матрицах, а в левел дизайне. Это ты ебанутый. Я вообще не занимаюсь левел-дизайном, спрайтовые тайлы мне нах не нужны. Мне нужны совершенно абстрактные данные о карте, по которым игра потом сама построит карту по моим скриптам. Тупо 2д массив, ничего больше. А ты заставил меня какой-то туториал в стиле рпг-макера смотреть, пидор.
>>1063076 По повду твоей задачи, я не знаю зачем тебе именно матрица. Игровое поле - это просто игровое поле. Тут ты прав конечно. Мне по сути нужна просто удобная работы с 2д массивами в редакторе, математика не нужна почти. Только вот блядский Юнити не умеет сериализовать 2д массивы.
>>1063088 > Это ты ебанутый. Я вообще не занимаюсь левел-дизайном А чем ты занимаешься выстраивая структуру уровня? > спрайтовые тайлы мне нах не нужны. > спрайтовые Чел, как бы тебе сказать... спрацт модет быть лишь индикатором того, что там. > Мне нужны совершенно абстрактные данные о карте Ты четко сказал про 0 и 1 - прохода нет, проход есть. > по которым игра потом сама построит карту по моим скриптам. Тупо 2д массив, ничего больше. > А ты заставил меня какой-то туториал в стиле рпг-макера смотреть, пидор. Для твоей задачи нужен нормальный визуальный редактор, чтобы иметь какое то превью карты, масштабировать, делать заливку. Юнитевская имплементация тайлмапы и есть этот удобный визуальный редактор, все что тебе надо сделать это данные с нее сконвертить в твой массив. > Не пользовался, 100% не могу утверждать, но Один умеет сериализовать двухмерные массивы: В инспекторе выводить двухмерный массив чтобы заполнять карту - это джун минус уровень, юзабилити ужасное, производительность ужасная при редактировании.
>>1063089 >Юнитевская имплементация тайлмапы и есть этот удобный визуальный редактор, все что тебе надо сделать это данные с нее сконвертить в твой массив. Ну ладно, если попердолиться то этот инструмент сойдет для моей задачи, прости что объявил тебя пидором.
>В инспекторе выводить двухмерный массив чтобы заполнять карту - это джун минус уровень Игры же разных жанров бывают, не на рпг-макере ведь делаю. Под мою задачу хватит карт 10х10.