Среда, 04.12.2024, 19:32

logo

Пользовательский поиск

Меню сайта
Категории раздела
Разное [13]
Tutorials
Создание моделей [2]
Создание карт [26]
Кодинг [24]
Форма входа
Наш сервер CS 1.6
Поиск
Наш опрос
Ваш телефон
Всего ответов: 183
Друзья сайта


Главная » Статьи » HL Source Development

В разделе материалов: 65
Показано материалов: 11-15
Страницы: « 1 2 3 4 5 ... 12 13 »

Работа через сеть: события, сообщения и таблицы строк

Кодинг | Просмотров: 2112 | Добавил: SuperStart | Дата: 18.10.2010 | Рейтинг: 0.0/0 | Комментарии (0)

Сетевые события и сообщения
Движок Source допускает к игре до 255 игроков одновременно в общем виртуальном мире реального времени. Для синхронизации ввода пользователя и изменений мира между игроками, Source использует клиент-серверную архитектуру которая соединяется посредством сетевых пакетов UDP/IP. Сервер это центральный источник обрабатывающий ввод пользователя и обновляющий мир в соответствии правилам игры и физики. Сервер с с высокой частотой рассылает изменения мира ко всем присоединенным клиентам. Логические и физические объекты в игровом мире называются 'энтитями' и представлены в исходном коде классами порожденными от общего базового класса. Некоторые объекты существуют только на сервере (серверные энтити) и некоторые объекты существуют только на клиенте (энтити клиента), но большинство объектов существуют на сервереи как соответствующая копия на клиенте. Общий сетевой код энтитей позволяет удостовериться что эти объекты синхронизируются для всех игроков.
Кодинг | Просмотров: 2457 | Добавил: SuperStart | Дата: 18.10.2010 | Рейтинг: 0.0/0 | Комментарии (0)

Библиотека VGUI 2
Библиотека VGUI2 (vgui2.dll) - это составляющая графического интерфейса пользователя (GUI) поставляемого с движком Source. Все Source и Steam приложения используют VGUI для отображения окон, диалогов или меню. Объектная архитектура иерархическаяи все имплементируемые элементы управляются классами основанными на базе VGUI. Система событий клавиатуры и мыши очень схожа с другими GUI библиотеками (подобно Java Swing или .Net-подобным). Имплементация наиболее общих GUI элементов на подобии кнопок, текстовых полей или изображений предоставляется библиотекой VGUI-контроллеров (vgui_controls.lib). Кроме отрисовки GUI элементов и обработки ввода, VGUI также управляет локализацией для отображения текста предпочтительного для данного польхователя. Все заголовочные файлы VGUI размещены в publicvgui, управляющие элементы определяются в publicvgui_controls.

Кодинг | Просмотров: 3620 | Добавил: SuperStart | Дата: 18.10.2010 | Рейтинг: 0.0/0 | Комментарии (0)

Кэширование файлов
Для обеспечения гладкой загрузки файлов для игровой сессии, важно чтобы движок выполнял как можно больше работы для загрузки этих данных до начала сесии. Игрок не должен замечать задержек для кэширования файлов во время сесии, часто проявляющемся в "залипании" игрока или задержках в рендеринге. Для избежания этих эффектов, энтити должны до начала сесии объявлять и кэшировать файлы используемые ними. Существуют вспомогательные функции выполняющие эту работу.
Кодинг | Просмотров: 2055 | Добавил: SuperStart | Дата: 18.10.2010 | Рейтинг: 0.0/0 | Комментарии (0)

Физические энтити на стороне клиента и сервера
Основным преимуществом движка Source является физическая имитация твердых тел. Эта симуляция имплементирует основную механику и физику Ньютона такие как гравитация, траэктория, трение, столкновения, прыжки и плавание. Модели поддерживают эту имитация предоставляя информацию о их модели коллизий, типе материалов, весе и т.д. В режиме однопользовательской игры все физические энтити контроллируются и имитируются сервером (физика на стороне сервера) и коннектится с клиентом. В режиме многопользовательской игры мелкие объекты подобные жестянкм или бутылкам которые не влияют на геймплей полностью имитируются на стороне клиента и поэтому не синхронизируется между клиентами. Это необходимо в связи с тем что движение физических энтитей создает значительный сетевой траффик с того момента как они изменяют их позицию и базовую ориентацию в кажом фрейме. Сообщение по сети этих изменений может почти полнотсью захлебнуть все соединения как только начнут двигаться множество физ. объектов (взрывы, т.д.). Физ. объекты на стороне клиента не влияют на движение игрока и значительно меньше чем сам игрок, так что игрок не может спрятаться за ними. Во время разрушения бьющихся объектов, они разбиваются на меньшие фрагменты имитирующиеся на стороне клиента.
Кодинг | Просмотров: 2766 | Добавил: SuperStart | Дата: 18.10.2010 | Рейтинг: 0.0/0 | Комментарии (0)



Copyright www.akksimo.net © 2024