ГЛАВНАЯ Визы Виза в Грецию Виза в Грецию для россиян в 2016 году: нужна ли, как сделать

Как научится создавать игры. Создание игр для начинающих

Эта статья является первой в целом цикле материалов для тех, кто хочет стать создателем игр. Если вы молоды, амбициозны и полны идей, а руки чешутся сделать "убийцу GTA" или "MMORPG типа WoW, но круче", то вы нашли то, что искали - руководство новичка по созданию игр . Моя цель - дать читателю общее представление о том, как же всё-таки выглядит процесс создания игр и развеять те иллюзии, которые могли сложиться на этот счёт, чтобы в последствии вы смогли избежать ошибок, совершаемых многими. Как и в любом деле, половина успеха - это правильная подготовка, поэтому чем полнее вы с самого начала будете представлять себе всю картину - тем большего успеха сможете добиться.

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

1. Создание игр для начинающих






Начинающий Разработчик Игр - В Простонародии "Чайник"

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

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

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

Создание Игр - Развлечение?

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

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

Типовой Портрет Начинающего Разработчика

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

При ближайшем рассмотрении идея оказывается клоном чего-то популярного и известного, "но лучше". Так как представления о том, чего же, собственно, хочется, и как организовать продуктивную работу, нет, то в команду приглашаются все либо почти все. В итоге такая "команда" складывается из случайных людей, которые в течение недели-двух создают видимость бурного обсуждения "проЭкта", иногда даже что-то пытаются сделать (вроде 3D-модели из набора примитивов), но примерно через это же время былой энтузиазм сходит на "нет", у членов команды появляются неотложные дела/сессия/уроки/бабушка заболела и вся затея благополучно рассыпается как карточный домик. Знакомая картина?..

Разработка Игр - Профессия или Хобби?

Разработка игр для многих является просто хобби (т.е. увлечением), но некоторые люди связывают с индустрией разработки игр свою карьеру и становятся профессиональными разработчиками. Естественно, что вопрос о том, есть ли разница между любителем и профессионалом, не стоит - она есть и весьма существенна. В то же время некоторые любители имеют куда более высокий уровень, чем отдельные "профессионалы", так что сам факт принадлежности к одной из этих двух групп не является определяющим. Тем не менее, некоторый отпечаток он всё же накладывает.

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

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

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

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

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

Цена Идеи для Игры


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

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

Задумайтесь: когда в последний раз вы видели действительно оригинальную идею? "Аватар"? Нет - если разложить идею до уровня концепции, то всё просто: земляне из будущего добывают ресурсы на чужой планете, игнорируя интересы местного населения. Один из землян проникается сочувствием к аборигенам, становится частью их народа и возглавляет борьбу против захватчиков. Просто, не правда ли? Crysis? Классический шутер про элитного спецназовца с супер-способностями, которые ему даёт костюм, и пришельцами из космоса. World of Warcraft? Игра, действие которой происходит в богатой на события и предысторию вселенной, с высокой ролью сюжетной составляющей, разносторонними сложными взаимодействиями игроков и мощной экономической системой.

Во всех этих идеях самое ценное то, КАК они были реализованы. Даже самая простая идея, будучи воплощённой в жизнь на высоком, качественном уровне, с глубокой проработкой, может "выстрелить" и стать хитовой игрой/фильмом.

Таким образом мы приходим к выводу, что для начинающего разработчика вопрос "как" гораздо важнее вопроса "что". Очевидно, что идея создания MMORPG нового поколения (так называемый next-gen) абсолютно бесполезна для большинства разработчиков, так как в силу объективных причин они просто не могут реализовать её в каком бы то ни было виде.

Английский Язык для Разработчика Игр

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

Я убеждён в том, что знание английского языка - это критический фактор , который оказывает огромное влияние на тот путь, который предстоит пройти, чтобы стать разработчиком игр. Даже с чисто практической точки зрения способность читать и понимать английские тексты - огромный козырь в борьбе за место под солнцем. Если вы откроете вакансии русских компаний-разработчиков, то в 90 % из них найдетё такой пункт, как "технический английский на уровне чтения и понимания".

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

Спрашивается - зачем довольствоваться каплей, если можно выпить море? Знание и понимание английского - это ваш ключ к огромному массиву полезной и актуальной информации, сам факт доступа к которой даст вам десять очков форы. Компании Digital Tutors и Gnomon Workshop имеют в своём активе тысячи часов обучающего видео по всем областям применения популярных 3D-пакетов, таких как Maya или 3DS Max. Англоязычные сайты кишат статьями о геймдеве, а на форумах могут подсказать решение сложных проблем - просто потому, что количество людей ТАМ несоизмеримо выше с количеством людей ЗДЕСЬ. Берите лучшее из двух миров!

Что делать? Учить языки - оно того стоит, даже если через год вы забросите геймдев. Как? Не спать на уроках в школе, записаться на курсы, использовать самоучители - путей много, было бы желание. Особое внимание стоит уделить лексике - вам совсем необязательно уметь говорить на этом языке, главное - уметь читать и понимать прочитанное. Уже после этого можно будет начать развивать навык восприятия английской речи на слух - и в этом могут помочь видеоуроки по 3D-графике, если вы художник, или аудиоуроки по английскому языку. Ещё раз повторюсь - по ту сторону языкового барьера огромный мир, полный информации. Не иметь к нему ключей - всё равно что учиться по черновику, когда рядом есть библиотека.

Сергей "Treidge" Данченко — автор блога , вольный 3D-художник и разработчик игр, веб-разработчик на Drupal и человек-оркестр с опытом в некоторых других областях. Личное кредо — "хочешь сделать что-нибудь хорошо, сделай это сам". В моменты особого вдохновения пишет стихи и играет в волейбол. Основные профессиональные инструменты — Autodesk Maya, Autodesk Mudbox и Adobe Photoshop. Без ума от индюков и попугаев. Спасибо за внимание, заходите снова!

  • 81412 просмотров

3/4 времени на свою идею, 1/4 на изучение языка - глядишь, и через пару месяцев уже можно будеть понимать написанное, а там и до свободного чтения не так уж далеко... Я вот конкретно движком Unity 3d интересовался, на русском видеоуроков или статей - крохи, а вот на английском - уже десятки часов по всем темам.

Хорошая статься, правда мне кажется эту тему можно раскрывать бесконечно. Я бы добавил обязательное условие, "любить читать" и искать тонны информации в интернете. Если что то найти человек и может в интернете, а вот осилить имеющуюся литературу допустим в 500 страниц, это уже может стать проблемой, а это я считаю основополагающий фактор, читать читать читать, и только потом делать делать делать.
Спасибо, буду читать вас еще:)

Согласен, эта тема была затронута краешком в абзаце про профессионалов. С учебными материалами и правда проблема - желающим доступны просто тонны книг и видеоуроков, чтобы перечитать и пересмотреть которые - не один год нужен. Часто срабатывает инстинкт хомячка - натаскать всего и побольше, и чтобы потом это всё добро лежало и покрывалось толстым слоем пыли (каюсь, тоже таким грешен). Кажется, что сам факт обладания таким объёмом информации делает тебя профессиональнее, но это далеко не так.

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

20 Ноя, 2011

Очень понравилась статья. Ещё узнал, что автор хочет свою 1-ю игру реализовать. Я рисовать не умею, но разрабатываю движки для игр на Android, Windows, Linux, Mac (при помощи Open Source & Cross Platform Framework LibGdx), знаю box2d, OpenGL. Раньше занимался движками для веба, но последние 2-а года изучаю Андроид платформу. Хочу также как и автор реализовать свою 1-ю игру и выпустить её на Андроид Маркете. Идея уже есть (на физику и логику, 2Д, вид сбоку, сейчас продумываю уровни), но она очень абстрактна ещё, как автор сказал (золотые слова) идею надо ещё реализовать и только тогда будет ясно принесёт она успех или нет;-) Если интересно, то пишите мне на почту... Успехов и Удачи!

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

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

Очень хорошо ваше наблюдение подчёркивает сайт:
https://sites.google.com/site/mysuperpupergame/

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

Вдруг кто присоединиться:)

Для начала постарайтесь определить, к какому направлению у вас могут быть склонности. Может вам нравится рисовать, тогда создание графики - очевидный выбор. Либо же наоборот - рисовать вы не умеете, но сильны в математике и технических науках - тогда программирование может стать удачным выбором. Хотя всему этому можно научиться и не имея каких-то предрасположенностей, другое дело, что работа в "неправильном" направлении не будет доставлять никакого удовольствия и напротив, скорее будет в тягость. Для начинающих хорошо подойдут конструкторы игр типа Game Maker (самый известный). Начать можно с него, ну а далее по потребностям - нужна будет графика для игры, тогда стоит попробовать рисовать, нужны будут скрипты - вот вам и программирование. Главное - начинать с самого простого, типа Понга (это игра такая), арканоидов и т.д., и очень быстро вы сами сориентируетесь, что вам нужно и для чего. Как говорят в таких случаях - Интернет знает всё, нужно лишь поискать ©. Что бы вы не выбрали - в вашем распоряжении будет огромное количество образовательных ресурсов. Дерзайте .

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

11 Фев, 2012 10 Мар, 2012

Блог ну прям с меня списан практически.
С первой частью блога согласна на все 100%. Но вот по поводу иностранного языка, вот тут я "закипела".
Не все люди могут выучить английский язык или вообще любой другой иностранный язык. Не всем это дано. Получается, что если человек не знает английского языка, ему никогда не стать разработчиком игр или просто профессиональным программистом?!
Для того, чтобы выучить английский язык также нужны годы, нужны не только книги и учебники, самоуичтели и аудиоуроки по языку, но свободное время. А его вечно не хватает. По себе знаю, что пока учишь одно, другое забывается. Приходится снова возвращаться к началу. Повседневная жизнь такова, что часто приходится делать "привычную работу". Приходя домой с работы никаких сил уже на иностарнный язык не остается, даже при наличии огромного желания и мотивации! Усталость и нехватка времени сводит все усилия по изучению иностранного языка на нет. Доказано на собственном опыте!
Все же не согласна я с автором блога по поводу иностанного языка. Проблему обучающего материала очень легко решить, а именно переводить книги, газетные и журнальные статьи, и даже теже самые видеоуроки с американских сайтов на русский или любой другой язык. Зачем новичку тратить время на иностранный язык, когда есть другие люди, которые занимаются этим же самым переводом профессионально? Зачем вообще нужны тогда переводчики? Неужели ни в одной из американских крупных компаний по разработке игр нет переводчика? В жизни не поверю в это. К тому же если существуют коллективы, где сотрудники говорят на обоих языках, почему сразу не написать литературу, документацию, статью или видеокурс на двух или трех языках? Все дело в том, что этим надо кому-то заняться из команды разработчиков программного продуктиа, но никто не хочет. Вот в чем вопрос. Банальная лень!!! Трудно написать сразу два документа. Напишу стандартный на английском. А тому кому надо пусть сам мучается с переводом, тратит еще больше времени на поиск информации, прежде чем реально начнется обучаться тому, что ему нужно.

Эх, если бы всё было так просто... Отвечу по порядку.

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

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

Тем не менее, проблема перевода любых материалов действительно может быть решена, и я уверен - будет решена в ближайшие годы, может быть 10-15 лет. С развитием информационных технологий любой перевод будет осуществляться на 100 % точно и "на лету", а профессия переводчика со временем канет в Лету. Но пока такие системы не созданы - приходится мириться с текущей ситуацией, ведь простого её решения пока нет.

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

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

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

Это - их бизнес. Никто не будет заниматься тратой ресурсов на адаптацию своего продукта (перевод) к рынку, на котором нельзя продать достаточное количество копий своего продукта. В первую очередь переводы получают те языки, доля рынка которых самая большая. В случае с игровыми движками это обычно китайский язык, к которому постепенно подбирается корейский. В сумме эти три языка, наверное, покрывают до 80 % рынка. Русскоязычные покупатели же могут составлять 2-3 % от общего объёма - вот вам и причина, по которой существует дефицит учебников и курсов на русском, производителям просто не выгодно заниматься этим.

И так во всём - производители чего угодно в первую очередь стремятся удовлетворить потребности большинства, и это большинство может принимать разные формы. Например, на корейском языке говорят в 2 раза меньше людей, чем на русском, однако рынок игровых движков там на порядок больше, чем в России. Поэтому документация на корейском для движка UDK есть, а на русском - нет.

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

10 Мар, 2012

Ух какой ответ большой.
Подустала я сегодня, мысли бегают кругом да и глазки болят... Ай ладно.

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

Конечно для саморазвития знать другой язык нужно, пусть даже немного, но лично в моем случае это "гиблое дело". Чтобы выучить, запонить и потом "воспроизводить" английские слова я трачу не один день. Перевод предпочитаю делать вручную старым дедовским методом "словарь"+"ручка"+"бумага". И этот дедовский метод крайне медленен. В день не более одного, двух абзацев. Каждое слово переводишь! А потом еще грамотно собрать переведенные слова в "текст имеющий смысл". Очень тяжелая работенка и таким темпом одну страницу неделю переводить можно:-). И как далеко на этом можно "уехать" в моем случае? Это ни к чему не приводит как правило.
P. S. Переводчики (программы) работают по тому же принципу. Сплошной набор переводов слов, причем не самый точный.

Совсем другое дело, когда находишь в Сети (так как другого источника нет) книгу в электронном виде или учебник в котором все расписано с самого начала, по полочкам разложено, простым и доходчивым языком рассказано. Напрмер книга, которую я сейчас читаю "Как написать игру для ZX Spectrum". Очень интересная и понятная. На русском. Единственное, на что я потратила время, это на поиск эмуляторов операционной системы Спейси и на редакторы для создания игр. Вот на этом реально можно научиться, сразу! Все понятно и время экономит и необходимые, пусть самые базовое знания новичок получит.

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

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

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

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

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

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

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

Ясно. По большому счету с моей стороны вопрос копирования - это не "злостное копирование всего и вся". Скажем так, существует некоторый материал который, в принципе, переписать можно, но вряд ли получится сильно лучше. "Зачем придумывать велосипед?" так сказать. Уникальные статьи и контент имеют место быть, но... Несколько статей было - таки скопировано.

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

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

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

Индустрия компьютерных игр - один из самых динамично развивающихся сегментов IT-сферы. Насколько сложно научиться создавать игры или хотя бы отдельные их элементы? Может ли пользователь справляться с подобными задачами в одиночку? Как создают игры на компьютер профессионалы?

Что нужно, чтобы начать создавать игры?

Прежде всего необходима вовлеченность в индустрию в качестве игрока. Без знаний устройства игр изнутри и психологии геймеров, наблюдений за тем, как работает компьютерная графика в режиме реального пользования, а не в теории, успеха в выпуске собственных игр достичь очень тяжело. Если игра создается с прицелом на коммерческие продажи (или хотя бы с целью раскрутки персонального бренда ее разработчика), то она должна быть конкурентоспособной, отражать актуальные запросы игрового сообщества. Выпустить продукт, не угадав с "трендом" - значит потратить время впустую. Поэтому важно быть не просто геймером-любителем, но также и изучать рынок, иметь возможность ставить новые игры на компьютер, тестировать их. А это значит, что разработчику понадобится также и очень И здесь мы переходим ко второму основному условию успеха в сфере гейм-индустрии. Речь идет об аппаратных компонентах - "железе".

Известно, что (из числа ПК, разумеется, речь не идет о промышленных ЭВМ) - игровые. Они включают в себя аппаратные компоненты (процессор, видеокарту, память, чипсет), намного более технологичные, чем ПК для офисных и домашних нужд. Внешне, безусловно, компьютеры различных классов могут почти не различаться, но с точки зрения электронной "начинки" разница существенна. Игровой ПК может стоить в 5-10 раз дороже, чем офисный или домашний. Не исключено, что даже какой-то отдельный его компонент (к примеру, тот же процессор) будет иметь цену выше, чем весь готовый ПК для офиса. Мощное "железо" понадобится, кстати, не только для тестирования геймерских продуктов. Высокопроизводительных компонентов требуют также и специализированные программы для игр на компьютер. Те, при помощи которых будут создаваться шедевры индустрии.

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

Методы создания игр

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

Конструкторы игр

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

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

Игровые движки

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

Что такое движок? Это, по сути дела, всего лишь набор команд (хотя и очень сложный, состоящий из сотен тысяч алгоритмов), позволяющих запускать отдельные игровые процессы. Количество шаблонов, подобных тем, что имеются в конструкторах, как правило, сведено к минимуму. А те, что есть, очень легко поддаются видоизменению или же замене на те, что разработает сам пользователь. Задействование движков требует, конечно же, большей квалификации, чем работа с конструкторами. Если речь идет о создании серьезной игры, то пользователю, скорее всего, придется привлекать в помощь еще кого-то (структуру типичной команды разработчиков мы рассмотрим далее). Но однажды освоившись в интерфейсах движка, впоследствии человек сможет адаптировать имеющиеся знания и навыки к созданию практически любых игровых продуктов.

Игра с нуля

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

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

Профессиональные разработчики

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

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

Структура профессиональной игровой студии

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

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

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

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

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

Создаем игры сами: обзор программ

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

Game Maker

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

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

Construct-2

Продукт Construct-2 признается экспертами одним из самых функциональных в классе решений для создания игр пользователями, не владеющими языками программирования. Огромный плюс этого решения в том, что с его помощью можно выпускать игры под большинство используемых сегодня платформ - Windows, iOS, Android, создавать их на языке HTML5 и приложения для Facebook (поняв, как делать программы для запуска в этой социальной сети, пользователь научится тому, как в "ВК" создать игру, показать ее друзьям). Пользователи Construct-2 отмечают простоту и понятность ее интерфейса. Работать можно в основном по шаблонам, но их очень много, а потому найдется практически любой, что впишется в сценарий, придуманный пользователем. Приятный аспект - с помощью Conustruct-2 можно бесплатно.

Unity 3D

Две вышеперечисленные программы предназначены для создания игр в 2D-режиме. Unity позволяет работать, используя возможности 3D-графики. Возможностей, которые дает программа - огромное количество. Так же как и в случае с Construct 2, есть мультиплатформенность (присутствует даже поддержка консолей - Xbox, PlayStation, Wii).

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

Как разработать 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, то, что получится, и есть нанесенный урон.

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

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

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

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

Поэтому ты идешь в гугл и начинаешь изучать все статьи и ролики по теме. Выведя на экран первое «Hello, world!», решаешь, что все очень просто. Но чем глубже погружаешься в это, тем сильнее хочется рвать волосы на голове.

Не переживайте! Главное - в самом начале узнать, что нас ждет, чтобы потом не свернуть на полпути, пройти все этапы и начать продавать игру!

С чего начать разработку игры

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

  • Написать все с нуля - сложный способ, но лучше начать с него, чтобы разобраться с языками.
  • Использовать движки - способ полегче. Даже новичок, вооружившись мануалами из интернета, может создать интересную игру на одной из популярных платформ.
  • Заготовки - можно скачать готовую заготовку игры, в которой достаточно будет поменять текстуры, чтобы выдать ее за свою.

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

Языки программирования

Создать игру можно на любом языке, от Python и C до Pascal и Java. От выбора зависит то, сколько времени уйдет на игру и для какой платформы будет релиз. Также язык влияет на производительность, хотя навыки программиста тоже очень важны.

На C++, например, можно писать для любой платформы, а вот PHP или JavaScript больше подойдут для браузерных игр. Если же вы собираетесь использовать один из популярных движков, то лучше изучать C#, потому что он часто используется ими для прописывания скриптов.

Главное - не недооценивать языки. В движке Unity можно писать и на JavaScript, а Minecraft был написан на Java.

Движки для создания игр

Среди современных можно выделить:

Crysis, Far Cry, Sniper II: Ghost Warrior.

Gears of War 4, Deadpool, Mortal Kombat X, Tekken7

Outlast, Assassin’s Creed: Identity, Temple Run, Deus Ex: The Fall.

Большой популярностью пользуется Unity , потому что он позволяет создавать как 2D- , так и 3D-игры. Также можно работать с разными платформами и языками. Еще на нем создается большинство мобильных игр и инди. Он бесплатный, но если вы зарабатываете на своих играх больше100 000 долларов в год, то придется делиться ими с разработчиками Unity.

Как строится игровой код

Допустим, вы выбрали язык, движок, придумали концепт игры. Что дальше?

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

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

Физика

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

  • ходьба;
  • езда;
  • прыжки;
  • удары;
  • выстрелы;
  • падение предметов и так далее.

Если вы пишете сами, то для обычного прыжка вам придется:

  • проверить, находится ли игрок на земле;
  • менять координату Y, чтобы игрок поднимался вверх;
  • закончить подъем через какое-то время;
  • начать и продолжать падение до тех пор, пока под ногами игрока не окажется земля.

Не говоря уже о том, что нужно работать над анимацией всего этого.

function jump () {
If (gamer.jumpTimer >= 1 ) {
gamer.y++ ;
gamer.jumpTimer -- ;
} else {
If (gamer.y >= ground.y) {
gamer.y-- ;
}
}
}

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

Механика

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

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

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

  • если добавить стрельбу, то это будет экшн;
  • если игрок будет безоружен - стелс;
  • если еще и замки нужно будет взламывать, то это уже головоломка или пазл.

Будучи программистом, придется много времени уделять механике.

Графика

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

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

Пример анимации двумерного персонажа

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

Анимация в действии

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

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

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

Баланс

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

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

Искусственный интеллект

Если геймплей предусматривает взаимодействие с NPC, то им нужно прописать модели поведения: реакцию на действия игрока, агрессивность, возможность вести диалоги или торговать.

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

На какие платформы ориентироваться

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

  1. Персональные компьютеры.
  2. Приставки.
  3. Мобильные устройства.
  4. Браузер.

У каждой из этих платформ своя аудитория с вполне конкретными предпочтениями. На мобильных устройствах предпочитают головоломки (2048, 94%, Cut the Rope), аркады (Subway Surf, Temple Run, Angry Birds) и казуалы (Talking Cat Tom, Kitty Kate Baby Care, Hair Stylist Fashion Salon) .

На компьютерах можно играть в MMORPG (Lineage II, World of Warcraft, Skyrim) или шутеры (Battlefield, Call of Duty, Counter-Strike) . Приставки подходят для гонок (Need for Speed, Blur, Burnout Paradise) , приключенческих игр (Assassin’s Creed, Portal, The Walking Dead) и так далее. В браузерах собирают пазлы и строят фермы.

Конечно, можно сделать и головоломку для PS4, и гонку для браузера - никто никого не ограничивает.

Заключение

Будьте готовы к тому, что ваша первая игра не станет шедевром. Скорее всего, получится что-то вроде этого:

Вам нужен браузер с поддержкой HTML5 и JavaScript!

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

Мышью:

Зажмите экран и водите курсором:

Левее корабля - влево

Правее корабля - вправо

Вверх - стрелять

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

Клавиатура:

Стрелка влево - влево

Стрелка вправо - вправо

Ctrl или Cmd - Стрелять (edited)

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

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

Разумеется, современные крупные игровые проекты вроде WoW или StarCraft - это результат многолетнего труда опытных программистов, требующий к тому же весомых финансовых вложений. Чтобы взяться за такой проект, нужно как минимум иметь диплом , определенный опыт и организаторские таланты. Однако сложность проекта - не всегда мера его успеха и не гарантия интереса игроков. А попробовать свои силы в создании игр, пусть менее сложных технически, но зато способных вызвать интерес и пользователей, и, возможно, крупных компаний-производителей игр, может каждый. Для этого даже не обязательно владеть знаниями языков программирования.

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

3D Game Maker – один из наиболее популярных движков, позволяющих создать собственную трехмерную игру. Благодаря необыкновенной простоте интерфейса, полноценная трехмерная игра с его помощью может быть создана всего за 10 минут. Выбираем жанр создаваемой игры, определяем количество необходимых уровней (система позволяет сконструировать до 20 различных уровней), среди готовых моделей подбираем главного персонажа. Игру уже можно запустить и опробовать, хотя работа над ней, конечно же, только начата. Ведь игра пока что лишена самого главного, того, что удерживает внимание и интерес пользователя - сюжета. Поэтому необходимо также подобрать противников, продумать прочие необходимые детали. Стоимость этой системы разработки игр составляет $35 - вполне посильная для начинающих создателей игр сумма.

3D Game Studio – мощнейший инструмент создания как 3D-, так и 2D игр, а программирования как такового при этом практически не требуется. Набор всевозможных шаблонных ситуаций, примеров и эффектов дает конструктору игры достаточно широкую палитру инструментов для воплощения своих фантазий. Природные эффекты, зеркальные поверхности, тени, прозрачные поверхности - все эти атрибуты можно в полной мере использовать при разработке игровых интерьеров. Готовые элементы игрового интерфейса также предоставляются разработчику, позволяя стильно и удобно оформить общение пользователя с игрой. Профессиональная версия этого движка обойдется в $900, однако версия для начинающих намного дешевле - всего $70.

Если же трехмерные миры вас не привлекают, обратите внимание на Game Maker – эта программа дает необозримый простор для фантазии, позволяя создать компьютерную игру в формате 2D. Выбираем объекты, продумываем их взаимодействие. Изображения можно нарисовать в любом графическом редакторе и импортировать в систему. Игру можно снабдить звуковыми эффектами и сигналами. Интерфейс предельно прост и логичен, идеально подходит для начинающих.