[ Новые сообщения · Участники · Правила форума · Поиск ]
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Изменения в ddrace
denДата: Вторник, 27.07.2010, 22:55 | Сообщение # 1
Генерал-майор
Группа: Ветераны
Сообщений: 420
Награды: 0
Репутация: 4
Статус: Offline
Сейчас есть две основные версии ddrace stable и beta.
Stable:
Расширенный набор элементов карты. Один игровой слой.
Beta:
Меньше объектов карты, но есть два игровых слоя. Второй слой позволяет помещать на карты движущиеся объекты.

У нас есть по крайней мере две идеи.
1) Объединить элементы карт из stable и beta.
Благодаря этому на этом сервере будут работать все карты stable и некоторое количество карт beta (в которых нету 3 спец. элементов).
Вот список элементов beta:
ENTITY_NULL=0,
ENTITY_SPAWN, //1
ENTITY_SPAWN_RED, //2
ENTITY_SPAWN_BLUE,//3
ENTITY_FLAGSTAND_RED, //4
ENTITY_FLAGSTAND_BLUE, //5
ENTITY_ARMOR_1, //6
ENTITY_HEALTH_1, //7
ENTITY_WEAPON_SHOTGUN, //8
ENTITY_WEAPON_GRENADE, //9
ENTITY_POWERUP_NINJA, //10
ENTITY_WEAPON_RIFLE, //11

//DDRace
ENTITY_LASER_FAST_CW, //12
ENTITY_LASER_NORMAL_CW, //13
ENTITY_LASER_SLOW_CW, //14
ENTITY_LASER_STOP, //15
ENTITY_LASER_SLOW_CCW, //16
ENTITY_LASER_NORMAL_CCW,//17
ENTITY_LASER_FAST_CCW, //18

ENTITY_LASER_SHORT, //19
ENTITY_LASER_MIDDLE, //20
ENTITY_LASER_LONG, //21

ENTITY_LASER_C_SLOW, //22
ENTITY_LASER_C_NORMAL, //23
ENTITY_LASER_C_FAST, //24

ENTITY_LASER_O_SLOW, //25
ENTITY_LASER_O_NORMAL, //26
ENTITY_LASER_O_FAST,//27

ENTITY_DRAGER_WEAK,//28
ENTITY_DRAGER_NORMAL, //29
ENTITY_DRAGER_STRONG, //30

ENTITY_PLASMA, //31
ENTITY_NOTHING1,//32
ENTITY_NOTHING2,//33
ENTITY_NOTHING3,//34
ENTITY_NOTHING4,//35
ENTITY_NOTHING5,//36
ENTITY_NOTHING6,//37
ENTITY_NOTHING7,//38
ENTITY_NOTHING8,//39
ENTITY_NOTHING9,//40
ENTITY_NOTHING10,//41
ENTITY_NOTHING11,//42
ENTITY_NOTHING12,//43

ENTITY_DRAGER_WEAK_NW,//44
ENTITY_DRAGER_NORMAL_NW,//45
ENTITY_DRAGER_STRONG_NW,//46

NUM_ENTITIES //48
Тоже самое stable:
ENTITY_NULL=0,
ENTITY_SPAWN,
ENTITY_SPAWN_RED,
ENTITY_SPAWN_BLUE,
ENTITY_FLAGSTAND_RED,
ENTITY_FLAGSTAND_BLUE,
ENTITY_ARMOR_1,
E NTITY_HEALTH_1,
ENTITY_WEAPON_SHOTGUN,
ENTITY_WEAPON_GRENADE,
ENTITY_POWERUP_NINJA,
ENTITY_WEAPON_RIFLE,

//DDRace
ENTITY_LASER_FAST_CW,
ENTITY_LASER_NORMAL_CW,
ENTITY_LASER_SLOW_CW,
ENTITY_LASER_STOP,
ENTITY_LASER_SLOW_CCW,
ENTITY_LASE R_NORMAL_CCW,
ENTITY_LASER_FAST_CCW,

ENTITY_LASER_SHORT,
ENTITY_LASER_MIDDLE,
ENTITY_LASER_LONG,

ENTITY_LASER_C_SLOW,
ENTITY _LASER_C_NORMAL,
ENTITY_LASER_C_FAST,

ENTITY_LASER_O_SLOW,
ENTITY_LASER_O_NORMAL,
ENTITY_LASER_O_FAST,

ENTITY_DRAGER_WEAK,
E NTITY_DRAGER_NORMAL,
ENTITY_DRAGER_STRONG, //30

ENTITY_PLASMA,//31
ENTITY_CRAZY_SHOTGUN_U_EX,//32
ENTITY_CRAZY_SHOTGUN_R_EX,//33
ENTITY_CRAZY_SHOTGUN_D_EX,//34
ENTITY_CRAZY_SHOTGUN_L_EX,//35
ENTITY_CRAZY_SHOTGUN_U,//36
ENTITY_CRAZY_SHOTGUN_R,//37
ENTITY_CRAZY_SHOTGUN_D,//38
ENTITY_CRAZY_SHOTGUN_L,//39
ENTITY_DOOR,//40
ENTITY_CONNECTOR_D,//41
ENTITY_CONNECTOR_DR,//42
ENTITY_CONNECTOR_R,//43
ENTITY_CONNECTOR_RU,//44
ENTITY_CONNECTOR_U,//45
ENTITY_CONNECTOR_UL,//46
ENTITY_CONNECTOR_L,//47
ENTITY_CONNECTOR_LD,//48
ENTITY_TRIGGER,//49
NUM_ENTITIES,//50

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

 
denДата: Вторник, 27.07.2010, 22:55 | Сообщение # 2
Генерал-майор
Группа: Ветераны
Сообщений: 420
Награды: 0
Репутация: 4
Статус: Offline
2) Введение команд.

Как главная идея это всех игроков (16) разделить на независимые ни как не пересекающиеся команды.
Как мы решили это сделать.
Kick на сервере будет отключен полностью (это еще немного под вопросом). Если есть человек который вам мешает в текущий момент времени, то просто перейдите в другую команду.
К нику каждого игрока в квадратных скобках приписать его команду. Н-р: [0][blacktee] den - я в нулевой команде и меня могут хукать только члены моей команды и только они могут как то взаимодействовать со мной.
Впервые зайдя на сервер игрок автоматически попадает в команду 0. Это спец команда, о ней ниже.
Допустим пришли три человека:
[0] tee1
[0] tee2
[0] tee3
Они договорились идти командой. Как им выделить себя.
Один из них пишет в чате /set_team №. № - это номер команды (при создании следует взять свободный номер).
Теперь стало так
[1] tee1
[0] tee2
[0] tee3
Теперь оставшимся двум надо войти в команду 1. Они пишут также /set_team 1.
Теперь они попали в 1 команду
[1] tee1
[1] tee2
[1] tee3
Теперь они попали в одну команду их никто не трогает. Но вдруг приходит
[0] VASYA_TYPOI_BLOCKER
И пишет /set_team 1. И тут ппц его не выкинуть из команды 1.
Поэтому как только его видит [1] tee1 (он как создатель команды - становится капитаном) Пишет /close_team и теперь к ним в команду никто не может добавиться.
Но вдруг пришел [0] tee4 - Хочет к ним добавиться а команда закрыта. Тогда [1] tee1 пишет /open_team и команда снова открыта (вот тут стремный момент надо его продумать).
Все команда готова им ни кто не мешает - они всех видят, их видят все, но трогать их никто кроме команды 1 не может.
Один человек переступает черту старта. Сервер как обычно отмечает время каждого игрока, но также он отмечает их порядок.
Далее они проходят как обычно карту и на финише узнают бонус. Время каждого становится временем команды, причем команда должна прийти на финиш полностью (выйти естественно можно). А время команды считается по максимальному времени каждого из игроков (то то они правильно сделали что не бросили [1] tee3 во фризе).

Ну вроде все. Ars корректируй прямо это сообщение.

 
denДата: Вторник, 27.07.2010, 22:57 | Сообщение # 3
Генерал-майор
Группа: Ветераны
Сообщений: 420
Награды: 0
Репутация: 4
Статус: Offline
Теперь отдельно про команду 0. В этой команде время начисляется для каждого по отдельности, а не командой.
 
denДата: Вторник, 27.07.2010, 23:04 | Сообщение # 4
Генерал-майор
Группа: Ветераны
Сообщений: 420
Награды: 0
Репутация: 4
Статус: Offline
3) Система восстановления после сбоев.
Эта вещь продумана менее всего.
После падения сервера и его последующего включения он пытается все восстановить как было.
Он загружает старую карту. Ждет какое то время игроков (время воскрешения), которые играли. У каждого заходящего проверяется ip адрес и ник. Если такой был во время падения то он становится на свое место и начинает ждать остаток времени воскрешения. Если зашел обычный игрок, то его не пускают пока не пройдет время воскрешения. По прошествии времени воскрешения сервер восстанавливает позиции игроков, их время, уровень авторизации. И игра продолжается в обычном режиме.
 
Kos5304Дата: Вторник, 27.07.2010, 23:11 | Сообщение # 5
Генерал-полковник
Группа: Ветераны
Сообщений: 891
Награды: 0
Репутация: 24
Статус: Offline
Так ....
Идея сама ахренительная но в ней ппц много недочотов
И вот они :
1)Допустим вся команда не полинилась и прочла , а стадо оно об этом и не слышала , и фишичку не сечет )))
2)А теперь то от чего я в афиге - нахрен открывать , закрывать группу если можно оставить kick и ban ???
3)
Quote (den)
[0] VASYA_TYPOI_BLOCKER

хахахаха убило!!!!))))
4)Чесно говоря вот это всё ,даже не знаю как назвать, больше подходит для соревнований, и даже очень!!!!
Воскрешение - это гениально megaphone respect respect thumb





Сообщение отредактировал Kos5304[RUS] - Вторник, 27.07.2010, 23:14
 
denДата: Среда, 28.07.2010, 00:04 | Сообщение # 6
Генерал-майор
Группа: Ветераны
Сообщений: 420
Награды: 0
Репутация: 4
Статус: Offline
Quote (Kos5304|RUS|)
)Допустим вся команда не полинилась и прочла , а стадо оно об этом и не слышала , и фишичку не сечет )))

Как донести это для всех не волнуйся. Это уже и не stable и не beta. Если это и будет сделано то не только для нужд команды.
Quote (Kos5304|RUS|)
2)А теперь то от чего я в афиге - нахрен открывать , закрывать группу если можно оставить kick и ban ???

Дело в том как ты гарантируешь, что твоя команда не выкинет тебя когда ты будешь мешать? Эта задумка гарантирует, что вы начали командой и закончили командой.
Quote (Kos5304|RUS|)
Воскрешение - это гениально

Я старался. Да и ars тоже.
 
San000Дата: Среда, 28.07.2010, 01:25 | Сообщение # 7
Полковник
Группа: Заблокированные
Сообщений: 86
Награды: 0
Репутация: 4
Статус: Offline
Идея очень хороша,мне понравилось
Есть идея чтобы команда собиралась только до старта,во первых мало ли все же какой нибудь VASYA_TYPOI_BLOCKER попытается войти в команду ,но раз команда не на старте он туда не зайдет,то есть набор команды автоматически закрывается после того как хоть 1 член команды выйдет за старт(Ну или чтобы вся команда вышла за старт).Все же я думаю надо добавить то чтобы капитан команды мог выкидывать кого либо из команды .Первый способ я думаю вместе с ником писать не только номер команды ,но и ид игрока в команде,то есть будет выглядеть примерно так:
[1:1] tee1
[1:2] tee2
[1:3] tee3
[1:4] VASYA_TYPOI_BLOCKER
ну или как либо еще и капитан команды мог прописать в чате /kick 4
и VASYA_TYPOI_BLOCKER просто выгонялся из команды
Второй способ я думаю что либо вроде голосования,но такой способ чем плох то что существует программа которая запускает много тии у которых абсолютно одинаковые движения
то есть он смогут кикнуть и самого капитана biggrin
Я думаю поиск всех недочетов в этой системе будет долгим так как существуют такие как VASYA_TYPOI_BLOCKER happy

Quote (den)
3) Система восстановления после сбоев.

А почему не пускать новичков до того как кончится время воскрешения?


Ничто не вечно, кроме перемен (с)Гераклит
Я не знаю, каким оружием будет вестись третья мировая, но четвёртая точно палками и камнями (с)Альберт Эйнштейн


Сообщение отредактировал San000 - Среда, 28.07.2010, 01:25
 
denДата: Среда, 28.07.2010, 08:57 | Сообщение # 8
Генерал-майор
Группа: Ветераны
Сообщений: 420
Награды: 0
Репутация: 4
Статус: Offline
Quote (San000)
Идея очень хороша,мне понравилось

Спасибо
Quote
Есть идея чтобы команда собиралась только до старта,во первых мало ли все же какой нибудь VASYA_TYPOI_BLOCKER попытается войти в команду ,но раз команда не на старте он туда не зайдет,то есть набор команды автоматически закрывается после того как хоть 1 член команды выйдет за старт(Ну или чтобы вся команда вышла за старт).Все же я думаю надо добавить то чтобы капитан команды мог выкидывать кого либо из команды
.
Мы об этом тоже думали. Твой способ не позволит подобрать кого-либо посередине н-р.
Quote
Первый способ я думаю вместе с ником писать не только номер команды ,но и ид игрока в команде,то есть будет выглядеть примерно так:
[1:1] tee1
[1:2] tee2
[1:3] tee3
[1:4] VASYA_TYPOI_BLOCKER
ну или как либо еще и капитан команды мог прописать в чате /kick 4
и VASYA_TYPOI_BLOCKER просто выгонялся из команды

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

Сейчас можно зайти одному человеку с одного компьютера.

Quote
А почему не пускать новичков до того как кончится время воскрешения?

Они займут места, а те кто играли не смогут войти, тк сервер уже стал полон, только по этому.
 
BimmerДата: Среда, 28.07.2010, 11:17 | Сообщение # 9
God
Группа: Ветераны
Сообщений: 938
Награды: 0
Репутация: 75
Статус: Offline
Ден молоток это новое направление в ддрейс, можно будет играть командами. У меня есть много идей по этому поводу, но я их изложу потом, сейчас я на работе, но 1 идея сделать каждой команде свой цвет, чтобы было видно из какой команды тот или иной игрок. Если все получыится как ты сказал, это будет бомба! Еще думаю что нужно оставить команду бан и кик, чтобы можно было избавляться от неадекватов (будет гадить в чате, мешать игрокам, делать голосования, просто занимать место на серваке).
 
Kos5304Дата: Среда, 28.07.2010, 15:34 | Сообщение # 10
Генерал-полковник
Группа: Ветераны
Сообщений: 891
Награды: 0
Репутация: 24
Статус: Offline
Мне стало интересно: появление IP как то связано с воскрешением и зачем ip


 
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Поиск: