МБОУ Левженская СОШ
Проект по информатике на тему:
«Создание развлекательной игры на Unity»
Автор: ученик 10 класса МБОУ Левженская СОШ Белкин Андрей
Научный руководитель:
Учитель информатики и математики
Сумина Елена Васильевна
С. Левжа, 2023
ОГЛАВЛЕНИЕ
Введение 2
Раздел 1. Теоретическая часть.
1.1 Что такое игра? 4
1.2 Концепт игры. 7
1.3 Движок игры. 7
Раздел 2. Практическая часть.
2.1 Создание проекта. 13
2.2 Создание игры. 14
Заключение 19
Список литературы 19
Полезные ссылки 19
ВВЕДЕНИЕ
В нашей школе уже несколько лет подряд проходит Всероссийская акция "Час кода", в этом году она называлась "Урок Цифры". В ней школьники узнают, как цифровой мир меняет профессии, почему уметь программировать так же важно, как уметь читать. Акция направлена на популяризацию изучения информатики и программирования, а также повышения престижности IT-профессий, которые уже сегодня вошли в число наиболее востребованных и высокооплачиваемых на рынке труда.
Мне было интересно на этом уроке, ведь я управлял роботом, который выполнял команды, которые я ему давал. Я легко прошел 10 уровней, которых мне не хватило на урок. Мне стало интересно смогу ли я сам создать игру, которая была бы интересна не только мне, но и моим сверстникам.
Актуальность: в наши дни огромное количество самых разных по интересам людей частенько поигрывают в компьютерные игры, причем это не только скучающие школьники или прогульщики-студенты. Среди игроков встречаются и бизнесмены, и политики, и домохозяйки, и инженеры, и художники - в целом абсолютно разные люди. Всех их объединяет одно - желание испытать в виртуальных мирах что-то новое, неизведанное, попытать удачу и получить наслаждение как от игрового процесса, так и от достигнутых в игре результатов.
Проблема: современные дети увлечены различными компьютерными играми, и не задумываются над тем, где они могут применить свой накопленный опыт.
Гипотеза: Я предполагаю, что любой школьник может создать свою игру, при этом он может не знать азов программирования.
Цель исследовательской работы: создать свою игру, интересную сверстникам.
Задачи:
1.Узнать историю возникновения компьютерных игр;
2. Рассмотреть технологию создания компьютерной игры;
3. Сравнить и выбрать для себя приложение для создания игр;
4. Изучить выбранную программу и создать в ней игру;
Метод проведения исследования: сбор, анализ, обобщение и систематизация материала: научных, научно-популярных статей о компьютерных играх (книги, журналы, интернет-сайты), просмотр обучающих видеороликов, создание своей игры, обработка данных.
Раздел 1. Теоретическая часть.
1.1 Что такое игра?
История компьютерных игр начинается в 1940-х и 1950-х годах, когда в академической среде разрабатывались простые игры и симуляции. Компьютерные игры длительное время не были популярны, и только в 1970-х и 1980-х годах, когда появились доступные для широкой публики аркадные автоматы, игровые автоматы и домашние компьютеры, компьютерные игры становятся частью поп-культуры
Появлению коммерческих компьютерных игр предшествовала уже сложившаяся индустрия развлекательных аркадных автоматов наподобие пинбола — механических игр, для запуска которых требовалось бросить монетку в щель приемника. Такие автоматы выпускались с XIX века, используя всё более сложные механизмы, а с 1930-х годов и электричество; параллельно развивались и музыкальные автоматы- «джукбоксы». Примечательным и необычайно сложным для своего времени аркадным автоматом стал Nimatron — электромеханический компьютер для игры в ним, спроектированный физиком Эдвардом Кондоном и выставленный на Всемирной выставке 1939-1940 годов в Нью-Йорке. В 1947 году было запатентовано «Развлекательное устройство на основе электронно-лучевой трубки» Томаса Голдсмита и Эстла Манна – оно считается первым специально предназначенным для игры устройством, выводившим изображение на экран, то есть «видеоигрой».
В начале 1950-х годов создавались специализированные компьютеры наподобие Nimrod опять же для игры в ним и Bertie the Brain и OXO для игры в крестики-нолики. Tennis for Two, разработанная физиком Уильямом Хигинботамом, имитировала игру в теннис с графическим интерфейсом, используя аналоговый компьютер и осциллограф как средство вывода в реальном времени. В 1948—1950 годах Алан Тьюринг и Дэвид Чемперноун разработали алгоритм шахматной игры Turochamp, однако компьютеры того времени были недостаточно мощными, чтобы реализовать этот алгоритм. Британский журналист Тристан Донован в книге Replay: The History of Video Games описывал 1950-е годы как «десятилетие фальстартов», единичных устройств, созданных в единственном экземпляре для выставок и разобранных позже — создатели этих устройств отбрасывали идею компьютерных игр как пустую трату времени.
К 1960-м годам развитие вычислительной техники — от вакуумных ламп к транзисторам, а от транзисторов к интегральным схемам — сделало компьютеры намного более мощными и доступными, чем прежде. В 1961 году группа студентов из клуба Tech Model Railroad Club (TMRC, клуб железнодорожных моделистов) при Массачусетском технологическом институте использовала новейший на тот момент компьютер DEC PDP-1 для создания одной из первых компьютерных игр – космического симулятора Spacewar!. Создатели игры охотно передавали код игры другим пользователям компьютеров PDP-1 в других университетах и лабораториях; сама компания DEC использовала игру для демонстрации возможностей компьютера потенциальным покупателям. PDP-1 был весьма дорогостоящим компьютером — 120 тысяч долларов США — и количество проданных компьютеров было ограничено несколькими десятками.Компьютерные игры стали настоящим культурным феноменом - возникнув как незамысловатый плод творческой мысли программистов, они с каждым годом приобретали всё большую популярность - и развились до того, что стали отдельной специфической спортивной дисциплиной - киберспортом. По всему миру выросли компании по разработке игр, а работа в этой сфере стала розовой мечтой для многих юных умов, желающих создавать любимые компьютерные игрушки. Некоторые игровые серии стали культовыми - например, DOOM, Fallout, Драгон Квест, Final Fantasy, Контра, WoW, Starcraft, NFS, GTA. Как минимум про одну из них наверняка слышал любой человек, который хоть раз сталкивался с компьютером.
Попытки создать простенькие игры на цифровых устройствах предпринимались ещё до начала Второй Мировой войны, а в 1947 уже была запрограммирована первая электронная игра, монитором для которой служил экран военного радара - это был симулятор вражеских ракет. Однако считается, что первой компьютерной игрой стала игра "Крестики нолики", которую в одиночку сделал А.С. Дугласом в 1952 году, с минимально возможным полем 3х3 клетки. Сегодня это может показаться смешным, но в тот момент это было революционным новшеством. Крестики нолики - одна из самых популярных игр для маленьких детей.
В 1958 году в Нью-Йорке Уильям Хигинботэм порадовал пользователей новым обытным образцом. Им стала видеоигра . Посетители его лаборатории могли поиграть в теннис на цифровом корте, управляя своими «ракетками» с помощью джойстиков. Несмотря на простоту функционала, эта игра стала очередным прорывом в нарождающемся мире геймеров.
Однако настоящий виртуальный взрыв произошел в 1962 году. Компания DEC разработала игровой контроллер и вместе с компьютером PDP-1 стала распространять как тестовую программу, не имеющую прежде подобий, игру SpaceWar. Это была первая компьютерная игра ставшая по-настоящему популярной.
Компьютеры в то время были еще громоздкими. Прошло почти 10 лет до того момента, когда возникли компактный платы на транзисторных схемах. В мае 1972 года была представлена Magnavox Odissey — первая игровая приставка для телевизора.
С этого момента игровой компьютерный мир стал продвигаться семимильными шагами. Развитие шло в четырех основных направлениях: непосредственно компьютеры, теливизионные игровые приставки, электронные игровые автоматы и карманные электронные игры. Это было прорывом в игровой индустрии.
1.2 Концепт игры
Я выбрал легкий, но достаточно захватывающий в реализации и конечном геймплее концепт. Изначально варианты были различны, так, например, изначально проект представлялся мне как песочница. Однако разобрав на составляющие предстоящую мне работу, я решил отказаться от этой идеи. В конечном итоге я выбрал концепт, представляющий собой гоночную игру. Я придумал такой концепт, при котором будет использовано меньше работ по визуализации, а также настройки её механики.
1.3 Движок игры
Выбор движка, а также процесс разработки собственной игры.
Рисунок 1. Unity
Unity
Unity используется повсеместно и являясь мультиплатформенным подходит под широкий спектр задач, хотя графически несколько уступает Unreal. Позволяет работать над 2D и 3D играми, создавая проекты под Windows, OS X, Playstation 4, XBox, Windows Phone, Android, Apple iOS и Linux, в том числе и под Wii, PlayStation 3, PlayStation 4, Xbox 360, Xbox One, Nintendo Switch. Есть возможность создавать приложения для запуска в браузерах с помощью специального подключаемого модуля Unity (Unity Web Player), а также с помощью реализации технологии WebGL.
Приложения, созданные с помощью Unity, поддерживают DirectX и OpenGL. Движок используется как разработчиками ААА-игр, так и Indie-студиями. Есть собственный Asset store, сильное и активное коммьюнити и впечатляющее количество документации и видеоуроков. В наличии движка простой легко настраиваемый Drag&Drop интерфейс, состоящий из различных окон и позволяющий производить отладку игры прямо в редакторе. Движок поддерживает скриптовые языки C# и JavaScript. Все расчёты физики производятся с помощью NVIDIA PhysX. Лицензия Unity Personal является бесплатной, однако, если доход вашей компании составляет больше 100 000 $ в год или же если вам удалось привлечь на разработку более 100 000 $, вы не имеете права использовать Unity Personal. Можно будет воспользоваться версией Unity Plus для компаний, зарабатывающих до 200 000 $ в год, или Unity Pro — она не накладывает никаких ограничений по доходу.
Рисунок 2. Unreal Engine
Unreal Engine
Один из самых популярных движков на сегодня. В связи с использованием С++ имеет огромнейших спектр возможностей и, в том числе, собственную визуальную систему программирования — Blueprint. Имеет мощное комьюнити, большое количество видеоуроков, уже готовых ассетов и часто используется как при разработки ААА-игр, так и небольших проектов. UE Поддерживает большинство известных платформ: Microsoft Windows, Linux, Mac OS и Mac OS X; консолей Xbox, Xbox 360, Xbox One, PlayStation 2, PlayStation 3, PlayStation 4, PSP, PS Vita, Wii, Dreamcast, GameCube, Nintendo Switch и т.д., в iOS и Android. В версии 4.0 присутствует мощный редактор ИИ, редактор для создания кат-сцен и поддержку DirectX 12. В целом, UE позволяет добиться действительно впечатляющей картинки. В графическом плане - это один из мощнейших движков из всех ныне существующих. Начиная с 02.03.2015 движок стал полностью бесплатным при условии, что прибыль от проектов, созданных на основе движка не превышает $3000 за квартал. После превышения нужно будет отчислять Epic Games 5% прибыли от продаж игры
Рисунок 3. Construct 2
Construct 2
С помощью Construct 2 можно эффективно и быстро создавать прототипы 2D игры без помощи кода. Поддержка таких платформ, как PC, Mac, Linux, Android, iOS, Windows Phone, Blackberry 10, Amazon Appstore, Chrome Web Store и браузеры с поддержкой HTML5.Порог вхождения минимален - интерфейс программы интуитивно понятен, а логика создается путем построения системы событий и связанных с ними действий. В дальнейшем, в проект можно дописать код - игры, созданные на движке кодируются Javascript. Construct 2 доступен бесплатно с ограниченным функционалом. Стоимость персональной лицензии со всеми функциями составляет 6399 руб на Steam. Если выручка от выпущенного проекта превысит 5000$, придётся приобрести бизнес-лицензию для коммерческого использования. Бизнес-лицензия не имеет каких-либо отличий от персональной по функционалу, а лишь является дополнительным условием при достижении конкретной суммы с продаж.
Рисунок 3. Corona
Corona
Corona – кросс-платформенный движок, который поддерживает iOS, Android, Windows и Mac с языком программирования Lua с недавнего времени стал полностью бесплатным. Изначально, движок был представлен в двух версиях. Версия Corona SDK являлась бесплатной, но ограниченной в функционале и без наличия возможности создания офлайновых билдов. Платная – Corona Enterprise, Без ограничений первой версии и доп. инструментарием на борту. С 22 июня SDK и Enterprise распространяются в лице единого продукта – Corona без каких-либо комиссий с доходов проекта и ограничений по объёму получаемой прибыли. Монетизация движка осуществляется посредством премиум-поддержки, снятия лого движка с загрузки, процентов с продаж Corona Marketplace и бесплатных плагинов рекламной монетизации.
Рисунок 4. Defold
Defold
Defold - кроссплатформенный движок от компании King. Поддерживает Html5(WebGl), Android 2.3 (API level 9)+, iOS 5.1+, Windows Vista+, OSX 10.7+
Linux и является полностью бесплатным без каких-либо ограничений с момента, как был заявлен в марте этого года на GDC 2016. Движок предназначен по большей части для работы с 2D проектами, но также поддерживает импорт 3D-мешей. Скриптинг осуществляется посредством Lua. Defold является полностью бесплатным и не имеет каких-либо ограничений по планке достижения дохода проекта.Помимо вышеупомянутых движков, их существует еще превеликое множество: CryEngine 3, App Game Kit, AndEngine, Buildbox, Cocos2D, Game Maker Studio, MOMINIS, Rage Engine, IRM, Linderdaum Engine SDK, DX Studio, Project Anarchy, gameQuery, GameSalad, Godot Game Engine, Crystal Space 3D, Monkey и многие другие.
Отличия могут быть как незначительными, так и достаточно радикальными - порог вхождения, язык программирования, саппорт, тип лицензии, 2D/3D, возможности работы с графикой и другие особенности могут склонить сделать выбор в сторону нужного решения. Если уже сложилась четкая картинка и понимание того, что ожидать от разработки проекта и какой результат должен получиться на выходе - подогнать свои запросы под нужный движок не составит труда. Достаточно ознакомиться с возможностями уже зарекомендовавших себя на рынке, посмотреть шоукейс проектов и задать интересующие вопросы в сообществе или на форуме. В этом случае, решение вряд ли заставит себя долго ждать.
Раздел 2. Практическая часть
4. Создание проекта
Для создания моей игры, я буду использовать движок Unity Personal.Он бесплатен, простой в изучении, а также не требует профессиональных навыков программирования.К тому же, модификации для этого движка бесплатны и свободны в использовании.
Р
исунок 5.Как выглядит программа.
Меню программы довольно простое, даже без знания английского языка можно разбираться во вкладках как профессионал
Перед началом работы, требуется установить модуль, который предлагает Unity по умолчанию.
После установки модуля, нам требуется создать проект.
Р
исунок 6. Меню редактирования проекта.
Как только мы создали проект, нас встречает вот такая система, которая на первый взгляд кажется очень трудной.
5. Создание игры
Перед началом работы с движком, потребуется добавить ассет, с помощью официального магазина Unity.
Р
исунок 7.Сайт, на котором берутся модификации.
Я собираюсь делать игру про машинку, поэтому начнем с нее. После того как нужный нам ассет попался в магазине, мы добавляем его в движок Unity ( Нажав на Open in Unity )
После нажатия, у нас на движке откроется Package Manager ( Так называется место на диске, куда скидываются все ассеты )
После инсталляции мы увидим в нижней панели кучу открывшихся папок, нам потребуется среди этих папок отыскать модель машины и переместить ее на экран.
Как только мы перенесем автомобиль на экран, у нас запустится движок и с этой основой мы будем работать.
Р
исунок 8. База данных нашего проекта.
Находим на панели снизу, нужную нам механику, в моем случае это «Demo».
Открываем и начинаем работать с автомобилем.
С
перва нам придется настроить код автомобиля, привязав к нему разные области действия. Так же требуется настроить то, как он будет двигаться.
Как только мы настроим все это, переходим к карте.
Землю или плоскость на которой будет двигаться автомобиль создадим с помощью самого Unity ( Так как он многофункционален и легкий ) .
С помощью двух кликов мы создали плоскость, а также разукрасили ее в ярко-зелёный цвет.
Рисунок 9. Окно связывания моделей
Также с помощью Unity создадим стены на краях нашей плоскости, чтобы машина не вылетала за пределы границ.
Для украшения ландшафта требуется расставить деревья и задать их прозрачность в ноль, чтобы у автомобиля были препятствия которые он мог бы объезжать.
В данный момент игра выглядит вот так.
Р
исунок 10. Карта игры.
Я подумал, что на карте очень мало препятствий для ее размеров и добавил еще несколько методом дублирования, чтобы заново не задавать прозрачность. ( Ctrl + D )
Р
исунок 11. Создание препятствий.
Теперь я считаю, что препятствий достаточно, осталось перейти к тестам игры.
Чтобы дать поиграть моим одноклассникам, надо скомпилировать (сохранить) и перевести его в exe расширение, дабы запустить ее на пк.
Р
исунок 12.Сохранение и конвертирование проекта.
После окончания работы на Unity, следует проверить игру.
Рисунок 13. Визуал игры.
Как только проверка игры была завершена и игра работала прекрасно и без ошибок, то делаем вывод, что проект окончен.
Заключение
Подводя итоги проектной работе, я научился пользовать механиками программирования, а также создал игру, которую со временем можно улучшать и модернизировать.
Благодаря моему проекту, я изучил много механик, а также программ для программирования не только игр, но и модификаций для них.
Было очень интересно и увлекательно работать над проектом и темой для него.
Я изучил движки для создания и проектирования игр.
Выполнил все поставленные мной цели для окончания проекта. Узнал какие проблемы игр в нашем мире, а также какая у них всемирная актуальность.
Список литературы
Turbo Pascal / С. А. Немнюгин. – СПб.:Питер; 2003.
2. Информатика. Базовый уровень: учебник для 10 класса / И.Г Семакин, Е.К. Хеннер, Т.Ю. Шеина.
3. Персональный компьютер. Настольная книга пользователя.-М.: Мартин, 2003.
Полезные ссылки
https://disk.yandex.ru/d/UtqiQZ9enlC9Vg
https://assetstore.unity.com/
https://hsbi.hse.ru/articles/pyat-igrovykh-dvizhkov-s-kotorykh-stoit-nachat/
https://en.wikipedia.org/wiki/History_of_video_games
https://unity.com/
https://en.wikipedia.org/wiki/Unity_(game_engine)