A-tit indd



Download 3,35 Mb.
Pdf ko'rish
bet149/313
Sana05.06.2022
Hajmi3,35 Mb.
#638392
1   ...   145   146   147   148   149   150   151   152   ...   313
Bog'liq
Nistrem R. Patterni programmirovaniya igr-1

Битва заклинаниями!
Допустим, мы работаем над магической игрой-боем. 
Два мага сходятся в поединке и бросают друг в друга за-
клинаниями, пока один не побеждает. Мы могли бы про-
писать заклинания в коде, но тогда для внесения правок 
нам каждый раз пришлось бы привлекать программи-
ста. Когда геймдизайнер хочет изменить некоторые зна-
чения и испытать, что выйдет, им с программистом при-
ходится перекомпилировать всю игру, перезагружать ее 
и снова возвращаться в сражение.
Так же как и в большинстве современных игр, у нас 
должна быть возможность модифицировать игру уже 
после релиза, чтобы исправлять ошибки и добавлять но-
вые функции. Если все заклинания будут жестко пропи-
саны в коде, то изменения придется вносить в сам ис-
полняемый файл игры.
Пойдем дальше и скажем, что хотим сделать в на-
шей игре возможность 
моддинга

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


202
Байт-код (Bytecode) — 
Паттерны программирования игр
Данные > Код
Думаю, ясно, что реализация на языке движка — не луч-
шая идея. Нам необходимо изолировать заклятия от ядра 
самой игры. Мы хотим легко вносить в них изменения, 
легко их подгружать; кроме того, они должны быть фи-
зически отделены от основного исполняемого файла.
Мне описанные требования очень напоминают 
обычные 
данные
. Если мы сможем определить поведе-
ние в отдельном файле данных, который игровой дви-
жок загружает и «исполняет», мы достигнем поставлен-
ной цели.
Осталось только выяснить, как «исполнить» дан-
ные — заставить байты из файла выражать поведение. 
Есть несколько способов. Я думаю, вы сможете лучше 
понять сильные и слабые стороны 
этого
паттерна, если 
мы сравним его с другим — паттерном Интерпретатор 
(Interpreter).

Download 3,35 Mb.

Do'stlaringiz bilan baham:
1   ...   145   146   147   148   149   150   151   152   ...   313




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish