|
20.03.13 19:55
|
|
|
vitalik1994 [16]
|
Пределалсъ немного
Сообщение отредактировано: 20.03.13 19:56
|
20.03.13 19:56
|
|
|
maxim0krizanov [20]
|
vitalik1994 [16]норм
|
20.03.13 20:50
|
|
|
vitalik1994 [16]
|
|
20.03.13 20:57
|
|
|
vitalik1994 [16]
|
фак всё переделывать((
|
20.03.13 21:29
|
|
|
maxim0krizanov [20]
|
vitalik1994 [16] ПОчему? =)
|
20.03.13 21:49
|
|
|
vitalik1994 [16]
|
maxim0krizanov [20]В некоторых местах есть смазонсть и не чёткость
|
21.03.13 21:03
|
|
|
vitalik1994 [16]
|
Ну как кто так)
|
21.03.13 21:36
|
|
|
maxim0krizanov [20]
|
vitalik1994 [16] Это уже в игре? Давай текстуры баркаса, и неба...
|
22.03.13 00:42
|
|
|
vitalik1994 [16]
|
maxim0krizanov [20]Что ещё прикажешь?, прикинь я знаю ЯП C#, CC+ ,3d max, photoshop, ZBrush, Coat 3D, Deep paint, InDesign, и наверное я знаю на каком этапе мне надо будет рисовать текстуру ок? прошу не говори очевидные вещи!
|
22.03.13 12:28
|
|
|
vitalik1994 [16]
|
Ребят я на выходных еду в гости и не смогу работать над проектом 2 дня
|
22.03.13 15:11
|
|
|
KirovMK2 [16]
|
Жаль,а проект будет оффлайн и онлайн???
|
22.03.13 20:40
|
|
|
maxim0krizanov [20]
|
KirovMK2 [16]оффлайн
|
22.03.13 20:42
|
|
|
vitalik1994 [16]
|
maxim0krizanov [20]Спасибо за ответ ему)
|
22.03.13 21:00
|
|
|
maxim0krizanov [20]
|
vitalik1994 [16] а ты мобов в игру добавил? ну этого
Цитата 19.10.12 17:50 #50 vitalik1994 [15]
гдето через месец вы все сможете по гамать против другдруг на карте по 26 чел
04.12.12 11:05 #58 vitalik1994 [15]
Хочу всем вам сказать плохую новость, я не могу организовать сетевые протоколы, игра не будет поддерживать мультиплэер
Жаль что не будет................ Может всё еще раз посмотриш и провериш?
|
22.03.13 21:09
|
|
|
maxim0krizanov [20]
|
vitalik1994 [16] А ты можеш сделать игру на двох? Игра для двух игроков
Рассмотрим простейший случай: игру для двоих игроков. Один компьютер будет "ведомым", другой "ведущим". Ведущий компьютер обсчитывает игровое пространство, управляет движением монстров (если они есть), обрабатывает столкновения и т.д. Для синхронизации игровых миров все события игрового пространства (перемещение объектов, взрывы мин, полеты торпед) передаются ведомому компьютеру, который отображает их на экране и отмечает на своей карте, при этом неявно предполагается, что обе карты (ведомого и ведущего компьютеров) полностью идентичны. Если же в игровом пространстве присутствуют случайные элементы (например, аптечки, расставленные в разных местах) они должны быть переданы ведомому компьютеру. Это достаточно сделать всего один раз - перед началом игры. При желании можно даже передать всю карту целиком (нужно учитывать, что ведущий компьютер может использовать дополнительные или "самопальные" миссии, которых нет у ведомого). Ведомый компьютер, в свою очередь, управляет локальным игроком, отслеживая нажатия клавиш, и отправляет эту информацию ведущему. Три и более игроков
Играть вдвоем довольно скучно и в какой-то момент возникает желание взять третьего. А где трое, там и пятеро. Какие проблемы ждут нас на этом пути? Ведущий компьютер может обслуживать множество ведомых игроков, количество которых (в теории) ограничивается пропускной способностью канала и мощностью процессора. Найти мощный процессор - не проблема, а с учетом того, что мы передаем не сами перемещения, а изменения направления с лихвой хватит и хлипкого модемного канала. Камень преткновения в другом: задумаемся, что произойдет, если ведущий компьютер внезапно отвалится? (Разорвется соединения или его владелец просто устанет и отправится спать). В ситуации с двумя игроками никакой проблемы не возникает. Если один из игроков "исчезает", другой автоматически переходит в режим одиночной игры, но вот с тремя игроками такая стратегия уже не срабатывает. Получается, что один отдувается за всех! А оно ему надо?
Кто-то наверняка предложит установить выделенный сервер, только для трех-пяти игроков это будет слишком расточительным решением. Хорошо, поступим так: пусть все игроки устанавливают соединение не только с ведущим компьютером, но также и друг с другом, по очереди становясь то ведомыми, то ведущими. Тогда, если ведущий компьютер исчезнет, он просто-напросто будет выброшен из очереди и ничего катастрофического не произойдет!
Как вариант, можно вообще отказаться от концепции "ведомого" и "ведущего". Каждый компьютер управляет движением "своего" игрока и "своих" монстров, рассылая информацию о перемещении всем остальным. Такая схема существенно упрощает проектирование и реализацию игры, снимая множество проблем, правда не все...
Самоорганизующиеся системы с большим количеством игроков
Описанная выше схема страдает двумя серьезными недостатками. При большом количестве игроков объем трафика увеличивается настолько, что ни в какие каналы он уже не вмещается и все начинает дико тормозить, особенно в тот момент, когда игроки сойдутся в смертельном поединке. Правило "семеро одного не ждут" тут не срабатывает и динамика игры определяется самым медленным компьютером в сети - все остальные терпеливо ждут, пока придет подтверждение. Приходится усложнять протокол и запрашивать подтверждения только у того, "против кого мы дружим". Допустим, игрок А пускает в игрока Б торпеду, а игрок С за этим внимательно наблюдает - интересно же. Так вот, чтобы не допустить рассинхронизации компьютеры А и Б вынуждены обмениваться подтверждениями, а компьютер С может и отдохнуть.
Проблема большого количества соединений снимается путем создания своеобразного "поезда". Вместо того, чтобы рассылать данные всем узам, компьютер А посылает их компьютеру B, тот посылает их (вместе со своими перемещениями) компьютеру С и т.д. Естественно, чтобы восстановить цепочку в случае "падения" одного из узлов, компьютер А должен знать адреса компьютера С и D, чтобы при необходимости установить с ними соединение. На самом деле, структура сети не обязательно должна быть линейной (это самый худший вариант). Вот типичный случай из жизни: компьютеры А и C находятся в локальной сети, а компьютер B - где-то далеко в Интернете. За каким чертом мы будем гонять трафик через B, когда логичнее соединить компьютеры так: B -> A -> C. И это действительно можно сделать! Протокол TCP/IP
Протокол TCP/IP обеспечивает обмен сообщениями между компьютерами с гарантированной доставкой данных. Он также делает такие приятные вещи, как упорядочивание пакетов. Главное преимущество TCP/IP в том, что он делает за вас большую часть работы, гарантируя доставку сообщений. Что означает гарантия доставки информации? Это значит, что если система сообщает вам о том, что отправила сообщение другому компьютеру, вы можете быть уверены, что данные действительно отправлены. Я знаю, что данная особенность кажется очевидной, но в мире сетевого программирования это не так.
Основной недостаток протокола TCP/IP — медленная передача данных. Это вызвано гарантируемой доставкой данных. Чтобы гарантировать доставку, система должна отправить информацию, получить ответ и проконтроллировать правильность передачи. Это отнимает драгоценное время и на сегодняшнем оборудовании задержки часто оказываются недопустимыми для игр.
Разработка сетевых игр - это захватывающее занятие, а сам игровой процесс отрывает хвост с головой, ведь это не с тупым компьютером сражаться, который только и умеет, что посылать монстров по прямой, тут сталкивается живой интеллект реальных игроков, от которых можно ожидать любых хитростей и тактических маневров! Естественно, в процессе написания игру необходимо тестировать, то есть, попросту говоря, играть. По сети. Ага! Какое там программирование!
Вот тут некоторые спорят - обязательно ли закладывать сетевые возможности на самой ранней стадии разработке программы или их можно добавить позднее? Однозначного ответа никто не дает. С одной стороны, в правильно спроектированной программе мультиплеер можно добавить когда угодно с минимальными переделками кода, однако - где вы видели правильно спроектированные программы? Поэтому, чем раньше вы возьметесь за поддержку сети - тем лучше. Сообщение отредактировано: 22.03.13 21:11
|
22.03.13 21:15
|
|
|
vitalik1994 [16]
|
maxim0krizanov [20]Если хочешь знать сама игра и есть локальный сервер и клиент они просто совмещены!
|
22.03.13 21:53
|
|
|
Лалка_Сасай [4]
|
Баркасик.
|
22.03.13 22:09
|
|
|
maxim0krizanov [20]
|
vitalik1994 [16] Ок, а с мобами?
|
22.03.13 22:12
|
|
|
vitalik1994 [16]
|
maxim0krizanov [20] Забыть слово "мобы" это AI
|
23.03.13 10:31
|
|
|
maxim0krizanov [20]
|
vitalik1994 [16] Ок, но ты ёжа добавил? =)
|
версия для печати
|
|