Рабочая программа «Разработка компьютерных игр на движке Godot Engine» Проект "Arkanoid" Часть 1
Рабочая программа «Разработка компьютерных игр на движке Godot Engine»Аркады. Проект «Arkanoid»Оглавление разделов 1. Концепция 2. Создание тележки (игрок) 3. Управление тележкой. GDScript Приветствую вас форумчане, меня зовут Доктор Баг. В реальной жизни я работаю педагогом, провожу дополнительное образования (иными словами провожу кружки). Мое желание открыть кружок по разработки компьютерных игры, к сожалению, RPG Maker программы не подходят для этих целей, так как подобная серия программ заточена под определенный шаблон жанра. Конечно скриптами, плагинами можно изменять сам мейкер, но моя цель научить детей использовать свои знания не нагромождая их лишней информацией. Мой выбор пал на игровой движок Godot Engine, по нескольким причинам • Он бесплатный • У него имеется язык программирования схожий на язык python (нынче я открываю кружок по основам python) • И у Годота нету проверки лицензии (как у меня было постоянно с Game Maker Studio 2 особенно с моим крутым в кавычках интернета, привет OffSide) • Он кроссплатформенный • На нем можно создавать и 3D игры Мои планы таковы, я желаю развивать GameDev в образовательной сфере. Нынче у меня откроется кружок «Основы программирования Python», а на следующий год планирую открыть еще два кружка «Pixel Art» и «Разработка компьютерных игр на движке Godot». Пока что как таковой рабочей программы по «Разработка компьютерных игр на движке Godot» у меня нету. Но я собираюсь использовать Светлую для заметок, для создание методических рекомендаций, мол напоминания для себя, алгоритм действий что показывать детям. Но чтобы создать подобную программу, придется самому как следует разобраться в годоте. Я нашел способ: я буду изучать различные гайды, от начало до велико, различных авторов. Потому здесь я буду разбирать эти уроки, и открывать новые элементы самого годота. Скажем честно документация Годота желает оставлять лучшего. Рабочая программа будет разбита на жанры игр. Первый жанр игр, которые попадает под цель это аркады: «Понг», «Арконоид», «Космический шутер» «Астероид». Другие разделы: казуальные игры, головоломки, платформеры, и рпг подобные игры (так как разнообразие рпг жанра слишком большое, будет браться только часть элемента), будут разбираться, когда я дойду до них, возможно буду создавать отдельные странички. Подобную страничку можно использовать и для тех, кто хочет освоить сам годот, только вам еще нужно знать хотя бы основы программирования не обязательно языка годота. Ребята если буду долго не выкладывать информацию, подпинывайте меня, я бывает ленюсь =D 1. КонцепцияПрежде чем мы будем создавать игру, мы должны выбрать идею игры. В нашем случаи мы будем создавать игру жанра аркады, под названием «Арканоид». Сама игра «Арканоид» была создана в 1986 году. Наша задача создать копию игры для совершенствования навыка создание компьютерных игр. Но какой игровой процесс имеет арканоид? Игрок контролирует небольшую платформу-ракетку, которую можно передвигать горизонтально от одной стенки до другой, подставляя её под шарик, предотвращая его падение вниз. Удар шарика по кирпичу приводит к разрушению кирпича. После того как все кирпичи на данном уровне уничтожены, игрок выигрывает игру. Если же шарик упадет более трех раз мимо ракетки игрок проигрывает. В некоторые кирпичики нужно попадать больше одного раза, в анимации будут отображаться трещинки, говорящие о том, что кирпич разрушиться при дальнейшем контакте с шариком. Зарисуем как будет выглядеть игровой уровень, без графических излишеств. ![]() Концепция «Арканоид» Шарик будет ограничиваться не большой локацией состоящий из стен. Внизу будет пропасть для мяча, в случаи если мяч пролетает вниз у игрока забирается попытка (она жизнь игрока) виде сердечки. В случаи потерь всех попыток игрок проигрывает. Ракеткой можно отбивать мяч. Ракетка будет двигаться с помощью клавиш. Шар будет изначально прикреплен к ракетки игрока, при нажатие на пробел шар отскочит и полетит верх под углом 45 градусов, либо в левую сторону, либо в правую. Попадая в пропасть шар будет снова прикрепляться к ракетки. Ударяясь шарик об ракетку, в зависимости от центра ракетки, шар будет слегка смещаться в сторону, это нужно сделать для того чтобы исключить не проходимость игры. Кирпичики будут иметь запас прочности. Всего будут три вида прочности, отвечающий сколько раз шарик ударил их, до момента разрушения. Первый слой (самый нижний) кирпичиков будет иметь самый слабый запас прочности, они будут уничтожаться после первого попадания. Следующие три слоя будут иметь большей запас прочности, для их уничтожения понадобиться двойное пробитие. И самый верхний слой, самый прочный имеют три удара для уничтожения. Очки игрока будут заполняться в зависимости от уничтоженных кирпичей. Начиная с первого слоя будут начисляться очки виде 10 единиц, каждый последующий слой будет повышать количество очков за кирпич на 5 единиц. Второй слой цена за кирпич 15 единиц, третий слой – 20 единиц и т. д. Набрав определенное количество очков игрок получает дополнительные попытки (жизни). Когда кирпичиков не остаётся на поле игрок побеждает. В нашей игре есть такие игровые элементы как: ракетка игрока, шарик, кирпичики, локация (со стенами), жизни и очки игрока. Для графики возьмем бесплатный набор (assets) от сюда. Так должна выглядеть наша игра ![]() В наборе есть заранее заготовленный фон, размером 384х216. Соотношение сторон, которое является 16:9, большинство мониторов имеют такое соотношение сторон (не размеров ширины и высоты). Вместо ракетки игрока у нас будет тележка (далее буду называть вместо ракетки тележку), которая будет двигаться вперед или назад, у тележке будет анимация. Также в наборе имеются шарик и разные цветовой палитре кирпичи, даже с анимацией трещины. Разобьем создание игры на этапы. 1. Создание тележки (игрок) 2. Управление тележкой. GDScript 3. Создание сцены уровня. Основная сцена 4. Создание шарика 5. Создание кирпичика 6. Механика наклона шарика при ударение об ракетку 7. Механика прочность кирпичика 8. Создание «Попытки» игрока (жизни игрока) 9. Добавление сцены проигрыша и выигрыша игрока 10. Создание очков игрока 11. Добавление звука. Этапы входе разработки могут изменяться, дополняться или даже удаляться, но придерживаться основного плана. Нам необходимо создать новый проект. Откройте годот выберете место и назовите игру «Arkanoid» ![]() В моем случаи проект располагается в папке «Arkanoid» в папке с проектами. Скачаем бесплатный набор спрайтов (ассет) с сайта: https://artemouse.itch.io/breakout-pixel-assets Или скачаем здесь. Разархивируйте папку и перенесите в проект с игрой. Переименуйте папку в название «Assets» ![]() Убедитесь в файловой системе игры в годоте отображается набор. ![]() Мы будем использовать не все элементы набора. И так как мы собираемся использовать только 2D-направление в игре, то давайте уберем лишнее элементы в Godot. 3D – проекция нам не нужна и узлы связанные с 3D также не нужны. Зайдите в меню «Редактор», а далее в «Управление возможностями редактора…» ![]() У нас откроется окно, далее нам надо создать будущий шаблон. Нажмите на кнопку «Создать профиль», и назовите будущий профиль как вам будет удобней, я назвал будущий профиль «2D-Game», символизирующий 2D-направление. ![]() Нажмите создать. В окне «Настроить выбранный профиль:» найдем чек-бокс «3D Редактор», выключим, теперь у нас на самом вверху программы не будет редактора по 3D. ![]() Спуститесь ниже и отключите ряд узлов «Spatial», тем самым убрав из списка ненужные элементы. ![]() Нажмите «ок». Теперь при поиске нужных нам узлов нам не будут попадаться узлы, связанные с 3D-направлением, как и не будет 3D-редактора в меню. | |
| |
Просмотров: 14 | |
Всего комментариев: 0 | |
| |