Результаты поиска
| |
Storm54 | Дата: Понедельник, 16 Мая 2022, 15:33 | Сообщение # 61 | Тема: Курс по разработке движка на C++ для android |
постоянный участник
Сейчас нет на сайте
| afq, я и не давил на слабые места, лишь привел первый пришедший в голову пример игры, которая простая с виду, но которую нельзя написать с приемлемой производительностью, если хотя бы чуть чуть не представляешь как работает графический конвейер. А без этих знаний выпускать гайды по созданию игрового движка - не просто глупо, а граничит с мошенничеством.
Сообщение отредактировал Storm54 - Понедельник, 16 Мая 2022, 15:33 |
|
| |
Storm54 | Дата: Понедельник, 16 Мая 2022, 13:26 | Сообщение # 62 | Тема: Курс по разработке движка на C++ для android |
постоянный участник
Сейчас нет на сайте
| Этот размер я указал лишь в качестве примера. Но его будет достаточно, чтобы собрать десятки косяков и сесть в лужу без нормальных знаний о работе 3D приложений.
|
|
| |
Storm54 | Дата: Понедельник, 16 Мая 2022, 13:07 | Сообщение # 63 | Тема: Курс по разработке движка на C++ для android |
постоянный участник
Сейчас нет на сайте
| afq, Сделай уроки по созданию майнкрафта, даже без генерации реалистичного бесконечного ландшафта и мудреным крафтом, а с простым прямоугольным миром размером 10240x10240x256 и возможностью ставить и удалять блоки (два типа блока: трава и земля). Если сделаешь и оформишь в виде курса, то куплю за 20к. Но FPS должен быть не ниже, чем в оригинальном майнкрафте (бинарники можешь сюда потом приложить для теста) Не осилишь - поймешь, что до создания движков тебе очень и очень далеко. Осилишь - заработаешь легкие деньги.
Сообщение отредактировал Storm54 - Понедельник, 16 Мая 2022, 13:08 |
|
| |
Storm54 | Дата: Воскресенье, 16 Января 2022, 00:12 | Сообщение # 64 | Тема: Одежда персонажа, новая модель? |
постоянный участник
Сейчас нет на сайте
| Если рассматривать персонажа со скелетной анимацией, то необходимо обозначить вещи, из которых строится конечный анимированный персонаж: 1. Подходящий скелет, обычно какой-нибудь Biped. 2. Заскиненный меш. У такого меша, помимо стандартного набора треугольников, есть привязка этих треугольников к костям скелета и коэффициент влияния движения кости на каждую вершину. 3. Анимация, которая представляет из себя просто набор позиций костей.
В итоге, что мы имеем:
Заскиненный меш "натягивается" на скелет, а кости этого скелета двигаются в соответствии с анимацией.
Каждый элемент одежды и части тела должны быть как раз этими заскиненными мешами, чтобы их можно было использовать вместе со скелетом.
По умолчанию большинство движков позволяют указать только один скелет, один заскиненный меш и стейт-машину для красивого смешивания анимаций. И Unity - не исключение. Можно указать только один заскиненный меш. Поэтому, придется написать велосипед (всего-лишь десяток строк) и собрать один цельный меш из нескольких отдельных, после чего передать получившийся меш в SkinnedMeshRenderer. Количество частей может быть абсолютно любым - это практически никак не повлияет на производительность. Просто руководствуйтесь своими требованиями: если нужно скрывать торс, то сделайте его отдельным мешем, если нужно скрывать руки - тоже. Это может касаться и пальцев, ушей, глаз и т.п. Все-равно в результате будет собран один заскиненный меш, из тех кусочков, которые вам необходимы в данный момент.
Производительность же зависит от количества вершин в финальном меше. Обычно CPU или GPU нужно рассчитать позицию каждой вершины в каждом кадре - это основные затраты производительности.
Еще один момент: Скорее всего каждый элемент одежды и части тела будут иметь свою текстуру и даже материал, например, с уникальным шейдером. В этом случае просто объединить все меши не получится, а придется их предварительно разбить на группы по материалам и уже меши каждой отдельной группы объединять и отрисовывать отдельно, что увеличит количество draw calls пропорционально количеству материалов.
Сообщение отредактировал Storm54 - Воскресенье, 16 Января 2022, 00:24 |
|
| |
Storm54 | Дата: Воскресенье, 31 Октября 2021, 21:21 | Сообщение # 65 | Тема: Небольшой некоммерческий проект на С |
постоянный участник
Сейчас нет на сайте
| Если пишете диплом по этой теме, то очень странно видеть путаницу в терминах БД и СУБД. Ваша программа как раз-таки является неким подобием СУБД. Касаемо программы: Формат хранения выбран неудачный по нескольким причинам: 1. В текстовом формате хранить избыточно. Особенно, если планируется добавлять различные типы данных. 2. Столбцы разделены пробелами, что уже исключает возможность использования этих символов в качестве полезных данных. 3. Строки таблицы разделены символами переноса строк, что также исключает возможность хранить многострочные документы в БД. Функционал СУБД очень скуден, по сути реализована только одна таблица с захардкоженным типом данных, подробнее: 1. Отсутствие возможности создавать и настраивать базы данных, таблицы и т.п. 2. Естественно, ни о каком ACID и речи даже не может идти. 3. Догадываюсь, что какой либо встроенной оптимизации поиска также нет.
Похвально, что пробуете писать на C - хоть немного разберетесь с основами работы с памятью, но проект очень слабый и даже рассматривать нечего. Если была задумка сделать СУБД, то можно было бы поставить конкретную задачу и попытаться ее реализовать - тот же журнал транзакций попытаться сделать и понять какую задачу он решает.
Советую прочитать любую книгу по SQL, чтобы понять, какие вообще задачи решают SQL СУБД. Хорошая книга "Введение в SQL" Мартина Грабера.
Сообщение отредактировал Storm54 - Вторник, 02 Ноября 2021, 15:43 |
|
| |
Storm54 | Дата: Вторник, 06 Июля 2021, 12:40 | Сообщение # 66 | Тема: Как работать с плэймаркетами с юридической точки зрения, РБ |
постоянный участник
Сейчас нет на сайте
| TLT, недосмотрел, ок. Действующие правки от 18 года:Цитата наказывается штрафом в размере от трехсот тысяч до одного миллиона рублей или в размере заработной платы или иного дохода осужденного за период от двух до четырех лет, либо ограничением свободы на срок до четырех лет с лишением права занимать определенные должности или заниматься определенной деятельностью на срок до трех лет, либо принудительными работами на срок до четырех лет с лишением права занимать определенные должности или заниматься определенной деятельностью на срок до трех лет, либо лишением свободы на срок до четырех лет с лишением права занимать определенные должности или заниматься определенной деятельностью на срок до трех лет.
В целом это ничего не меняет. Наказание лишь усугубилось. Но, это не отменяет того факта, что изначально нужно интересоваться, как работает вся система, чтобы потом не кусать локти. Налоговая вообще требует максимальной отчетности.
|
|
| |
Storm54 | Дата: Вторник, 06 Июля 2021, 09:21 | Сообщение # 67 | Тема: Как работать с плэймаркетами с юридической точки зрения, РБ |
постоянный участник
Сейчас нет на сайте
| TLT, Очень сомнительные советы, которые могут вылиться в серьезные проблемы в дальнейшем. Не знаю, как в РБ, но в РФ есть статься: УК РФ Статья 171. Незаконное предпринимательство с очень неприятным наказанием: наказывается штрафом в размере до трехсот тысяч рублей или в размере заработной платы или иного дохода осужденного за период до двух лет, либо обязательными работами на срок до четырехсот восьмидесяти часов, либо арестом на срок до шести месяцев.
Поэтому все нужно оформлять официально с первого дня и нельзя ждать, пока прибежит налоговая, ибо будет уже поздно.
|
|
| |
Storm54 | Дата: Суббота, 01 Мая 2021, 16:16 | Сообщение # 68 | Тема: 2 разных приложения, одно управляет другим |
постоянный участник
Сейчас нет на сайте
| На одном устройстве включаешь точку доступа, другим устройством присоединяешься по wi-fi к первому, чтобы образовать локальную сеть. Если устройства уже подключены к одной сети wi-fi, то этот шаг можно пропустить. В итоге, имея локальную сеть, можно поднять обычный TCP/UDP сервер на одном устройстве, а другим устройством присоединиться к этому серверу по IP.
|
|
| |
Storm54 | Дата: Понедельник, 25 Января 2021, 21:56 | Сообщение # 69 | Тема: МикроЧервь |
постоянный участник
Сейчас нет на сайте
| По задумке игра очень похожа на Supaplex.
|
|
| |
Storm54 | Дата: Вторник, 19 Января 2021, 15:07 | Сообщение # 70 | Тема: Помогите выбрать unity или UE4? |
постоянный участник
Сейчас нет на сайте
| Устроиться с сертификатом нереально. Не встречал ни одну IT компанию, в которой его вообще будут рассматривать. Skillbox и прочие курсы - не дают никакой пользы. Вся информация спокойно ищется в интернете. Перед собеседованием часто требуют выполнение тестового задания, которое делается за пару часов. Если это геймдев, то заданием может быть написание простенькой игры в обозначенной тематике. На собеседовании спрашивают конкретно: с чем знаком, какие задачи решал, как бы решил ту или иную проблему. По выполненному тестовому заданию могут спрашивать и обратить внимание на определенные решения, которые были допущены при его написании. Если хочется попасть в геймдев, то самый просто вариант: Сделать несколько своих проектов, чтобы увидеть все проблемы геймдева и познакомиться с движком. Год-два опыта работы со своими проектами и можно отсылать резюме, где будут указаны ссылки на них. Это куда сильнее заинтересует работодателя, чем какие-то бумажки. В качестве движка рекомендую Unity, т.к. он сейчас очень популярен у студий.
Сообщение отредактировал Storm54 - Вторник, 19 Января 2021, 15:09 |
|
| |
Storm54 | Дата: Среда, 23 Декабря 2020, 14:30 | Сообщение # 71 | Тема: Зомби-апокалипсис |
постоянный участник
Сейчас нет на сайте
| Так в чем особенность движения? Если дорога постоянно меняет свое направление движения, то достаточно перепрыгивать с левой на правую полосы, в момент, когда они движутся в нужном направлении. Если их движение зависит от того, кто на них стоит и в каком направлении смотрит, то достаточно подобрать правильное направление, чтобы двигаться по дороге. В целом идея достаточно ограниченная, ведь, если алгоритм движения дороги будет очень сложный, то играть в такую игру станет не интересно (никто не будет заучивать десятки разных факторов), если алгоритм будет простой, то это окажется примитивным тренажером для развития моторной памяти.
|
|
| |
Storm54 | Дата: Вторник, 22 Декабря 2020, 19:25 | Сообщение # 72 | Тема: тайловый редактор gtiled [в разработке] |
постоянный участник
Сейчас нет на сайте
| Адрес может быть не кратен машинному слову(Ссылка, если не знаете, что такое машинное слово). Минимальный размер данных, который запрашивает компьютер из памяти, равен машинному слову. Следовательно, если данные не выровнены, то потребуется два обращения к памяти. Обращение к памяти в десятки, а то и в сотни раз дольше, чем 1 такт CPU, поэтому компиляторы и выравнивают данные в структурах ради оптимизации.
Под некорректностью я подразумевал ошибки, которые возникнут при использовании программы на разных платформах. Все ошибки я подробно описал выше. Огромное количество коммерческих программ используют открытые форматы данных: Steam - файлы appmanifests, которые содержат информацию о каждой установленной игре, формат этих файлов - JSON и они спокойно открываются блокнотом. Тоже самое и с Epic Games Store. Большинство продуктов Microsoft (Office, PowerPointer, Excel и т.п.) хранят данные в XML, иногда XML сжимается с помощью GZIP, чтобы файл занимал меньше места. В играх ситуация аналогичная. Данные могут быть в любом открытом формате, сжатом с помощью современных алгоритмов сжатия. Последней игрой, которую я анализировал, был Mount & Blade II: Bannerlord - все сцены в этой игре описаны в файлах с расширением xscene. Открывается обычным блокнотом, формат XML.
Кто-то и в бинарном формате сохраняет. Но, в бинарном формате сохранять можно по-разному. Я лишь указывал, что брать и сохранять напрямую содержимое памяти - некорректно, т.к. на разных платформах физическое представление одних и тех же логических данных будет различаться.
Сообщение отредактировал Storm54 - Вторник, 22 Декабря 2020, 19:27 |
|
| |
Storm54 | Дата: Вторник, 22 Декабря 2020, 10:52 | Сообщение # 73 | Тема: тайловый редактор gtiled [в разработке] |
постоянный участник
Сейчас нет на сайте
| По поводу параметров компилятора: язык C в большинстве случаев подразмувает кроссплатформенность. Если я захочу собрать этот редактор на каком-нибудь PowerPC с Big-Endian архитектурой, я должен буду пройтись по всему исходному коду, чтобы поправить работу с файлами, а может и что-то еще?! Не думаю. Программа должна быть написана так, чтобы была возможность ее скомпилировать на разные платформы, особенно этот редактор, который может и на винде использоваться. Что может случиться с данными: во первых, как я написал выше, различия архитектур little-endian и big-endian уже приведут к некорректному поведению программы. Во вторых, компилятор может изменять размеры структур в угоду оптимизации Struct Padding. Я уже увидел в проекте сохранение структуры level. Сейчас с ней проблем не будет, но, если бы она хранила в себе элементы char, то выравнивание памяти могло бы сыграть свою роль. Про сказки вообще не в тему. Если я в чем-то не прав, то укажите - в чем именно. То же выравнивание данных с ассемблером и удобством вообще не связано, как вы указали, а служит лишь для того, чтобы сократить обращения к памяти.
Сообщение отредактировал Storm54 - Вторник, 22 Декабря 2020, 10:53 |
|
| |
Storm54 | Дата: Понедельник, 21 Декабря 2020, 15:57 | Сообщение # 74 | Тема: тайловый редактор gtiled [в разработке] |
постоянный участник
Сейчас нет на сайте
| Если цель - набраться опыта, то можно свой велосипед написать. Если же целью является игра, то лучше потратить немного времени и разобраться в формате, который предоставляет Tiled. Это отличный инструмент. Свой редактор, с такими же возможностями пишется несколько месяцев и в итоге будет ничуть не лучше, чем уже созданный.
Сохранять сишные структуры напрямую в файл и считывать из файла - некорректно. Разные параметры компилятора при сборке проекта могут привести к различному расположению данных в памяти. Как минимум, включая/выключая выравнивание памяти, уже будет разный результат. На современных интеловских процессорах (если не ошибаюсь, то с поколения Haswell) доступ к не выровненной памяти уже не влияет так сильно на производительность, так что компиляторы, зная это, могут и вовсе выключить подобную оптимизацию. В итоге, при сборке проекта на разные CPU, будет разный результат работы программы. Также не стоит забывать про архитектуры big-endian и little-endian, различия которых приведут к тому, что сохранив файл на одной архитектуре, невозможно будет работать с сохраненными данными на другой, без предварительной конвертации.
|
|
| |
Storm54 | Дата: Понедельник, 21 Декабря 2020, 14:01 | Сообщение # 75 | Тема: тайловый редактор gtiled [в разработке] |
постоянный участник
Сейчас нет на сайте
| Попробовал создать бесконечную карту в Tiled. Сохраняет он довольно просто: XML с набором чанков. У каждого чанка есть расположение в глобальной системе координат и размер. Внутри чанка содержится массив в CSV формате из которого можно получить значения тайлов. Парсится это вручную на любом языке минут за 10.
Сообщение отредактировал Storm54 - Понедельник, 21 Декабря 2020, 14:02 |
|
| |
Storm54 | Дата: Понедельник, 21 Декабря 2020, 11:17 | Сообщение # 76 | Тема: тайловый редактор gtiled [в разработке] |
постоянный участник
Сейчас нет на сайте
| Чем Tiled не устроил?
|
|
| |
Storm54 | Дата: Пятница, 18 Декабря 2020, 12:29 | Сообщение # 77 | Тема: Моды игры "Far Cry" 2004 года |
постоянный участник
Сейчас нет на сайте
| Это - тупая стрелялка, потому что в реальных современных боевых сражениях очень редко возникают ситуации, когда противник в прямой зоне видимости. Пехота не будет воевать с техникой противника без крайней необходимости - для этого есть артиллерия. Здесь же дистанция в несколько метров, что уже бьет по реализму.
Хочется реализма - есть Arma.
Я не говорю, что моды плохие, но выглядят они как обычная карта для Far Cry с очень примитивным левел дизайном.
Сообщение отредактировал Storm54 - Пятница, 18 Декабря 2020, 12:30 |
|
| |
Storm54 | Дата: Четверг, 17 Декабря 2020, 22:14 | Сообщение # 78 | Тема: Моды игры "Far Cry" 2004 года |
постоянный участник
Сейчас нет на сайте
| Нашел видос прохождения одного из этих модов. Скрин:
Дизайн уровней вообще нулевой - чуть ли не плейн с натыканными деревьями и противниками.
Геймплей ничем не примечателен: в одной миссии нужно объехать карту и уничтожить все вышки, в другой сидишь на месте и расстреливаешь волны врагов. В той же Call Of Duty, начиная с самой первой части, есть подобные миссии. Как и в любом другом современном сюжетном шутере.
|
|
| |
Storm54 | Дата: Среда, 16 Декабря 2020, 18:04 | Сообщение # 79 | Тема: [3D] MDO Game MMORPG |
постоянный участник
Сейчас нет на сайте
| Можно и на Imgur залить.
Как ты вообще можешь разрабатывать подобную игру, даже не зная как картинку на форуме отобразить?
|
|
| |
Storm54 | Дата: Понедельник, 14 Декабря 2020, 12:27 | Сообщение # 80 | Тема: Помогите написать платформер за деньги |
постоянный участник
Сейчас нет на сайте
| Купи для начала Game Maker Studio, он стоит 39 баксов всего. Это ничто по сравнению с той суммой, которую ты за консультации отдашь.
|
|
| |
|