Страница 1 из 4

First

СообщениеДобавлено: 17 сен 2011, 16:53
Ahmed
Название: First
Движок: Unity 3D
Жанр: Сетевая космическая леталка
Тип проекта: не коммерческий
Статус: В разработке
Начало разработки: июнь 2011
Окончание разработки: ?

Сайт: http://rabotnik87.narod.ru/

Описание:
Играть можно только по сети. Т.е. сюжета или одиночной компании нет.
Цель игры: захват астероида который находится по середине карты.
Для этого надо продержатся возле точки захвата 2 минуты, и не подпускать игроков другой команды.

Поле боя представляет собой пространство где-то 50Х50Х50 км. заполненное всяким объектами.
Эти объекты периодически сталкиваются между собой разрушаются, разваливаются на обломки.
Если летать рядом с обломками враги не увидят ваш самолет. Точнее он не будет отмечаться у них на экране.
видео:

Изображение

Скрытый текст:
Запуск:

CONNECT TO ME подключиться к моему серверу (если он запущен)

START AS SERVER создать свой сервер

START AS SERVER (NE IGROK) создать свой сервер без своего игрока

START AS CLIENT подключится к существующему серверу по IP



УПРАВЛЕНИЕ:

WASD поворот

КОЛЁСИКО МЫШИ управление двигателем

C альтернативные виды камеры

ЛКМ огонь

ЦИФРЫ (ВЫБРАТЬ ОРУЖИЕ) 1-пулемёт; 2-ракеты (каждые 2 секунды ищется случайная цель)

U Чат



HTML код для вашего блога :
Код: Выделить всё
<script language='javascript' type="text/javascript"> document.write("<iframe marginheight='0' src='http://unity3d.ru/distribution/player.php?url=http://rabotnik87.narod2.ru/WebPlayer.unity3d&w=800&h=600&t=true&preview=1' height='"+(600+30)+"' width='800' frameborder='0' scrolling='no'></iframe>"); </script>




Для подключения к моему серверу достаточно нажать "CONNECT TO ME".


Re: Космическая леталка

СообщениеДобавлено: 17 сен 2011, 21:04
Lman
Думаю управление пересмотреть для начала не помешает, посмотри как реализованно в аналогичных играх, удобно и играбельно получаеться у некоторых.

Re: Космическая леталка

СообщениеДобавлено: 03 окт 2011, 15:30
Ahmed
Добавил альтернативный режим полёта - с компенсацией боковых скоростей (что то типа HomePlanet)
Добавил сопротивление воздуха при входе в атмосферу планеты.

Запуск по кнопке: START AS SERVER

УПРАВЛЕНИЕ

ПРОБЕЛ переключение между режимами полёта (инерционный\с компенсацией боковой скорости; при столкновении переключается на инерционный)

WASD поворот

ЛКМ огонь

ПКМ вкл двигатель

КОЛЕСИКО М отдалить\приблизить камеру

Re: Космическая леталка

СообщениеДобавлено: 04 окт 2011, 10:12
Kann
не играбельно не разу...

Re: Космическая леталка

СообщениеДобавлено: 04 окт 2011, 13:00
burlak
И все таки она вертится объекты падают. Друг на друга и на планету.

Re: Космическая леталка

СообщениеДобавлено: 04 окт 2011, 13:42
Order
Надо сделать управление, скопируй с какой нибудь леталки космической.
А так вполне может что-то получиться, если сетевой код не подкачает.

Если на планете есть атмосфера то она должна светиться ...

Re: Космическая леталка

СообщениеДобавлено: 04 окт 2011, 20:29
ArtUni3d
Желание реализовать физику как в реальности, т.е. без инерции, это очень похвально. Но вам стоит тщательно продумать GUI, датчики ускорения, вращения, положения, возможно систему стабилизации. И конечно же очень ограниченный запас топлива. Иначе такая физика потеряет смысл.
И да, у вас получится не КС, а очень хардкорная и тактическая игра (это хорошо).

Re: Космическая леталка

СообщениеДобавлено: 16 окт 2011, 19:30
Ahmed
Мелкие доработки:
Переделаны взрывы;
Появился задний ход;
Датчик скорости;
Датчик расстояния;
Самолёт уменьшился;
Для обломков временно убрано сопротивление воздуха;
Режим компенсации боковых скоростей теперь по умолчанию.

Главное нововведение - ракетное оружие
Пока коряво, но уже кое что.
Перед камерой каждые 2 секунды ищется произвольная цель.
При активной цели ракета пустится по ней.
Иначе ракета полетит прямо, и наведется на первую попавшуюся цель.


Запуск по кнопке: START AS SERVER



УПРАВЛЕНИЕ:

WASD поворот

ПРОБЕЛ переключение между режимами полёта (инерционный\с компенсацией боковой скорости)

ЛКМ огонь

ЦИФРЫ 1-пулемёт; 2-ракеты (каждые 2 секунды ищется случайная цель)

ПКМ вкл двигатель

LEFT_SHIFT задний ход

КОЛЕСИКО М отдалить\приблизить камеру


http://rabotnik87.narod.ru

Re: Космическая леталка

СообщениеДобавлено: 18 ноя 2011, 06:37
Ahmed
Появилось время. Сделал возможность игры по сети.
Постоянно передаётся информация о 600 – 700 объектах сцены (ибо статичных объектов нет) каждому клиенту.
Сколько клиентов сервер сможет тянуть при такой нагрузке, сложно сказать.
Трафик, хотя иногда и подпрыгивает до не приличных значений, приемлемый, в среднем 4-6 кБ/сек. Ориентируюсь, чтобы не больше 10 было.
Пока конечно не оптимально сеть сделана, но теперь я точно уверен, что we can do it.
Сделал подобие чата без ников пока.
Самолеты теперь не бессмертны. При столкновении, попадании ракеты или снаряда моментально респаунятся около станции. Сообщений при этом нет, так что это можно и не заметить.
Команд, подсчёта очков, и прочих необходимых атрибутов сетевой игры пока нет.
На внешний вид, интерфейс и озвучку тоже забил. Ничего в этом плане не поменялось.
Для игры по сети можно:
1) Подключится к моему серверу.
2) запустить свой сервер.
Для подключения к моему серверу достаточно нажать кнопку "CONNECT TO ME".
Такчто всем желающим по тестить велком. Постораюсь держать включёным.
Сервер автоматически перезагружается каждые полчаса.
http://rabotnik87.narod.ru/

Re: Космическая леталка

СообщениеДобавлено: 18 ноя 2011, 10:58
ladon
600-700 объектов умножаем на количество апдейтов в секунду, 5-10, умножаем на 3 флоата + идентификатор netview (int наверное)
и получаем 600*5*(3*4+4) = 12012 байт в секунду. Немного.
12012*600 = 7207200 байт. это поток с сервера. 7.2метра в секунду. Это многовато.

Re: Космическая леталка

СообщениеДобавлено: 18 ноя 2011, 11:32
Ahmed
флоатов 9 штук (позиция, скорость, скорость вращения) + кватерион(ориентация).

флоат на платформе .net вроде также как и double должен весить т.е. 8байт. хотя может я гоню. я трафик по статистике в unity смотрю.

зачем 12012*600? тогда уж 12012 * количество клиентов.

Re: Космическая леталка

СообщениеДобавлено: 18 ноя 2011, 11:48
Kann
какие то у вас неправильные подсчеты, вы забываете что помимо ваших данных, сама юнити передает имена методов, локальное время сервера, и если шифрование +5 байт, может еще чего то...
а так же нужно учитывать что клиенты не летают в игре сами с собой, а им так же при подключении других игроков начинает передаваться трансформация соседа, что нагружает трафик на сервере квадротично, а на клиенте умножением на количество летающих соседей :D

Re: Космическая леталка

СообщениеДобавлено: 18 ноя 2011, 14:09
ladon
600 это предполагаемое количество клиентов.
Иначе надо по другому считать и слать данные.
Нет смысла слать 5 раз в секунду данные про прямолинейное и равномерное движение объекта.

Re: Космическая леталка

СообщениеДобавлено: 18 ноя 2011, 14:10
ladon
Kann писал(а): сама юнити передает имена методов

если rpc, если onSerialize то не передает.

Re: Космическая леталка

СообщениеДобавлено: 18 ноя 2011, 15:12
Ahmed
Траектория не прямая, но достаточно предсказуемая. Поэтому данные пересылаются редко. Плюс учитывается расстояние от объекта до клиента. Чем больше расстояние тем реже пересылка сообщений для конкретного клиента. Если происходит столкновение, этот таймер сбрасывается и сразу посылает сообщение.
о 600 клиентах я не мечтаю даже). столько людей не наберется кто бы захотел зайти в эту игру)