Пятница, 30 Сентября 2022, 13:31

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 21
  • 1
  • 2
  • 3
  • 20
  • 21
  • »
Форум игроделов » Записи участника » Storm54 [404]
Результаты поиска
Storm54Дата: Пятница, 29 Июля 2022, 07:51 | Сообщение # 1 | Тема: Команда Echpochmak Games ищет Spine-аниматоров
постоянный участник
Сейчас нет на сайте
Например, я как разработчик, хочу войти к вам в команду, но хочется понять серьезность идеи. Искренне интересуют следующие вопросы:

Зачем в вашем файтинге разнообразные персонажи и скиллы, если противник умирает от одного удара?
Как решаете проблему ТТК, особенно в игре, где персонажи умирают с одного удара? Сколько в итоге длится раунд? 10 секунд?
Как это будет играться в мультиплеере, где из-за лагов или неспособности вовремя заблокировать удар можно сразу проиграть?
Почему этот файтинг должен быть интереснее существующих, когда большинство существующих (если не все) строятся на правильном создании комбо и удержании противника в этом комбо?

Зачем вам дополнительные люди в команде, если уже набрали целых 18 человек (судя по заголовку темы), но даже нет прототипа?
Почему так мало контента в группе VK, если уже 18 человек в команде?
Storm54Дата: Вторник, 19 Июля 2022, 16:48 | Сообщение # 2 | Тема: 3D движок Falco Engine
постоянный участник
Сейчас нет на сайте
Очень интересно, откуда вы взяли информацию, что PhysX имеет закрытый код? Он по умолчанию поставляется в виде исходников и по-другому его просто невозможно использовать в своем проекте - нужно собирать ручками. Лицензия крайне мягкая. https://github.com/NVIDIAGameWorks/PhysX

По поводу FBX: Я скачал версию, нажав на большую красную кнопку на сайте. Вот этот файл крашит: https://dropmefiles.com/nLAQL

Не понял какие у Вас возникли проблемы с MeshRenderer. Сделайте, чтобы в MeshRenderer можно было указать два объекта: Первый объект с типом Mesh, второй объект с типом Material.
Mesh - это всегда просто набор вершин (при желании с дополнительными данными на каждую вершину). Если файл изначально содержит несколько мешей, то при его импорте в проект, у этого ассета должна быть
возможность посмотреть список этих мешей (опять же, как в юнити).

Если сейчас в движке ассеты идентифицируются по пути, то это сразу приводит к проблемам, связанным с переименованием/перемещением ассетов в проекте. Даже если вы напишите хитрую логику, которая при перемещении ассета пробежится по всем сценам и поправит ссылки, то это не поможет, т.к. может существовать внешний контент, который уже был экспортнут из движка ранее (если вообще такая фича у вас есть). Также очень интересно посмотреть, как при такой организации ассетов работать с проектом в гите. В одной ветке я переименую текстуру и все другие разработчики, которые используют эту текстуру, получат невалидный проект, как только подольют мою ветку к себе.
Storm54Дата: Вторник, 19 Июля 2022, 09:19 | Сообщение # 3 | Тема: 3D движок Falco Engine
постоянный участник
Сейчас нет на сайте
Первое с чем столкнулся:

Движок ставится в Program Files (x86), но является 64 битным приложением.
При установке масштаба в винде выше 100% весь интерфейс превращается в мыло.
Нет быстрого перемещения камеры к нужному объекту на сцене. В юнити для этого существует двойной клик по объекту в иерархии.
Не получается перенести ассеты в проект через Drag & Drop.
Отсутствуют встроенные примитивы и материалы. Я банально не могу из кубиков или других простых объектов что-нибудь собрать.
FBX формат напрочь крашит. Такого вообще не должно быть, даже если я подсуну мусор в виде файла, не говоря уже о реальном файле с любым содержимым внутри.
Ужаснейшая сетка, отображаемая на сцене. Линии слишком жирные и частота сетки не меняется при удалении камеры.
Какая-та странная логика заполнения компонентов. Я создал пустой объект и на него повесил MeshRenderer. Я ожидаю, что в добавленном рендере можно указать меш и материал, но у меня вообще не отображаются какие-либо поля, куда можно перенести ассеты. Как мне кубик то создать?

Вопросы:

Как осуществляется индексация объектов в движке? В юнити у каждого ассета существует UID, который уникален для любого ассета в проекте и позволяет крайне производительно, в среднем за O(1), обращаться
к любым объектам движка.
Почему выбрали Bullet, а не PhysX? Если уж копировать юнити, то можно было и физический движок взять тот же. Это автоматом дало бы большинство тех физических фич, которые есть в юнити.
Чем рисуете интерфейс? Можно было бы взять Qt и получить красивый интерфейс и избежать тех же проблем с масштабированием.


Сообщение отредактировал Storm54 - Вторник, 19 Июля 2022, 09:25
Storm54Дата: Четверг, 02 Июня 2022, 14:50 | Сообщение # 4 | Тема: Вопрос-[ответ] по Unity
постоянный участник
Сейчас нет на сайте
Какие-то дикие костыли.
На уровне GPU нет никакого различия между юнитевскими статическими объектами, динамическими или еще какими-нибудь. Есть просто набор треугольников (мешей), текстур и программ (шейдеров), которые все это дело рисуют. Сгенерите сцену из динамических объектов и не парьтесь. Если станет слишком много вызовов отрисовки (draw calls), то можно в несколько строчек эти меши объединить - https://docs.unity3d.com/Manual/combining-meshes.html
Галочка static просто дает понять юнити, что эти объекты не двигаются на сцене, а значит их можно попытаться объединить во время билда, но ничего не мешает вам сделать это самостоятельно через вызов
Mesh.CombineMeshes или собственную реализацию. Естественно, что объединяемые меши должны использовать один и тот же материал (в общем случае), чтобы после объединения их можно было отрисовать тем же материалом.


Сообщение отредактировал Storm54 - Четверг, 02 Июня 2022, 14:51
Storm54Дата: Вторник, 17 Мая 2022, 18:00 | Сообщение # 5 | Тема: Курс по разработке движка на C++ для android
постоянный участник
Сейчас нет на сайте
Цитата afq ()
Ну что он может круче меня написать например?

Например, основу майнкрафта, которую я описал выше. Подобный проект на чистом OpenGL пишется за пару вечеров, если ты хороший специалист и понимаешь, что и как нужно делать.
В конце концов, главное, что хороший специалист способен это написать, что в итоге и выражается в основном различие: Даешь хорошему специалисту задачу и он с ней справляется. Даешь ту же задачу новичку и он либо сделает с существенными косяками и придется потратить ~100% времени на исправление, либо вообще не осилит задачу и ее придется делегировать.
Storm54Дата: Вторник, 17 Мая 2022, 17:26 | Сообщение # 6 | Тема: Курс по разработке движка на C++ для android
постоянный участник
Сейчас нет на сайте
Цитата afq ()
Но я же движок всё равно пишу, а ты просто ищешь повод задавить меня.

Я даже тебе мотивацию дал: сделаешь курс по созданию майнкрафта (да, можно называть это движком, как ты любишь), как я ранее написал - посмотрим всем форумом результат, а я даже уроки по твоему курсу куплю.

Я лишь хотел навести на мысль, что множество команд не просто так используют Unity. И дело тут не в том, что кто-то хочет, не хочет разбираться в основах 3D графики, а в том, что в одиночку создать нечто подобное - чисто физически нереально, ведь команда из сотни человек за 3-7 дней разработки будет выдавать такой же результат, как один человек за год. Можешь писать свой движок, если цель научиться, но даже близко к Unity он не подберется.

У меня лично сложилось впечатление, что ты считаешь, что использование Unity - это программирование в конструкторе, где скриптеры расставляют объекты на сцене и навешивают скрипты с простой логикой, а написанием системных вещей там даже и не пахнет. Так вот, это совсем не так: самые популярные проекты на Unity, тот же Rust, это сложные игры, которые без серьезно переработанной системы рендеринга и понимания устройства графического конвеера, сделать на Unity просто нереально (как и на любом другом существующем движке). Там и бесшовный огромный мир, и хорошая производительность, и поддержка модификаций.
Storm54Дата: Вторник, 17 Мая 2022, 17:03 | Сообщение # 7 | Тема: Курс по разработке движка на C++ для android
постоянный участник
Сейчас нет на сайте
Во-первых: Unity используют из экономических соображений:
Берем зарплату среднего разраба в геймдеве, например мидла, что около 2500$ в месяц (я даже не прибавляю налоги, отпуск и т.п).
Получается 113$ за рабочий день. Оплатить лицензию Unity стоит пол рабочего дня этого специалиста, что намного и намного дешевле (и быстрее), чем садить этого специалиста за написание движка, который будет аналогом Unity.

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

В-третьих: Ты приводишь примеры библиотек, например SDL2, glm, (да даже сам OpenGL, в отличие от низкоуровневого Vulkan), которые и так являются продуктом-оберткой над API (как API операционной системы, так и API драйвера видеокарты), но ты, почему-то хочешь их использовать. Хотя, если пытаться разобраться в вопросах написания движков, то нужно писать все самому и начинать со СЛАУ, а не пытаться обмазываться библиотеками, которые написали умные люди, открыв дорогу начинающим разработчикам.
Storm54Дата: Понедельник, 16 Мая 2022, 15:33 | Сообщение # 8 | Тема: Курс по разработке движка на C++ для android
постоянный участник
Сейчас нет на сайте
afq, я и не давил на слабые места, лишь привел первый пришедший в голову пример игры, которая простая с виду, но которую нельзя написать с приемлемой производительностью, если хотя бы чуть чуть не представляешь как работает графический конвейер. А без этих знаний выпускать гайды по созданию игрового движка - не просто глупо, а граничит с мошенничеством.

Сообщение отредактировал Storm54 - Понедельник, 16 Мая 2022, 15:33
Storm54Дата: Понедельник, 16 Мая 2022, 13:26 | Сообщение # 9 | Тема: Курс по разработке движка на C++ для android
постоянный участник
Сейчас нет на сайте
Этот размер я указал лишь в качестве примера. Но его будет достаточно, чтобы собрать десятки косяков и сесть в лужу без нормальных знаний о работе 3D приложений.
Storm54Дата: Понедельник, 16 Мая 2022, 13:07 | Сообщение # 10 | Тема: Курс по разработке движка на C++ для android
постоянный участник
Сейчас нет на сайте
afq,
Сделай уроки по созданию майнкрафта, даже без генерации реалистичного бесконечного ландшафта и мудреным крафтом, а с простым прямоугольным миром размером 10240x10240x256 и возможностью ставить и удалять блоки (два типа блока: трава и земля).
Если сделаешь и оформишь в виде курса, то куплю за 20к. Но FPS должен быть не ниже, чем в оригинальном майнкрафте (бинарники можешь сюда потом приложить для теста)
Не осилишь - поймешь, что до создания движков тебе очень и очень далеко. Осилишь - заработаешь легкие деньги.


Сообщение отредактировал Storm54 - Понедельник, 16 Мая 2022, 13:08
Storm54Дата: Воскресенье, 16 Января 2022, 00:12 | Сообщение # 11 | Тема: Одежда персонажа, новая модель?
постоянный участник
Сейчас нет на сайте
Если рассматривать персонажа со скелетной анимацией, то необходимо обозначить вещи, из которых строится конечный анимированный персонаж:
1. Подходящий скелет, обычно какой-нибудь Biped.
2. Заскиненный меш. У такого меша, помимо стандартного набора треугольников, есть привязка этих треугольников к костям скелета и коэффициент влияния движения кости на каждую вершину.
3. Анимация, которая представляет из себя просто набор позиций костей.

В итоге, что мы имеем:

Заскиненный меш "натягивается" на скелет, а кости этого скелета двигаются в соответствии с анимацией.

Каждый элемент одежды и части тела должны быть как раз этими заскиненными мешами, чтобы их можно было использовать вместе со скелетом.

По умолчанию большинство движков позволяют указать только один скелет, один заскиненный меш и стейт-машину для красивого смешивания анимаций.
И Unity - не исключение. Можно указать только один заскиненный меш. Поэтому, придется написать велосипед (всего-лишь десяток строк) и собрать один цельный меш из нескольких отдельных, после чего передать получившийся меш в SkinnedMeshRenderer.
Количество частей может быть абсолютно любым - это практически никак не повлияет на производительность. Просто руководствуйтесь своими требованиями: если нужно скрывать торс, то сделайте его отдельным мешем, если нужно скрывать руки - тоже. Это может касаться и пальцев, ушей, глаз и т.п. Все-равно в результате будет собран один заскиненный меш, из тех кусочков, которые вам необходимы в данный момент.

Производительность же зависит от количества вершин в финальном меше. Обычно CPU или GPU нужно рассчитать позицию каждой вершины в каждом кадре - это основные затраты производительности.

Еще один момент: Скорее всего каждый элемент одежды и части тела будут иметь свою текстуру и даже материал, например, с уникальным шейдером. В этом случае просто объединить все меши не получится, а придется их предварительно разбить на группы по материалам и уже меши каждой отдельной группы объединять и отрисовывать отдельно, что увеличит количество draw calls пропорционально количеству материалов.


Сообщение отредактировал Storm54 - Воскресенье, 16 Января 2022, 00:24
Storm54Дата: Воскресенье, 31 Октября 2021, 21:21 | Сообщение # 12 | Тема: Небольшой некоммерческий проект на С
постоянный участник
Сейчас нет на сайте
Если пишете диплом по этой теме, то очень странно видеть путаницу в терминах БД и СУБД. Ваша программа как раз-таки является неким подобием СУБД.
Касаемо программы:
Формат хранения выбран неудачный по нескольким причинам:
1. В текстовом формате хранить избыточно. Особенно, если планируется добавлять различные типы данных.
2. Столбцы разделены пробелами, что уже исключает возможность использования этих символов в качестве полезных данных.
3. Строки таблицы разделены символами переноса строк, что также исключает возможность хранить многострочные документы в БД.
Функционал СУБД очень скуден, по сути реализована только одна таблица с захардкоженным типом данных, подробнее:
1. Отсутствие возможности создавать и настраивать базы данных, таблицы и т.п.
2. Естественно, ни о каком ACID и речи даже не может идти.
3. Догадываюсь, что какой либо встроенной оптимизации поиска также нет.

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

Советую прочитать любую книгу по SQL, чтобы понять, какие вообще задачи решают SQL СУБД. Хорошая книга "Введение в SQL" Мартина Грабера.


Сообщение отредактировал Storm54 - Вторник, 02 Ноября 2021, 15:43
Storm54Дата: Вторник, 06 Июля 2021, 12:40 | Сообщение # 13 | Тема: Как работать с плэймаркетами с юридической точки зрения, РБ
постоянный участник
Сейчас нет на сайте
TLT, недосмотрел, ок. Действующие правки от 18 года:
Цитата
наказывается штрафом в размере от трехсот тысяч до одного миллиона рублей или в размере заработной платы или иного дохода осужденного за период от двух до четырех лет, либо ограничением свободы на срок до четырех лет с лишением права занимать определенные должности или заниматься определенной деятельностью на срок до трех лет, либо принудительными работами на срок до четырех лет с лишением права занимать определенные должности или заниматься определенной деятельностью на срок до трех лет, либо лишением свободы на срок до четырех лет с лишением права занимать определенные должности или заниматься определенной деятельностью на срок до трех лет.


В целом это ничего не меняет. Наказание лишь усугубилось. Но, это не отменяет того факта, что изначально нужно интересоваться, как работает вся система, чтобы потом не кусать локти. Налоговая вообще требует максимальной отчетности.
Storm54Дата: Вторник, 06 Июля 2021, 09:21 | Сообщение # 14 | Тема: Как работать с плэймаркетами с юридической точки зрения, РБ
постоянный участник
Сейчас нет на сайте
TLT, Очень сомнительные советы, которые могут вылиться в серьезные проблемы в дальнейшем.
Не знаю, как в РБ, но в РФ есть статься: УК РФ Статья 171. Незаконное предпринимательство с очень неприятным наказанием:
наказывается штрафом в размере до трехсот тысяч рублей или в размере заработной платы или иного дохода осужденного за период до двух лет, либо обязательными работами на срок до четырехсот восьмидесяти часов, либо арестом на срок до шести месяцев.

Поэтому все нужно оформлять официально с первого дня и нельзя ждать, пока прибежит налоговая, ибо будет уже поздно.
Storm54Дата: Суббота, 01 Мая 2021, 16:16 | Сообщение # 15 | Тема: 2 разных приложения, одно управляет другим
постоянный участник
Сейчас нет на сайте
На одном устройстве включаешь точку доступа, другим устройством присоединяешься по wi-fi к первому, чтобы образовать локальную сеть. Если устройства уже подключены к одной сети wi-fi, то этот шаг можно пропустить. В итоге, имея локальную сеть, можно поднять обычный TCP/UDP сервер на одном устройстве, а другим устройством присоединиться к этому серверу по IP.
Storm54Дата: Понедельник, 25 Января 2021, 21:56 | Сообщение # 16 | Тема: МикроЧервь
постоянный участник
Сейчас нет на сайте
По задумке игра очень похожа на Supaplex.

Storm54Дата: Вторник, 19 Января 2021, 15:07 | Сообщение # 17 | Тема: Помогите выбрать unity или UE4?
постоянный участник
Сейчас нет на сайте
Устроиться с сертификатом нереально. Не встречал ни одну IT компанию, в которой его вообще будут рассматривать. Skillbox и прочие курсы - не дают никакой пользы. Вся информация спокойно ищется в интернете.
Перед собеседованием часто требуют выполнение тестового задания, которое делается за пару часов. Если это геймдев, то заданием может быть написание простенькой игры в обозначенной тематике.
На собеседовании спрашивают конкретно: с чем знаком, какие задачи решал, как бы решил ту или иную проблему. По выполненному тестовому заданию могут спрашивать и обратить внимание на определенные решения, которые были допущены при его написании.
Если хочется попасть в геймдев, то самый просто вариант: Сделать несколько своих проектов, чтобы увидеть все проблемы геймдева и познакомиться с движком. Год-два опыта работы со своими проектами и можно отсылать резюме, где будут указаны ссылки на них. Это куда сильнее заинтересует работодателя, чем какие-то бумажки.
В качестве движка рекомендую Unity, т.к. он сейчас очень популярен у студий.


Сообщение отредактировал Storm54 - Вторник, 19 Января 2021, 15:09
Storm54Дата: Среда, 23 Декабря 2020, 14:30 | Сообщение # 18 | Тема: Зомби-апокалипсис
постоянный участник
Сейчас нет на сайте
Так в чем особенность движения? Если дорога постоянно меняет свое направление движения, то достаточно перепрыгивать с левой на правую полосы, в момент, когда они движутся в нужном направлении. Если их движение зависит от того, кто на них стоит и в каком направлении смотрит, то достаточно подобрать правильное направление, чтобы двигаться по дороге. В целом идея достаточно ограниченная, ведь, если алгоритм движения дороги будет очень сложный, то играть в такую игру станет не интересно (никто не будет заучивать десятки разных факторов), если алгоритм будет простой, то это окажется примитивным тренажером для развития моторной памяти.
Storm54Дата: Вторник, 22 Декабря 2020, 19:25 | Сообщение # 19 | Тема: тайловый редактор 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 | Сообщение # 20 | Тема: тайловый редактор gtiled [в разработке]
постоянный участник
Сейчас нет на сайте
По поводу параметров компилятора: язык C в большинстве случаев подразмувает кроссплатформенность. Если я захочу собрать этот редактор на каком-нибудь PowerPC с Big-Endian архитектурой, я должен буду пройтись по всему исходному коду, чтобы поправить работу с файлами, а может и что-то еще?! Не думаю. Программа должна быть написана так, чтобы была возможность ее скомпилировать на разные платформы, особенно этот редактор, который может и на винде использоваться.
Что может случиться с данными: во первых, как я написал выше, различия архитектур little-endian и big-endian уже приведут к некорректному поведению программы. Во вторых, компилятор может изменять размеры структур в угоду оптимизации Struct Padding. Я уже увидел в проекте сохранение структуры level. Сейчас с ней проблем не будет, но, если бы она хранила в себе элементы char, то выравнивание памяти могло бы сыграть свою роль.
Про сказки вообще не в тему. Если я в чем-то не прав, то укажите - в чем именно. То же выравнивание данных с ассемблером и удобством вообще не связано, как вы указали, а служит лишь для того, чтобы сократить обращения к памяти.


Сообщение отредактировал Storm54 - Вторник, 22 Декабря 2020, 10:53
Форум игроделов » Записи участника » Storm54 [404]
  • Страница 1 из 21
  • 1
  • 2
  • 3
  • 20
  • 21
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2022 Рейтинг