Decoda
Decoda | |
---|---|
![]() | |
![]() Decoda, при отладке Natural Selection 2, 2007 год | |
Тип | Интегрированная среда разработки/отладчик для 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 — популярная среди разработчиков игр[1][2] интегрированная среда разработки профессионального уровня[3] для Windows, удобная для разработки и отладки скриптов-сценариев к существующим играм и игровым движкам, созданная в 2007 году студией Unknown Worlds Entertainment и открытая на условиях GPL в начале 2013 года[4][5].
Особенности
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].
См. также
Примечания
- ↑ Dj Walker-Morgan. The H Speed Guide to Lua → Developing with Lua (неопр.). The H (17 апреля 2012). Дата обращения: 16 мая 2015. Архивировано 26 февраля 2015 года.
- ↑ 1 2 MrMike, 2009.
- ↑ 1 2 3 Young, 2014, Introduction to AI sandbox → Lua IDE — Decoda.
- ↑ 1 2 3 4 5 6 djwm (2013-02-14). "Decoda IDE for Lua is now open source". The H. Архивировано 12 апреля 2015. Дата обращения: 16 мая 2015.
- ↑ Tom Sykes (2013-02-17). "Natural Selection 2's Lua-based IDE released as open source, use it to make your own game". PCGamer. Архивировано 6 июля 2015. Дата обращения: 17 мая 2015.
- ↑ Young, 2014, Introduction to AI sandbox → Setting up a new Decoda project.
- ↑ Young, 2014, Introduction to AI sandbox → Debugging Lua scripts.
- ↑ Young, 2014, Introduction to AI sandbox → Decoda Watch window.
- ↑ Young, 2014, Introduction to AI sandbox → Decoda Call Stack window.
- ↑ Young, 2014, Introduction to AI sandbox → The Decoda Virtual Machines window.
- ↑ Young, 2014, Introduction to AI sandbox → Visual Studio – Attach to Process.
- ↑ Young, 2014, Introduction to AI sandbox → Decoda – Attach to Process.
- ↑ Decoda FAQ →Can I use Decoda to debug the mod I’ve developed for XYZ game? (неопр.) Unknown Worlds Entartainment. Дата обращения: 16 мая 2015. Архивировано 18 мая 2015 года.
- ↑ Decoda FAQ → Does Decoda integate with source control? (неопр.) Unknown Worlds Entartainment. Дата обращения: 17 мая 2015. Архивировано 18 мая 2015 года.
- ↑ Decoda FAQ → Is there a version of Decoda for Linux or Macintosh? (неопр.) Unknown Worlds Entartainment. Дата обращения: 17 мая 2015. Архивировано 18 мая 2015 года.
- ↑ Decoda 1.16 released (неопр.). Unknown Worlds (25 октября 2011). Дата обращения: 16 мая 2015. Архивировано 18 мая 2015 года.
- ↑ Lua 5.2 support (неопр.). Decoda pull request on Github. Дата обращения: 17 мая 2015. Архивировано 9 сентября 2020 года.
Литература
- 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