Моделирование игрового процесса на сервере Grand Theft Auto San Andreas Multiplayer в течение суток

Автор работы: Пользователь скрыл имя, 29 Ноября 2013 в 18:42, курсовая работа

Описание работы


Время поступления нового игрока на сервер – равномерно распределенная СВ на интервале 2-3 минуты в период с 12 до 24 часов и 4-6 минут в период с 0 до 12 часов (ночью играет меньше людей).
Сразу после присоединения к игровому процессу игрок получает некоторое небольшое количество денег, достаточное для покупки хотя бы маломощного оружия с целью защиты от других игроков. Игрок должен купить себе какое-либо оружие в оружейном магазине, причем если там уже находится другой игрок, то вновь поступивший игрок ждет своей очереди (все игроки имеют одинаковый приоритет вне зависимости от уровня игрового опыта или количества денег).

Файлы: 1 файл

ИДЗ_МС_Ключ.docx

— 87.14 Кб (Скачать файл)


Липецкий государственный  технический университет

 

Кафедра автоматизированных систем управления

 

 

 

Индивидуальное  домашнее задание

по Моделированию систем

 

Моделирование игрового процесса на сервере Grand Theft Auto San Andreas Multiplayer в течение суток

 

 

 

 

 

 

Студент

     

Ключанских А.С

 
     

подпись, дата

 

фамилия, инициалы

 
 

Группа

 

АС-10

     
             
 

Принял

         
 

доцент

     

Гаев Л.В.

 
 

ученая  степень, звание

 

подпись, дата

 

фамилия, инициалы

 

 

Липецк 2013

 

  1. Описание модели игры

Смысл игры – зарабатывание игровых денег и накопление игрового опыта, которые позволяют игроку приобрести более мощное оружие и более быстрые транспортные средства, а также дома, бизнес и т.д., т.е. дают игроку преимущество над другими игроками.

Время поступления нового игрока на сервер – равномерно распределенная СВ на интервале 2-3 минуты в период с 12 до 24 часов и 4-6 минут в период с 0 до 12 часов (ночью играет меньше людей).

Сразу после присоединения  к игровому процессу игрок получает некоторое небольшое количество денег, достаточное для покупки  хотя бы маломощного оружия с целью защиты от других игроков. Игрок должен купить себе какое-либо оружие в оружейном магазине, причем если там уже находится другой игрок, то вновь поступивший игрок ждет своей очереди (все игроки имеют одинаковый приоритет вне зависимости от уровня игрового опыта или количества денег). Время покупки оружия - равномерно распределенная случайная величина на интервале 30 секунд-60 секунд. После этого игрок начинает свое полноценное участие в игровом процессе: он может участвовать в гонках, либо участвовать в дезматчах. Причем игрок может выбрать любое из двух видов соревнований с равной вероятностью.

Гонки

В каждой гонке может участвовать  от 3 до 8 игроков. Время проведения каждой из них – равномерно распределенная случайная величина на интервале 4-10 минут. Если в момент подачи игроком  заявки на участие в гонке не будет  набрано минимальное количество участников, стартует счетчик в 60 секунд, в течение которого количество желающих поучаствовать в этом соревновании достигает нужного значения и  игроки “телепортируются” к старту. При наличии свободных мест игрок может присоединиться к уже начавшейся гонке (при этом он телепортируется на место последнего из гонщиков), а в случае, если в гонке на данный момент участвует максимально возможное количество игроков – то данный игрок ждет своей очереди.

Дезматчи

В каждом дезматче может  участвовать от 4 до 12 игроков (игроки делятся на 2 команды). Время проведения каждого из них – равномерно распределенная случайная величина на интервале 5-8 минут. Если в момент подачи игроком  заявки на участие в дезматче не будет набрано минимальное количество участников, стартует счетчик в 60 секунд, в течение которого количество желающих поучаствовать в этом соревновании достигает нужного значения и  игроки “телепортируются” к месту проведения боя (выбирается случайным образом из заранее заданного администратором списка локаций). При наличии свободных мест игрок может присоединиться к уже начавшемуся дезматчу, а в случае, если в дезматче на данный момент участвует максимально возможное количество игроков – то данный игрок ждет своей очереди.

После завершения очередного соревнования игрок в зависимости  от его результата получает определенное количество игрового опыта и денег и с вероятностью 0.3 направляется в оружейный магазин с целью приобрести более совершенное оружие или докупить патроны к уже имеющемуся. Также после очередного соревнования игрок с вероятностью 0.15 покидает сервер, либо вновь подает заявку на участие в одном из двух видов соревнований.

  1. Цель моделирования

Определение оптимальных  настроек игрового режима (величины счетчиков ожидания для гонок и дезматчей, времени проведения каждого из видов соревнований и тд) с целью сократить до разумных пределов время ожидания игроков в очередях перед участием в соревнованиях.

 

  1. Код модели на языке GPSS

 

1           SIMULATE        

2 SERVER    STORAGE      100

3 RACE     STORAGE  8

4 DEATHMATCH STORAGE  12

5 RACERS VARIABLE  0  

6 STRIKERS   VARIABLE  0 

7 MNOGH     VARIABLE  2

 

9 INPUT_GAMERS FUNCTION RN1,D31

.0,120/.033,122/.067,124/.100,126/.133,128/.167,130/.200,132/.233,134/

.267,136/.300,138/.333,140/.367,142/.400,144/.433,146/.467,148/.500,150/

.533,152/.567,154/.600,156/.633,158/.667,160/.700,162/.733,164/.767,166/

.800,168/.833,170/.867,172/.900,174/.933,176/.967,178/1,180

        

10          GENERATE X$MNOGH,FN$INPUT_GAMERS

11     QUEUE WAIT_TO_PLAY

12     ENTER SERVER

13     DEPART WAIT_TO_PLAY

14     QUEUE TIME_OF_PLAY

 

15 AMMO     QUEUE WAIT_AMMO

16     SEIZE AMMUNATION

17      DEPART WAIT_AMMO

18     ADVANCE 45,15

19     RELEASE AMMUNATION

 

20 CHOICE   TRANSFER .5,RA_CE,D_M

 

50 RA_CE    SAVEVALUE RACERS+,1      

60      QUEUE WAIT_RACE

61 RACE_START TEST GE X$RACERS,3,LOCK_RACE

65      ENTER RACE

67     DEPART WAIT_RACE

70     ADVANCE 420,180

75     SAVEVALUE RACERS-,1

80     LEAVE RACE

 

85     TRANSFER .7,AMMO

90      TRANSFER .85,QUIT,CHOICE

 

100 D_M     SAVEVALUE STRIKERS+,1

102      QUEUE WAIT_DM

103 DM_START TEST GE X$STRIKERS,4,LOCK_DM

106      ENTER DEATHMATCH

108     DEPART WAIT_DM

110     ADVANCE 390,90

112      SAVEVALUE STRIKERS-,1

115     LEAVE DEATHMATCH

 

190     TRANSFER .7,AMMO

200     TRANSFER .85,QUIT,CHOICE

 

250 LOCK_RACE FUNAVAIL RACE

255     ADVANCE 60

260     FAVAIL RACE

265     TRANSFER ,RACE_START

 

350 LOCK_DM FUNAVAIL DEATHMATCH

355     ADVANCE 60

360     FAVAIL DEATHMATCH

365     TRANSFER ,DM_START

 

3990 QUIT   LEAVE SERVER 

3992     DEPART TIME_OF_PLAY                

4000        TERMINATE

 

4005     GENERATE ,,,1

4006     TEST GE AC1,43200

4007     SAVEVALUE MNOZH,1

4008     TERMINATE

         

4100        GENERATE     86400       

4200        TERMINATE    1       

 

 

 

  1. Отчет о работе модели

  1. Анализ результатов моделирования

Приборы:

SERVER – собственно сам игровой сервер, вмещающий в себя до 100 игроков одновременно.

RACE – многоканальное устройство для проведения гонок

DEATHMATCH – многоканальное устройство для проведения дезматчей

Из отчета видно, что за 24 часа на сервере поиграло 288 игроков, максимальное количество онлайн-игроков 25, а среднее – 13,99 игроков. В гонках и дезматчах поучаствовало примерно одинаковое количество игроков, что  соответствует описанию модели, среднее  количество гонщиков в каждый момент времени 6,28, а среднее количество “стрелков” в дезматче 5,90. Также можно отметить, что в процессе игры возникали ситуации, когда количество участников гонки и дезматча достигало максимального значения (8 и 12 соответственно).

Очереди:

WAIT_TO_PLAY – очередь, показывающая среднее время ожидания доступа к серверу, когда на нем нет свободных мест.

TIME_OF_PLAY – показывает среднее время игры одного игрока

WAIT_AMMO – показывает среднее время ожидания в очереди перед доступом к покупке оружия

WAIT_RACE – показывает среднее время ожидания участия в гонке

WAIT_DM – показывает среднее время ожидания участия в дезматче

Из отчета видно, что игроки не простаивают очереди, ожидая освобождения места на сервере, т.к. максимальное количество онлайн игроков 25, а сервер может вмещать до 100 игроков. Довольно низкая нагрузка на сервер обусловлена тем, что рассматриваемый сервер доступен только для абонентов провайдера Домолинк Липецкой области. В среднем игрок проводит на сервере около 1 часа в сутки. При такой нагрузке на сервер игроки находятся в очередях перед вступлением в соревнование на протяжении 54 секунд для гонок (в среднем) и 10 секунд для дезматчей (максимальные длины очередей 9 и 4 игрока соответственно), а задержка перед доступом к покупке оружия составляет в среднем 23 секунды. Разница во времени ожидания связана с максимально возможным количеством участников и временем проведения соревнований.

 

  1. Вывод

Полученные в процессе моделирования результаты не являются критичными для нормальной игры на сервере при текущей интенсивности  прихода игроков. Таким образом, целесообразно использовать стандартные  настройки игрового режима (величины счетчиков ожидания для гонок  и дезматчей, времени проведения каждого из видов соревнований и  тд ). В случае, если сервер будет доступен не только для жителей Липецкой области, но и для всего мира, то интенсивность прихода игроков резко возрастет и время пребывания в очередях будет достигать очень больших значений. В таком случае будет необходимо либо скорректировать настройки, либо использовать другой игровой режим, где игрокам не придется долго ждать возможности участвовать в соревновании и зарабатывать очки.


Информация о работе Моделирование игрового процесса на сервере Grand Theft Auto San Andreas Multiplayer в течение суток