FAQ:Возможно ли сделать игру на собственном движке: различия между версиями

Материал из IFВики
Перейти к навигации Перейти к поиску
(обновил список open source движков)
м
Строка 29: Строка 29:
 
* [http://www.assembla.com/spaces/qsp/trac_subversion_tool QSP] (C)
 
* [http://www.assembla.com/spaces/qsp/trac_subversion_tool QSP] (C)
 
:* [https://github.com/graylor/FastQSP FastQSP] (C)
 
:* [https://github.com/graylor/FastQSP FastQSP] (C)
 +
:* [https://github.com/Nex-Otaku/quest-navigator-standalone-windows10 Quest Navigator] (C)
 +
:* [http://git.tfgamessite.com/Sonnix/Qqsp Qqsp] (Qt)
 
* [https://github.com/instead-hub/instead STEAD] (C, Lua)
 
* [https://github.com/instead-hub/instead STEAD] (C, Lua)
 +
:* [https://github.com/technix/instead-js INSTEAD-JS] (Javascript)
 
* [https://github.com/fireton/fireurq FireURQ] (Object Pascal)
 
* [https://github.com/fireton/fireurq FireURQ] (Object Pascal)
 
* [https://github.com/narmiel/UrqW UrqW] (Javascript)
 
* [https://github.com/narmiel/UrqW UrqW] (Javascript)
* [http://forum.ifiction.ru/viewtopic.php?pid=19971#p19971 ТОМ] (C++)
+
* [http://forum.tom2-game.ru/ ТОМ 2] (C++)
 +
* [https://github.com/IFML2/ifml2 ЯРИЛ] (Java)
 
* [https://bitbucket.org/yandexx/rinform RInform] (С-подобный Inform)
 
* [https://bitbucket.org/yandexx/rinform RInform] (С-подобный Inform)
:* [https://github.com/DavidKinder/Inform6 Inform 6] (C)
 
 
* [https://gitlab.com/Oreolek/salet-module Salet] (CoffeeScript)
 
* [https://gitlab.com/Oreolek/salet-module Salet] (CoffeeScript)
  
Строка 40: Строка 43:
  
 
* [[Ink]] (C# + порты на Javascript и других языках)
 
* [[Ink]] (C# + порты на Javascript и других языках)
 +
* [https://github.com/DavidKinder/Inform6 Inform 6] (C)
 
* [https://bitbucket.org/klembot/twinejs Twine] (Javascript)
 
* [https://bitbucket.org/klembot/twinejs Twine] (Javascript)
 
:* [https://github.com/Dan-Q/twee2 Twee2] (Ruby)
 
:* [https://github.com/Dan-Q/twee2 Twee2] (Ruby)

Версия 20:00, 13 февраля 2018

Возможно ли сделать игру на собственном движке?

Ответ для обычных людей

Нет, пока вы не станете программистом.

Ответ для программистов

Текстовые игры кажутся простыми для программирования. Но это не совсем так.

Сделать игру на собственном движке намного сложнее, чем взять одну из имеющихся платформ и сделать что-то, отталкиваясь уже от готовой базы. Почему это разумный совет?

Во-первых, важно удобство и скорость разработки. Писать игру с нуля - это совсем не то, что писать её на какой-то специализированной базе. Многие системы позволяют создать игру с одной фразы. Без готового движка вам придётся потратить несколько недель на реализацию базовых мелочей, которые не будут иметь прямого отношения к вашей игре - например, думать над выводом текста или сохранением/загрузкой игр.

В случае парсерных игр всё ещё хуже. Вы готовы писать самостоятельно 234 реакции на глаголы, уже прописанные в RTADS? Плохо написанный парсер может стать очень большой помехой для игрока.

В разработку популярных платформ был вложен не один месяц работы. Этот труд был сделан, чтобы вам не надо было его повторять.

Во-вторых, это надёжность. В уютном интерпретаторе баги вашей игры не будут катастрофичными. Игра не "вылетит", не сохранившись, и не исчезнет с экрана в нужный момент. В худшем случае она всего лишь станет непроходимой. Когда вы пишете свой движок, баг игры - это то же, что и баг движка.

В-третьих, это переносимость. Многие интерпретаторы интерактивной литературы поддерживают несколько платформ для запуска - это не только Windows, Linux и Mac, но также могут быть PSP, планшеты Nokia и другие устройства. Хотите ли вы самостоятельно обеспечивать такую поддержку?

И, наконец, поддержка сообщества. Если вы зашли в тупик и не понимаете, как сделать что-то, вы можете обратиться к другим авторам, которые пишут игры на этой платформе или, возможно, к автору самой платформы. Вам смогут подсказать, исправить что-то в коде. Когда вы пользуетесь самодельным движком — вы всегда сами по себе.

Для очень крутых программистов

Если вы - такой гениальный программист, почему бы вам не взять исходный код уже существующих платформ и не поработать уже над ним? Возможно, вы сможете сделать улучшение или исправите несколько багов. А заодно и посмотрите, как устроены различные платформы ИЛ.

Исходный код следующих современных платформ РИЛ открыт и свободен для правок:

В иностранной ИЛ также популярны:

  • Ink (C# + порты на Javascript и других языках)
  • Inform 6 (C)
  • Twine (Javascript)
  • ChoiceScript (Javascript) открыт под несвободной лицензией