Программы для создания игр 2D/3D. Как создать простую игру (пример)? Как спрограммировать игру


Как создать игру без навыков программирования / Хабр

Мечтаете создать свою игру, но мысли о том, что придётся учить языки программирования пугают вас? Вы гуманитарий? А может, у вас просто не хватает времени на изучение C# или Java? В любом случае, речь в этом посте пойдёт об игровых конструкторах. Для тех, кто не в курсе, это программы, в которых можно делать игры без написания кода. Конструкторы подходят для создания прототипов и участия в коротких Game Jams, которые сейчас популярны. 

Первое знакомство
Однажды мне довелось побывать на мастер-классе по прототипированию у одного известного левел-дизайнера, работавшего в одной из крупнейших IT-компаний в России. На мастер-классе каждому участнику предложили создать свою игру за 1 час, а в конце часа показать игру остальным. То есть я первый раз запускаю программу и через час должен создать игру? Обладая некоторым опытом работы в программах, где необходимо писать код, я не поверил, что такое возможно. К моему удивлению, все (я в том числе) успели сделать свою первую маленькую игру. Пусть и простую, но в нее можно было играть. Так во мне зародилась любовь к конструктору под названием Clickteam Fusion 2.5 (раньше назывался Multimedia Fusion). Ещё популярными конструкторами являются Game Maker Studio и Construct 2. В основном, я работаю в Clickteam Fusion 2.5 (далее CF 2.5). На её примере раскрою принцип работы таких программ и их возможности.

Как это работает
Сразу отмечу, что конструкторы предназначены для работы в 2D. Уверен, в ближайшее время появятся и полноценные 3D-аналоги. Если вы настроены попробовать себя в 3D, то без знания программирования, вы сможете создать только карты для популярных игр, которые имеют редакторы-карт. Это уже другая тема, а сейчас я расскажу, как же работать в конструкторе. 

При создании новой игры необходимо определить, для какой платформы хотите творить. Конструкторы дают возможность создавать игры для PC, IOS, Android, Html 5, Flash и т.д. Например, чтобы создать игру не только для PC, но и для IOS в программе CF 2.5, придётся докупить или скачать export module ios. Модуль конвертирует игру в код платформы – Xcode. Затем, через несколько нажатий, вы уже сможете тестировать игру на устройствах Apple (также нужен аккаунт разработчика Apple).

Ваша игра будет состоять из кадров (сцен). В каждом кадре можно создавать объекты, которые помогут вам решить любую задачу. Например, если это главное меню и вы хотите создать кнопку «Start», вам необходимо создать объект «active».

Окно «Редактор кадра».

Нажимаем правую кнопку мыши и выбираем «Insert object».

Выбираем объект «active».

Затем, нужно вставить в объект изображение кнопки или нарисовать во встроенном редакторе. В этом окне также можно создать покадровую анимацию. Один объект может иметь несколько анимаций (герой стоит, герой бежит, герой летит).

Окно «Графический редактор».

Осталось придумать событие, которое будет происходить с этим объектом. Для этого, переходим с вкладки «редактор кадра» на вкладку «редактор событий».

Выбираем из списка необходимые события (условия), при которых, произойдут установленные вами действия над выбранным объектом, группой объектов, кадром.

Если игрок нажимает левой кнопкой мыши на объект «Start», то —

— происходит переход на следующий кадр.

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

Ещё несколько примеров: — Если объект «шар» коснулся объекта «шип», то на экране появляется  надпись «вы проиграли», а объект «шар» меняет анимацию на «шар лопнул». — Если прошло более 5 секунд с начала запуска кадра, то в правом верхнем углу появляется объект «аптечка». — Если объект «птичка» коснулся объекта «червяк», то «червяк» исчезает, в объект «счётчик очков» прибавляется единица и один раз проигрывается звук «жалобный крик червя».

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

Active object – самый популярный объект, его используют для создания объектов взаимодействия (главный герой, враги, платформы, ящики и т.д.). Он может содержать много разных анимаций (герой стоит, герой бежит, герой стреляет), иметь встроенные стандартные механики движения и управления.

Counter object – создает всевозможные счётчики жизней, денег, очков и т. д. Может быть представлен как в виде цифр, так и в виде шкалы.

INI object – сохраняет данные после выхода игрока из игры. Можно использовать для сохранения месторасположения любых объектов в кадре.

Physic engine object – появление этого объекта в кадре создаёт гравитацию, параметры которой можно регулировать.

Joystick control object– для touch-устройств создаёт эмулятор джойстика.

IOS store object – даёт возможность сделать внутриигровые покупки для AppStore.

Admob object – позволяет поместить баннерную рекламу в игру.

Touch object – учитывает все касания к экрану touch-устройства. Например, можно создать такое событие: если игрок одновременно коснулся экрана тремя пальцами, то игра останавливается на паузу.

Если что-то не получается
У CF 2.5 есть отличная техподдержка, которая в течение 24 часов всегда отвечала мне. Ещё у них неплохой форум, на котором выложено много готовых кусков игр и рассказывается, как работать с новыми объектами. Не знаю, как дела с технической поддержкой у других конструкторов, но думаю, не хуже. Game Maker более популярен, чем CF 2.5 и, как мне кажется, тоже должен  иметь хорошую поддержку. Один мой знакомый работает на Construct 2, он никогда не слышал, чтобы возникали трудности. А на youtube.com выложено много роликов, где разжёвывают создания популярных механик для большинства конструкторов. 

Список популярных игр созданных на конструкторах
  • Five nights at fraddy's
  • Hotline miami
  • Uncanny valley
  • Hiper light drifter
  • Gods will be watching
  • Echo of the wilds
  • Arcane Soul
  • Savant – Ascent
  • Brazin' Aces
  • Super Ubie Land
  • Airscape: The Fall of Gravity
  • Our Darker Purpose
  • Mortar Melon
  • Who Is The Killer (Episode I)
  • Magnrtized
  • The Next Penelope
  • Concert jungle
  • Fort meow
  • Pitiri 1977
Итог
Конструкторы открывают огромный потенциал для создания игр. Особенно для мобильных устройств, на которых есть большой спрос на маленькие игры. Я уверен, что в ближайшем будущем такие компании, как Unity, приведут свой движок к ещё более простому виду. И люди, которые хотят делать игры, больше не будут беспокоиться о коде. 

habr.com

программы, особенности создания и рекомендации

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

Разработка игр

Программирование игр

С уверенностью можно сказать, что программирование игр — одна из сложнейших задач в сфере ИТ. Дело в том, что для создания хорошего проекта необходимо обладать довольно обширным объемом знаний. К примеру, нужно знать несколько языков программирования, уметь писать простой и понятный код, в котором нет ничего лишнего, и т.д. Именно по этой причине разработкой игр занимаются крупные геймдев-команды, которые состоят из сотни специалистов в различных областях.

Конечно, имеются и исключения из правила. К примеру, небезызвестный программист Маркус "Нотч" Перссон в одиночку создал "Майнкрафт" — игру, которая является одним из самых прибыльных проектов за последние 10 лет. Но для того, чтобы разработать что-то подобное, нужно быть настоящим асом своего дела и иметь за плечами огромный опыт.

Создание игр. Программирование

Начать создавать шедевры компьютерного мира теоретически может каждый. Но как можно понять, программирование игр - это очень сложно. Однако стать геймдевом может практически любой. Самое главное условие — много свободного времени и просто титаническая усидчивость. Допустим, у нас это имеется. Что же делать дальше?

В первую очередь нужно освоить хотя бы несколько самых популярных языков программирования. Без этого создать качественную игру вряд ли получится. Почему же несколько языков? Неужели одного недостаточно? Дело в том, что каждый programming language имеет свою четкую область применения. Ниже мы рассмотрим самые востребованные языки и их применение при программировании игр.

Языки

Пожалуй, наиболее универсальным языком в плане программирования игр является C++. Большинство современных игр и движков для них пишутся именно на нем. В чем же особенность данного языка? Пожалуй, одно из главных достоинств C++ заключается в огромном количестве всеобъемлющих библиотек. Благодаря этому посредством данного языка можно написать все что угодно: от маленькой инди игрушки до крупного проекта ААА класса.

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

Создание игр программирование

Python — это, пожалуй, лучший выбор для начинающего геймдева. Во-первых, синтаксис языка довольно прост. Для того чтобы начать программировать на Пайтоне, достаточно прочитать туториал и обладать нативным уровнем английского. Во-вторых, возможности данного языка программирования достаточно широки. Конечно, Пайтону не угнаться за C++ в плане функциональности. Тем не менее посредством Python можно создать вполне достойный софт (в том числе и игру). К примеру, на Пайтоне написаны такие игры, как "Батлфилд" (2005), "Цивилизация 4", "Симс 4" и много других проектов, которые стали настоящими хитами.

Java — еще один претендент, который определенно достоин внимания. Пожалуй, главное достоинство данного языка — полная кроссплатформенность. Это означает, что софт, написаный посредством "Ява", поддерживается всеми операционными системами ("Виндовс", "Линукс", "Андроид" и т.д.). Это позволяет быстро переделать игру под любую платформу. Помимо этого, Java дает программисту массу возможностей. За примерами далеко ходить не нужно. Вышеупомянутый "Майнкрафт" был написан именно на "Яве".

Создание игр без программирования

Создание игр без программирования

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

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

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

Программы для создания игр

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

Игры без программирования

Пожалуй, сама известная программа для разработки игр — Game Maker. Она предназначена для создания двухмерных проектов. Делать игры можно без навыков программирования. Вместо строчек кода пользователю предоставляют набор готовых действий. Все, что нужно сделать — создать объекты и определить правила взаимодействия между ними. Также стоит подметить, что рисовать спрайты можно прямо в Game Maker без использования посторонних программ. Поэтому софт является вполне самодостаточным. Мало того, Гейм Мейкер не обидит и продвинутых юзеров, которые обладают навыками программирования. Ведь в программе есть возможность добавлять свой исходный код. Посредством Game Maker можно создавать игры с видом сверху (РПГ, тактический шутер и т.д.) и сбоку (платформер).

Construct 2 — это еще один конструктор для разработки 2D-игр. Пожалуй, главная особенность данной программы — мультиплатформенность. Посредством "Конструкта" можно создавать игры для iOS, Android, Windows, Web и т.д. В плане функциональности Construct 2 ничем не уступает тому же "Гейм Мейкеру".

Вывод

Программы для программирования игр

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

fb.ru

Разработка игр. С чего начать? | GeekBrains

Что должны учитывать будущие разработчики игр? С какого языка начать обучение? К чему стремиться? На кого равняться? И что необходимо сделать в первую очередь?

Что должны учитывать будущие разработчики игр? С какого языка начать обучение? К чему стремиться? На кого равняться? И что необходимо сделать в первую очередь?

Большинство любителей рок-музыки рано или поздно берут в руки гитару. Фанаты спорта страстно мечтают о выходе на футбольное поле, баскетбольную площадку или теннисный корт. Ну а те, кто совершил сотни угонов в GTA, провел десятки часов в компьютерных клубах за Counter-Strike или достиг немалых успехов в MMORPG, наверняка задумываются о карьере разработчика игр.

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

К чему стремиться?

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

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

Какой язык учить?

Кроме того, от цели зависит и ответ на животрепещущий вопрос: с какого языка программирования стоит начинать?

Так, будущим разработчикам игр вроде Minecraft и мобильных приложений под Android стоит обратить пристальное внимание на Java. Для начала советуем пройти интенсив "Основы Java-программирования", тем более, что это бесплатно. Тем, кто заглядывается в сторону iOS – на Objective-C. Для браузерных игр порой хватает знания Ruby-On-Rails. Для совсем маленьких и простых временами достаточно HTML. В производстве Flash-игр используется ActionScript, а для написания скриптов любой сложности вам понадобится JavaScript или, возможно, не столь распространенная Lua. Для создания же небольших консольных игр требуется знание C#.

Что до наиболее крупнобюджетных игр (так называемого класса AAA), то большинство из них оснащены своим или заимствованным у коллег "движком". Нередко, впрочем, весь "движок" или его большая часть написана на C++. Именно этот язык использовался при создании множества известных "игрушек" – от Doom 3 и Call Of Duty до FIFA и The Sims. В то время как классика вроде Quake была написана на C.

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

Достаточно ли одного языка?

Одна из прелестей программирования – возможность постоянного саморазвития. В разработке же игр (особенно крупных) самосовершенствование, в том числе изучение как можно большего количества языков, – не прихоть, а жизненная необходимость. Так, опытные разработчики, трудящиеся на благо гигантов игровой индустрии, нередко сталкиваются с необходимостью поочередно писать на 7-8 языках. При этом, помимо вышеуказанных языков, им приходится изучать, к примеру, Python либо и вовсе SQL (как вы понимаете, для создания баз данных).

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

С ЧЕГО НАЧАТЬ?

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

Практически все опытные разработчики вне зависимости от регалий и таланта начинали с небольших приложений: настольных игр, вариаций известных "игрушек", простеньких "флэшек". Тогда они не думали о крупных выставках вроде E3, а накапливали бесценный опыт. Почему бы не последовать их примеру? При этом не обязательно писать архисложный код. Для дебюта достаточно использования специальных программ для создания игр (к примеру, Game Maker). Ведь даже благодаря несложному инструментарию вы значительно облегчите себе жизнь. Во-первых, в миниатюре поймете логику и структуру практически любого игрового приложения. Во-вторых, набьете шишки, которые заживут во время перехода к серьезным проектам. Наконец, в-третьих, обогатите портфолио. Ведь даже простая "игрушка" требует массу времени, терпения и творчества для выдумки концепции, написании кода и устранения багов. Кроме того, показывает, что с производством игр вы знакомы не только в сухой теории.

Что брать за ориентир?

Тот, кто мечтает стать писателем, прочитает сотни книг перед тем, как напишет хотя бы одно слово. Мастера игры на фортепиано на зубок знают лучшие произведения Штрауса, Шопена и Бетховена. Известные же художники перед крупными выставками наизусть заучивали историю искусств.

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

Автор: Александр Мороз

geekbrains.ru

Как начать писать игры / Хабр

Оригинал: Starting out on Game Programming

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

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

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

Выбор проекта

Итак, с чем же начать? Проще ответить с чего начинать не стоит, а именно с больших проектов, типа полноценной 3D FPS, MMO или даже длинного платформера 16-битной эпохи. Самая распространенная ошибка начинающих разработчиков это начать с большого проекта основанного на Крутой Идее или взять проект, который кажется простым, и закончить с полузаконченной кучей спагетти-кода. Поначалу следует создавать небольшие проекты.

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

Принимая во внимание все выше написанное, вот пара советов с чего начать.

Графика и обработка событий

Если вы никогда не программировали ничего связанного с графикой или GUI, вам следует начать с чего то маленького, чтобы «обмочить ноги». Моим первым проектом были крестики-нолики, так что даже у меня было скромное начало. Пара идей для первого проекта:
  • Симулятор однорукого бандита
  • Black Jack
  • Крестики-нолики
  • Четыре в ряд

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

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

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

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

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

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

Duck Hunt и Pong — хорошие проекты для тех, кто уже имеет опыт в программировании графики и событий. В них есть простое обнаружение столкновений и все важные основы игр в реальном времени.

Space Invaders и Galaga — хороший выбор для второго/третьего проекта. В них есть уровни, поэтому вам нужно будет узнать как передвигаться от уровня к уровню, при помощи конечного автомата. Вы можете прочитать про конечные автоматы здесь(англ.). Игры в стиле «перестреляй их всех» так же требуют создать простые шаблоны поведения для врагов, что является шагом в сторону искусственного интеллекта.

Тетрис хорош для второго/третьего проекта. В нем совсем немного логики нужной для создания игры-головоломки. Это игра приличного размера, так что вам придется научиться разделять вашу программу на несколько исходных файлов, о чем вы можете больше прочитать здесь(англ.). Не недооценивайте Тетрис. Я недооценил и только посмотрите на это жуткое месиво в коде Lazy Blocks.

Переинженеринг
Типичная ошибка новичка это попытка сделать Самую Лучшую Игру Всех Времен, заканчивающаяся переинженерингом. То есть когда он пытается написать самую лучшую игру/движок и это все заканчивается тем, что используется только маленькая часть того что было понаписано.

Когда я был начинающим я переинженерил AI для крестиков-ноликов. Я хотел сделать игру с непобедимым AI. Мне удалось достигнуть этого, запрограммировав компьютер на знание всех возможных ловушек. Звучит круто не правда ли? Это заняло почти 40 000 тысяч строк в основном скопированного кода и месяц моего свободного времени. Позже я выучил структуры данных и узнал про алгоритм Минимакс, который при меньшем размере кода не только делал нужное, но еще и делал это лучше.

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

Планирование, анализ столкновений, физика, уровни, искусственный интеллект

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

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

Теперь про вашу следующую игру. Break Out и Puzzle Bobble хороши для третьего проекта, потому что они включают в себя продвинутое распознавание столкновений и физику. Физика важна, поскольку дает игре реалистичное ощущение. Даже в Super Mario Brothers есть ощущение гравитации и инерции. Бильярд отличный проект для тех, кто хочет напрячь извилины физикой.

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

Break out и Puzzle Bobble так же включают дизайн уровней и требуют загрузки и освобождения их ресурсов. Хорошим опытом будет создание редактора уровней для игры. Редакторы позволяют вам легко создавать уровни и не вынуждают впаивать их в приложение. У меня есть статья(англ.) про создание редактора уровней.

Так же вы возможно хотите попрактиковаться в написании искусственного интеллекта (AI). Один из вариантов — вернуться к крестикам-ноликам или четырем в ряд и написать непобедимый AI. Теперь вы уже должны знать структуры данных и сможете использовать знания о деревьях для использования алгоритма Минимакс. С этим алгоритмом вы можете просчитать все возможные исходы крестиков-ноликов и создать непобедимый AI. Забавно расстраивать им своих друзей. Так же вы возможно захотите сделать разные уровни сложности. Игра не приносит радости, если в нее нельзя выиграть.

Pac Man — отличный способ попрактиковаться в написании AI. Нужно будет знать структуры деревьев/графов и алгоритмы поиска, типа A*, для того чтобы призраки могли пройти через лабиринт. Так же нужно будет сделать чтобы призраки работали в команде. Все это пригодится когда вы будете делать игры со сложным AI, типа стратегий в реальном времени. Об основах AI можно прочитать тут(англ.).

Платформеры, Action/Adventure, RPG, RTS, движки

Теперь, когда вы получили опыт создания хорошо спланированной игры, вы готовы к созданию Action/Adventure/Платформера. Это будет кульминация графики, движения, анимации, анализа/обнаружения столкновений, физики, AI, программной архитектуры и всего остального, что вы изучите к этому моменту. Тем кто более амбициозен, можно предложить сделать стратегию в реальном времени(RTS) или ролевую игру(RPG). Будьте осторожны, потому что RPG и RTS действительно огромные проекты.

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

RTS также сложны архитектурно, а так же требуют много AI. Вам нужно будет делать поиск пути для юнитов, получение ими команд, разное поведение в зависимости от полученных команд. Если вы никогда до этого не делали AI, будет лучше начать с клона Pac Man'а для начала.

Вероятно вам впервые придется делать движок для вашей игры. Чего следует избегать, так это создания универсального движка. Создавая движок не пытайтесь сделать его подходящем для любой игры. Если ваша игра требует x, y и z, делайте движок который умеет x, y и z. Движки создают исходя из того что нужно для конкретной игры, а не из того что любой игре может потенциально понадобится.

Другая распространенная среди новичков ошибка — это попытка создать движок в качестве первого проекта. И обычно это универсальный движок. Вам не нужен движок с фантастической графикой для создания Pong'а или Space Invaders. Программируя, легко закопаться в деталях. Концентрируйтесь на общей картине и завершайте свои игры.

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

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

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

После того как ваш первый сетевой проект готов, попробуйте сделать что-нибудь в реальном времени. В вашем первом сетевом приложении вы, вероятно, использовали TCP, чтобы быть уверенным в том, что данные которые вы принимаете доходят в том порядке, в котором вы их посылали. Для игр в которых происходит много действий, задержки создаваемые TCP вероятно будут слишком велики, так что вам придется использовать UDP. UDP не гарантирует порядок доставки как и саму доставку вообще. Так как UDP не делает дополнительных проверок целостности он быстрее. Вам придется пожертвовать легкостью использования TCP, в обмен на скорость UDP и необходимость самостоятельной проверки целостности данных при создании игры.

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

Хорошая новость в том, что если вы уже сделали 4 или 5 игр, вы уже знаете основы необходимые для создания игры. Вы уже хорошо знакомы с процессом разработки и знаете свои возможности как программиста. Неважно трехмерный шутер или двухмерный, он по прежнему шутер. 2D RPG или 3D RPG по прежнему RPG.

Не считайте это оправданием пропустить 2D и сразу перейти к 3D. Прежде чем научиться бегать, нужно научиться ходить.

Быстрый способ
Говорите, что вы учитесь быстрее если сразу возьметесь за дело и будете просто писать вашу 3D MMOFPSRTSRPG и научитесь тому, что нужно по мере необходимости? Чтож, вот пару советов, которые вам помогут:
  1. Идите на местный рынок
  2. Купите целую рыбину. Рекомендую взять лосося или треску, хотя и сом тоже подойдет. Форель, кстати, тоже довольно эффективна
  3. Идите домой и включите компьютер
  4. Запустите вашу любимую IDE
  5. Теперь возьмите купленную рыбу и влупите себе по голове
  6. Повторите пункт 5, пока мысли о быстром способе не покинут вас
Вы не научитесь алгебре решая вычислительные задачи. Вы учите основы и опираетесь на них. Тоже самое и с программированием. Если вы ищите быстрый способ я тут как тут, чтобы сказать вам что его нет. Не торопите себя. Еще раз: учите основы и опирайтесь на них. Иначе вас ждет фиаско.
Путешествие начинается
Теперь, чтобы у вас было общее понимание того что же все-таки делать, пора начать заниматься игроделом. Я не ожидаю что вы будете следовать этому руководству слово в слово. Все учатся по разному и с разной скоростью. Если вы что-то и должны были вынести из этой статьи, так это три вещи:
  1. Выберите свой темп
  2. Доделывайте игры до конца
  3. Концентрируйтесь на обучение, а не просто на создании
Удачи вам на пути разработки игр!

habr.com

Игры, которые учат программированию / Хабр

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

У каждого есть возможность воспользоваться специально созданной для обучения школьников средой программирования Scratch, которую разрабатывают специалисты одного из самых престижных технических учебных заведений США и мира — Массачусетского технологического института. Или игрой Minecraft, за которую Microsoft год назад заплатила $2,5 млрд и с помощью которой, в том числе, планирует обучать детей программированию. Или обучающими играми, которые создают энтузиасты и добровольцы во всём мире.

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

Code.org

Ресурс создан для детей от 4-х до 10-и лет, но, как утверждают его создатели, подойдет пользователям всех возрастов. Обучение начинается с самых азов — с обучения использованию мышки. Используется scratch-подобный язык состоящий из блоков. Играя ребёнок разберётся с азами программирования, узнает как алгоритм превращается в JavaScript-код и создаст свою собственную компьютерную игру.

Minecraft

Minecraft — совместный проект Microsoft и Code.org. Игра рассчитана на детей от 6 лет и предполагает решение различных задач при помощи построения алгоритмов. Это позволяет детям освоить основы программирования, понять как работают его базовые механизмы.

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

Скретч

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

Blockly

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

ПиктоМир

ПиктоМир, разработанный НИИСИ РАН по заказу Российской академии наук, — наш ответ зарубежным аналогам. В НИИСИ РАН уже разработали систему «КуМир», в которой с программированием знакомятся старшие школьники, но игрового элемента в ней нет.

Сюжет игры: на картинке изображен космодром, с которого стартуют космические корабли, и при старте они выжигают покрытие. А поскольку там всё горячее и радиоактивное, то людей посылать восстанавливать покрытие нельзя, и туда посылают робота-вертуна (подозрительно похожего на R2D2). Этому роботу нужно задать программу, чтобы он сам не разбился о бордюрчик (робот в этом случае краснеет) и всё выгоревшее залил защитным составом.

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

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

zesetup напоминает про игру Colobot.

Colobot

Колобот — 3d стратегия, разработаная компанией Epsitec в 2001. Игра призвана обучить детей (от 10 лет и старше) навыкам программирования в игровой форме. Геймплей заключается в создании программ для роботов. Цель — подготовить планеты для заселения и добычи полезных ископаемых.

Особенностью игры является возможность создавать программы, в соответствии с которыми в игре действуют роботы (задавая им алгоритмы самостоятельной работы и заменяя ими монотонные действия, которые может делать и сам игрок), поэтому считается, что игра способствует обучению программированию. Язык программирования, встроенный в игру, похож на C++ или Java, но имеется ограничение на размер программы — не более 20 000 символов, что не позволяет писать серьёзные программы вроде имитации искусственного интеллекта. К каждой миссии прилагается обширная справка с объяснением что необходимо сделать. Также зачастую там есть шпаргалка — готовая программа (или куски программы) с помощью которой можно решить поставленную задачу.

Существует русская локализация игры.

Microsoft Imagine

Microsoft Imagine предлагает средства для обучения и разработки, начиная с самой первой игры или приложения до облачных исследовательских проектов с использованием больших данных. Приложения распределены по уровням сложности. Самые простые из них доступны детям 9-10 лет, более сложные предназначены для старшеклассников и студентов. Использование только некоторых приложений доступно в браузере, для запуска остальных требуется установка бесплатного ПО и операционная система Windows. Ежегодно проводится конкурс Imagine Cup, в котором могут принять участие школьники, студенты и аспиранты из разных стран мира. Главным заданием участников является разработка идеи проекта или игры и создание её прототипа с помощью современных информационных технологий.

JavaRush

JavaRush — изучение программирования на Java в виде онлайн-игры. Каждому уровню соответствует отдельная солнечная система на звездной карте. Лекциям внутри уровня — планеты солнечной системы. Каждая открытая лекция – это перелёт на очередную планету. Когда все лекции открыты, корабль перелетает к следующей звездной системе. Весь курс Java Core на JavaRush состоит из сорока уровней. Первые 10 уровней доступны всем, уровни 11 и выше доступны при наличии платной подписки.

На каждом уровне JavaRush 10-15 мини-лекций, так что 10 бесплатных уровней — это около 140 лекций и где-то 230 задач. Достаточно, чтобы вы определились, подходит вам JavaRush или нет.

Code Combat

Разработчики Code Combat предлагают учиться программированию, захватывая земли и побеждая врагов в лучших традициях RPG.

Начинать играть можно «с нуля», не имея о программировании никакого представления. Пользователь может выбрать язык программирования, который хочет освоить: Python или JavaScript. Уровни игры выстроены как хороший курс программирования с нарастающей сложностью.

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

Игра имеет 80 бесплатных уровней и открытый программный код. Сотни игроков из разных стран приложили свой талант к тому, чтобы CodeCombat стал лучше. Именно благодаря этому мир воинов и магов оказался быстро переведён на разные языки, в том числе на русский.

Нужно научиться программировать? Вам не нужны уроки. Вам нужно написать много кода и хорошо провести время, занимаясь этим. Это сущность программирования. Это должно быть весело. Не в том смысле, когда «уау, бейдж», а в том, когда «нет, мама, я должен закончить уровень». Вот почему Code Combat — это многопользовательская игра, а не курсы. Мы не остановимся, пока вы не сможете остановиться — но на этот раз это действительно хорошо. (из описания на сайте проекта) UPD После 18 уровней в игре появляются две ветки — одна платная, вторая бесплатная. В игре 80 бесплатных уровней. По платной подписке доступны 60 дополнительных уровней.

Ещё статьи по теме:12 игр, которые обучают детей программированиюМой опыт обучения детей 8-10 лет программированию на ScratchПриключенческая игра, в которую играют путем изменения её Javascript-кодаFightCode: танковые войны на JavaScriptОбучение программированию через игру или как быстро собрать весь мёдColobot и Ceebot

habr.com

5 игр, которые научат вас программировать / Полезное / FREELANCE.TODAY

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

 

Однако, когда грызть гранит науки не получается или уже нет сил, можно пойти другим путем. Как это ни удивительно, но научиться писать код можно просто играя в игры. Да-да, именно так. FreelanceToday предлагает вашему вниманию 5 игр, которые научат вас программировать.

 

CODECOMBAT

 Изучение программированию

СodeCombat – это ролевая HTML5-игра, которая научит вас основным понятиям программирования. В CodeCombat вам нужно провести своего персонажа через несколько уровней игры, в каждом из которых героя ждут интересные приключения. Первый уровень, «Подземелье Китгарда», охватывает основные концепции программирования. На протяжении всего путешествия игрок все время сталкивается с проблемами кодирования и, если он успешно их преодолеет, то переходит на следующий уровень. За успешное прохождение уровня игроку начисляются очки, которые он может использовать для прокачки своего героя.

Изучение программирования с помощью игр 

CodeCombat рассчитан на молодых людей, которые хотели бы стать программистами. Согласно данным опроса, проведенного владельцами игрового сайта, 62% пользователей CodeCombat – это молодежь возрасте до 18 лет.

Игровое обучение программированию 

Игра поддерживает несколько языков программирования: JavaScript, CoffeeScript, Lua, и Python. CodeCombat охватывает множество аспектов создания кода: строки, переменные, вызов метода, векторную графику и многое другое.

 

CODE HUNT

Обучающие компьютерные игры 

Code Hunt – это научно-фантастическая HTML5-игра, созданная компанией Microsoft Research. В этой игре нужно попытаться исправить неправильный код для того, чтобы программа начала работать. Игра насчитывает 14 уровней, которые называются секторами. Пойдя все сектора, игрок получает некоторое представление о том, как пишется и работает код.

Изучение программирования с помощью игр 

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

 

CODINGAME

Сложные игры для программистов 

CodinGame представляет собой большой набор сложных игр для программистов. Если вы хотите улучшить свои навыки программирования, то игры CodinGame – это как раз то, что нужно, для того, чтобы совместить приятное с полезным. Игра поддерживает свыше 20 языков, в частности можно отметить PHP, C и JavaScript.

Обучающие игры

Пользовательский интерфейс многофункциональный и может быть изменен по желанию игрока. К примеру, можно выбрать стиль редактора кода. По умолчанию используется тема Classic, но стиль можно поменять на Emacs или Vim. В CodinGame можно играть как одному, так и с другими программистами – игра поддерживает многопользовательский режим, в котором можно совместно с другими игроками решать возникшие проблемы.

 

SCREEPS

Изучение программиирования 

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

Компьютерное обучение 

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

 

FIGHTCODE

Обучающая игра FightCode 

Правила игры FightCode очень просты – вам нужно создать робота, который должен победить роботов других игроков. Как создать робота? При помощи JavaScript. К примеру, вы можете использовать метод .rotateCannon () чтобы повернуть оружие вашего робота в нужном направлении, если ему угрожает опасность (происходит событие).

Основы создания кода 

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

freelance.today

Программы для создания игр 2D/3D. Как создать простую игру (пример)?

создание-игрЗдравствуйте.

Игры… Это одни из самых популярных программ, ради которых многие пользователи и покупают компьютеры и ноутбуки. Наверное, ПК не стали бы так популярны, если бы на них не было игр.

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

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

 

1. Программы для создания 2D игр

Под 2D — понимают двумерные игры. Например: тетрис, кот-рыболов, пинбол, разные карточные игры и пр.

Пример-2D-игры---карточная-игра-Солитер

Пример-2D игры. Карточная игра: Солитер

 

 

1) Game Maker

Сайт разработчика: http://yoyogames.com/studio

Процесс создания игры

Процесс создания игры в Game Maker…

 

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

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

Нельзя не отметить большое разнообразие эффектов и действий, которые можно задавать различным объектам (будущим персонажам) в этом редакторе: количество просто поражает — более нескольких сотен!

 

2) Construct 2

Сайт: http://c2community.ru/

работа с редактором Construct 2

 

Современный игровой конструктор (в прямом смысле этого слова), позволяющий даже начинающим пользователям ПК делать современные игры. Причем, хочу подчеркнуть, при помощи этой программы игры можно изготавливать для разных платформ: IOS, Android, Linux, Windows 7/8, Mac Desktop, Web (HTML 5) и пр.

Этот конструктор очень похож на Game Maker — здесь так же нужно добавлять объекты, затем прописать им поведение (правила) и создать различные события. Редактор построен по принципу WYSIWYG — т.е. вы сразу же будете видеть результат по мере создания игры.

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

 

2. Программы  для создания 3D игр

(3D — трехмерные игры)

1) 3D RAD

Сайт: http://www.3drad.com/

создание-игр-в-3d-rad

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

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

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

 

2) Unity 3D

Сайт разработчика: http://unity3d.com/

создание-игр-в-unity3d

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

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

Пожалуй, единственный недостаток у этого пакета — это необходимость знания программирования на C# или Java — часть кода при компиляции придется дописывать в «ручном режиме».

 

3) NeoAxis Game Engine SDK

Сайт разработчика: http://www.neoaxis.com/

создание-игры-в-GAME-ENGINE-SDK

Бесплатная среда разработки практически любых игр в формате 3D! При помощи данного комплекса можно делать и гонки, и стрелялки, и аркады с приключениями…

Для движка Game Engine SDK в сети имеется немало дополнений и расширений под множество задач: например, физика автомобиля или самолета. При помощи расширяемых библиотек вам даже не понадобиться серьезное знание языков программирования!

Благодаря специальному плееру, встроенному в движок, игры созданные в нем могут воспроизводиться во множестве популярных браузерах: Google Chrome, FireFox,  Internet Explorer, Opera и Safari.

Game Engine SDK распространяется как бесплатный движок для некоммерческих разработок.

 

3. Как создать 2D игру в редакторе Game Maker — пошагово

редактор Game makerGame Maker — очень популярный редактор для создания не сложных 2D игр (хотя разработчики уверяют, что игры в нем можно создавать практически любой сложности).

В этом небольшом примере я хотел бы просто показать пошаговую мини-инструкцию по созданию игр. Игра получиться очень простая: по экрану будет перемещаться персонаж «Соник» стараясь собирать зеленые яблоки…

Начав с простых действий, добавляя попутно новые и новые возможности, кто знает, может ваша игра и станет со временем настоящим хитом! Моя же цель в этой статье, лишь показать с чего начать, ведь начало — это самое трудное для большинства…

 

Заготовки для создания игры

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

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

2. Создать картинки своего персонажа, объекты с которыми он будет взаимодействовать. Например, если у вас будет медведь собирать яблоки — значит вам минимум нужно две картинки: медведя и самих яблок.  Так же возможно вам понадобиться фон: большая картинка на которой и будет происходить действие.

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

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

 

Пошаговое создание мини-игры

1) Первое что необходимо сделать — это добавить спрайты наших персонажей. Для этого на панели управления программы есть специальная кнопка в виде рожицы рожица. Нажимаем ее для добавления спрайта.

1-создание спрайтов

Кнопка создания спрайта.

 

2) В появившемся окне нужно нажать кнопку загрузки спрайта, затем указать его размеры (если требуется).

2-редактирвоание спрайтов

Загруженный спрайт.

 

 

3) Таким образом нужно добавить все свой спрайты в проект. В моем случае получилось 5 спрайтов: Соник и разноцветные яблоки: зеленый кружок, красный, оранжевый и серый.

3-добавленные спрайты

Спрайты в проекте.

 

 

4) Далее в проект нужно добавить объекты. Объект — это важная деталь в любой игре. В Game Maker под объектом понимается игровая единица: например, Соник, который будет перемещаться на экране в зависимости от клавиш, которые вы будете нажимать.

Вообще, объекты — достаточно сложная тема и объяснить ее в теории в принципе невозможно. По мере работы с редактором, вы более детально ознакомитесь с огромной кучей возможностей объектов, которые предлагает вам Game Maker.

А пока создадим первый объект — нажимаем кнопку «Добавить объект» .

Game Maker. Добавление объекта.

 

5) Далее для добавленного объекта выбирается спрайт (см. скриншот ниже, слева + сверху). В моем случае — персонаж Соник.

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

Чтобы добавить событие, щелкните кнопку с одноименным названием добавление события — затем справа в столбике выберите действие для события. Например, перемещение по горизонтали и вертикали, при нажатии клавиш стрелок стрелки перемещения персонажа.

5-добавление событий к объектам

Добавление событий к объектам.

6-результат добавления событий

Game Maker. Для объекта Соник добавлены 5 событий: перемещение персонажа в различных направлениях при нажатии клавиш-стрелок; плюс задано условие при пересечении границы игровой зоны.

 

Кстати, событий может быть очень много: здесь Game Maker не мелочиться, программа предложит вам много всего:

— задание перемещение персонажа: скорость перемещения, прыжки, сила прыжка и пр.;

— накладывание произведения музыки при различных действиях;

— появление и удаление персонажа (объекта) и т.д.

Важно! Для каждого объекта в игре нужно прописать свои события. Чем больше событий для каждого объекта вы пропишете — тем разностороннее и с большими возможностями получиться игра. В принципе, даже не зная что конкретно сделает то или иное событие, можно тренироваться добавляя их и смотреть как поведет себя игра после этого. В общем-то, огромное поле для экспериментов!

 

6) Последнее и одно из важных действий — создание комнаты. Комната — это своего рода этап игры, уровень, на котором и будут взаимодействовать ваши объекты. Чтобы создать такую комнату, нажмите кнопку со следующим значком: создание комнаты.

7-добавление комнаты

Добавление комнаты (этапа игры).

 

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

8-на поле Соник и зеленые шарики

 

7) Чтобы запустить полученную игру — нажмите кнопку F5 или в меню: Выполнить/обычный запуск.

2015-02-08 12_20_26-_new game__ - Game Maker 8.0 Lite

Запуск полученной игры.

 

Game Maker откроет перед вами окно с игрой. Фактически, вы можете смотреть, что у вас получилось, экспериментировать, играть. В моем случае Соник может перемещаться в зависимости от нажатия клавиш на клавиатуре. Своего рода мини-игра (эх, а были времена, когда белая точка, бегающая по черному экрану, вызывала дикое удивление и интерес у народа…).

9-запущенная игра

Полученная игра…

 

Да, конечно, полученная игра примитивная и очень проста, зато пример ее создания очень показателен. Далее экспериментируя и работая с объектами, спрайтами, звуками, фонами и комнатами — можно создать очень даже не плохую 2D игру. Чтобы создавать подобные игры лет 10-15 назад необходимо было обладать специальными знаниями, сейчас — достаточно уметь вращать мышку. Прогресс!

С наилучшими! Всем удачного игро-строя…

Оцените статью: Поделитесь с друзьями!

pcpro100.info