Клон игры Астероид, использующий менее 100 событий.

2

Index

Tagged

Stats

12,779 visits, 25,417 views

Tools

License

This tutorial is licensed under CC BY 4.0. Please refer to the license text if you wish to reuse, share or remix the content contained within this tutorial.

Published on 5 Jul, 2017. Last updated 25 Feb, 2019

ВВЕДЕНИЕ

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

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

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

Главное в этом обучении - получить полностью законченную игру с растущим количеством камней (их появление за границей фона игры), счетчик очков (используя array и Local Storage) и отображать все, используя три разных макета: загрузка / заставка экрана, с фоновой музыкой и звуками (или нет), простой способ "пауза / продолжить" и, при этом, сделать все в бесплатной версии, поэтому менее чем за 100 событий и используя не более 4 слоев на макет. На данный момент в проекте еще есть место, чтобы добавить больше событий.

Здесь использовались текстуры, музыка и звуки с Scirra's free bundle, из вы найдете здесь.

Вы можете ознакомиться с конечным результатом в Arcade и скачать *.capx там же.

Я надеюсь ответить на некоторые вопросы, которые новички часто задают на форумах об этом уроке. Тем не менее, вам действительно необходимо прочитать и попрактиковаться в Beginner's guide to Construct 2 до того как приступать к этому уроку. Там вы освоите некоторые базовые функции C2 (добавление спрайтов / плагинов, действий, условий и событий / субсобытий в проект, импорт изображений / анимаций, ...), поэтому вам уже должно быть проще. Я постараюсь сделать понятные шаги, но это не будет повсеместное разъяснение каждого события / действия / условия в редакторе.

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

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

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

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

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

Вот список некоторых моментов, которые игра была должна уметь "делать":

Астероид-клон - базовая механика

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

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

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

Система приостановки

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

.. ° «Пауза» функционирует только в игре, а не между волнами (где ожидается нажатия клавиши «Enter»).

Волновая система

.. ° Каждая новая волна «порождает» ограниченное число астероидов.

.. ° Как только все астероиды были уничтожены, волна закончилась, ожидается нажатие Enter, и далее начинается следующая волна.

.. ° Фоновая картинка меняется на другую каждую новую волну.

Система очков

.. ° Массив, содержащий 8 лучших результатов

.. ° Список, отображающий 8 лучших результатов

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

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

Аудио

.. ° Пользователь может выбрать, хочет ли он звуки или нет (включить / выключить)

.. ° Музыка в фоновом режиме, меняется с каждой новой волной

.. ° Звуки на некоторые события (удары астероидов, разрушение астероида, астероид столкнулся с кораблем, конец волны, движение корабля, при нажати Enter в Меню ожидания)

Life Bar

.. ° Бар жизни представляет значение переменной экземпляра судна «Здоровье»,

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

А вот звук, когда пуля попадает в астероид или уничтожает его (игрок фактически забивает гол), это лучшая обратная связь.

Важно не стрелять, а попадать.

Еще одно решение - использовать только клавиатуру в качестве управления.

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

Вот почему вы нажимаете Enter для начала волны, а не нажимаете на некоторую спрайтовую кнопку.

Вот почему "звук" и "пауза" переключаются «шорткатами», а не нажатием кнопки на экране.

Это сделано для удобства игрока, так как ему не нужно вдруг поднимать руки с клавиатуры.

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

Я я к тому, чтобы привести вас к правильному настрою, объяснив свое внимание к этим мелким деталям и к причинам, почему я отдам им предпочтение.

И после этой мотивационной речи о том, как правильно потратить время на продумывание вашей игры, я сосредоточу ваше внимание на одной из самых невероятных особенностей C2: быстрое экспериментирование / прототипирование.

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

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

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

Так создаются первые прототипы. Прототип - это первое воспроизводимое представление вашей игры.

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

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

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

Проверка руководства был сделана для r210 и новому Scirra Arcade.

Раньше в проекте использовался Webstorage, но теперь он был заменен на Local Storage для загрузки в новую Scirra Arcade.

  • 0 Comments

Want to leave a comment? Login or Register an account!