FAQ:Возможно ли сделать игру на собственном движке: различия между версиями
Bdsmion (обсуждение | вклад) м (→Возможно ли сделать игру на собственном движке?) |
Oreolek (обсуждение | вклад) м |
||
(не показано 14 промежуточных версий 4 участников) | |||
Строка 1: | Строка 1: | ||
− | ==Возможно ли сделать игру на собственном движке?== | + | == Возможно ли сделать игру на собственном движке? == |
+ | === Ответ для обычных людей === | ||
+ | Нет, пока вы не станете программистом. | ||
+ | |||
+ | === Ответ для программистов === | ||
Текстовые игры кажутся простыми для программирования. Но это не совсем так. | Текстовые игры кажутся простыми для программирования. Но это не совсем так. | ||
− | В | + | Сделать игру на собственном движке намного сложнее, чем взять одну из имеющихся платформ и сделать что-то, отталкиваясь уже от готовой базы. Почему это разумный совет? |
+ | |||
+ | Во-первых, важно удобство и скорость разработки. Писать игру с нуля - это совсем не то, что писать её на какой-то специализированной базе. Многие системы позволяют создать игру с одной фразы. Без готового движка вам придётся потратить несколько недель на реализацию базовых мелочей, которые не будут иметь прямого отношения к вашей игре - например, думать над выводом текста или сохранением/загрузкой игр. | ||
+ | |||
+ | В случае парсерных игр всё ещё хуже. Вы готовы писать самостоятельно 234 реакции на глаголы, уже прописанные в [[RTADS]]? Плохо написанный парсер может стать очень большой помехой для игрока. | ||
+ | |||
+ | В разработку популярных платформ был вложен не один месяц работы. Этот труд был сделан, чтобы вам не надо было его повторять. | ||
+ | |||
+ | Во-вторых, это надёжность. В уютном интерпретаторе баги вашей игры не будут катастрофичными. Игра не "вылетит", не сохранившись, и не исчезнет с экрана в нужный момент. В худшем случае она всего лишь станет непроходимой. Когда вы пишете свой движок, баг игры - это то же, что и баг движка. | ||
+ | |||
+ | В-третьих, это переносимость. Многие интерпретаторы интерактивной литературы поддерживают несколько платформ для запуска - это не только Windows, Linux и Mac, но также могут быть PSP, планшеты Nokia и другие устройства. Хотите ли вы самостоятельно обеспечивать такую поддержку? | ||
+ | |||
+ | И, наконец, поддержка сообщества. Если вы зашли в тупик и не понимаете, как сделать что-то, вы можете обратиться к другим авторам, которые пишут игры на этой платформе или, возможно, к автору самой платформы. Вам смогут подсказать, исправить что-то в коде. Когда вы пользуетесь самодельным движком — вы всегда сами по себе. | ||
+ | |||
+ | === Для очень крутых программистов === | ||
+ | |||
+ | Если вы - такой гениальный программист, почему бы вам не взять исходный код уже существующих платформ и не поработать уже над ним? Возможно, вы сможете сделать улучшение или исправите несколько багов. А заодно и посмотрите, как устроены различные платформы ИЛ. | ||
− | + | Исходный код следующих современных платформ РИЛ открыт и свободен для правок: | |
− | + | * [http://www.assembla.com/spaces/qsp/trac_subversion_tool QSP] (C) | |
+ | :* [https://github.com/graylor/FastQSP FastQSP] (C) | ||
+ | :* [https://github.com/Nex-Otaku/quest-navigator-standalone-windows10 Quest Navigator] (C) | ||
+ | :* [https://git.sonnix.tk/sonnix/Qqsp Qqsp] (Qt) | ||
+ | :* [https://github.com/seedhartha/QuestPlayer QuestPlayer] (C, Java) - плеер под Android | ||
+ | * [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/narmiel/UrqW UrqW] (Javascript) | ||
+ | * [http://forum.tom2-game.ru/ ТОМ 2] (C++) | ||
+ | * [https://github.com/IFML2/ifml2 ЯРИЛ] (Java) | ||
+ | * [https://bitbucket.org/yandexx/rinform RInform] (С-подобный Inform) | ||
+ | * [https://gitlab.com/Oreolek/salet-module Salet] (CoffeeScript) | ||
− | + | В иностранной ИЛ также популярны: | |
− | + | * [[Ink]] (C# + порты на Javascript и других языках) | |
+ | * [https://github.com/DavidKinder/Inform6 Inform 6] (C) | ||
+ | * [https://bitbucket.org/klembot/twinejs Twine] (Javascript) | ||
+ | :* [https://github.com/Dan-Q/twee2 Twee2] (Ruby) | ||
+ | :* [https://bitbucket.org/tmedwards/tweego Tweego] (Go) | ||
+ | * [[ChoiceScript]] (Javascript) открыт под несвободной лицензией | ||
+ | * [https://github.com/renpy/renpy Ren'Py] (Python 2) | ||
− | + | Если всё ещё ничего не нравится, есть [[ifwiki-en:Engine_List|большой список движков с открытым кодом.]] Там есть малоизвестные или немного устаревшие программы, в которые всё ещё имеет смысл вдохнуть новую жизнь. | |
− | |||
− | |||
− | |||
− | |||
[[Категория:FAQ]] | [[Категория:FAQ]] |
Текущая версия на 11:36, 13 февраля 2020
Содержание
Возможно ли сделать игру на собственном движке?
Ответ для обычных людей
Нет, пока вы не станете программистом.
Ответ для программистов
Текстовые игры кажутся простыми для программирования. Но это не совсем так.
Сделать игру на собственном движке намного сложнее, чем взять одну из имеющихся платформ и сделать что-то, отталкиваясь уже от готовой базы. Почему это разумный совет?
Во-первых, важно удобство и скорость разработки. Писать игру с нуля - это совсем не то, что писать её на какой-то специализированной базе. Многие системы позволяют создать игру с одной фразы. Без готового движка вам придётся потратить несколько недель на реализацию базовых мелочей, которые не будут иметь прямого отношения к вашей игре - например, думать над выводом текста или сохранением/загрузкой игр.
В случае парсерных игр всё ещё хуже. Вы готовы писать самостоятельно 234 реакции на глаголы, уже прописанные в RTADS? Плохо написанный парсер может стать очень большой помехой для игрока.
В разработку популярных платформ был вложен не один месяц работы. Этот труд был сделан, чтобы вам не надо было его повторять.
Во-вторых, это надёжность. В уютном интерпретаторе баги вашей игры не будут катастрофичными. Игра не "вылетит", не сохранившись, и не исчезнет с экрана в нужный момент. В худшем случае она всего лишь станет непроходимой. Когда вы пишете свой движок, баг игры - это то же, что и баг движка.
В-третьих, это переносимость. Многие интерпретаторы интерактивной литературы поддерживают несколько платформ для запуска - это не только Windows, Linux и Mac, но также могут быть PSP, планшеты Nokia и другие устройства. Хотите ли вы самостоятельно обеспечивать такую поддержку?
И, наконец, поддержка сообщества. Если вы зашли в тупик и не понимаете, как сделать что-то, вы можете обратиться к другим авторам, которые пишут игры на этой платформе или, возможно, к автору самой платформы. Вам смогут подсказать, исправить что-то в коде. Когда вы пользуетесь самодельным движком — вы всегда сами по себе.
Для очень крутых программистов
Если вы - такой гениальный программист, почему бы вам не взять исходный код уже существующих платформ и не поработать уже над ним? Возможно, вы сможете сделать улучшение или исправите несколько багов. А заодно и посмотрите, как устроены различные платформы ИЛ.
Исходный код следующих современных платформ РИЛ открыт и свободен для правок:
- QSP (C)
- FastQSP (C)
- Quest Navigator (C)
- Qqsp (Qt)
- QuestPlayer (C, Java) - плеер под Android
- STEAD (C, Lua)
- INSTEAD-JS (Javascript)
- FireURQ (Object Pascal)
- UrqW (Javascript)
- ТОМ 2 (C++)
- ЯРИЛ (Java)
- RInform (С-подобный Inform)
- Salet (CoffeeScript)
В иностранной ИЛ также популярны:
- ChoiceScript (Javascript) открыт под несвободной лицензией
- Ren'Py (Python 2)
Если всё ещё ничего не нравится, есть большой список движков с открытым кодом. Там есть малоизвестные или немного устаревшие программы, в которые всё ещё имеет смысл вдохнуть новую жизнь.