Приходит ко мне старт апер набиваться в партнеры. Он прошел какие-то курсы и теперь разрабатывает игру. Давит на то, что он 100к отдал за изучение толи юнити толи на анреал енджин. И показывает всего лишь скриншот поля с травкой. Причем детализация травы очень ужасная, а почва и вовсе из скайрима скопирована. И говорит, что вот уже стартовая локация готова. Я говорю: покажи хотя бы полет камеры над твоим полем. Он там что-то замялся, говорит что программа в ранней стадии и еще пока не готов создать такой демоконтент.
Я говорю: ну вот когда на этом поле постоишь домик, а рядом поставишь человечка с простеньким ИИ, тогда и приходи.
А он мне снова начал заливать: я прошел курсы курсы, денег отдал много много.
Я: Ну раз ты такой умный разработкой 3Д занимаешься. Скажи мне формулу как получить расстояние между двумя точками в пространстве зная их координаты?
Дверь громко хлопает.
Это в евклидовом пространстве только. Но в играх по большей части такое, хотя есть и более интересные движки. Тот же Portal если взять.
Реальное пространство если рассуждать об объектах порядка высоты человеческого роста, массы человеческого тела и скоростях порядка скорости звука у земли можно принять евклидовым. Смысл рассматривать геометрию Лобачевского или Римана при разработке игровых локаций? Вы наверное хотели сказать, что это в декартовой системе координат.
Есть и другие способы искривлять пространство. Те же порталы. И была демка занятная с портальным движком, где 5 угловых комнат в квадратном доме )
Хотя локально пространство евклидово. И опять же Portal. При всей евклидовости там пространства, но та формула может давать завышенный результат, если не учитывает открытый портал на пути.
А вообще почитайте про неевклидовые пространства (я не про лобачевского и другие) в играх и удивитесь. Очень много игр с уникальными пространствами, даже древний Duke Nukem 3d - там той формулой нельзя было мерить, у него движок портальный.
Вы говорите правильные вещи, имеете умный вид, но при этом явно не владеете темой.
Кому интересно на данный момент все "многомерности" в играх делаются на эффектах портала и тригерных срабатываниях
И всей "нелогичности" таких пространств (тот же портал) с точки зрения игрового движка ничего не меняется
Это в жизни нельзя делать ссылки на реальные объекты, а математика это поддерживает
К сожалению движки которые реально поддерживают многомерность и прочее прочее очень сложны для "визуального" восприятия
И возвращаясь вопросу размерности - рекурсии
Расчёт точки стоит вектора и в случае попадания на портал идет переход на ссылку
Важно только указать максимальную вложенность рекурсии что бы кривая геометрия не сварила движок
И опять таки формула расчета не меняется.
Вот гравитация да, бессердечная сука. Причем с порталами ладно, старая игра на ps3 построенная на манипуляциями гравитацией, вот где реальная жесть
А ведь любая "темпоральная" магия так же затрагивает гравитацию, сколько игр с этим играет, начиная от таимшифта.
На данный момент игры не требуют каких то особо сложных решений
И даже если требуют, то решается все банальными решениями, потому что это проще)
Вообще-то вы собственно написали то, о чем я говорил. Но если вам кажется, что я не разбираюсь - спорить не буду, я не гуру геймдева и 20 ААА тайтлов за спиной не имею, только индюшатина, только хардкор!
Разработчик 3д игр по любому должен знать зачатки тригонометрии, векторной алгебры, а так же Евклидовой и аналитической геометрии. Еще желательно теоретическую механику хотя бы на уровне школьной физики.
но такому человеку обычно не нужны курсы программирования. Достаточно почитать чего нибудь. Но если бала дофига то можно и на курсы, все же там не голимые цыгане их преподают. Там быстрее объяснят как твою математику и физику реализовать в компьютере.
Но если кто-то без знаний математики и физики пытается заехать в геймдев.... он явно лошара.
А подскажите, если мне интересна физика и математика движения, а рисовать красивые текстуры я не умею, есть ли смысл учить unreal engine, чтобы попробовать помоделировать движение объектов при помощи c++? Не в смысле учить на курсах, а вообще.
смысл есть.
Красоту обычно наводят дизайнеры, которые могут ни грамма не шарить в математике, зато очень хорошо делают всякие красивые штучки.
Задача программистов-физиков-математиков вдохнуть жизнь в эту красоту.
А еще самая основная их задача сделать так чтобы изобретенные ими велосипеды при движении не потребляли много электричества и чтобы компьютеры пользователей не взлетали на своих вентиляторах.
Обладая знаниями программирования физики и математики вы можете вполне работать в команде разработчиков.
Если войдете в айти без профильного образования и чтобы потом не испытывать синдром самозванца. Объясняю.
Что такое игра?
Это сюжет, сценарий, звуки, текст диалогов, озвучка диалогов, музыка, графика.
Одному человеку это вряд ли такое можно осилить. И вряд ли существует много людей способных выполнить хотя бы два пункта из выше перечисленного.
Не каждый программист может быть дополнительно композитором или актером озвучки. Или писателем сценаристом. Художником, дизайнером итп.
А вот человек умеющий математику и физику может стать куда лучшим программистом чем человек с профильным образованием.
Я немного посмотрел рынок вакансий по этому направлению, и не совсем понял, есть ли привязка к конкретному движку, например если я научусь на unreal engine, будут ли эти знания переносимы в другой движок? Ведь, как я прочитал, у каждого из них есть свои модули расчёта физики, насколько глубоко я могу вносить изменения в поведение объекта?
(пока прохожу базовые уроки от unreal engine, возможно я ещё не дочитал до нужного места, и вопросы мои неправильные. Возможно там будет типа "впиши массу и материал, а мы посчитаем сами" )
Самое главное это стать программистом. А там уже будет не важно в какой системе программировать.
Могу только посоветовать только одно - доведите до конца, то что начали. Не соскакивайте в строну. Сделайте так, чтобы наступил тот момент когда вы скажете себе: "Я профи, я здесь царь и бог". Если придет понимание, что вы способны на большее, значит вам природа дала не плохой мозг и в случае чего сможете быстро перестроиться в другую среду разработки. Ведь кроме игр существует целая куча сфер для программиста: веб, системное, серверное, инженерное. Программирование различной робототехники и микроэлектроники. Всё это может стать не таким далеким если вы просто хорошо изучите unreal engine. А если не станет - значит не судьба, каждому своё.
Смотря с какой целью. Если просто освоить симуляцию движения - достаточно бесплатных уроков. Если после них не понятно, не складывается система - можно выбирать курс.
Кстати, одно из немногих, что помню ещё со школы)

IT-юмор
7.5K постов53.3K подписчиков
Правила сообщества
Не публикуем посты:
1) с большим количеством мата
2) с просьбами о помощи
3) не относящиеся к IT-юмору