Тема: SteamCraft
Показать сообщение отдельно
Старый 23.01.2015, 14:28   #239
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений
(для 5,374 пользователей)
Ответ: SteamCraft

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

Есть вариант сделать толкалку, которая не зависит от одной конкретной стороны. Как в Робокрафте. То есть, это какая-то прибамбасина, которая всегда будет толкать машину вверх (при нажатии на F) и давать ей небольшую угловую скорость для переворачивания на ноги. Отстрелили ее - перевернуться уже не сможешь.

Есть второй вариант - сделать чуть хардкорнее. Толкалка будет работать только в одну сторону. То есть, к примеру, если толкалка стоит на левом боку, а вы упали на правый, то перевернуться вы уже не сможете. Если стоит на крыше и упали на крышу, то всё ок, перевернетесь обратно.

А есть и третий вариант - сделать возможность переворачивания по-умолчанию на клавишу F. Без каких-то спецблоков. Просто жмете F -> саркофаг пускает под большим давлением струю пара в сторону земли и вы, отталкиваясь, переворачиваетесь обратно.

Я бы хотел сделать либо первый, либо третий вариант. Они самые простые в плане кодинга и самые удобные для самих игроков. Особенно третий вариант. Вы как думаете, какой вариант лучше выбрать?

Внизу поста находятся пара набросков для второго варианта.

Провел небольшое исследование на тему "что быстрее - 5 дроуколов по одному мешу или 5 костей с 1 мешем". Сейчас одно только колесо дает 5 дроуколов. Если на него светит лампочка - то еще 5 дроуколов сверху. Достаточно затратно. Подумал, что, юзая один меш и 5 костей, будет работать быстрее.
Заспаунил перед камерой 1000 колес и начал в каждом кадре трясти все их детали.

Получил следующие результаты:
Если юзать отдельные GameObject'ы:
- 10 000 DrawCalls, 35 FPS, 28ms CPU, 12ms GPU.

Если юзать кости:
- 2 000 DrawCalls, около 22 FPS, 14ms CPU, 44ms GPU.

Ого, подумал я. Стало заметно хуже. Зашел в настройки и поставил галочку напротив GPU Skinning. Запустил еще раз...
- 2 000 DrawCalls, 70 FPS (!), 13ms CPU, 17ms GPU.

Подвожу итог: если игра ориентируется больше на старые компы, то лучше юзать много отдельных объектов, чем плодить кости в цельных мешах. Если же игра ориентируется на DirectX 11, то однозначно надо юзать кости и GPU Skinning. Прирост в производительности будет прям заметный, если множеству мелких деталей прикрутить по косточке.

Так как делаем игру для социалок, то, думаю, нам всё же больше подходит первый способ. С другой стороны, никто пока не жаловался на то, что у него пиксельных шейдеров 3.0 нет и вообще DirectX 11 не работает...


Вот такие пироги, в общем.

Попробуем, увидим.
Сделай фантастическое устройство в виде блока,
которое при нажатии F будет испускать электрические разряды,
и автомобиль будет подниматься вверх одновременно переворачиваясь.
И поставь ограничение на время использования, раз в минуту например.

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

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

Сообщение от pax Посмотреть сообщение
Добавил!
Возможно будем брать произвольные машины игроков, которые после последнего изменения сыграли успешный бой...
Без спроса брать машины игроков по моему нехорошая идея.
Лучше своих стандартных наделать, или красивые и удачные
варианты насобирать у тестеров по договорённости

Сообщение от pax Посмотреть сообщение
Вроде по первым тестам даунскейл UI работает, пришлось конечно код создания элементов переделать.

Вот 16х9 уменьшенный:






Это замечательно!
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо Crystal за это полезное сообщение:
Arton (23.01.2015), cahekp (23.01.2015), pax (23.01.2015)