Всем привет! С сегодняшнего дня начинается курс уроков по скриптингу GTA 3. Это решение я принял в связи с огромным к-вом вопросов по этой игре. И я, решив освоить скриптинг игры, начинаю исследовать основные возможности движка и делится своими наблюдениями с вами.

И так, начнём с того, что уже известно - лимиты. Как и в каждой игры, существует некий список, в котором определены основные ограничения на игру. Вот перечисление тех, что известно мне из справки:
Характеристики
GTA III
Размер майна
131072
Размер одной миссии
32768
Кол-во миссий
120
Mission Cleanup List 
50
Кол-во моделей (2-й сегмент)
200
Кол-во работающих потоков
128
Локальные переменные
16 + 2 timers
Кол-во вложенных gosub
4
Text_Draw 2
Парковки машин (014B:)
160
Кол-во маркеров
32
Кол-во пикапов
336
Максимальный опкод
0481
Число сфер на экране
16
Типы гаражей, сохраняющих машины
16..18
Сразу падает в глаза, что движок не поддерживает внешние скрипты, что существенно будет влиять на производительность скрипта, теперь потоки будет играть роль этих скриптов. Мимо это отсутствуют таблицы переходов, что сильно влияет на длину кода. Теперь придётся по старинке - использовать условия :)

Когда я впервые открыл мейн, который находится в папке Data, то меня удивило огромное количество глобальных переменных. В принципе, при мизерном количестве локальных (16+2 штук) переменных, такой шаг вполне оправдан. Минимальный код, при котором работала игра составил всего 9 строк:
Код
DEFINE OBJECTS 1
DEFINE OBJECT SANNY_BUILDER 3.1.3  
DEFINE MISSIONS 0
thread 'MAIN'
0053: $PLAYER_CHAR = create_player #NULL at 811.875 -939.9375 35.75
01F5: $PLAYER_ACTOR = create_emulated_actor_from_player $PLAYER_CHAR
$ONMISSION = 0 // integer values
fade 1 1000
end_thread
Мимо этого, при смерти/аресте игрока, точка его появления была очень близко к месту смерти. Напомню, что в Сан Андреасе, если не указать точки рестарта, игра работала неправильно и в конечном счёте нужно было делать перезапуск.

Так же удивил геймплей с таким мейном - по улицам езлило просто огромное количество полицейских машин и такси. Людей можно было на пальцах пересчитать. Сравнив гта3 и Сан Андреас можно аплодировать разработчикам, что они настолько усовершенствовали движок GTA 3, что сделали на нём культовую San Andreas.

Разница в движках и возможностях игр, естественно повлияют на разработку скриптов. В GTA 3 есть целая куча опкодов, которых нет в СА и это будет самым интересным моментом в исследовании игры с Клодом - главным героем первой трехмерной игры о GTA.

Это был вступительный урок по скриптингу GTA , с вами был wmysterio, до встречи smile

Drs36   (24.01.14 19:05)
Я тебя поддерживаю:

1) Мало скриптов для этой игры
2) Уроки по скриптингу просто необходимы
3) И gta3 и vice city со скриптами это будет супер

Slivkin-Sergey   (24.01.14 21:51)
Drs36, парирую:
1. Аудитория этой игры гораздо меньше, нежели SA - самой популярной из всех GTAшек. Соответственно, скрипты для СА гораздо более востребованы.
2. Если знать английский язык на элементарном уровне, то можно преспокойно обойтись без уроков, просто ища нужные опкоды в OST (ATTENTION - Я НЕ оспариваю пользу уроков скриптинга по GTA 3, т.к. в справке... сами понимаете).
3. На GTA 3 гораздо меньше возможностей скриптинга, чем для СА. Сравните хотя бы количество опкодов - последняя явно выигрывает с отрывом почти в тысячу.

Вот просто из чистого интереса, не намёк, не спор и т.п. - можно посмотреть на опкод, который есть в GTA 3 и отсутствует в GTA SA?

SINGER   (01.05.15 01:03)
Вот просто из чистого интереса, не намёк, не спор и т.п. - можно посмотреть на опкод, который есть в GTA 3 и отсутствует в GTA SA? 
Сравнил, конечно х** с пальцем...

Vital   (24.01.14 22:09)
Slivkin-Sergey, такие опкоды есть в каждой игре, и в GTA 3, и в VC, и в SA. Но они чаще всего касаются не общих принципов, а особенностей каждой части, чего-то всё равно не будет в другой части, скажем, тех же кранов уничтожения машин нет в VC, а в SA нету миссий Rampage (изначально, но это может быть восстановлено скриптами) из обеих предыдущих частей. Так что каждая игра равнозначна, различие лишь в возможностях написания кода, здесь уже не поспоришь, даже отсутствие массивов делает скриптинг для 3 и VC гораздо более утомительным, но я на форумах SB спросил, можно ли их сделать, на что Seemann ответил: "массивы в GTA3 и VC не поддерживаются нативно, поэтому для их реализации нужно менять часть скриптового движка игры. У меня есть определенные мысли на этот счет, надеюсь, что в скором времени удастся реализовать." Это радует, если у него действительно получится вернуть массивы или сделать их аналог, то можно будет многое сотворить.

SINGER   (26.01.14 21:39)
3) И gta3 и vice city со скриптами это будет супер

ДА! Пускай живет стары добрый Либерти из Трешки! Побольше бы таких уроков!
Вход на сайт

Поиск
Категории раздела
Мини-чат
Наш опрос
Что скажете о GTA V?
Всего ответов: 50
Активность на сайте
Друзья сайта
Статистика

Онлайн всего: 2
Гостей: 1
Пользователей: 1
wmysterio
Сегодня нас посетили:
wmysterio