forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Проекты на Unity (http://forum.boolean.name/forumdisplay.php?f=147)
-   -   Проект "Альфа" - обсуждение реализации на Unity3D (http://forum.boolean.name/showthread.php?t=12772)

pax 30.06.2010 00:59

Проект "Альфа" - обсуждение реализации на Unity3D
 
Итак хотелось бы узнать мнение здешних юнити-программистов по поводу методов реализации составных частей игры, описанной в следующем дизайн-документе: http://shgames.ru/files/Project_Alpha_DD.pdf

Я преследую следующие цели данного обсуждения:
1. Выбор наиболее оптимальных методов реализации составных частей проекта.
2. Открытым обсуждением поднять интерес не юнити-программистов нашего коммюнити.
3. Привлечение желающих принять участие в реализации проекта.

Прошу не флудить в данной теме, а обсуждать поднятые вопросы по существу. Высказывайте свои идеи, примеры и т.д.

pax 30.06.2010 04:01

Ответ: Проект "Альфа" - обсуждение реализации на Unity3D
 
Вложений: 1
Подкину немного угля...
По поводу траектории уровня вопрос стоял таким образом, чтобы местность, над которой будет летать в уровнях игрок не часто повторялась. Поэтому была придумана система разбиения уровня на тайлы и полет над уровнем по замкнутой кривой. Все это задумывалось еще тогда, когда я о юнити и краем уха не слышал. Тогда я в первую очередь занялся созданием математических классов для кривой уровня. И где-то для XNA у меня они остались, но прошло время, прониклись юнити и я портировал свои кривые на нее, причем сделал возможность редактирования кривых визуально, слава богу юнити дат такую возможность. Сразу скажу что выбрал я кубические кривые безье для реализации данной задумки из за возможностей их настройки так, что можно построить достаточно сложные траектории с минимальным количеством контрольных точек.

Редактирование кривой:

Двойная петля из трех контрольных точек:

Трояная петля из трех контрольных точек:

Тест драйв кривой на 50 сегментов. Полет нормальный ))


Пакадж с примером прикладваю к посту.

Morganolla 30.06.2010 11:20

Ответ: Проект "Альфа" - обсуждение реализации на Unity3D
 
а что будет побуждать игрока лететь по этой траектории? сори за тупизм...:)

pax 30.06.2010 11:48

Ответ: Проект "Альфа" - обсуждение реализации на Unity3D
 
Цитата:

Сообщение от Morganolla (Сообщение 152207)
а что будет побуждать игрока лететь по этой траектории? сори за тупизм...:)

В диздоке приведены примеры двух подобных игр, в котрых экран движется прямо, а игрок может еще по нему двигаться. Здесь экран будет двигаться по такой траектории и скорость его движения будет выше чем у предложенных игр, что создаст ощущение скорости и захватывающих виражей на крутых поворотах траектории полета. Кроме того камера будет также наклоняться, что создаст дополнительный эффект скорости.

h1dd3n 30.06.2010 12:15

Ответ: Проект "Альфа" - обсуждение реализации на Unity3D
 
Могу сразу сказать что от неймспейсов наверное придется отказаться (юнити с ними вроде не дружит). Всю геометрии - в FBX.
Больше ничего сказать не могу поскольку если честно не очень понял коцепт игры. Из дд я понял что игра из себя представляет следующее:
Цитата:

Мы летим на нло, камера сверху управление мышью/стрелками по-горизонтали. Летим всегда вперед (то есть без поворотов и т.д.). Справа, слева, спереди вылетают боты мы их убиваем набиваем очки и деньги. Иногда попадаются боссы. В меню можно купить новое оружие/бронь и т.д.. В игре прогресс сохраняется прогресс в профиль игрока.
Вообщем очень похожа на Air Strike. Млжет есть игра которая очень похожа на твою задумку?
Если так то зачем кривые? Просто длинный меш вперед.
Кстати насчет кривых - в антаресе вроде реализовали кривые, можно попробовать.

pax 30.06.2010 13:07

Ответ: Проект "Альфа" - обсуждение реализации на Unity3D
 
Неймспейсы вполне нормально можно использовать для "бизнес логики" игры, т.е. для всего что не связано с компонентами, вешающимися на объекты или производящими другие объекты.

Летим мы вперед, но по кривой траектории, чтобы создать впечатление реального полета. Упраление - мышь, джойстик. Просто длинный мешь не подходит, так как скорость в отличии от подобных игр будет минимум в два раза больше, что обеспечит драйв особенно под подходящую музыку. Поэтому надо сделать возможность лететь сколько хочешь, отсюда и кривая траектория. Кривые у Нео при редактировании сильно тормозят для большого количества контрольных точек. Мои так не тормозят, плюс позволяют точно определить положение на кривой, а не приближенно по созданной апроксимации.

Да и не обязательно НЛО, потому как из некоторых идей концепта возможен был захват разума людей и битва могла быть с замбированными пилотами, это еще надо бы продумать.

pax 30.06.2010 14:59

Ответ: Проект "Альфа" - обсуждение реализации на Unity3D
 
Первый вопрос с которым я хотел бы определиться:
Стоит ли строить карту по квадрантам, либо взять один ландшафт большого размера?

h1dd3n 30.06.2010 21:03

Ответ: Проект "Альфа" - обсуждение реализации на Unity3D
 
Ландшафт конечно!
Кстати: зашел на форум shgames и заметил что кто-то уже брался за медию. Осталось ли чтонибудь готовое?
+В дд сказано что управление только по горизонтали, но может стоит сделать возможность пролететь немного вперед/назад (как сделано в том же air strike)? Так будет легче уклоняться от выстрелов.
+Вопрос - где будет распологаться враг? на земле? в воздухе? и там и там?

pax 30.06.2010 21:16

Ответ: Проект "Альфа" - обсуждение реализации на Unity3D
 
1. Скорее всего осталась незатекстуренная моделька первого ЛА игрока. Несколько полуразрушенных зданий - декораций для одной из локаций.
2. Управление не перпендикулярно ближайшей точке к экрану на траектории движения возможно рассмотреть уже на готовом геймлее. Т.к. сейчас неособо представляется такое управление на такой скорости как задумано.
3. Враг летающий, опять же из-за скорости. Наземные объекты просто невозможно будет успеть расстрелять.

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

pax 01.07.2010 11:32

Ответ: Проект "Альфа" - обсуждение реализации на Unity3D
 
По поводу своих кривых вот подумал и решил что не хватает возможности задавать угол крена. Когда возьмусь за доделку, сделаю контрольные точки несколько иначе - управляемые трансформом, вектор forward будет отвечать за направление, пару величин за величину сглаживания кривой в точке, а вращение трансформа будет определять ориентацию и соответственно вектор up будет интерполироваться между контрольными точками для придания полету настраиваемого наклона. Особенно для проекта желателен наклон при поворотах.

Еще есть мысли так же добавить в контрольных точках некоторые дополнительные интерполируемые значения... например для управления скоростью полета: замедления скорости на поворотах и разгона на прямых участках.

h1dd3n 01.07.2010 11:46

Ответ: Проект "Альфа" - обсуждение реализации на Unity3D
 
То есть: камера летит прямо по кривой, а игрок может отойти чуть влево/вправо.
Кстати замедление на поворотах по-моему не нужно. Наоборот на поворотах добавить наклона скорости и блура немного.
Еще вопрос: как определяется время "появления" ботов? Позицией на кривой?

pax 01.07.2010 12:10

Ответ: Проект "Альфа" - обсуждение реализации на Unity3D
 
Да, камера летит по кривой, а игрок мышкой влево и в права может управлять ЛА. При увеличении скорости не поворотах у пилота будут страшные перегрузки, которые вызовут кровоизлияние в мозг и смерть )) Не стоит увлекаться ;) Блур да, будет но небольшой.

По поводу времени появления ботов у меня было много размышлений. Позиция на кривой для этого не годится. Скорее всего будет написан свой редактор, который будет определять ВРЕМЯ появления ботов относительно начала уровня или относительно друг друга (т.е. по смещению). Например вылетает 5 врагов через 15 секунд после начала полета со смещением в 1 секунду. Либо еще вариант - вылет следующего после пяти секундной задержки после гибели предыдущего. Собственно замкнутая кривая позволит построить произвольные по времени уровни и начинать с произвольной на ней позиции.

Предполагалось порядка пяти - шести локаций (сцен) в каждой из которых будет несколько кривых для полета, что позволит сделать полет по одной и той же локации несколько разнообразнее.


PS: На самом деле данный проект задумывался как отдельная часть более крупного проекта - ремейка очень известной игры X-COM. Т.е. аркадный перехват НЛО. Но конечно мы не решились браться за такой крупный проект. А решили сначала сделать его часть как отдельную игру с небольшим сюжетом. В дальнейшем были планы по интеграции этой аркадной части в него.

h1dd3n 01.07.2010 13:22

Ответ: Проект "Альфа" - обсуждение реализации на Unity3D
 
Ну тогда надо попробовать сделать террайн. Предлагаю проложить путь между 2-ух скал (так у игрока будет хоть какая-то причина не улетать слишком вправо/влево). Есть идеи как быстро сделать террайн?

pax 01.07.2010 15:30

Ответ: Проект "Альфа" - обсуждение реализации на Unity3D
 
Между двух скал постоянно летать не интересно, отдаление от траектории будет максимум на 100-120 метров... это расстояние будет практически помещаться на игровом экране, а камера будет немного сдвигаться вправо и влево.
По поводу террейна - есть Terrain Toolkit и видео по созданию ландшафта... можно его попробовать. Ландшафт тока нужен примерно 20км х 20км минимум...

h1dd3n 01.07.2010 19:44

Ответ: Проект "Альфа" - обсуждение реализации на Unity3D
 
20000 юнити-единиц? Сильно большой ландшафт... Может парочку поменьше? Можно будет по разному их раскрасить)


Часовой пояс GMT +4, время: 10:46.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot