|
|
|||||
ef the game
http://relevance4.com/archive/ef/
По мотивам flOw.. Пытаюсь сделать лучше. Только акцент не на геймплее, а на окружающем мире. Закончил меньше, чем на половину, но играть можно. В первую очередь интересует фпс, который выдаёт игра. Имеет право на жизнь? (: фпс можно посмотреть, набрав в консоли `g_showfps. Символ ` ставится автоматом. Консоль открывается при нажатии на "~" Последний раз редактировалось relevance4; 29.11.2008 в 14:03. |
|
|||||
Мне понравилось) FPS в начале около 30. Потом, когда я стал большой тварью и количество существ было около 40, FPS упал до 20. Не знаю, баг это или фича, но время от времени эта штука поворачивает не по кратчайшему направлению в сторону мыши. То есть я хочу повернуть на 20 градусов влево, а оно разворачивается на 340 вправо. Меня слегка напрягло. А вообще круто)
__________________
while(1) {} |
|
|||||
это баг, причём, никак не могу его исправить. если кто-то поможет исправить, буду очень благодарен
вот код: private function rotate(object, finX, finY, speedX, speedY) { var tmp = 0; var ang = Math.atan2(object._y - finY, object._x - finX); var deg = ang / (Math.PI / 180); if(deg < 0)deg = 360 + deg; if(deg >= object._r)tmp += (deg - object._r) / (Math.abs(speedX - speedY) * 2 + 4); if(deg < object._r)tmp -= (object._r - deg) / (Math.abs(speedX - speedY) * 2 + 4); object._r += tmp; return object._r; } |
|
|||||
Код твой не смотрел, я делаю немного иначе. Хотя можно и с углами, в детстве так писал танички, чуть не рехнулся, пока не получил вращение в кратчайшую стороную) Значит, пример с векторным произведением. У нас есть два вектора - куда мы смотрим(v) и куда мы должны смотреть(n). Надо определить в какую сторону поворачивать, чтобы смотреть куда нужно. То есть v будет равен n.
Вектора у нас двухмерные. Можно представить, что трёхмерные, но z = 0. Так вот, если мы векторно умножим v на n, то знак z-компоненты полученного вектора будет нашим направлением движения. Если больше 0, в одну сторону, если меньше - в другую. Могу пример набросать, если надо.
__________________
while(1) {} Последний раз редактировалось Division; 29.11.2008 в 14:35. |
|
|||||
Все намного проще:
var targetRotation:Number = <Number>; // целевой угол var rotationRange:Number = targetRotation - currentRotation; // разница между целевым и текущим if (rotationRange> 180) { rotationRange-= 360; } else if (rotationRange< -180) { rotationRange+= 360; } if (rotationRange >= 0) { // Поворачиваем вправо } else { // Поворачиваем влево } Последний раз редактировалось neelts; 29.11.2008 в 15:28. |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Оригинал лучше.
А здесь хвосты отваливаются, нельзя есть по частям и заведомо нельзя укусить более крупную особь. Последний раз редактировалось etc; 29.11.2008 в 21:36. |
|
|||||
Регистрация: Jan 2006
Адрес: Novosibirsk
Сообщений: 353
|
А я бы сделал игру не как flow, т.е. копию игры брал не с неё, а с споре. Помойму споре куда удачней было бы чем flow. Я имею ввиду клеточный мир в споре. с элементами травоядности и плотоядности плюс конечности, не думаю, что это так сложно сделать. Единственное, что раздражает, то как будто всё это происходит в аквариуме. Никуда не уплыть ни куда не приплыть. Ну и медленно как то всё происходит.
А в целом игра норм. |
|
|||||
баги с поворотами убрать бы.
играть скучно. технодемка наверно интересная... вам бы развитие персонажа какоенибудь.. хотя бы как здесь: http://www.elite-games.net/games/165...e-tanks-2.html |
|
|||||
[+3 05.08.09]
Регистрация: Sep 2008
Адрес: Ё∙м∙с∙к
Сообщений: 147
|
понравилось. Звук бы добавить. Какое-нить там "буль-буль-буль", всякие выыщ" и прочие "эээуууурр"
__________________
не прелюбодействуй с мозгом ближнего своего! |
Часовой пояс GMT +4, время: 10:03. |
|
« Предыдущая тема | Следующая тема » |
|
|