Ещё 10 идей для начинающих программистов по созданию игры-клона


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

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

18. Lava kingdom
Жанр: приключение
Идея: скрестить классическое приключение в стиле Zelda с рогаликом. В постоянно меняющемся Лавовом королевстве в плавающих по лаве городах живут малявки; на дрейфующих по лаве островах скрываются глубокие пещеры с опасными монстрами.
Дополнительно: процедурно-генерирующийся сюжет, уникальный для каждого приключения, но максимально интересный и нешаблонный.

15. Фантастика
Жанр: инди-аркада
Идея: протагонист — писатель-фантаст, который придумывает новые миры. Шутка в том, что по ночам его карманные вселенные становятся реальными, и засасывают автора книг в себя.
Дополнительно: здесь как минимум две интересных задачи: привлекательный для игроков интерфейс «сочинения книг» и превращение «книг» в миры.

12. Я водитель НЛО
Жанр: квест с видом сверху.
Идея: НЛО терпит крушение на Земле, и должно починиться, и при этом не быть замеченным.
Дополнительно: процедурно генерируемый мир.

10. Настольная мобильность
Жанр: не имеет значения
Идея: у настолок, как правило, либо один фиксированный сюжет, либо вообще нет сюжета и истории. В первом случае переигрывать игру не хочется, а во втором отсутствие сюжета приходится компенсировать как-то иначе. Настольная игра совмещается с мобильной, чтобы рассказывать сюжет (возможно, каждый раз новый, или с вариациями), а за одно — считать сложную математику, запоминать ход игры, управлять музыкой.
Дополнительно: десять очков Гриффиндору, если гриффиндорцы придумают, как считывать состояние игрового поля в телефон так, чтобы это никого не напрягало.

8. Рандомвилизация
Жанр: стратегия непрямого управления
Идея: вы — вождь гордого племени. К сожалению, племя ваше совершенно неуправляемо, и каждый житель вашей уютной пещеры согласен делать лишь то, что ему взбредет в голову, поэтому всё, что вы можете — размечать области приложения сил. Скажем, в начале игры аборигены бегают кругами в поисках пищи и развлечений, и в конце дня приносят в пещеру яблоки, немного палок и камней. Теперь вы, как вождь, способны увидеть, что камни могут быть использованы как оружие, палки — как стройматериал, а яблоки — как пища. Перед началом следующего хода (пардон, дня) вы размечаете области карты для сбора яблок, камней и палок, и если у аборигенов будет желание и настроение, то они принесут немного и того, и другого, и третьего. И ещё немного шкур и костей убитых медведей. На основе полученных ресурсов возможно создать уютное жилище вне пещеры, и если соплеменники будут пробегать мимо, и их эта затея заинтересует — они присоединятся к постройке.
Дополнительно: можно добавить правило, что уровень развития племени влияет на управляемость соплеменников.

4. Корабль поколений
Жанр: стратегия/градостроительный симулятор
Идея: создать симулятор корабля поколений. Это такой звездолёт типа «Межзвёздный ковчег», который перемещается сквозь пространство с обычной, доступной человечеству уже сейчас скоростью. А на борту звездолета проживает целая цивилизация. Поколения будут сменять друг друга, но на борту корабля всё равно должна поддерживаться стабильность. Игрок сначала должен «создать» подходящий корабль из модулей, заселить жильцами и отправить в космос. В полете игрок выполняет роль ИИ бортового компьютера, и управляет кораблём.
Дополнительно: можно легко придумать как минимум приличный сюжет.

2. Мусорщик
Жанр: платформер с физикой
Идея: на платформах расположены различные предметы, разного размера и разной массы, иногда сложенные в кучу. Протагонист-мусорщик должен отсортировать мусор, толкая его к мусоросборникам. Чем быстрее движется мусорщик — тем большее ускорение получает мусор.
Особенности: если мусоросборники — дыры в полу, в которые очень легко упасть мусорщику (и при этом если мусорщику нельзя падать в мусоросборники), то игра превращается в веселое месиво в fffuuu-стиле, проверено прототипами.
Способы разнообразить геймплей: ограничить способности мусорщика к прыжкам, добавить бонусы за правильные действия, составлять уровни-головоломки.

5 игр, которые научат вас программировать

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

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

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

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

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

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

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

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

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

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

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

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

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

Ещё 10 идей для начинающих программистов по созданию игры-клона

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

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

Это не могло не повлиять на качество конечного продукта и на рынок хлынул поток откровенного *censored*. Конечно, это не особо затронуло отношение игроков к крупным компаниям. Однако фраза «Инди игра» отныне зачастую ассоциируется не с хитовыми творениями в духе Minecraft, Terraria, Limbo, а с: «баг на баге, и багом погоняем», «альфа 0.01, альфа 0.02. альфа 0.05, разработка прекращена» и «да, клон клона, пока без графики и основного функционала, но всё будет!».

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

1. Лень и неосведомленность. Или «Я новенький, подскажите движок или конструктор, хочу делать игру».

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

Багаж знаний. Его отсутствие приводит человека сначала на форумы с вопросом «на чем мне сделать?», затем на youtube за ответом на вопрос «как это сделать?». Но чаще всего из виду упускаются не менее важные вопросы: «Хватит ли мне знаний?», «Оценил ли я объем грядущей работы?», «Готов ли я уделять этому достаточно времени?», «Хватит ли мне усидчивости завершить начатое?» и т.п.

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

2. Погоня за крутым и модным. Или «Делаю игру на CryEngine, нужна помощь».

В процессе выбора средства для разработки, начинающие девелоперы в первую очередь почему-то акцентируют свое внимание на брендовость движка и крутые промо ролики, демонстрирующие его возможности. Маркетинг в действии. Человек видит умопомрачительное видео возможностей движка, смотрит на название, читает список игр, созданных на этом движке и в его голове поселяется демон, нашептывающий:»CryEngine. Unreal Engine. Hi technologies. Hi-End graphics!»

И в мыслях не остается места для осознания того, что крутой «графон» — дело рук и слаженной работы моделлеров, художников и шейдеров. А речи о «удели час времени и сможешь точно так же» тут не идет вовсе.

В итоге зачастую происходит потеря времени начинающего игродела в банальной цепочке: Скачал CryEngine, установил, ничего не понял, залез на youtube, сделал hallo-world урок, начал делать игру, кончились возможности стандартных средств, удалил CryEngine. Скачал UDK, установил, ничего не понял и т.п. Иногда в таком бессознательном переборе участвует чуть ли не целая страница google-поиска по запросу «движок для создания игр».

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

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

Мастер Йода рекомендует:  Как создать галерею в WordPress Полезная инструкция для новичков

4. Низкокачественный продукт. Или «Всё на чистом энтузиазме».

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

5. Высота поставленных задач. Или «Делаю РПГ с открытым миром, наподобие Фоллаут».

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

6. Нехватка стоящих идей. Или «Создаю клон Minecraft!».

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

7. Распыление собственных сил. Или «Начал делать еще одну игру, отдыхаю от предыдущей. «.

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

А теперь немного советов исходя из всего выше рассмотренного:

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

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

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

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

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

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

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

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

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

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

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

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

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

10 игр, которые научат ребёнка программированию

«Я думаю, что в будущем все, а не только программисты будут связаны с элементами программирования», — считает Марк Цукерберг. Поскольку в этом будущем придётся жить нашим детям, пора подготовить их к трудностям, то есть научить программировать.

Зачем учить ребёнка программированию? Тем более если у вас растёт будущая балерина или футболист? Ответ простой: для того, чтобы научить логически мыслить и планировать свои действия. Родители хвастаются, что современные дети почти с пелёнок умеют включать планшеты и компьютеры. Интерес к технике и тягу к развлечениям можно совместить с обучением и развитием, предложив ребёнку игры, которые научат составлять алгоритмы и даже писать код.

Kodable

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

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

Code.org

На сайте Code.org, созданном некоммерческой организацией, международным движением «Час программирования», собрано несколько образовательных курсов для детей и взрослых. Возраст, с которого можно начинать, — четыре года. Одной игры, которая научит всему и сразу, там нет, зато есть пошаговое игровое обучение с персонажами различных мультфильмов. Переходя от уровня к уровню, можно учиться и создавать свои короткие программы.

Lightbot

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

Не факт, что ребёнок, играющий в Lightbot, вырастет гениальным разработчиком, но зато точно научится планировать действия и составлять простейшие алгоритмы. Это приложение тоже можно рекомендовать как одно из стартовых даже для дошкольников 4–6 лет. Разработчики предлагают и более сложную версию, которая подойдёт для детей старше девяти лет.

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

ПиктоМир

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

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

Robozzle

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

Cargo-Bot

Ещё одна простая для освоения игра, на начальных уровнях которой комфортно будут себя чувствовать дошкольники. Поскольку текста в ней мало, детям достаточно различать отдельные буквы, чтобы выполнить первые задания и переложить ящики за меньшее число ходов с места на место. Над сложными комбинациями даже взрослые смогут задуматься надолго. Среди других обучающих и развлекательных приложений Cargo-Bot выделяется очень приятной картинкой. Кстати, Cargo-Bot был полностью спрограммирован на iPad.

CodeMonkey

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

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

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

Scratch

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

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

СeeBot

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

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

CodeCombat

CodeCombat — это уже серьёзно, потому что в этой игре учат настоящий код и из победителя получится готовый программист. Вы выбираете язык программирования, на котором придётся писать команды для своего персонажа (игра предлагает Python, JavaScript, Lua или несколько экспериментальных вроде CoffeScript), и отправляетесь в путешествие за кристаллами.

Сажать за игру можно мальчишек и девчонок от восьми лет. Обучение и подсказки на русском языке, за $9,99 можно каждый месяц получать новые уровни для прохождения (первые 70 бесплатны). Игра может использоваться в школах, есть отдельные бонусы для учителей.

Мастер Йода рекомендует:  10 правил этикета Photoshop

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

Начало пути независимого разработчика. Создаем игру своей мечты.

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

Шаг номер Нуль — Начну с самого интересного для всех. Первым делом надо погрузиться в атмосферу разработки игр. Этот шаг выполняется всего один раз, и затягивает навсегда =)
Я уверен у вас есть куча гениальных идей, но что если они не такие уж и гениальные? Полазив по форумам и прочим местам, где собираются разработчики, вы с удивлением обнаружите, что кто-то украл вашу идею, причем лет 10 назад когда вы её еще не придумали. Зато вы наберетесь новых идей и зарядитесь мотивацией двигаться к своей цели.

Отдельно хочу всем порекомендовать посмотреть обзоры товарища Dukat’a, который обозревает отечественный игрострой. Осторожно! Возможно в последствии вы будете ждать его выпуски как новую серию вашего любимого сериала. Думаю уже скоро вы захотите чтобы он показал в своем обзоре и ваш шедевр.

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

Unreal engine 4: Скрипты пишутся на C++, но есть вариант писать с помощью blueprint(чертежи) просто перетаскивая условия и другие блок схемы

Отличительная черта этого движка: хорошая графика «из коробки», то есть вам надо меньше работать над ней вручную

Unity3D: Скрипты пишутся на C#. Отличительная черта движка: Низкий порог вхождения и возможность билдить на очень многие платформы

Blend4Web: Не совсем движок, но если пишите что нибудь для браузера, стоит обратить внимание и почитать подробнее. Всё что я знаю, так это то, что НАСА отказались от Unity3d в пользу этого фремворка как раз из-за хорошей реализации поддержки технологии WebGl.
Для справки: НАСА разработало интерактивное веб-приложение к третьей годовщине со дня посадки марсохода Кьюриосити. В приложении, созданном на основе Blend4Web, реализовано движение ровера, управление камерами и манипулятором, а также воспроизведены некоторые известные события миссии. Приложение было представлено в начале секции WebGL на конференции SIGGRAPH 2015.

Касательно движков для 2д игр не могу ничего сказать, так как с 2д работал только в Unity. В ближайшие 3-4 месяца ситуация там не поменяется, а сейчас она средняя. В общем лучше выбирайте специальный 2д движок или пишите его сами)
Скину картиночку из игры на движке Cocos2d

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

Шаг номер два — Диздок
«Можно грабить корованы»
А теперь займемся тем, чем надо было заняться в первую очередь — составлением диздока.(даже если вы делаете игру в одиночку)
В диздок вы вписываете абсолютно все свои идеи, редактируете их, доводите до того состояния, когда любой кто прочтет, сразу поймет всю вашу задумку. Но диздок не ограничивается только идеями. Нужно продумать и вписать все формулы по которым будут идти расчеты, механику игры, и прочее. Короче всё, что нужно знать разработчикам об игре.
Хорошо описанная диздоком игра, в составлении ТЗ не нуждается.
Самым известным примером диздока , является «Месть курочки Рябы». Файл вместе со статьёй с хабра о диздоке, приложу в комментарии.

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

Я буду ориентироваться на простенькую 3д игру.

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

Геймдизайнер: Занимается составлением диздока. Генерирует свои идеи, и не забывает про идеи членов команды. Последний пункт особенно важен когда команда работает на энтузиазме. Вот хочет кто нибудь «Кровь из носа» но чтоб написано было не ноль, а нуль, а геймдизайнер сидит и думает, можно ли это вписать в общий стиль. А иначе ведь у того члена команды может и пропасть энтузиазм (работать на чужую идею не интересно)

Художники: Рисуют элементы интерфейса, концепт арты для 3д артистов и для пиара. В 2д игре основная работа лежит на них.

3Д Артисты: Вообще тут следовало бы сделать еще разбивку, но у нас в России 3д артист отличается от остального мира. У нас на артистов чаще всего вешают как создание сетки модели, так и её текстурирование. (Это не совсем правильно)

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

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

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

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

Последующие шаги — само создание игры.

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

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

На этом всё, до скорых встреч!

Как придумать идею игры

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

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

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

Теперь поговорим с теми, кому интересно. Почему я говорю “интересная игра” а не “успешная игра”? Потому что нет стопроцентно рабочего метода создания успешной игры. Ладно, признаюсь, я лукавлю. Есть такой способ. Он включает в себя огромный исследовательский бюджет, десятки прототипов и несколько софтланчей. Метод рабочий, так был создан, например, Клеш Рояль. Но я сомневаюсь, что если у вас есть такие ресурсы, вы будете смотреть моё видео.

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

Что не стоит делать при выборе идеи для игры?

Первое: не клонируй

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

Второе: не делай упор на донат

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

Третье: не прыгайте выше головы

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

Четвёртое: не усложняйте

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

Теперь перейдём к придумыванию новых идей. Я выделяю три основных метода придумывания новых идей: упрощение, совмещение и перенос.

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

Упрощать можно не только реальную жизнь, но и чужие игровые механики. Всегда можно упростить механику вдвое. А потом ещё вдвое. И так вплоть до кликера. А потом и его упростить.

Всё просто: объединение в одной игре двух механик так, чтобы они дополняли друг друга. Стратегия+РПГ – Варкрафт 3. Шутер+Моба – Овервотч. РПГ+футбол – Pyre.

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

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

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

Мастер Йода рекомендует:  10 лучших приемов для оптимизации работы с MySQL

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

Эти примеры выглядят достаточно абстрактно – но это потому что они покрывают максимум идей. Если сформулировать на основе этих методов инструкцию к действию, она будет звучать так: “Возьмите то, что вам нравится, отсеките от него то, что вас отвлекает от чистого удовольствия, и ищите то, с чем ваш идеал отлично сочетается. Потом отсеките лишнее ещё раз.”

На этом на сегодня всё, в следующий раз я расскажу про USP, ЦА, построение целей и масштабирование. Всем пока и удачи во всех начинаниях!

Как лечится кризис начинающего программиста?

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

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

Если не хватает инструментов, сделайте их. Программировать точно научитесь.

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

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

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

Не стесняйтесь использовать чужие решения. Копирование и подражание – неотъемлемый процесс обучения.

Постоянно ищите лучшие варианты сделать то, что было сделано вчера.

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

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

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

Возьмем, как пример, тот же бух.учет на предприятии. Как Вы думаете, почему 1С Бухгалтерия так широко распространилась в РФ и СНГ? Эта программа позволяет бухгалтеру в 2-3 клика мышки сформировать отчет для регулятора(ФНС, ПФР и т.д.), вместо того чтобы человеку сидеть руками искать платежные поручения, вычислять налоги и т.п. Софт просто подтягивает выписку из банка, анализирует ее и выдает готовую для печати бумажку, что экономит бухгалтеру сильно много времени. Расчет заплатанный налогов и отчеты в соц.фонды это вообще красота — 8 кликов мышкой и все готово 🙂

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

И вот, далее Вы для себя определитесь, какая Ваша основная цель? Какой Ваш основной посыл обществу?

Личной мой посыл — «Я помогаю людям экономить: время, деньги, нервы и т.д.».

Как я это делаю?
У меня сначала был маленький интернет-магазин по продаже катализаторов для бензина(в поиск «кондиционеры метала для а/м»). При соблюдении определенных условий, расход топлива на малометражках снижался от 20% до 45%
Вторым моим проектам было небольшое мобильное приложение для отслеживания хода исполнительного производства в ФССП(для взыскательней, уже сдохло). Мне и моим знакомым(не юристы) это экономило достаточно много времени на ругань с приставами, чего они должны делать и т.д. Кто сталкивался с этой службой должен знать эффективность и оперативность их работы, особенно в регионах.
Сейчас я пишу небольшой конструктор сайтов, который поможет одной дружественной мне веб-студии сильно оптимизировать процесс создания низкобюджетных сайтов визиток

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

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

Если говорить о чисто практических инструментах(функции стандартной библиотеки, фреймворки и т.д.). Лично я могу считать себя профессионалом в какой бы то ни было технологии, ни когда я прочитал 1-2 книги и/или написал 1,5 задачи оттуда же. С таким уровнем я не могу сказать что я знаю язык/технологию в принципе, просто знаком — да, но я ее не знаю. Считать себя профессионалом я могу после того как решу не менее сотни задач, используя эту технологию и написал не менее 1 млн строк кода, именно написал, а не сгенерировал rake/gii/artisan или чем-то там еще.

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

Ещё 10 идей для начинающих программистов по созданию игры-клона

Суть в следующем: я предлагаю выкладывать тут адекватные идеи для программ. Быть может некоторые из них придутся по вкусу кому-то из сведущих в джаве, с++ и написании приложений для дроида достаточно для реализации её (идеи) в жизнь.

Конечно есть люди, вынашивающие цель написать приложение, на котором можно подзаработать, и не желающие делиться мыслями, но не все же ведь такие? 🙂

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

У меня, к примеру, давно пара идеек на уме сидит. Одной я не поделюсь, ибо сам планирую взяться-таки за джаву основательно. с синтаксисом никак не подружусь 🙂 А вот вторая заключается в следующем: Почему бы вместо виджетов не сделать интерактивные обои на десктоп с часами, с меняющимся в зависимости от времени суток и года задним фоном, погодой наконец? Я даже представляю себе как всё это выглядит. Не хватает лишь познаний для реализации. Так и вижу всё это в готичном оформлении. За окном летний вечер, идёт дождь, на экране какой-то замок, залитый зеленью, слабо освещённый почти зашедшим, не видимым за тучами солнцем. Его поливает дождём. Конечно много анимации — придётся основательно пофотошопить, но, по моему, такая штука многим придётся по вкусу. За неё даже денег не пожалеют. Погоду можно брать с одного из сайтов, на котором есть «градусник» реального времени. Освещённость зависит от времени года и суток. Время, кстати, можно показывать на часах на башне замка например. Но это уже, может статься, лишнее. Единственный минус, какой я пока могу тут увидеть, это объём такого десктопа. Оптимизация приведёт к уродскому ухудшению качества картинок, и по сему неприемлема. Но спрайты можно разместить на карте памяти, например, и жить станет легче. Если сделать код универсальным, то потом можно будет лишь фотошопить, и будут новые скины на любителя.

В теме нет куратора. Если в теме есть пользователь, желающий стать Куратором и соответствующий Требованиям для кандидатов, он может подать заявку в теме Хочу стать куратором (предварительно изучив шапку темы и все материалы для кураторов).
До назначения куратора, по вопросам наполнения шапки, обращайтесь к модераторам раздела через кнопку под сообщениями, на которые необходимо добавить ссылки.

Сообщение отредактировал derak1129 — 19.06.19, 23:28

Ещё 10 идей для начинающих программистов по созданию игры-клона

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

Быки и коровы

Суть игры: соперник пользователя, искусственный интеллект или друг, загадывает любое число из 4 цифр, единственное условие – цифры не должны повторяться.

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

На примере: была загадано число «8743», а ответ дали «1340». Программа должна обработать результат и выдать 1 корова (цифра «3») и 1 бык (цифра «4»).

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

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

Текстовый квест

Суть игры: принципы можно регулировать самостоятельно, строгих требований не существует. Выбирается линейный или интерактивный сюжет, который изменяется в зависимости от действий пользователя. Более сложная и трудоёмкая работа – создание десятков исходов. Примером может послужить известное шоу « Миллионер », а также аналог « Dungeons & Dragons ».

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

Как усложнить: самое сложное в создании искусственного интеллекта – научить робота импровизации.

Крестики-нолики

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

Чем полезно: при переходе к графическому типу игры придётся научиться базовым концепциям. Даже такая примитивная игра потребует много времени и строк кода. Ситуации однотипные, но исходов существует много. Программист точно успеет набить руку. Функциональный код – это более сложный вариант создания игры, но требует меньше времени.

Как усложнить: предусмотреть возможность увеличения поля и регулировки сложности.

Пятнашки (Змейка)

Суть игры: пятнашки иначе называют «Игры в 15» — это классическая головоломка. Задача пользователя заключается в необходимости за минимальное количество ходов расставить кости с точками (количество от 1 до 15) в квадрате 4 х 4. Одна ячейка пустая, в неё можно перемещать кубик с прилегающей стороны.

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

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

Как усложнить: изменять форму поля, размещение стен, ускорять движение змейки.

Арканоид (Бильярд)

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

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

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

Добавить комментарий