#DevNightTver 02
Доклад № 5
Анна Кащеева: Об опыте разработки игры без программирования
15 августа 2015
[Ведущий] Давайте я представлю следующего нашего рассказчика. Вообще, очень-очень необычный человек. Очень необычный опыт. Мы познакомились на прошлом DevNight, и после этого появилась идея пригласить Анну, чтобы она рассказала о своём опыте.
Вот только вдумайтесь: это девушка, которая практически в одиночку, без (вообще!) опыта программирования выпускает игры — и в эти игры кто-то играет!
[Смех в зале, апплодисменты]
[Ведущий] Да, вы очень хорошо поулыбались на «кто-то». А я, когда пытался узнать у неё, кто в эти игры играет, она сказала: «Я не знаю. В них играют — и это очень здорово».
[Анна] Спасибо! Первый раз выступаю. В общем, всем спасибо, что пришли. Сегодня я расскажу про свой опыт по разработке игр без программирования: с помощью конструкторов, движков и API. Ну, подробнее расскажу о тех, которые я сама применяла.
На первый взгляд тем, кто не знаком с разработкой игр, может показаться, что это очень сложно, очень тяжело. И вот, хочу вас обрадовать, что на самом деле это не так. На самом деле разработкой игр может заняться практически каждый желающий. Главное, чтобы было желание и время свободное. Сейчас для разработки игр можно использовать конструктор.
Для чего обычно используются конструкторы (это инструменты для разработки игр)? В первую очередь об использовании конструктора стоит задуматься новичкам. Для них это будет опыт, что сейчас немаловажно. Глеб рассказывал уже о том, что для того, чтобы устроиться работать в игровую индустрию, очень большим плюсом для вас будет, если вы покажете уже свой проект, свою игру доделанную. А на конструкторе сделать игру реально даже в одиночку, не имея опыта программирования. Например, если вы художник, вы можете взять конструктор. Или дизайнер. Если вы дизайнер, то можно даже взять какую-то графику в сети. И, разрабатывая игру на конструкторе, вы можете понять о самом принципе разработки игры, о процессах, технологиях, и это будет очень полезный опыт для вас. И огромный плюс при устройстве на работу.
Затем. Для создания быстрого прототипа. В первую очередь это как проверка идеи. Если у вас есть идея, но нету времени долго её реализовывать, вы можете просто за несколько часов взять простой конструктор, набросать эту идею, и потом погонять и понять: интересное вы задумали или нет. И уже потом более серьёзно заниматься.
Потом. Для разработки игры. Сейчас уже всё больше разработчиков не пишут свои движки, а используют готовые движки и конструкторы. Это значительно экономит время и даже деньги.
Какие бывают движки и конструкторы. Здесь я в табличке привела наиболее такие известные, которые нашла. Из них я использовала RPG Maker, использовала Ren'Py и использовала Stencyl. Здесь вот Вы видете в графе движки Unreal и Unity, про которые сегодня рассказывали, и Cry Engine, про который тоже рассказывали. Но я сегодня коснусь только тех, в которых сама работала: RPG Maker, Stencyl и Ren'Py.
Чем отличаются движки от конструкторов. В первую очередь: конструкторы — они более простые, чем движки. На конструкторах можно, не написав ни строчки кода, совершенно спокойно взять просто с помощью изменения настроек, перетаскивания простых инструментов (ну, как на конструкторе) взять и сконструировать игру, не написав не строчки кода. Но сейчас уже всё больше грань между ними стирается, и можно даже на том же Unrealʼе сейчас тоже довольно легко это сделать.
В основном конструкторы заточены под определённый жанр. Например, RPG Maker — под RPG, Stencyl — под платформеры, Ren'Py — под интерактивную литературу, AGS — под квесты. Если вы делаете игру какого-то определённого жанра, собираетесь, вам имеет смысла копать именно в направлении жанра, выбирать конструктор по жанру игры. Потому что так будет проще.
Теперь я расскажу именно о тех конструкторах, которыми я сама занималась. Самый первый конструктор — это RPG Maker. С него я начинала разработку. Он простой, особенно для новичков. Он проще всего. Сейчас его можно найти в Steamʼе. Он стоит около тысячи рублей. На распродажах его можно купить и за двести рублей, а иногда его можно на конкурсе выиграть даже бесплатно — если повезёт.
Сайт, который бы я рекомендовала — это rpg-maker.info. На этом сайте я администратор. Там на самом деле дружелюбное русскоязычное сообщество. Поэтому, если вы хотите научиться пользоваться RPG Makerʼом, вам там помогут. Мне там очень помогли в своё время.
Язык — модифицированный Ruby. Но это я попозже расскажу, о скриптах. То есть будет плюсом для использования, если будете знать Ruby.
Здесь также у нас скриншоты из игр, сделанных на RPG Makerʼе. Как видите, это в основном игры жанра JRPG. Если не знаете, что это такое, можете вспомнить, например, Final Fantasy или Phantasy Star (я думаю, играли). Из последних, вышедших в последнее время игр, например, To The Moon — вот, внизу скриншот.
Теперь у меня скриншот, как выглядит RPG Maker – сам редактор. Вот, редактор карт. Здесь у нас внизу дерево карт. Здесь можно заниматься level designʼом в этом конструкторе. Вот, берёшь, просто перетаскиваешь. Здесь уже есть редактор событий, и сюда же размещаются персонажи. Всё готово, очень легко.
База данных в RPG Makerʼе. Уже, причём, заполненная. Как видите, тут всё на русском языке даже есть, поддерживает русский язык. В базе данных уже есть заполненные герои, враги, отряды врагов, состояния, анимации и так далее. Здесь вы можете эти параметры [изменить] — здесь даже баланс настроен уже. Но лучше, конечно, для своей игры его изменить. Но те, кто не умеет настраивать баланс, могут воспользоваться вот этим трафаретом готовым — это будет проще.
Затем, здесь окно «Список событий». Как создают код на этом конструкторе. Нам не надо ничего «кодить», программировать: просто выбираешь из перечня событий. Например, «показ сообщения», «показ изображения», «переключатели», «переменные», «выбор условия», «циклы». В общем, здесь просто нажимаешь на кнопку и меняешь параметры. И в результате получается что-то вроде такого скрипта. Здесь — сколько ждать, какие сообщения выводят, и так далее.
Это простой уровень редактора. Более сложно — этот скрипты. Все функции RPG Makerʼа заложены в этом редакторе скриптов, и можно открыть, например, и подерактировать интерфейс. Или подредактировать боевую систему. Но это вот уже на Ruby. Ну, точнее, это не чистый Ruby, а модифицированный Ruby. Здесь уже, конечно, понадобятся некоторые знания программирования. Но не обязательно туда лезть. И благодаря этому знанию можно модифицировать RPG Maker даже и не для разработки, изменив, например, боевую систему в игре. Или изменить интерфейс в игре.
Плюсы и минусы RPG Makerʼа. Это уже исходя из моего опыта.
— Включает готовый набор контента. Весь RPG Maker уже поставляется с готовой графикой. Даже есть музыка. И причём можно использовать совершенно законно. Если вы, например, не можете писать музыку, вы можете взять оттуда треки. Как раз чтобы получить опыт разработки игры, это может быть полезно.
— Поддержка русского языка. С этим никаких проблем нет.
— И tutorialʼы простые и понятные, их много, и можно легко найти.
— Дружелюбное сообщество. Это ещё один плюс.
Минусы RPG Makerʼа довольно серьёзные:
— Во-первых то, что он узкоспециализирован. На нём можно создавать только RPG. Хотя можно, конечно, создать и другие игры, но это уже будет значительно сложнее.
— И платформа поддерживаемая. Только для Windows. Пока. Хотя сейчас уже существуют версии этого конструктора... Точнее, не существуют, а пока ещё только анонсированы, но будет, разрабатывается, уже под Android и для Mac. В рабработке находится. Конструктор активно развивается.
Следующий конструктор, с которым я работала, — это Ren'Py. Абсолютно бесплатный, во-первых. Конструктор очень простой. Здесь по скриншотам видно, что в первую очередь это — для разработки интерактивной литературы. И текстовых квестов подойдёт. Также можно там комиксы делать, или что-то в этом роде.
То есть мы читаем внизу текст, ставим изображения. И можем делать также выбор варивантов ответа. И, в зависимости от вашего выбора, может меняться сюжет. Или может меняться отношение персонажей, например, к главному герою. Ну, или что-то вроде такого.
Сайт LemmaSoft — это официальный сайт, англоязычный. Язык — Python, на Pythonʼе написан. Код открыт, бесплатный. Здесь я сделала скриншот, как выглядит сам редактор. Здесь уже всё русифицировано. Довольно несложно разобраться.
Здесь я сделала скриншот из своей игры, как выглядит сам код в игре. То есть уже есть на Ren'Py готовый набор функций. Например, «вывести изображение», «вывести текст». Поэтому получатся это гораздо проще, чем на Pythonʼе. И при желании это всё модифицируется.
Плюсы и минусы Ren'Py. Плюсы:
— Ну, конечно же, открытый код, про что я уже сказала. Если что, можно это всё модифицировать. Причём это совершенно законно. Причём можно даже в коммерческих целях использовать, и можно даже закрывать код. Если Вы, допустим, отредактировали, потом можете уже и закрыть этот код. Но главное не продавать сам код движка.
— Поддержка у нас идёт многих платформ: и Windows, и Mac, и Linux, и Android в том числе. И на iOS недавно тоже появилась возможность компилировать, что большой плюс.
— Ну, и отличная поддержка сообщества. Несмотря на то, что там всё на английском, в целом довольно несложно разговаривать с ними. И даже сам разработчик движка, PyTom... у меня когда возникли проблемы в разработке, я написала на форум, и он практически сразу же ответил. Сам причём, сам разработчик. И очень быстро решили проблему. Очень большой респект на самом деле разработчику.
Минусы:
— Tutorialʼы в основном на английском. Ну, сложнее разобраться, чем с RPG Makerʼом.
— Узкоспециализированный. Если Вы хотите делать текстовые квесты — отличный выбор! Но если вы хотите делать RPG или аркаду, то уже гораздо сложнее, то вам уже нужно знать Python, чтобы разобраться.
— И неудобный отладчик. Иногда как вылезет какое-то окошко — и не поймёшь, что там случилось. Сидишь, разбираешься. В целом, может быть уже, кстати, сейчас... Тоже движок активно развивается, устраняют вот эти проблемы. Должно быть уже проще.
Ну и последний конструктор, о котором я вам расскажу, — это Stencyl. Недавно сделали игру на нём для конкурса. Он в основном предназначен для созданя платформеров. В том числе поддерживает физику и гравитацию. Ну, мы делали более простой платформер, вот, про зайчика — можно увидеть. Цена варьируется от того, на какую платформу Вы делаете. Если на Flash, то тогда будет бесплатно. Но при этом будет окошечко с логотипом при запуске. Но ничего страшного, в основном спонсоры на это не обращают внимание. Затем, если Вы хотите под Windows компилировать уже, тогда 99$ вы должны будете заплатить в год. А если под Android, iOS, то тогда уже 199$ в год. В принципе, цены не такие уж и большие.
Сайт — stencyl.com, это официальный скрипт. Язык — Haxe. Недавно был ActionScript, но сейчас перевели на другой.
Stencyl изнути. Здесь я сделала скриншот, как это всё изнутри выглядит. Точнее, оно не всё, а отдельный редактор я тут выбрала. Здесь, видите, tilesetʼы, из которых составляется уровень. И здесь можно каждому из них коллизии настраивать. На самом деле там много еще разных функций, в том числе добавление анимации по кадрам, и всякое такое. Сцен тоже дизайнер, уровней.
А здесь я сделала скрин, как примерно выглядит редактор вместо программирования. Вот здесь основные функции сверху, и они просто как в конструкторе берутся и переносятся сюда. И здесь вот уже как бы это код такой, сверху. Ну, не совсем на код похоже. Ну, так вот перетаскивается, и как мозаика строится.
Здесь у меня нарисовано (точнее, скриншот сделан) по тому, как зайчик прыгает на облачко, и это облачко движется его туда-сюда и двигает сюда в ту же сторону, где облачко двигается. Тут, правда, не очень видно, как это работает. Ну ладно. В общем, суть примерно показала.
Плюсы и минусы Stencylʼа:
— Игры можно публиковать на большое количество платформ.
— И поддержка операционных систем, с которыми можно работать на Stencylʼе, тоже довольно широкая.
Минусы:
— То, что слабая поддержка,
— И мало tutorialʼов. На самом деле по азам tutorialʼы найти можно. А потом уже, если какие-то более сложные функции вы хотите реализовать, тогда уже сложнее. Тогда уже гораздо сложнее найти tutorialʼы, и приходится самостоятельно рыться в этом.
— Русскоязычный сайтов вообще практически сейчас я не нашла. Точнее, есть, но они уже такие, в «полудохлом» состоянии. Лучше англоязычые сайты, но и там довольно вяленько.
— Ну и последний пункт: периодически вылетает. Это самый, пожалуй, весомый минус. Ну, конечно, в конце концов работает, в конце концов игру удалось на нём выпустить. Но были, конечно, танцы с бубном. И очень раздражает то, что иногда не обновляется: то есть меняешь какую-то функцию, и потом на другой вкладке не учитываются изменения, которые были на прошлой вкладке. Постоянно приходится нажимать F5. Это раздражает.
Вообще, если вы хотите делать платформеры на простом конструкторе, я бы вам, наверное, больше Construct посоветовала бы, чем Stencyl. Потому что он своеобразный.
Ну и напоследок небольшое предостережение. Будьте осторожны при выборе движка, конструктора. Есть вещи, которые с помощью конструктора вообще сделать невозможно. Многие конструкторы специализированы под определённые функции. А если они выходят уже за рамки функций конструктора, то могут возникнуть проблемы.
Поэтому обязательно, если у вас есть задумка игры, в первую очередь проверьте, реализуемо ли это на конструкторе, который вы выбрали, или на разных конструкторах. И уже только после того, как вы убедились, что это точно должно сработать, тогда уже реализуйте дальше.
Второй пункт — это использовать конструктор по назначению. Естественно, если констуктор создан для RPG, он упрощает разработку лишь для RPG. А для платформера может возникнуть очень много сложностей. И лучше даже написать свой движок, возможно, чем использовать не предназначенный для этого конструктор. Поэтму стоит учитывать вот эту специализацию конструкторов.
И последний пункт — то, что конструкторы могут глючить. Не у всех всегда поддержка бывает сразу же своевременная. Иногда бывают в конструкторах дыры разнообразные, так что — аккуратно. Хотя чаще всего всё решаемо. И есть поддержка, с которой можно пообщаться.
В общем, как-то так. Ну, вроде всё, спасибо за внимание.
Социальные закладки