Автор работы:
Махиянов Дмитрий,
учащийся 3-го класса
Руководитель:
Мишкина Е.В.,
учитель начальных классов
ВВЕДЕНИЕ
Актуальность
С появлением персональных компьютеров появился еще один вид игровой деятельности – компьютерные игры. В современном мире профессии, связанные с созданием компьютерных игр, являются престижными и очень востребованными.
Существует множество жанров компьютерных игр: кто-то увлечён гонками, стрелялками, а кто-то строит дома, содержит фермы. Я провёл опрос среди одноклассников и выяснил, что большинство из них любят играть в компьютерные игры, как в одиночку, так и с друзьями. Больше всего мои одноклассники любят играть в развивающие игры и аркаду.
Проблема: Мало кто задумывается о том, кем и как были созданы и разработаны компьютерные игры, а также о том, как самому научиться программированию и созданию компьютерных игр.
Гипотеза: Можно научиться создавать компьютерные игры, проявляя своё воображение и творческие способности.
Цель работы: создание своей компьютерной игры.
Для достижения намеченной цели поставлены следующие задачи:
- Опрос одноклассников;
- Изучить историю возникновения компьютерных игр;
- Изучить среду программирования Roblox studio и ее возможности;
- Создать компьютерную игру.
- Провести презентацию игры.
Объект исследования: среда программирования «Roblox studio»
Предмет исследования: принципы создания компьютерных игр в среде «Roblox studio».
Методы исследования: опрос, поисковый, сравнение, анализ, практический.
Глава I. Литературный обзор
1.1. Понятие «программирование»
Программирование – это процесс составления пошаговых инструкций, которые машина должна выполнить, чтобы достигнуть заданного результата. Эти инструкции записываются в виде кода на языках, специально разработанных для общения с компьютером. С помощью языка программирования можно создавать любые приложения от мелких программ до глобальных проектов.
Существует множество языков программирования, например:
- Python — популярный и универсальный язык программирования.
- Java — широко используется для создания приложений на разных платформах.
- JavaScript — основной язык программирования для веб-разработки.
- C++ — мощный язык программирования.
- C# — язык программирования, созданный компанией Microsoft.
- PHP — используется для создания динамических веб-сайтов.
- Ruby — популярен в веб-разработке.
- Swift — разработан компанией Apple для создания приложений под iOS и macOS.
- Kotlin — язык программирования для платформы Java Virtual Machine (JVM).
- SQL — стандартный язык запросов для работы с базами данных.
- и другие.
1.2. История возникновения компьютерных игр
История компьютерных игр начинается в 1940-х и 1950-х годах, когда в академической среде разрабатывались простые игры и симуляции.
Компьютерные игры длительное время не были популярны, и только в 1970-х и 1980-х годах, когда появились для широкой публики аркадные автоматы, игровые консоли и домашние компьютеры, компьютерные игры становятся частью поп-культуры.
Появлению коммерческих компьютерных игр предшествовала уже сложившаяся индустрия развлекательных аркадных автоматов наподобие пинбола — механических игр, для запуска которых требовалось бросить монетку в щель приемника. Такие автоматы выпускались с XIX века, используя всё более сложные механизмы, а с 1930-х годов и электричество; параллельно развивались и музыкальные автоматы-«джукбоксы».
Примечательным и необычайно сложным для своего времени аркадным автоматом стал Nimatron — электромеханический компьютер для игры в нём, спроектированный физиком Эдвардом Кондоном и выставленный на Всемирной выставке 1939-1940 годов в Нью-Йорке. В 1947 году было запатентовано «Развлекательное устройство на основе электронно-лучевой трубки» Томаса Голдсмита и Эстла Манна – оно считается первым специально предназначенным для игры устройством, выводившим изображение на экран, то есть «видеоигрой».
В начале 1950-х годов создавались специализированные компьютеры наподобие Nimrod опять же для игры в ним и Bertie the Brain и OXO для игры в крестики-нолики. Tennis for Two, разработанная физиком Уильямом Хигинботамом, имитировала игру в теннис с графическим интерфейсом, используя аналоговый компьютер и осциллограф как средство вывода в реальном времени.
В 1948—1950 годах Алан Тьюринг и Дэйвид Чампернаун разработали алгоритм шахматной игры, однако компьютеры того времени были недостаточно мощными, чтобы реализовать этот алгоритм.
1.3. Жанры компьютерных игр
Игровая индустрия развивается быстро, разработчики создают виртуальные миры, в которых можно раствориться и стать кем угодно. Чтобы понять, кем вы хотите быть сегодня, надо разобраться в компьютерных играх и рассмотреть их по жанрам. Но для начала распределим видеоигры по трем основным группам:
- Сюжетные — игрок выступает в роли какого-то героя, действуя от первого лица. Здесь нет живых соперников, исход зависит от последовательности действий.
- Динамические — быстрые и требующие реакции. В таких играх не надо много думать, важно быть внимательным и вовремя кликать на нужные кнопки.
- Стратегические — все шаги и действия надо продумывать наперед. Причем не только свои, но и соперника. Здесь ценятся сосредоточенность и логика.
Сейчас разработчики стараются совместить в одной игре несколько жанров, чтобы заинтриговать и увлечь пользователей. А какие именно?
Шутер — в играх данного типа игрок, как правило, действуя в одиночку, должен уничтожать врагов при помощи холодного и огнестрельного оружия
Файтинг — поединки двух и более противников с применением рукопашного боя.
Аркада — игры, в которых игроку приходится действовать быстро, полагаясь в первую очередь на свои рефлексы и реакцию.
Хорроры — игры-страшилки, которые держат в напряжении на протяжении всего игрового процесса.
Симулятор — основным принципом симулятора является точное воспроизведение особенностей какой-то тематической области.
Платформеры — основа геймплея – лазать по лестницам, прыгать по платформам, собирать лут (добычу).
Стратегия — игра, требующая выработки стратегии, например, для победы в военной операции.
Квест — игра-повествование, в которой управляемый игроком герой продвигается по сюжету и взаимодействует с игровым миром посредством применения предметов, общения с другими персонажами и решения логических задач.
Ролевые игры - у главного героя (героев) и других персонажей и врагов (чаще в меньшей степени) присутствует некоторое количество параметров (умений, характеристик, навыков) которые определяют их силу и способности.
Головоломки и настольные - компьютерная реализация настольных игр, например шахматы, карты, шашки, «Монополия» и другие.
Развивающие игры - это компьютерные программы т.н. “открытого” типа, предназначенные для формирования и развития у детей общих умственных способностей, эмоционального и нравственного развития, целеобразования, способности соотносить свои действия по управлению игрой с создающимися изображениями на экране. Они развивают фантазию, воображение. В них нет явно заданной цели — они являются инструментами для творчества, самовыражения ребенка.
Обучающие игры. К ним относятся игровые программы дидактического (“закрытого”) типа, в которых в игровой форме предлагается решить одну или несколько дидактических задач.
Кроме того, компьютерные игры можно разделить на 3 категории сложности: простую, среднюю и сложную.
Простая. Распространена в шутерах и других экшн-играх: чаще всего повышение сложности означает увеличение количества противников на экране, объема их здоровья, а также урона, который они наносят главному герою при попадании.
Средний. Этот уровень сложности отличается, уменьшим всего выше описанного. ИИ у вражеских NPC становиться чуточку умнее. Один из часто выбираемых игровых режимов. Т.к уже играя на среднем уровне сложности - чаще всего необходимо внимание и реакция. В зависимости от игры конечно.
Сложная система работает более тонко. Например, в тактической игре выбор сложности определяет поведение искусственного интеллекта. На более высоком уровне сложности противники ведут себя хитрее, чаще используют укрытия, гранаты, ловушки и заставляют игрока думать над каждым ходом, не позволяя просто закидать себя шапками.
1.4. Программы для создания компьютерных игр
Разработкой компьютерных игр может заниматься как один человек, так и фирма (коллектив разработчиков). Коммерческие игры создаются командами разработчиков, в состав которых обычно входят представители ряда профессий: геймдизайнер, художник, программист, звукорежиссёр, тестировщик и другие.
Для облегчения выполнения и автоматизации наиболее сложных, ресурсоёмких и рутинных задач, ранее стоявших перед игровыми программистами, создан комплекс программ, составляющих игровой движок. Он позволяет выводить графику, облегчает поиск путей, конвертирует модели из 3D-редакторов в игру, производит расчёты физики, расчёты столкновений, оптимизирует использование ресурсов процессора и многое другое.
Игровые движки упрощают процесс разработки игр, позволяя авторам сосредоточиться на создании игрового контента и логики без необходимости прорабатывать все с нуля. Они предоставляют все инструменты и материалы, необходимые для проработки игрового мира и его последующего функционирования, обеспечивают визуал, звуки, перемещение персонажей, соблюдение законов физики и так далее, поэтому серьезно экономят время и деньги.
Для того чтобы создать свою игру, я рассмотрел несколько популярных игровых движков для создания игр.
Unity. Один из самых популярных движков. Он поддерживает разработку 2D- и 3D-игр, обладает удобным интерфейсом и позволяет создавать сценарии на языке C#. Он широко используется для разработки игр для мобильных устройств, ПК и консолей. Вот несколько примеров игр, созданных на Unity: Hollow Knight, Pokémon GO, Cuphead.
Unreal Engine. Это еще один лидер в рейтинге игровых движков, который любят за высокую производительность, реалистичную графику и мощный редактор Blueprint. Для более сложного программирования разработчики могут использовать язык C++. Unreal Engine поддерживает множество платформ и жанров, а также имеет большое сообщество разработчиков и обучающих материалов. Вот несколько известных игр, разработанных на Unreal Engine: Bioshock, Gears of War, Fortnite, Atomic Heart, Hogwarts Legacy и др.
CryEngine. Еще одна платформа, сравнимая с Unity и Unreal Engine по возможностям и качеству графики. CryEngine имеет уникальную технологию рендеринга, которая позволяет создавать красивые визуальные эффекты и детализированные ландшафты. Движок поддерживает языки C++ и Lua, а также имеет различные инструменты для анимации, звука, физики и т.д. На CryEngine сделаны такие игры, как ранние части Far Cry, Crysis, Kingdom Come: Deliverance, Warface и др.
RED Engine. Собственная разработка CD Projekt RED.
Frostbite. Внутренний движок Electronic Arts.
IW Engine. На этом движке построены все игры серии Call of Duty начиная с 2005 года.
RE Engine. Компания Capcom изобрела свой движок к 2017 году.
1.5. Среда программирования «Roblox studio»
Свой выбор я остановил на программе «Roblox studio». Это очень мощный инструмент, который позволяет создавать игры для популярной игровой онлайн-платформы Roblox. В отличие от других видеоигр, которые разрабатываются профессиональными студиями разработки, игры Roblox позволяет создавать и публиковать собственные игры (опыты) на Roblox. С Roblox Studio можно создавать, а также импортировать персонажей, здания, объекты, транспортные средства и многое другое.
Он рассчитан исключительно на создание трёхмерных игр, интерфейса к ним и внутриигровых элементов для Roblox. В нём есть встроенный редактор Luau, инструменты управления игровой средой, шаблоны игр и плагины.
Также есть «Toolbox» (или же «Creator Marketplace»), представляющий собой хранилище моделей, изображений, аудио, плагинов и другого контента, создаваемого сообществом Roblox и его администраторами.
Глава 2. Методы и материалы
2.1. Технология создания компьютерной игры
Прежде чем создавать свою компьютерную игру, я изучил технологию создания компьютерных игр.
Подготовка к производству игры – это первый этап работы над игрой. Главная задача на этом этапе – разработать концепцию игры, дизайн персонажей, выбрать средства для реализации проекта, создать прототип игры, подготовить план, по которому будет создаваться игра. Когда все эти вопросы решены, игра вступает на этап производства.
Производство. Это ключевой этап в создании игры. Разработчики занимаются реализацией ранее созданного плана. Однако первоначальный план игры подвергается изменениям - иногда эти изменения происходят очень часто - вплоть до ежедневных корректировок.
В ходе производства игры - особенно это касается коммерческих версий - периодически устраивается рассмотрение текущих результатов разработки, к которым команда должна представить проект, достигший определенного уровня развития. То есть, например, к одному из таких моментов должна быть готова работающая демо-версия игры, к другому - первый уровень и так далее.
Выпуск. После того, как игра создана, протестирована и отлажена, наступает время ее выпуска.
Поддержка. Игры для ПК часто выходят с ошибками - все дело в том, что разработчикам не хватает времени, чтобы все как следует отладить. Благо, есть возможность исправлять ошибки на уже установленных играх, устанавливая патчи (от английского patch - заплатка). Этим пользуются разработчики, выпуская сыроватую игру и, после этого, целую вереницу заплаток для нее. Такая практика не распространена для консольных игр - тут разработчики вынуждены ответственно подходить к своей работе и выпускать полностью рабочую игру, не требующую вмешательств.
2.2. Создание своей компьютерной игры в «Roblox studio»
Первую свою игру я учился создавать в международной онлайн-школе цифровых навыков для детей и подростков «Kodland» на курсах Roblox и Roblox level 2, о чём у меня имеются сертификаты (Приложение стр. 16).
Процесс создания игры в Roblox studio происходит по той же схеме, что и на любых других игровых движках.
Идея:
- Определение жанра (платформер, симулятор, RPG и т.д.).
- Проработка механик и сюжета.
Разработка:
- Создание 3D-моделей и окружения.
- Написание скриптов на Lua.
Тестирование:
- Поиск багов и улучшение геймплея.
Публикация:
- Загрузка игры на платформу.
- Продвижение среди игроков.
Итак, я определился с идеей и жанром, зашёл в Roblox Studio и создал новый мир. Это будет игра аркада для двух игроков ColorBlocks.
Создал несколько деталей и оформил их в рамку — это стало Lobby, куда попадают игроки между раундами. Внутри рамки разместил игровые пластины размером 8×8, тем самым создав карту игрового поля.
На карту телепортируются игроки перед началом раунда.
Пластины меняют цвет, и игрокам нужно встать на пластину указанного цвета. Если игрок проигрывает, он телепортируется обратно в Lobby и ждёт завершения раунда. Побеждает последний оставшийся игрок.
Перенёс рамку (Lobby) в угол карты, придал ей травяной вид, покрыл поверхность травой и продолжил обустраивать мир.
Написал скрипты, чтобы игровой процесс стал динамичным:
- Скрипт для смены цвета пластин.
- Механику телепортации игроков.
- Механику раундов.
- Таймеры и текстовую метку для вывода информации.
Добавил возможность выбора карты: создал две игровые карты и реализовал механику голосования за них.
Установил статую, которая отображает победителя после завершения игры.
Сохранил проект и опубликовал игру на платформе Roblox.
Затем я запустил игру в тестовом режиме. Анимация работает исправно, команды выполняются. В целом процесс создания игры требует точности и соблюдения определенной логики.
Данную игру я показал своим друзьям и родственникам. Игра им понравилась. От своей работы я получил не только новый опыт, но и положительные эмоции.
2.3. Презентация игры среди одноклассников
Посмотреть и поиграть в мою игру можно по ссылке https://www/roblox.com/games/74869262781418/
Заключение
Закончив работать над своим проектом, я могу сделать вывод, что создавать игру не очень сложно. Данный вид деятельности мне понравился, хотя я профессионально программированием не владею. Чтобы создать игру, для начала нужно разобраться в работе игрового движка, изучить инструменты и понять логику процесса.
Roblox — это платформа, которая позволяет создавать игры без глубоких знаний программирования, идеально подходит для начинающих.
Процесс разработки игры увлекательный и интересный, развивает способность лучше запоминать и обрабатывать информацию, учит находить нестандартные решения сложных задач, развивает интеллект и умственные способности.
Создание игр — это не только увлекательно, но и перспективно.
Для себя я решил, что не остановлюсь на достигнутом, буду дальше создавать компьютерные игры, изучать программирование. Также хочу попробовать себя в цифровом творчестве.
Список литературы
- Дашко Ю.В., Заика А.А. “Основы разработки компьютерных игр”. - М.: “Форум” 2009. - 350с.
- https://dic.academic.ru/
- https://stevsky.ru/starie-igri/istoriya-razvitiya-igr-ot-pervich-igr-do-virtualnoy-realnosti
- https://habr.com/ru/company/ua-hosting/blog/389363/
- https://habr.com/ru/company/miip/blog/308286/
- https://dtf.ru/gamedev/243437-sbornik-pomoshchnik-dlya-nachinayushchih-razrabotchikov-igr-besplatnye-programmy-i-assety
- https://media.halvacard.ru/entertainment/igry-po-zhanram-kakie-byvayut-i-kak-vybrat
- https://media.contented.ru/glossary/dvizhok-dlya-razrabotki-igr/