Ghost Dragon
Потестил игру:
1. Не знаю куда там бежит дракончик (относительно предыдущего обсуждения), но выглядит как бег боком. Не очень красиво.
2. Куча багов с коллизиями:
а) Где-то я просачивался через непроходимые места, где-то застревал. Так я прошел к монетам, где стояли ворота с молниями.
б) Два раза враги застревали и колбасились в судорогах (около ворот, которые нужно открыть и просто в лесу, когда гнался за мной).
в) Если побойти к мосту снизу слева, то я автоматом скатывался в воду, а иногда каким то чудом телепортился на мост.
г) Один раз упал в воду и игру пришлось закончить, респаунился похоже сразу в воде, камера куда-то улетела.
3. Так и не понял каков смысл монстра дерева, если его можно расстрелять издали.
4. Движение опять таки странное, дракончик как будто скользит по всем объектам мира. Опять таки баги коллизии наверное.
5. Понравилась музыка в начале игры, но она диссонирует с музыкой во время боя.
6. Первый же выход из игры произошел с ошибкой.
7. Плавающая камера не понравилась.
8. Нельзя зажать кнопку и стрелять, вроде говорили про это, но так и не сделали. Не удобно.
9. Карта местами перегружена объектами. Ничего не видно, не очевидно куда можно идти.
10. Не хватает скорости. Все действия инертные.
11. Графика как всегда радует. Мелкий уклоняющийся монстр понравился)
А так очень даже хорошо, молодцы. Сеттинг радует, игра приятная))
Mr_Jack
Колижн тади да, нужно почекать по уровню, местами есть странности.
Музыка временная, я почти от балды взял несколько треков на протестить систему (они все из разных частей dotHACK)
Про бег "боком" я так и не понял -- уже примерно как полгода оно так как сейчас и никто ничего никогда не говорил по этому поводу (включая издателей, а там хватало замечаний по всяким вещам)
Если игра падает при выходе, пришли плиз лог (в папочке с .ехе)
Ghost Dragon
А лог один на все игры, или он переписывается после нового запуска? Больше не вылетала пока.
Ghost Dragon
> Музыка временная
Музыка случаем не из Златогорья (спокойная которая)? Очень похоже.
Поиграл еще:
Кстати, оказывается на карте есть болота, после которых происходит заражение. Такие неприметные, я думал, чего это жизни падают. Может пусть частицы зловония выше поднимаются? Сейчас больше на плоскую текстуру похожи.
Монстрам (да и герою) остро не хватает А*. Хотя вы и так, наверное, это знаете)
И еще, все монстры расставлены по одиночке, детям может и нормально, но лично мне было скучно. Отходишь, стреляешь и т.д. Может стоит комбинировать типы мобов и респаунить их так, чтоб они окружали героя?
Mr_Jack
лог перезаписывается при каждом старте.
"Спокойная" музыка -- чуть ли не самый первый BGM из .hack//infection (PS2)
> Кстати, оказывается на карте есть болота, после которых происходит заражение.
> Такие неприметные, я думал, чего это жизни падают. Может пусть частицы зловония выше поднимаются? Сейчас больше на плоскую текстуру похожи.
А непрерывная потеря хитпоинтов и измененение иконки главгероя подозрений не вызывали?.. :)
Партиклы там конечно нужны дополнительные, и на болоте и на персонаже.
> И еще, все монстры расставлены по одиночке, детям может и нормально, но лично мне было скучно.
> Отходишь, стреляешь и т.д. Может стоит комбинировать типы мобов и респаунить их так, чтоб они окружали героя?
Не стоит, дети не оценят; я боюсь им и одного мелкий кроллег мало не покажется :)
Ghost Dragon
Кролики - сотона. Родители потом не будут жаловаться?))
Ghost Dragon
мне кажется, используется логарифмическое приближение к нужному углу поворота... какбы это попроще объяснить)
короче, дракон поворачивается с нелинейной скоростью, и чем меньше угол между текущим направлением и направлением движения - тем медленнее он поворачивается. в итоге, перед тем как дракон приобретает нужное направление, ему нужно пройти достаточно большой путь, на котором как раз и кажется, что он бежит "боком". но это одна сторона медали - вторая - это сложная формула синхронизации такого повората по dt. там формула - какое-то чудо с логарифмами, решение простого диф уравнения.
короче, проще говоря, я думаю что там вот так:
angle = (new_angle - angle) * rotation_speed; // для простоты. на самом деле нужно правильно учитвывать переход 0...360
а вот так я бы посоветовал сделать
angle = sign(new_angle - angle) * rotation_speed; // для простоты. на самом деле нужно правильно учитвывать переход 0...360
вот код, который делает примерно то, что я сказал
// d - направление движения, dt - время кадра в секундах void Creature::updateAngle(const Vector &d, float dt) { Vector dir = d; dir.z = 0; float speed = dir.length( ); if ( speed < EPSILON) return 0.0f; Vector axis = normalize( cross( dir, direction)); float da = math::arccos( dot( normalize( dir), normalize( direction))); if ( axis.z < 0.0f) da = -da; float delta = speed * dt * math::sign( da); if ( math::abs( delta) > math::abs( da)) delta = da; angle -= delta; setAngle( angle); } void Creature::setAngle( float ang) { origin->setRot( Quaternion( Vector( 0, 0, 1), ang + PI/2)); angle = ang; direction.x = math::cos( angle); direction.y = math::sin( angle); direction.z = 0; }
EvilSpirit
Нет никаких углов и логарифмических приближений. Большой torque в нужном направлении и большой damping.
Он действительно бежит боком какое-то время, но на дистанции порядка полуметра. Где-то выше я уже объяснял почему кажется, что дракон бежит боком; так же бегают персы и в том же Диабло.
А углы вообще никогда не работают толком, даже если просто вращать танковую башню.
Jesus
> Кролики - сотона. Родители потом не будут жаловаться?))
Не думаю -- они скорее стёбно-смешные, чем ужасные :)
Ghost Dragon
> Большой torque в нужном направлении и большой damping.
вот черт... а зачем вращать физобъект? нужно же просто скин вращать...
> Где-то выше я уже объяснял почему кажется, что дракон бежит боком
мне кажется, не важно почему кажется ) надо, чтобы не казалось )
> Он действительно бежит боком какое-то время, но на дистанции порядка полуметра
в том то и дело, что дольше. потому что потом скорость поворота очень маленькая.
я прикидываю так - метров 10. если полметра - то это было бы не заметно.
прикладываемый большой torque как расчитывается?
> А углы вообще никогда не работают толком, даже если просто вращать танковую
> башню.
это как это не работают? я не понимаю...
>> Большой torque в нужном направлении и большой damping.
>вот черт... а зачем вращать физобъект? нужно же просто скин вращать...
кому нужно? :)
>> Он действительно бежит боком какое-то время, но на дистанции порядка полуметра
> в том то и дело, что дольше. потому что потом скорость поворота очень маленькая.
полный разворот при текущих настройках (и не-геймпадном управлении) дракон делает где-то 2 секунды -- это легко проверить -- за это время ну никак не успеет он 10 метров пробежать :)
> мне кажется, не важно почему кажется ) надо, чтобы не казалось )
так никому особо не кажется, уже что-то около года :)
>> А углы вообще никогда не работают толком, даже если просто вращать танковую
>> башню.
> это как это не работают? я не понимаю...
Никак не работают. Т.е. неприменимы на практике, даже в 2д-случае и даже если на объект не действуют никакие другие силы/импульсы типа реакций на удар.
Если погуглить на тему "аngles are evil" -- думаю найдётся статей Хекера или Форсита, где разжёвано почему углы не работают.
Нарезка боёвки под симфоническо-металлическую музыку, просто по приколу.
Обещающе!
Очень понравилось бегать.
1. Хотелось бы поиск пути и чтобы дракон не пытался бежать туда, куда он побежать не может.
2. Как-то обозначить стартовую локацию.
3. Сделать игру из этого.
стресс-тест, атака 25ти кроллегов :)
Тест футстепов главгероя.
Набросок более интенсивной боёвки
Тема в архиве.