Decoda
Decoda — популярная среди разработчиков игр[1][2] интегрированная среда разработки профессионального уровня[3] для Windows, удобная для разработки и отладки скриптов-сценариев к существующим играм и игровым движкам, созданная в 2007 году студией Unknown Worlds Entertainment и открытая на условиях GPL в начале 2013 года[4][5].
Что важно знать
| Decoda | |
|---|---|
| Тип | Интегрированная среда разработки/отладчик для Lua |
| Разработчик | Unknown Worlds Entertaiment |
| Написана на | C++ |
| Интерфейс | wxWidgets |
| Операционная система | Windows |
| Первый выпуск | 2007 |
| Последняя версия | 1.16 (25 октября 2011) |
| Бета-версия | 1.17 beta 1 (28 марта 2014) |
| Репозиторий | github.com/unknownworlds… |
| Лицензия | GNU GPL, до 2013 года Shareware |
| Сайт | unknownworlds.com/decoda/ |
Особенности
Decoda представляет собой IDE, по словам разработчиков «похожее на Visual Studio», позволяющее работать с проектом[6], редактировать исходные тексты lua-скриптов (с подсветкой синтаксиса) и отлаживать их, используя контрольные точки[3], пошаговое выполнение программы[7], наблюдение и изменение значений переменных[8] (в том числе lua-таблиц) и слежение за стеком вызовов[4][9][2].
В отдельном окне отладчика показываются все виртуальные lua-машины, запускаемые из отлаживаемого хост-приложения[10]. Подобно Visual Studio[11], Decoda может подключаться для отладки к уже запущенному приложению[12].
Уникальной особенностью Decoda является то, что она использует при этом файлы с отладочными символами, которые генерирует Visual Studio. В отличие от других Lua IDE (таких, как ZeroBrane Studio), Decoda не требует модифицировать исходный код отлаживаемого скрипта (путём подключения к нему библиотеки mobdebug), или скриптуемого приложения[3]. Lua скрипты для приложений, к которым Lua не прикомпилирован статически, а вызывается из динамической библиотеки, (к примеру, INSTEAD), могут отлаживаться даже если соответствующих отладочных символов у вас нет[13].
Decoda поддерживает интеграцию с системами управления версиями[4], для чего к ней могут подключаться Microsoft SCC плагины[14].
Недостатки
Версии Decoda, по крайней мере до 1.17, работают только под Windows (интерфейсная часть написана с использованием кроссплатформенной wxWidgets и может быть легко портирована, трудности — с используемой при отладке «магией»[15]) и только в 32-разрядном режиме[4]. Decoda не может отлаживать игры, собранные для Win64. При попытке сделать это, начиная с версии 1.16, выводится сообщение о соответствующей ошибке[16]. Поддержка Lua 5.2 появилась только в бета-версии Decoda[17].
История
Эта среда разработки была создана студией Unknown Worlds Entertainment, когда они начинали разработку игры Natural Selection 2 в 2007 году. Decoda была приобретена рядом студий разработчиков игр, и, по словам разработчиков Unknown Worlds, лицензирование Decoda было основным источником дохода компании в 2007–2013 годах[4].
После успешного запуска Natural Selection 2 14 февраля 2013 года программа перешла в категорию свободных, разработчики открыли её под лицензией GPL. Они объяснили это действие тем, что дополнительный источник доходов в виде лицензирования IDE им больше не нужен[4].
См. также
Примечания
Литература
- David Young. Learning Game AI Programming With Lua. — Packt Publishing, 2014. — 680 p. — ISBN 978-1-78328-133-6.
- James Clarendon. Chapter 11. Scripting with Lua → Introducing Decoda // Game Coding Complete / Mike “MrMike” McShaffry. — 3-rd ed.. — Charles River Media, 2009. — P. 346. — 908 p. — ISBN 978-1-58450-680-5.
Ссылки
- unknownworlds.com/decoda/ — официальный сайт Decoda
- Проект Decoda на сайте GitHub


