Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Не сайты (http://www.flasher.ru/forum/forumdisplay.php?f=82)
-   -   ef the game (http://www.flasher.ru/forum/showthread.php?t=118622)

relevance4 29.11.2008 14:01

ef the game
 
http://relevance4.com/archive/ef/

По мотивам flOw..
Пытаюсь сделать лучше. Только акцент не на геймплее, а на окружающем мире.
Закончил меньше, чем на половину, но играть можно.

В первую очередь интересует фпс, который выдаёт игра.

Имеет право на жизнь? (:

фпс можно посмотреть, набрав в консоли `g_showfps. Символ ` ставится автоматом.
Консоль открывается при нажатии на "~"

Division 29.11.2008 14:16

Мне понравилось) FPS в начале около 30. Потом, когда я стал большой тварью и количество существ было около 40, FPS упал до 20. Не знаю, баг это или фича, но время от времени эта штука поворачивает не по кратчайшему направлению в сторону мыши. То есть я хочу повернуть на 20 градусов влево, а оно разворачивается на 340 вправо. Меня слегка напрягло. А вообще круто)

relevance4 29.11.2008 14:23

это баг, причём, никак не могу его исправить. если кто-то поможет исправить, буду очень благодарен
вот код:

Код AS1/AS2:

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;
}


Division 29.11.2008 14:32

Код твой не смотрел, я делаю немного иначе. Хотя можно и с углами, в детстве так писал танички, чуть не рехнулся, пока не получил вращение в кратчайшую стороную) Значит, пример с векторным произведением. У нас есть два вектора - куда мы смотрим(v) и куда мы должны смотреть(n). Надо определить в какую сторону поворачивать, чтобы смотреть куда нужно. То есть v будет равен n.
Вектора у нас двухмерные. Можно представить, что трёхмерные, но z = 0. Так вот, если мы векторно умножим v на n, то знак z-компоненты полученного вектора будет нашим направлением движения. Если больше 0, в одну сторону, если меньше - в другую. Могу пример набросать, если надо.

neelts 29.11.2008 15:20

Все намного проще:

Код AS3:

var targetRotation:Number = <Number>; // целевой угол
var rotationRange:Number = targetRotation - currentRotation; // разница между целевым и текущим
 
if (rotationRange> 180) {
    rotationRange-= 360;
} else if (rotationRange< -180) {
    rotationRange+= 360;
}
 
if (rotationRange >= 0) {
    // Поворачиваем вправо
} else {
    // Поворачиваем влево
}


TERRORist 29.11.2008 16:34

да, баг при угле поворота близком к PI, FPS нормальный)

etc 29.11.2008 21:32

Оригинал лучше.

А здесь хвосты отваливаются, нельзя есть по частям и заведомо нельзя укусить более крупную особь.

NoCD 29.11.2008 21:52

А я бы сделал игру не как flow, т.е. копию игры брал не с неё, а с споре. Помойму споре куда удачней было бы чем flow. Я имею ввиду клеточный мир в споре. с элементами травоядности и плотоядности плюс конечности, не думаю, что это так сложно сделать. Единственное, что раздражает, то как будто всё это происходит в аквариуме. Никуда не уплыть ни куда не приплыть. Ну и медленно как то всё происходит.
А в целом игра норм.

Badim 01.12.2008 04:35

баги с поворотами убрать бы.
играть скучно. технодемка наверно интересная...
вам бы развитие персонажа какоенибудь.. хотя бы как здесь:
http://www.elite-games.net/games/165...e-tanks-2.html

bootaka 01.12.2008 11:49

понравилось. Звук бы добавить. Какое-нить там "буль-буль-буль", всякие выыщ" и прочие "эээуууурр"


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

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.