Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #64, МАРТ 2006 г.

комфортное программирование игр

АЛЕКСАНДР ГЛАДЫШ

Спецвыпуск: Хакер, номер #064, стр. 064-036-3


полезные советы

Для всех случаев очень важна полноценная валидация скриптового кода и выдача подробных и исчерпывающих сообщений об ошибках. На стадии активной разработки, даже когда от кода требуется игнорирование ошибки и продолжение работы, обычно лучше обеспечивать вывод отладочного сообщения в лог. Не забывай, что геймдизайнеры, пишущие скрипты, обычно не имеют развитых навыков отладки. Если поведение игры просто отличается от того, которое они ожидают, если не выдаются какие-либо предупредительные сообщения (и даже если «виноват» их собственный код), часто геймдизайнеры, не разбираясь, обвиняют программиста: «А ты глючный движок написал» :).

Выводы:

? РАЗРАБОТКА ИГРЫ НЕЭФФЕКТИВНА, КОГДА ГЕЙМДИЗАЙНЕРУ НУЖНЫ УСЛУГИ ПРОГРАММИСТА, ЧТОБЫ ВНЕСТИ ИЗМЕНЕНИЯ В ИГРОВОЙ ПРОЦЕСС.

? ГЕЙМДИЗАЙНЕРУ НЕОБХОДИМ ИНСТРУМЕНТАРИЙ ДЛЯ РЕАЛИЗАЦИИ ВЫСОКОУРОВНЕВОЙ ЛОГИКИ ИГРЫ И БАЛАНСИРОВКИ ГЕЙМПЛЕЯ.

? РЕШИТЬ ПРОБЛЕМУ МОЖЕТ НЕСЛОЖНЫЙ СКРИПТОВЫЙ ЯЗЫК, ПОДКЛЮЧЕННЫЙ К ДВИЖКУ ИГРЫ.

? КАК ПРАВИЛО, ВЫГОДНЕЕ ИСПОЛЬЗОВАТЬ ГОТОВЫЙ И ОТЛАЖЕННЫЙ СКРИПТОВЫЙ ЯЗЫК, А НЕ ПИСАТЬ СОБСТВЕННЫЙ С НУЛЯ.

? В НЕКОТОРЫХ СЛУЧАЯХ УДОБНЕЕ ПРОГРАММИРОВАТЬ СПЕЦИФИЧЕСКИЕ ЧАСТИ ИГРОВОЙ ЛОГИКИ В ГРАФИЧЕСКОМ, А НЕ ТЕКСТОВОМ ПРЕДСТАВЛЕНИИ. В ТАКИХ СЛУЧАЯХ МОЖЕТ ПОМОЧЬ ВИЗУАЛЬНЫЙ РЕДАКТОР, РЕАЛИЗОВАННЫЙ КАК ШИРМА ДЛЯ ГЕНЕРАТОРА КОДА НА ВЫБРАННОМ СКРИПТОВОМ ЯЗЫКЕ.

популярные открытые скриптовые системы

Готовых скриптовых систем множество, но в играх прижились единицы. Причина? В основном из-за специфических требований, предъявляемых играми к скриптам. К примеру, необходимость в высокой производительности интерпретатора.

Python (www.python.org) Open Source

Автор: Гвидо ван Россум (Guido van Rossum); www.python.org/~guido

Год создания: 1990

Текущая версия: 2.4.2, выпущена 28 сентября 2005 г.

Достоинства:

? БОГАТЕЙШАЯ ПО ФУНКЦИОНАЛЬНОСТИ БИБЛИОТЕКА;

? БОЛЬШОЙ ОБЪЕМ ДОСТУПНОЙ ДОКУМЕНТАЦИИ И ОБШИРНОЕ КОММЬЮНИТИ;

? ПРОСТОЙ СИНТАКСИС;

? УДОБСТВО ДЛЯ НАПИСАНИЯ МЕЛКИХ УТИЛИТ;

? ПОДДЕРЖКА ЮНИКОДА.

Недостатки:

? ДОСТАТОЧНО ТРЕБОВАТЕЛЕН К ОБЪЕМУ ПАМЯТИ.

? ПРОИЗВОДИТЕЛЬНОСТЬ НЕВЫСОКАЯ.

? ОРИЕНТИРОВАН, СКОРЕЕ, НЕ НА РАСШИРЕНИЕ ФУНКЦИОНАЛЬНОСТИ ПРОГРАММ, А НА РАСШИРЕНИЕ СОБСТВЕННОЙ ФУНКЦИОНАЛЬНОСТИ ЗА СЧЕТ ВНЕШНИХ МОДУЛЕЙ.

? ОФИЦИАЛЬНАЯ ИДЕОЛОГИЯ ДИКТУЕТ ЕДИНСТВЕННЫЙ МЕТОД РЕШЕНИЯ КАЖДОЙ ПРОБЛЕМЫ.

? НЕТ ВОЗМОЖНОСТИ ЗАПУСКАТЬ СКРИПТЫ «В ПЕСОЧНИЦЕ», БЕЗ ДОСТУПА К ОПЕРАЦИОННОЙ СИСТЕМЕ.

? ЧУВСТВИТЕЛЕН К КОЛИЧЕСТВУ ПРОБЕЛОВ В НАЧАЛЕ СТРОКИ, КОТОРОЕ ОПРЕДЕЛЯЕТ УРОВЕНЬ ВЛОЖЕННОСТИ КОНСТРУКЦИИ (ВМЕСТО, НАПРИМЕР, ФИГУРНЫХ СКОБОК В C/C++). ВПРОЧЕМ, К ЭТОМУ МОЖНО ПРИВЫКНУТЬ.

? В БУДУЩЕЙ ВЕРСИИ, PYTHON 3000, ПЛАНИРУЕТСЯ СЕРЬЕЗНО НАРУШИТЬ ОБРАТНУЮ СОВМЕСТИМОСТЬ СО СТАРЫМ КОДОМ НА PYTHON 2.X.

Ruby (www.ruby-lang.org) Open Source

Автор: Юкихиро Мацумото (Yukihiro Matsumoto); en.wikipedia.org/wiki/Yukihiro_Matsumoto

Назад на стр. 064-036-2  Содержание  Вперед на стр. 064-036-4