Info Guide #06
03 декабря 2004

Gamedev - Игровой цикл - цикл, внутри которого вызываются все подпрограммы игры.

<b>Gamedev</b> - Игровой цикл - цикл, внутри которого вызываются все подпрограммы игры.
              Игровой цикл.
 

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

   Под игровым циклом понимают либо насто-
ящий  цикл, внутри которого вызываются все 
крупные  подпрограммы игры (от опроса кла- 
виш до построения экрана),либо время испо- 
лнения  определённой регулярной последова- 
тельности  действий, например, относящейся 
к логике врагов. 

   Чтобы  игра бегала с одинаковой скорос-
тью  вне зависимости от скорости процессо-
ра,время игрового цикла следует зафиксиро-
вать с помощью прерываний. Если с прерыва-
ниями не синхронизироваться,то в турбо-ре-
жиме персонажи будут носиться как бешеные.
Хочется же,чтобы они ходили с обычной ско-
ростью,но экран перестраивался почаще. Что
из этого следует? То,что построение экрана
следует оторвать от обсчёта логики.

   Логика  либо  1) висит  на  прерывании,
либо 2) вызывается  off-int с определённой
частотой, зависящей  от флажков/счётчиков, 
которые должен формировать обработчик, ли- 
бо 3) вызывается однократно  в цикле пост-
роения  экрана, но  с учётом того, сколько 
прерываний  прошло от прошлого раза - ска- 
жем, менять шаг движения персонажей. 
   Третий вариант опасен,поскольку при ме-
дленном  построении экрана (много фреймов)
персонажи  рискуют  своими большими шагами
(накопились  за много фреймов) начать сре-
зать углы. В любом случае,их траектории на
быстром  и медленном компьютере будут раз-
личаться, что не даст, например,записывать
ролики  в demo-режиме. Третий  вариант был
забракован  в нашем Wolf где-то в 2002 го-
ду. Ещё раньше синхронизации вообще не бы-
ло.К сожалению,демо-режим сделать не успе-
ли. Одна процедура логики персонажей (пре-
вращение раненого в труп) осталась снаружи
прерывания,и времени это исправить до кон-
курса уже не было. На играбельность это не
влияет и вообще игроку не заметно,но нару-
шалась предсказуемость ролика при проигры-
вании  даже  на том компьютере, где он был
записан.

A. Coder 



Другие статьи номера:

Inferno - Вступление от редактора.

Интервью - интервью с AIG - кодером из группы MKHG.

Sofтинка - ACE 0.888: отличия от 0.666

Sofтинка - макро-ассемблер отладчик ALASM 4.47: отличия от 4.44

For Coderz - Арифметическое кодирование.

Inferno - Авторы журнала.

Sofтинка - BGE 4 графический редактор для ZX.

События - The Compo 2: результаты голосования.

For Coderz - Декомпиляция программ - оживление старых прог.

Inferno - Ошибки в предыдущих номерах.

For Coderz - Маленькие программерские хитрости.

DIY - Схема моего электрофумигатора.

Gameland - о пройденных играх: Imperia 2, Hexagonal Filler, From Beyond.

Железо - устройство расширенной клавиатуры (58 клавиш).

Gamedev - Игровой цикл - цикл, внутри которого вызываются все подпрограммы игры.

Gameland - прохождение Lords of Time от Level 9.

For Coderz - Макросы ч.2 - облегчаем себе жизнь при программировании.

Inferno - Письма в редакцию.

Gameland - прохождение уровней игры Чёрный Ворон.

For Coderz - Описание модульной структуры программ.

Inferno - Об оболочке.

Sofтинка - преимущества упаковочного алгоритма Optimal LZH.

События - серпуховский фестиваль ParaDiGMus party 2003. Как это было.

События - серпуховский фестиваль ParaDiGMus party 2003. Afterparty.

Gameland - прохождение игры The Price of Magik от Level 9.

Железо - Описание блока памяти от принтера Robotron CM 6329.01 M. Часть 1.

Железо - Описание блока памяти от принтера Robotron CM 6329.01 M. Часть 2.

Реклама - реклама и объявления.

DIY - советы по ремонту часов, Dream Cast и джойстика.

Интервью - Интервью с Shaitan/Stars of Keladan: Interred Inferno.

Gameland - прохождение игры Snowball от Level 9.

Железо - Видеомагнитофон GoldStar RN800AW Art vision. История ремонта.

Железо - Видеомагнитофон GoldStar RN800AW Art vision. Советы по разборке и ремонту.

Интервью - интервью с музыкантом Visual^Extreme (Сергей Агапов).

Gamedev - о сборке игры Wolfenstein 2004. Часть 1.

Gamedev - о сборке игры Wolfenstein 2004. Часть 2.

For Coderz - Как получить на звуковом устройстве больше бит.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Amiga Sensor - Голословный Rulez под пристальным взглядом.
Партийная зона - "PHAT0, как много в этом слове для сердца сценера слилось?!". Информация о предстоящем демопати.
О моих проектах - Вот и настало время рассказать вам о моих планах на будущее.
Тусовка - мнения очевидцев FunTop'98.
Железо - Pасшиpение памяти для Ташкент 128.

В этот день...   19 апреля