Как создавать игры на компе. Как создают игры на компьютер? Программы для игр на компьютер

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

Если вы решили заняться созданием игр, то вам обязательно нужно найти себе программное обеспечение для разработки. Мы подобрали для вас программы для создания игр без программирования.

Game Maker – это простая программа-конструктор для создания 2D и 3D игр, позволяющая создавать игры для большого числа платформ: Windows, iOS, Linux, Android, Xbox One и другие. Но для каждой ОС игру нужно будет настраивать, так как Гейм Мейкер не гарантирует везде одинаковую работу игры.

Плюсом конструктора является то, что он имеет низкий порог вхождения. Это значит, что если вы никогда не занимались разработкой игр, то вы можете смело качать Game Maker – он не требует никаких специальных знаний в области программирования.

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

Процесс же создания игр здесь очень простой: создание спрайтов в редакторе (можно загрузить готовые рисунки), создание объектов с разными свойствами и создание уровней (комнат) в редакторе. Скорость разработки игр на Game Maker гораздо быстрее, чем на других подобных движках.

Unity 3D

Один из мощнейших и самых популярных игровых движков — Unity 3D. С его помощью можно создавать игры любой сложности и любого жанра, используя все тот же интерфейс визуального программирования. Хотя изначально создание полноценных игр на Unity3D подразумевало знание таких языков программирования, как JavaScript или C#, но они нужны для более масштабных проектов.

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

Кроссплатформенность, стабильность, высокая производительность, дружественный интерфейс – это лишь небольшой список достоинств движка Юнити 3Д. Здесь вы можете создать практически все: от тетриса до GTA 5. Но лучше всего программа подойдет разработчикам инди-игр.

Если вы решите выставить свою игру в ПлейМаркет не бесплатно, то вам придется выплачивать разработчикам Unity 3D некоторый процент от продаж. А для некоммерческого использования программа бесплатна.

И снова вернемся к конструкторам! Clickteam Fusion – это программа для создания 2D игр с помощью интерфейса drag’n’drop. Здесь вам не нужно программирование, ведь вы будете собирать игры по кусочку, как конструктор. Но также вы можете создавать игры записывая код для каждого объекта.

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

Несмотря на всю простоту программы, Clickteam Fusion имеет большое количество разнообразных и интересных инструментов. Имеется режим тестирования, в котором вы можете проверить игру на ошибки.

Стоит Clickteam Fusion, по сравнению с другими программами, не дорого, а на официальном сайте вы также можете скачать бесплатную демо-версию. К сожалению, для крупных игр программа не годится, но для небольших аркад – самое то.

Еще одной очень неплохой программой для создания двухмерных игр является Construct 2. С помощью визуального программирования вы сможете создавать игры на разные популярные и не очень платформы.

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

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

Но где есть плюсы, там есть и минусы. Основным недостатком Construct 2 является то, что экспорт на дополнительные платформы осуществляется только при помощи сторонних программ.

CryEngine – это один из самых мощных движков для создания трехмерных игр, графические возможности которого, превосходят все подобные программы. Именно здесь создавались такие известные игры, как Crysis и Far Cry. И все это возможно без программирования.

Здесь вы найдете очень большой набор инструментов для разработки игр, а также инструменты, которые необходимы дизайнерам. Вы можете быстро создавать эскизы моделей в редакторе, а можете сразу на локации.

Физическая система в КрайЭнджин поддерживает инверсную кинематику персонажей, транспортные средства, физику твердых и мягких тел, жидкостей, тканей. Так что объекты в вашей игре будут вести себя довольно реалистично.

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

Game Editor – это еще один конструктор игр в нашем списке, который напоминает упрощенный конструктор Game Maker. Здесь вы сможете создавать простые двухмерные игры без каких-либо особых знаний в области программирования.

Здесь вы будете работать только с акторами. Это могут быть как персонажи, так и предметы «интерьера». Для каждого актора можно задать множество разных свойств и функций. Так же можно прописывать действия в виде кода, а можно просто подобрать готовый скрипт.

Также с помощью Game Editor можно создавать игры и на компьютеры, и на телефоны. Для этого просто сохраните игру в правильном формате.

К сожалению, с помощью Game Editor вы вряд ли создадите крупный проект, так как это займет много времени и усилий. Еще одним минусом является то, что разработчики забросили свой проект и обновлений пока не ожидается.

А вот и конкурент для Unity 3D и CryEngin — Unreal Development Kit. Это еще один мощнейший игровой движок для разработки 3D игр на многие популярные платформы. Игры здесь, так же, можно создавать, не используя языков программирования, а просто задавая готовые события объектам.

Несмотря на сложность освоения программы, Unreal Development Kit дает вам огромные возможности для создания игр. Советуем вам научится использовать их все. Благо материалов в интернете вы найдете предостаточно.

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

Проект Unreal Development Kit не стоит на месте и разработчики регулярно выкладывают дополнения и обновления. Так же, если у вас возникнут какие-либо проблемы при работе с программой, вы можете обратиться в службу поддержки на официальном сайте и вам обязательно помогут.

Kodu Game Lab – это, наверное, лучший выбор для тех, кто начинает знакомиться с разработкой трехмерных игр. Благодаря красочному и понятному интерфейсу, создавать игры в этой программе интересно и совсем несложно. Вообще, этот проект разрабатывался для обучения школьников, но все же он будет полезен даже для взрослых.

Программа очень хорошо помогает разобраться с тем, как работают и какой алгоритм создания игр. Кстати, для создания игры вам даже не понадобится клавиатура – все можно делать с помощью одной лишь мыши. Здесь не нужно писать код, нужно просто нажимать на объекты и на события.

Особенностью Коду Гейм Лаб является то, что это бесплатная программа на русском языке. А это, заметьте, большая редкость среди серьезных программ для разработки игр. Также здесь есть много обучающего материала, выполненного в интересной форме квестов.

Но, как бы не была хороша программа, минусы здесь тоже есть. Kodu Game Lab простая, да. Но и инструментов в ней не так много, как хотелось бы. А еще эта среда разработки довольно требовательна к системным ресурсам.

3D Rad – это довольно интересная программа для создания 3D игр на компьютер. Как и во всех выше упомянутых программах, здесь используется интерфейс визуального программирования, что обрадует начинающих разработчиков. Со временем, вы научитесь и создавать скрипты в этой программе.

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

Что интересно, в 3D Rad вы можете создать мультиплеерную игру или же игру по сети и даже настроить игровой чат. Это еще одна интересная особенность этой программы.

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

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

Stencyl - это не просто программное обеспечение для разработки приложений, а набор инструментов, который делает работу над созданием приложения проще, позволяя сконцентрироваться на самом главном. При этом нет необходимости писать код самому – все, что вам нужно, это передвигать блоки с кодом, таким образом изменяя поведение главных героев вашего приложения.

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

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

Программа предназначена для создания двухмерных игр без использования языков программирования. Вместо строчек кода подставляются уже готовые действия игровых персонажей. Пользователю остаётся лишь создавать игровые объекты, снабжать их двухмерными спрайтами или анимацией, создавать правила взаимодействия между объектами, расставлять объекты на уровнях. Рисовать графику и анимацию можно прямо в «Game Maker», не используя сторонних программ.

В этой программе отлично получаются игры с видом сверху, и платформеры с видом сбоку.

«Game Maker» будет интересна и продвинутым программистам, возможность добавлять свой программный код здесь так же имеется.

Бесплатный вариант программы ничем не ограничивает обычных пользователей, по сравнению с платной версией «Game Maker Pro». Платная версия открывает доступ к сложным программным модулям, интересным лишь настоящим профессиональным программистам.


Очень простой конструктор 2D игр. Знание языков программирования не обязательно.

В отличие от «Game Maker», в «Construct 2» можно создавать игры для iOS, Android, Facebook, Chrome Web Store, Desktop Windows, Windows 8 Apps, Web (HTML5), Kongregate и для множества других платформ.

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

Советуем Обучающий курс «TDS от А до Я» (создание игры в жанре "Шутер с видом сверху").


Программы для создания 3D игр (Сайт сайт)

«3D Rad» самый дешевый вариант среди игровых 3D движков. Программу можно использовать вообще бесплатно, а заплатив 5$ Вы получаете самые свежие обновления в день их выхода (в бесплатной версии обновления появляются лишь через три месяца). Чаще всего этот движок используется для создания гоночных игр.

Программа обладает простым и понятным интерфейсом, не обремененным мелочами.

«3D Rad» поддерживает установку отдельных плагинов, имеет предустановленные ИИ модели, карты теней и текстур. Существует возможность создания онлайн игр.


NeoAxis Game Engine SDK

Отличный игровой движок с простым интерфесом и качественной графикой. Спроектирован для создания игр практически в любых жанрах.

Создан на основе движка Ogre3D. В качестве языка программирования используется C# и C++ и платформа.NET, но есть возможность обходиться без программирования благодаря специальным библиотекам готовых действий. Для движка имеются различные дополнения и расширения, разработанные сторонними пользователями. Имеется возможность экспорта для 3dsMax и Maya, Autodesk Softimage и Blender. Поддерживаются шейдеры, освещение и тени PSSM (Parallel-Split Shadow Map).

NeoAxis Engine распространяется по 4 типам лицензии: Некоммерческая – бесплатно для некоммерческих проектов; Инди-лицезия – 95/295$ (один/команда); Коммерческая – 395/995$ (один/команда); Лицензия на исходники - от 9,800$.

Основное достоинство данного игрового движка - максимальное удобство и простота. К тому же, движок разработан отечественными программистами, благодаря чему в нём есть русский язык по умолчанию. При покупке лицензионной версии вы получаете качественную техническую поддержку на своём родном языке.


Комплексный инструмент, содержащий в себе всё, что может понадобиться для создания игры. В пакет «Unity 3D» входит графический движок, полностью использующий возможности DirectX и OpenGL, встроенный редактор 3D моделей, отдельные программы для создания и обработки шейдеров, теней, ландшафтов, физики и звуков, а также богатые библиотеки скриптов. С «Unity 3D» можно вообще забыть о сторонних программах, или свести их использование к минимуму.

«Unity 3D» подходит для создания игр любого жанра. В качестве платформ поддерживаются обычные компьютеры (Windows XP/Vista/7, OSX), мобильные устройства (Android, iOS, Blackberry), игровые консоли (Wii, Playstation 3, Xbox), интернет браузеры (Flash, Web Player).

Есть особая система совместной разработки - Asset Server, позволяющая разрабатывать игру в составе целой команды прямо через интернет.

Единственный минус - для использования «Unity 3D» нужно знать компьютерное программирование хотя бы на среднем уровне. Несмотря на богатую библиотеку готовых практических программных решений и мощный скриптовый движок с моментальной компиляцией, часть кода придется прописывать самостоятельно на JavaScript или C#.


Unreal Development Kit (UDK)

Один из популярнейших игровых движков в профессиональной среде игровых разработчиков. На «Unreal Engine» созданы такие игры, как: серия «Unreal Tournament», серия «Mass Effect», «XCOM», «Borderlands 2», «DmC: Devil May Cry» и ещё десятки и сотни более мелких игр.

«UDK» поддерживает следующие платформы: PC, Xbox 360, PlayStation 3, Wii, Android.

Этот движок изначально заточен под создание 3D-шутеров, но так же есть возможности для создания игр смежных жанров: слешеров, приключений, ММО-игр.

Игровой движок отлично создаёт анимации лица, сложную архитектуру зданий, обрабатывает сложные физические объекты. В составе «UDK» есть все необходимые инструменты для создания анимаций, текстур, звуков, уровней, моделей, программных скриптов. Есть встроенная библиотека, содержащая более 1000 сооружений, прочих 3D моделей, стандартных текстур и звуков. Есть возможность программирования на специальном языке «Unreal Script» (создан на основе C++).

Использовать «UDK» можно совершенно бесплатно, до того момента, пока Вы не решите официально издать свою игру, созданную на этом движке. В таком случае придётся раскошелиться на дорогостоящую лицензию.


CryENGINE 3 Free SDK

«CryENGINE 3» - это вершина современных игровых движков, обеспечивающая фотореалистичную графику с поддержкой DirectX 11 и шейдеров третьего поколения. Третья версия движка создана в 2009 году. На этом движке созданы серии игр «Far Cry» и «Crysis», онлайн игра «Aion», а также десятки менее известных компьютерных игр.

Компания «Crytek» приняла решение бесплатно распространять этот, и без того популярный, игровой движок. Но бесплатность действует ровно до того момента, пока Вы не захотите официально выпустить игру, созданную на этом движке. Лицензионная версия стоит дороже всех аналогичных программ, но она стоит этих денег.

На «CryENGINE 3» можно создавать игры для платформ: PC, PlayStation 3 и Xbox 360.

Импортировать текстуры можно из графических программ «3ds max», «Maya» а также из предыдущих версий движка.

Движок «CryENGINE 3» оказался очень популярным, у него появилось целое русскоязычное сообщество, благодаря этому Вы без труда сможете найти всевозможные обучающие материалы, а так же ответы на конкретные вопросы.


Кто не любит играть на компьютере или смартфоне? Таких людей, наверное, единицы.

У некоторых игроманов любовь к играм заходит так далеко, что они начинают разбираться в самом устройстве развлечения, и мечтают сами создавать игры. Что ж, сегодня существует много возможностей для осуществления этой заветной мечты!

Если вы хотите создать свою игрульку на досуге, ловите список специальных бесплатных программ для этого.

Blender



Бесплатный пакет профессиональных программ для создания интерактивных игр и трехмерной компьютерной графики.

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

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

А вот уроки по работе в этой программе вы найдете .

Вперед, творить новые вселенные!

Unity 3D


Это мощная среда для разработки приложений и игр, в том числе для мобильных устройств. Созданные на Unity 3D игры работают на Windows, iOS, Android, Playstation 3, Xbox 360 и Wii. Можно создавать игры любых жанров; текстуры и модели легко импортируются, поддерживаются изображения всех популярных форматов.

Скрипты в основном создаются на JavaScript, но код можно писать и на С#.

Обучающие материалы по работе в среде (на английском языке) вы найдете на официальном сайте по ссылке .

Construct Classic

Конструктор двумерных и трехмерных игр с открытым исходным кодом. Для работы не нужны знания программирования. Достаточно добавить объект и включить анимацию.

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

Конструктор не только бесплатный – у него открытый исходный код, и при желании вы можете настроить его и отредактировать по своему желанию.

Уроки по Construct Classic вы можете посмотреть .

Game Maker Lite



Бесплатная программа для разработки простых игр, любого жанра: платформные, головоломки, экшн и 3D игры. Подойдет для новичков. Можно использовать собственные изображения и эффекты, или встроенные программу. Чтобы получить доступ к большему выбору изображений и эффектов, нужно зарегистрироваться.

Для работы не нужны знания программирования, но некоторые скрипты можно прописывать и самостоятельно, при желании. Так что эту программу можно использовать и для обучения программированию в том числе.

Уроки по работе в программе для новичков есть на этом сайте .

Unreal Development Kit

Бесплатный движок для создания игр. Очень мощный, с массой возможностей и инструментов для продвинутых визуализаций и детальных симуляций. Можно создавать игры для множества современных платформ.

В состав программы уже входят текстуры, модели, звуки, спрайты, скрипты. Остается только комбинировать и создавать свою игру.

Видеоуроки и руководства по работе в программе можно посмотреть .

Game Editor

Редактор для создания простых двухмерных игр, под операционные системы Windows, iOS, Android, Linux.

Есть встроенные наборы анимаций, который отвечают за внешний вид персонажей. Можно использовать свои графические элементы. Также программа предоставляет стандартный набор реакций, которые определяют поведение персонажа в игре. Но можно создавать и свои, на специальном скриптовом языке Game Editor.

3D Rad



Бесплатная программа для разработки 3D-игр и интерактивных приложений. Использовать код не нужно, поэтому создавать свои игры достаточно просто.

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

Game Maker: Studio

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

В рабочем окне программы нет ничего лишнего. Игры, разработанные на Game Maker: Studio кроссплатформенны, и готовые приложения можно интегрировать со Steam.

NeoAxis 3D Engine

Универсальная среда для разработки 3D проектов.
Это готовый движок со своими моделями, текстурами, физикой, шаблонами и графикой. Тут даже есть 24 готовые, полноценные карты!
На нем можно создавать не только игры, но и одиночные модели, сложную визуализацию программного обеспечения.

Остается только включать фантазию и творить.

Зачесались руки создать свою игру? Нет проблем. Выбирайте программу и вперед, к мечте!

Не надо обладать навыками программирования, чтобы написать свою первую простенькую игрушку уже через 5 минут!

Не будем тянуть кота за хвост, приступим к созданию своей новой текстовой игры !

Комментарий разработчика.

Структура языка очень похожа на URQL, а значит тем, кто знаком с "уркой", разобраться будет проще некуда. Но синтаксис языка построен таким образом, что все символы базовых конструкций можно набирать не меняя раскладки клавиатуры на русском языке. Это очень удобно, когда, что называется, нашло вдохновение, и нет времени спотыкаться об англоязычные операторы.

Урок 1. Создаем текстовую игру онлайн с полного нуля.

Итак, от простейшего к простому.

Написать Аперо-игру - это значит написать "код", который понимает платформа Аперо.

Что же из себя представляет "код" для Аперо?

Не пугайся слова код, никаких "010010" из матрицы здесь не будет.

Код для Аперо - это обычный текст, размеченный особым образом.

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

Для этого создай тестовую онлайн игру для обучения , назови например "Обучение" и описание, например: "Это моя игра, в ней я научусь создавать свои текстовые игры онлайн на платформе Аперо". (Доступно только пользователям)

Нажми кнопку "Создать!", и игра появится в твоем списке разработки . После этого появится блок для редактирования исходного кода, туда ты будешь вводить свой код. Там уже есть базовый исходный код для примера, но его можно удалить.

После этого ты можешь нажать кнопку "Тестовый запуск игры!", и откроется страница твоей только что созданной новой текстовой онлайн игры, на ней ты можешь посмотреть, как будет выглядеть игра для игрока.

Таким образом происходит создание текстовой игры прямо здесь на сайте онлайн. Теперь вернись в редактирование кода и удали весь базовый исходный код для примера, сейчас мы будем создавать текстовую онлайн игру с полного нуля.

Вывод текста

Давай напишем текст. Просто введи любое слово или предложение в форму для ввода исходного кода. Можешь в несколько строк (через enter). Например так:

Это моя игра, в ней учусь создавать свои текстовые игры на платформе "Аперо". У меня хорошо получается.

После этого нажми кнопку "Тестовый запуск игры!" и узнаем, что же увидел бы игрок после начала этой текстовой игры.

Как видишь, в правом блоке появился точно такой же текст.

Платформа действует так: Начиная с первой строчки перебирает все по очереди и выводит их пользователю.

\СТОП

Но мы не пишем книги, мы учимся создавать текстовые игры , и поэтому показывать весь текст игроку сразу мы не хотим.

Чтобы остановить платформу нужно написать так:

\СТОП

Обрати внимание на первый символ в строке "\" - это косая черта, наклоненная влево. Ее так же называют "обратный слэш".

Это специальный символ для платформы, чтобы она понимала, что это команда, а не обычный текст. Если слово "СТОП" в коде было бы написано без обратного слэша, то платформа просто вывела бы его пользователю на экран как обычный текст.

Чтобы понять, как работает команда стоп, выполним следующий пример:

Этот текст будет показан игроку. \СТОП А текст после команды стоп - нет.

После этого нажми кнопку "Тестовый запуск игры!" и посмотри на результат выполнения.

Платформа показывает игроку первую строчку, потом встречает команду СТОП и прекращает выполнение. Все просто.

Само слово "СТОП" тоже не будет видно пользователю в процессе игры, это служебная информация.

\Локации

Теперь нам нужно научиться переходить от выполнения одного куска кода к другому. Для этого надо разбить код на отдельные участки, или по-другому "локации".

Чтобы различать локации между собой, они должны иметь свои названия. Причем уникальные, то есть названия локаций не должны повторяться.

Если хочешь быть уверен, что имя локации задано правильно, используй только кириллические и латинские символы в нижнем регистре и знак "_" для разделения слов в имени переменной.

Название локаций не будет видно пользователю в процессе игры, это служебная информация для автора.

Не забывай в конце каждой локации писать строчку с командой \СТОП .

Напишем парочку локаций:

\Первая локация Этот текст из первой локации. \СТОП \Вторая локация Этот текст из второй локации. \СТОП

В коде выше есть две локации с именами "Первая локация" и "Вторая локация".

Сначала код выполняется начиная с \Первая локация и до команды \СТОП

После запуска мы убедимся, что выполнился только код первой локации. А как же игроку попасть на вторую локацию? Для этого есть кнопки .

\КНОПКА

Кнопка создается так:

\КНОПКА(Вторая локация,Перейти на вторую локацию)

Что же произойдет после запуска? На экране появится кнопка с текстом "Перейти на вторую локацию ", которая будет видна игроку. А если он на нее нажмет, то попадет на локацию с именем "Вторая локация ", которая должна быть объявлена ниже.

Добавляй хотя бы одну кнопку на каждой локации. Учти, если локация с именем, указанной в кнопке не объявлена в исходном коде, то появится ошибка. Поэтому для каждой кнопки должна существовать локация, на которую ведет эта кнопка.

А теперь вспомним, чему мы научились в этом уроке, и закрепим все это в следущем примере.

\Первая локация Этот текст из первой локации. \КНОПКА(Вторая локация,Перейти на вторую локацию) \СТОП \Вторая локация А это текст из другой локации - "Вторая локация" . \КНОПКА(Первая локация,Вернуться обратно на 1-ю локацию) \СТОП

Запустим и посмотрим, что получится!

Кнопки работают, при нажатии мы можем перемещаться по локациям.

Уже даже этого достаточно, чтобы создавать свои простенькие текстовые онлайн игры ! А теперь попробуй сам! Потренируйся, создай несколько локаций, создай в них по несколько кнопок, а не одну! На этом первый урок заканчивается, спасибо! В следующем уроке мы научимся создавать переменные и условия для развилок! [Урок 2. Создаем развилки в текстовых играх в разработке]

Как разработать RPG-игру за неделю с нуля и без бюджета. Часть I.

RPG за неделю? С нуля? Это вообще возможно?
Я рискнул, и я сделал это.

В интернете полно информационных ресурсов, доступных мелким, независимым (indi) разработчикам игр. На одном таком общественном форуме, в процессе спора, я имел неосторожность ляпнуть, что, если мне дадут неделю времени, компьютер со свежеустановленной Windows, и хорошее соединение с Интернет, я смогу создать достойную игру, не потратив на это ни цента. Нет, она конечно же не сможет конкурировать с Halo 2 или чем-то такого же уровня(если бы я мог создать такую игру за неделю, я бы давно бросил работу), но она будет достаточно интересной и играбельной.

Tom Bampton, автор ежемесячных обзоров игр в номинации «Игра на день» (www.gameinaday.com), сказал: "Дерзай!" Затем он добавил дополнительное условие - я должен сделать это, не используя существующие игровые движки. Мне можно использовать только основные библиотеки / API.

Сначала я отказался от этой идеи. У меня не было лишнего времени, чтобы на неделю отстранится от разработки текущего игрового проекта на работе. Но потом я подумал: да черт с ним, ведь что такое неделя? В типичной компании, например в Е.А., рабочая неделя составляет 40 часов. Так почему бы не сделать игру не за календарную неделю, а за 40 чистых часов? Это уже реальнее, - но я не хотел создавать очередной тетрис или арканоид. А как насчет ролевой игры - одного из самых сложных игровых жанров? Это возможно?

Я знал, что это будет чрезвычайно трудно. Но я принял вызов.

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

Так вот, как я создал игру в течение одной недели с нуля, и без бюджета. Если вам лень читать, и вы хотите побыстрее заглянуть в конец повествования, чтобы узнать, как выглядит конечный продукт, посмотреть все его баги, вы можете скачать версию игры для Windows здесь: http://www.rampantgames.com/hackenslash.html

ПЛАНИРОВАНИЕ
Цель
Создать олдскульную RPG в стиле старых игр начала 80-х, с видом "сверху вниз", например как The Temple of Apshai, Ultima III, и Telengard. Игрок будет двигаться через комнаты в типичном подземелье, сражаясь с различными монстрами с помощью «меча и магии». Постепенно он будет совершенствовать свои возможности получая опыт, повышая уровень, приобретая магическое снаряжение.

Однако, игра будет состоять не только из самого ведение боевых действий. Игрок также будет иметь возможность прокрасться мимо монстров, или вступить с ними в переговоры. Будут запертые двери и сундуки, и уникальные особенности подземелья, имеющие неожиданные эффекты. В игре не будет длинных описаний или диалогов, - в основном это будет типичный hack & slash. Вы будете двигаться по пути, пока не станете достаточно сильным, чтобы встретится лицом к лицу с финальным боссом, выполнить квест, и благополучно вернуться домой (в вашу стартовую комнату).

Правила разработки

Правило № 1: Время разработки ограничено одной неделей (включающей 40 часов)
На разработку игры должно быть потрачено в сумме не более 40 часов. Они будут включать время, потраченное на непосредственную работу над игрой и на ее обдумывание. Перерывы в разработке больше, чем десять минут, не будут учитываться. Это будет "идеальная" рабочая неделя из 40 высокопроизводительных часов.

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

Правило № 2: Использовать только бесплатные инструменты
За исключением программного обеспечения, которое поставляется с установкой Windows, используется только свободный софт, по возможности с открытым исходным кодом. Смысл этого - показать, что не нужны дорогие (или пусть даже дешевые) инструменты для разработки игры. На оборудование, такое как сканер, микрофон и цифровая фотокамера, данное правило не действует - если у вас их нет, будем считать, что их можно у кого-то одолжить.

Правило № 3: Нет движкам, только стандартные библиотеки / API
Игра должна быть создана "с нуля" без использования существующих игровых движков. Никакого обмана, и создания игры или каких-то ее частей с помощью конструкторов игр или использования подобного программного обеспечения.

Инструменты
Код:

Python 2,3 (http://www.python.org/)
PythonWin
PyGame (http://www.pygame.org/)
Py2exe – чтобы собрать что получится в исполняемый файл для распространения. (http://starship.python.net/crew/theller/py2exe/)

Gimp 2,0 (http://gimp-win.sourceforge.net/)
MS Paint (тот что идет с Windows) - для вставки скриншотов, захваченных клавишей PrintScreen (GIMP почему-то отказался это делать)
Бесплатные текстуры были взяты (http://www.textureartist.net/textures/index.htm) и (http://www.mayang.com/textures/)

Audacity (http://audacity.sourceforge.net/) плюс мой микрофон или бесплатные.

Расписание (План) работ
Расписания составляют, чтобы их потом нарушать, но все же они нужны, чтобы контролировать прогресс и строки, и вносить коррективы по мере необходимости.

Час 1-10: Базовая архитектура
Проектирование движка и основных компонентов. Получить отображения мира на экране. Я должен реализовать возможность перемещать тестового игрока по всему миру, и смотреть на вещи, а затем превратить то, что получится, в игровой редактор.

Час 11-20: Возможности игрока
Реализация всех основных возможностей для игрока - перемещение, атака, открытие дверей, смерть, подбор вещей и использование инвентаря. Создать каркас представления всех объектов в окружающей среде, для тестирования возможностей игрока во взаимодействии с миром.

Час 21-30: Оживление мира
Добавить искусственный интеллект, игровые события, ловушки, спецэффекты. К концу этого периода я должен иметь достаточно полное техно-демо, включающее все основные особенности игры.

Час 31-40: Добавление контента и правил
Получить из техно-демки полноценную игру. Добавить все дополнительное содержимое. Добиться завершенности и баланса игровой механики. Отшлифовать все, на что хватит времени, добавить спецэффекты, анимацию и т.д.

После 40 часов: Тестирование и релиз игры
Протестировать, и устранить найденные ошибки (не добавляя новые возможности!) Собрать все в кучу, и выложить в интернете. Завершить документацию.

Дневник разработчика Hackenslash: Игра за неделю

Час 1 – Дикое проектирование и базовые классы
Этот час был проведен за созданием некоторых базовых классов для игры - и использования их в дальнейшем проектировании. Мир будет представлен в виде последовательности комнат, соединенных порталом. Все в мире базируется на комнатах, подобно тому, как это было в старых адвенчурах или MUDах. Большинство объектов в игре представлены как " GameObject ", который имеет позицию и содержимое (в том числе может содержать и другие объекты - карта может содержать комнаты, в комнате может быть сундук, в сундуке - меч... и, я думаю, меч может содержать несколько комнат, но мы так делать не будем.)

Я создаю объекты creature (существо) и player (Игрок)
Я генерирую набор атрибутов для существ, и внедряю их в класс. Видимо я задрот, который играет слишком много в РПГ игры. Я пока еще не знаю точно, как будет выглядеть и работать игровая механика.
Я делаю объект room (комната), наследуемый от GameObject. У комнаты есть ширина, высота, и стены - и на текущий момент больше ничего.

Постепенно я начинаю понимать, как все будет работать, и вношу необходимые исправления. Я даже не пытаюсь использовать PyGame на данном этапе, и программа не показывает ничего, кроме консоли. Но я чувствую, что все что сделано - большой прогресс!

Час 2 - PyGame 101
Цель этого часа - инициализация PyGame, ну и начать хоть что-нибудь рисовать на экране. На самом деле, я провожу большую часть времени за чтением документации PyGame, пытаясь выяснить что там и как, поскольку у меня почти нет опыта использования PyGame или SDL.

Завершается этот час программой, отображающей пустой экран, заполненный черным цветом. Не впечатляет. На самом деле за этим окном есть много чего. Там реализован игровой цикл, переключение кадров, вызов нескольких классов, и много бездельничающих заглушек. Но это не делает черный экран более внушительным.

Час 3 - Если бы стены имели уши, я б их сильно отругал.
Цель этой часа – обозначить контуры комнаты стенами, и отобразить это на все еще черном экране. Чтобы сделать это, мне нужна комната, и мне нужна графика. Приходится много сидеть над GIMPом, правя загруженные из интернета текстуры, так чтобы они превратились в подходящие тайлы. Я создаю класс менеджера текстур. И я заполняю структуру образца комнаты. Я также потратил немного больше времени, просматривая документацию PyGame, чтобы найти что-нибудь еще, что можно использовать, дабы сделать работу легче.

Час прошел. А у меня все тот же черный экран. Стен как не было, так и нет.

Часа 4 – В гостинице появился свободный номер
После борьбы с некоторыми синтаксическими ошибками, я, наконец-то смог добиться появления стен на экране. Правда отображаются они неправильно, находятся не в указанном месте, да еще и со щелями между сегментами. Это ужасно. Но немного настройки и правки, и я получил на экране что-то похожее на комнату, размером 10 на 10 квадратов.

Не имея подробного плана проекта, действительно довольно легко запутаться, когда выполнив определенную работу Вы задаетесь вопросом "Что дальше?" Я решил, что если рисунок одной комнаты хорошо, то нарисовать две – вдвойне лучше.

Для хранения созданных комнат я создал файл "minidungeon".
Я начать добавлять логику порталов "portals" - отверстий в стенах, для перехода в другие комнаты (и предоставляющих всю информацию о смещении, необходимую для правильного отображения смежных комнат).

Час 5 - Hackenslash получает больше комнат

Я изменил название окна на "Hackenslash!". Просто потому, что это круто.
Я создал карту объектов для хранения комнат, и класс MapMaster содержащий несколько карт.
Я добавил вторую комнату и подключил к первой через портал.
Соседние комнаты подключены к текущей через порталы, и теперь отображаются на экране.
Я исправил некоторые ошибки отсечения, чтобы правильно отображались стены, частично выходящие за пределы окна.

Час 6 - за который мы улучшаем скил рисования

Добавил класс дверей, а также настроил карты для размещения двери (дверь должна быть общей для двух комнат). (Правка: Жаль, что я никогда это так и не использовал!)
Я создал еще 3 тайла стен, объединил их в одно изображение.
Графический вид стен изменяется в зависимости от типа.
Я делаю простую графику для вида сверху вниз.

Часы 7-8 – Вращения и восклицания!

Я разобрался, как в PyGame поворачивать растровые изображения.
Я добился плавного вращения тестового игрока. Много регулировок необходимо для корректировки угла вращения.
Я узнал, как использовать шрифты в PyGame, и я создаю несколько классов для отображения и анимации текста.
Добавил класс для автоматической обработки текста, поскольку данная функциональность будет часто использоваться в будущем.

Часы 9-11 – Елементы - бррр!

И вот опять, мне нужно решить вопрос "Что дальше?".

Комнатам нужно больше интересных элементов, поэтому нужно составить их список. Я не знаю, как их систематизировать, поэтому решил начать с общих. Я ввел три статических элемента, которые можно найти в типичной комнате в подземелье: ковер, колона(блок с той же функциональностью что и у стен), и лестница (позволяет переносится на новое место)

Я решил, что элементы могут занимать больше, чем один тайл, и могут быть повернуты на любой градус. (Правка: В ретроспективе, очень тупое решение - я провел слишком много времени на его реализацию, но оно оказалось почти бесполезным.)

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

Часы 12 - 13 - Нам нужен Лут!

Я создаю графику и код для вещей. Удивительно, как много времени может отнять рисование. Особенно раздражает, когда изображение имеет вид, будто курица лапой рисовала, сколько бы усилий к этому не прилагалось.

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

Час 14 - Ковры

Я сильно отстаю от графика, что же мне делать?
Черный фон кажется слишком уродливым, поэтому я замостил полы внутри комнаты коврами - отдельными тайлами.

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

Зато уровень теперь выглядит круто. Ну, по крайней мере круче, чем черный.

Часы 15-16 - Click! Click!

Я занялся управлением мышью и обработкой событий.
Добавил управление персонажем мышью. Движение пока происходит рывками, нет плавной прокрутки уровня.
Игрок может выйти за пределы комнаты, отсутствует проверка столкновений.
Я исправил несколько ошибок.
Помучил GIMP и создал красивые лестницы.
.
На разработку уже затрачено почти 17 часов, так что я начинаю немного нервничать. Я прошел 2/5 пути создания игры, - закончился второй "рабочий день" разработки. То, что у меня уже сделано впечатляет, но я понимаю, что сделать осталось много больше. У меня есть еще четыре часа, чтобы закончить основные возможности игрока, и вложится в график. Это будет трудно... но я все равно не жалею, что потратил лишнее время на рисование графики!

Час 17 – Плавно перемещаемся, пока не стукнемся лбом о стену

Большинство времени потрачено на доводку графики и исправление ошибок.
Добавлено обнаружения столкновений и плавная прокрутка, при движении игрока.
Игрок теперь может делать несколько шагов (оборотов) в ответ на действие мыши.

Час 18 - Переступаем пороги

Игрок теперь может проходить через порталы в другие комнаты.
Это вызывает косметический баг с взаимным перекрытием стен и полов между смежными комнатами.
Поправлено много ошибок, связанных с вращением, при котором порталы ставали непроходимыми.

Час 19 - Лестница в небо, Адское меню

Мой брат вызвался сделать музыку для игры. Он сделал музыку для Void War, и получилось довольно хорошо. Это напомнило мне, что нужно сделать воспроизведение звука (и музыки). Вроде бы в PyGame это сделать довольно просто, поэтому оно не должно занять слишком много времени. (Правка:. Я так и не нашел для этого времени, к сожалению в Hackenslash вы не услышите ни единого звука.)

Моя следующая цель состоит в обработке взаимодействия с существами и предметами. Мне очень нравится, как это сделано в The Sims и Neverwinter Nights, когда вы хотите взаимодействовать с игровым объектом, появляется контекстное меню. Я планирую реализовать что-то похожее.

Учу лестницы перемещать игрока в новую комнату.
Я немного проштудировал Интернет и документацию PyGame, ища, нет ли где открытых исходных кодов подобного меню на PyGame. И не нашел ничего.
Я начал делать собственное меню.

Часы 20 - 21 - Что там с меню?

Я продолжаю работать над меню. Меню может быть легко подключено к объекту, точнее объект как бы порождает меню, что позволило легко реализовать обратную связь для обработки выбора игрока.
Я начал работать над меню вещей. Оно уже появляется в нужном месте, и позволяет выбирать какой-нибудь пункт, но при нажатии пока ничего не делает, работает только кнопка закрытия меню.

Час 22 – Заснуть в процессе

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

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

Час 23 - Боевые параметры!

Я изменяю (ну фактически только начал работу) некоторые из атрибутов класса, созданные в первый час.
В правом верхнем углу я создаю панель, на которой будут отображаться параметры игрока.
Я оптимизировал это окно, превратив его в изображение, которое рисуется быстрее, чем шрифты. Обновления этого изображения происходит только тогда, когда изменяются связанные с ним параметры персонажа.

Час 24 - Меню игрока

Я завершил оптимизации для окна параметров.
Создал всплывающее меню, которое появляется, когда игрок кликнет на персонажа.
Я создал быстрое меню для использования зелий, кастования заклинаний и т. д.
Я исправил некоторые ошибки в работе меню.

Час 25 – До(раз)пиливаю полы и стены

Сегодня утром у меня в мозгу появилась идея (неужто у меня такой большой мозг, что в него вмещается столько идей?) как устранить проблему перекрытия стен в смежных комнатах (см. описание восемнадцатого часа). Что, если я буду рисовать только половинки стен? Таким образом перекрытия не будет вообще, и не нужно добавлять сложную логику для определения и исправления перекрытий.

Я начинаю работу над реализацией этой идеи. К сожалению, на самом деле придуманное упрощение еще больше усложняет отрисовку комнаты (в частности полов), и реализовать его можно не так быстро, как я надеялся. На создание и отлаживание этой системы было потрачено около часа. Но оно того стоило.

Отлаживая код, я обнаружил еще несколько ошибок, связанных с переходом между комнатами.

ПЕРЕРЫВ - Кризис!

Я только что осознал, что прошло больше чем 3/5 отведенного на разработку времени, и что осталось меньше пятнадцати часов, чтобы закончить игру. Посмотрев расписание необходимых функций игры, и прикинув, что на реализацию каждой нужно в среднем час, я понял, что на реализацию всего мне нужно около двадцати пяти часов. На десять часов больше, чем есть. Проект официально под угрозой срыва.

Выйти за пределы лимита времени мне нельзя. Также нельзя привлечь помощника или купить код/ресурсы, поскольку предусмотрено, что игру за 40 часов сделаю я один. Нужно придумать, как работать еще более эффективно – но я и так уже вкалываю на максимуме производительности. Похоже, у меня нет другого выбора, придется пересмотреть функционал, и решить, какие возможности выбросить из игры.

Двери: Вырезано! Я очень хочу сделать двери в игре. Жалко расставаться с этой функцией - тем более, что я уже некоторое время работал на ней. Но остается еще слишком много работ, например искусственный интеллект. И, наверное, понадобится 2-3 часа, чтобы заставить их работать, а их у меня нет.
Инвентарь: упростить! Забудьте о дополнительном инвентаре, и возможности смены оружия по желанию. Все, что подобрано и не стало текущим оснащением, будет сразу пересчитано в деньги.
Ловушки: упростить! Я хотел бы иметь множество ловушек с интересными и разнообразными последствиями их активации. Не судьба. Ловушки будет иметь простой визуальный эффект, наносить урон и временно увеличивать вероятность нарваться на случайного монстра
Луки (стрелковое оружие): Вырезано! В игре будет только оружие ближнего боя, на расстоянии можно атаковать заклинаниями.
Сохранение / загрузка игры: упростить! Сохранить можно только персонажа, а не состояние мира. (ПРАВКА: Я и этого не сделал!)
Система частиц: Отложить! Создание системы частиц перемещено в самый низ списка приоритетов. Я сомневаюсь, что придется их делать. Хотелось бы сделать впечатляющие визуальные эффекты с помощью частиц для заклинаний... но, скорее всего, этого никогда не будет.
Заклинания: упростить! У меня была серьезная концепция о заклинаниях: их можно было бы найти в виде свитков, и количество более десятка. Это грустно, но будет всего несколько заклинаний: Лечение, Урон, Ослабление, Усиление, и Восстановление. При повышении уровня, можно позволить игроку усилить заклинания за счет увеличения числа магических очков.
Анимация монстров и игроков: Вырезано! Я никудышный художник, чтобы сделать это достаточно быстро.

Принимая решение, что я не буду делать (или то, что отложу на после), не менее важно решить, что нужно сделать в первую очередь.

Есть много вещей, которые запланированные в игре, и которые я считаю очень важным – поиск ловушек, секретных дверей (ну теперь секретных проходов), и взлом сундуков. Но все же основой игры является бой. Поэтому я решил сосредоточится именно на нем, сделать его главным приоритетом. Я поставил перед собой цель, через полтора чала мои монстры оживут настолько, что их можно будет убить.

Отлично, с приоритетами разобрались, продолжаем разработку.

Час 26 - Бросим кости

Я работаю над механикой «игральных костей», - механизма, с помощью которого в игру будет внесен элемент случайности. Поскольку у нас нет ограничения реальных костей, мы можем получать случайное число любого желаемого диапазона. Например от 1 до 33, или от 6 до 17. Так что я могу бросить кости, сравнить то, что выпало со своей атакой и защитой врага. Если выпавшее число выше защиты, атака удалась.

Например, предположим, что у меня общее значение атаки 15. Я атакую монстра, у которого 10 защиты. Мои шансы 15 из 25 (25 =15 +10), или 3 из 5. Так игра будет генерировать случайное число между 1 и 25, и если оно выше десяти, я выиграю.

Для вычисления нанесенного урона используется немного другой способ. Я добавил защищающемуся параметр «броня», а атакующему "урон". Я генерирую случайное число от 1 до их суммы, а затем вычитаю броню. Если результат меньше единицы, урон не наносится. В противном случае, он равен полученному результату. Таким образом, если монстр, с уроном равным 10 атакует игрока с 5 очками брони, игра будет генерировать число от 1 до 15, из которого вычтет 5, то, что получится, и есть нанесенный урон.

Это объяснение и описание заняло больше времени, чем его реализация.

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

Вверх