Разработка игрового мобильного приложения на Android

Структура Android-приложений. Особенности игрового движка. Алгоритмизация и программирование. Список игровых состояний. Настройка, отладка и тестирование программы. Разработка руководства пользователя. Тестирование инсталляции и отображения элементов.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 19.01.2017
Размер файла 4,5 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

1. АНАЛИТИЧЕСКИЙ ОБЗОР

1.1 Обзор и анализ существующих приложений

1.1.1 Выбор приложений

1.1.2 Обзор игры Bird Paradise

1.1.3 Обзор игры Magic Blender

1.1.4 Обзор игры Ice Age: Arctic Blast

1.1.5 Обзор игры Ice Crush

1.2 Формирование требований

1.3 Выбор варианта решения

2. СТРУКТУРА ПРИЛОЖЕНИЯ

2.1 Структура Android-приложений

2.2 Особенности игрового движка

3. Алгоритмизация и программирование

3.1 Разработка алгоритма

3.2 Программирование

3.3 Список игровых состояний

3.4 Разработка интерфейса

4. Настройка, отладка и тестирование

4.1 Тестирование сохранения данных

4.2 Модульное тестирование

4.3 Функциональное тестирование

4.4 Тестирование инсталляции и отображения элементов

5. Разработка руководства пользователя

5.1 Общее описание

5.2 Описание игровых сцен

5.3 Описание игровых правил

5.4 Пояснения по техническим вопросам

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

ПРИЛОЖЕНИЕ 1

ПРИЛОЖЕНИЕ 2

ВВЕДЕНИЕ

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

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

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

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

Объектом исследования является игровой движок Marmalade SDK, а предметом исследования будет разработка игры «три в ряд» на данном движке, в процессе которой мы изучим те функции движка, которые помогут нам в создании своего приложения.

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

1. АНАЛИТИЧЕСКИЙ ОБЗОР

1.1 Обзор и анализ существующих приложений

1.1.1 Выбор приложений

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

Все проекты, которые мы рассмотрим в обзоре, будут успешными играми жанра «три в ряд». Общее количество скачиваний которых на момент написания превышает 400-500 тысяч.

1.1.2 Обзор игры Bird Paradise

Требования игры: ОС: Android 2.3

Жанр: Аркада

Метки: Три в ряд, игра без кеша

Bird Paradise является совсем недавним проектом от студии Ezjoy, которая уже раньше выпускала другие игры на Android самых разных жанров. Стоит отметить, что не так давно эта компания создала такой неоспоримый хит как Garden Mania, который получил самые положительные и восторженные отзывы от большинства игроков. Спустя небольшое время все фанаты узнали, что студия не собирается останавливаться на достигнутом, а планирует добиться небывалых высот в создании игр избранных студией жанров. Предыдущий опыт создания игр очень помог компании не только в скорости разработки нового проекта, но и в улучшении его сильных качеств и сторон. В новой игре Ezjoy предлагают нам взять под свою защиту забавных птиц и помочь им защитить своё потомство от коварных ласк. Стоит заметить, что в плане основной игровой механики не произошло никаких серьёзных изменений. Мы так-же должны объединять птиц одинакового цвета в цепочки по три и больше элементов, чтобы очистить от них игровой экран, набрать очки и заработать различные бонусы. Однако, успешность этой игры кроется далеко не в обычности её игровой механики а в том, с каким подходом и любовью разработчики создают и рисуют эту игру. В наше время эта компания является не меньше, чем мастерами в разработке игр данного жанра. Но как уже говорилось студия Ezjoy не планирует останавливаться. Она постоянно совершенствует свои игровые проекты, чтобы сделать их ещё красочнее и успешнее на рынке. Отличительной чертой данной игры является её удивительная, красивая графика. Также в игре присутствует большое количество красочной анимации и различных эффектов. Нельзя не отметить, что в данной игре имеется и большой выбор уровней, доступных для прохождения игроку, множество различных бонусов, элементов развития и других мелочей. Bird Paradise однозначно должна понравится большинству игроков, которым приходятся по-вкусу аркадные головоломки.

Давайте рассмотрим эту игру подробнее и естественно оценим на практике сочетание всех игровых элементов, и попробуем зацепиться за определённые особенности игры. Для этого я скачал из Google Play 1.3.6 версию игры, которая на данный момент является последней.

Рисунок 1.1 -- главное меню Bird Paradise

Рисунок 1.2 -- экран завершения уровня Bird Paradise

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

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

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

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

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

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

Рисунок 1.3 -- Игровая сетка в игре Bird Paradise

Рисунок 1.4 -- Экран завершения уровня в игре Bird Paradise

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

1.1.3 Обзор игры Magic Blender

Требования игры: ОС: Android 2.3

Жанр: Аркада

Метки: Три в ряд, игра без кеша, таймкиллер

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

Основные особенности игры

· Приятная красочная графика

· Множество различных уровней

· Возможность получить очки, после окончания матча

Как только мы запускаем игру, сразу оказываемся на загрузочном экране. Изначально кажется, что игра сделана довольно-таки просто, однако это только первое впечатление. Игра использует мощнейший движок для создания игр -- Unity, который представляет из себя огромный набор различных инструментов для создания игр в 2D или в 3D. Размер игры составляет около 100 мб., что после предыдущей игры кажется большой цифрой (предыдущая весила всего 16 мб.)

Рисунок 1.5 -- Загрузочный экран игры Magic Blender

Рисунок 1.6 -- Главное меню игры Magic Blender

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

Рисунок 1.7 -- Экран выбора уровней игры Magic Blender

Рисунок 1.8 -- Игровой экран игры Magic Blender

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

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

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

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

Подведём итоги. Эта игра смотрится тоже очень и очень сильно на фоне своих конкурентов. Её высокая популярность частично оправдывается тем, что игра активно использует 3д и современные технологии. Даже механизм выбора здесь отдельного игрового элемента на игровом поле отличается от того, что я уже видел ранее. Здесь не нужно нажимать 2 раза на оба элемента, которые надо поменять местами, достаточно нажать один и провести пальцем в ту сторону, куда хочешь провести перемещение. Эти упрощения так-же помогают повысить скорость игры, хотя и очень-очень незначительно. Игра действительно большая, развёрнутая и полностью оправдывает своё присутствие в топе аналогичных игр. Многие проекты по визуальному стилю действительно не могут показать такие-же высокие результаты, каких добилась эта игра. Поэтому, это действительно ценная находка для любителей этого жанра. Многим она поможет провести приличное количество времени с интересом и надолго затянуть.

1.1.4 Обзор игры Ice Age: Arctic Blast

ОС: Android 4.1

Категория: Аркада

Метки: Три в ряд, игра без кеша

Ice Age: Arctic Blast - очередная игра в знаменитом жанре три в ряд, где вам предстоит отправиться в очень увлекательное путешествие вместе с удивительной троицей -- Сидом, Мэнни, Диего и знаменитой по серии мультфильмов белкой- Скрэтом. Всю игру вас будут сопровождать знакомые персонажи, а в самой игре самой главной задачей будет простое составление драгоценных камней в ряды и их уничтожение, которое помогает игроку очистить игровое пространство и заполнить его новыми. Путешествуйте в компании друзей через ледяную долину, Дино море и другие необычные места, набирайте достаточное количество очков, чтобы разблокировать в дальнейшем все уровни, на которых откроются возможности решить все игровые головоломки. Очищаясвой путь от камней, вы будете зарабатывать много очков, а также получать море дополнительных бонусов, которые специально припрятаны для вас. Игра очень увлекательная. Всё, что отделяет вас от грандиозного прилючения - это выбор любимого героя из мультфильма, с которым в дальнейшем вам придётся преодолевать разные преграды и прокладывать путь к победе с первого до последнего уровня.

Рисунок 1.9 -- Загрузочный экран игры Ice Age

Рисунок 1.10 -- Главное меню игры Ice Age

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

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

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

Рисунок 1.11 -- Экран выбора уровней игры Ice Age

Рисунок 1.12 -- Игровой экран игры Ice Age

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

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

В самом же игровом процессе есть различные бонусы, необычные эффекты. Перемещение в Ice Age элементов реализовано точно так-же, как как в предыдущем проекте. Количество перемещений у нас ограничено, поэтому мы должны находить самые эффективные и полезные решения, для того, чтобы быстро набрать необходимое количество очков для перехода на следующий уровень. Для перемещения элементов опять-же достаточно просто провести пальцем, чтобы заменить их местами. Игровые сетки здесь отдают разнообразием, чего не было заметно в первых уровнях других проектов. Элементы располагаются в каждом уровне несколько необычно (раньше был просто квадрат или прямоугольник). Такая необычная мелочь так-же помогает поддерживать интерес игрока, чтобы предложить ему ещё большее количество удивительных уровней и соответственно разных игровых ситуаций, которые ему придётся решать во время прохождения. Игровые элементы в очередной раз сделаны в виде сверкающих камней, которые соответствуют тематике данной игры.

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

1.1.5 Обзор игры Ice Crush

ОС: Android 2.3

Категория: Головоломки

Метки: Три в ряд, игры без кеша

Ice Crush - Magian is coming - многие люди считают, что это очередная игра жанра три в ряд, коих сейчас вокруг действительно огромное множество. Однако, у этой игры имеется масса замечательных особенностей, которые делают её уникальной и интересной для прохождения. Основное отличие этой игры заключается в том, что целью (главным заданием игры), является далеко не построение элементов в количестве по три. На каждом уровне нам дадут особые цели и дополнительные условия, которые игрок будет должен соблюдать при прохождении игры. Задания, которые даются игрокам в игре очень разнообразны. Например, на некоторых уровнях мы должны будем играть как обычно, но при этом не задевая особо выделенные блоки. Если мы это сделаем, то уровень считается проигранным и игру нужно будет начинать сначала. На части уровней нас ждут другие цели. Например, часть игровых блоков будет покрыта особой защитой, для разрушения которой нужно будет несколько раз выставить совпадения элементов. Причём так, как нам сказано в основном задании. Игра действительно затягивает всех любителей жанра. Если вам хочется интересно и увлекательно провести небольшое количество времени, и при этом игра не должна быть замысловатой и затейливой, то Ice Crush весьма может вам подойти. Попробуйте! Правда, бездумно ходить в этой игре всё-таки не стоит. Нужно продумывать ходы и действовать точно по придуманному плану.

Рисунок 1.12 -- Загрузочный экран игры Ice Crush

Рисунок 1.13 -- Главное меню игры Ice Crush

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

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

Рисунок 1.13 -- Экран выбора уровней Ice Crush

Рисунок 1.14 -- Начальный экран раунда с игровой целью Ice Crush

Экран выбора очень красивый, стильный и соответствующий по стилю тому, что мы уже увидели в главном меню. Потрясающая графика, замечательно прорисованные снежинки. На экране выбора уровней идёт снег, что очень красиво смотрится в игре. Экран выбора уровней возможно мотать «вверх». Общее число уровней в игре составляет 540, что очень много. Игровые цели на начальных уровнях очень просты и достигаются за 20-30 секунд игрового времени.

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

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

Рисунок 1.15 -- Игровой экран игры Ice Crush

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

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

1.2 Формирование требований

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

Давайте распишем основные требования, которые должны быть реализованы в нашей игре:

1)Игра должна быть стабильной. Взаимодействие с любыми её элементами и компонентами не должна привести к резкому завершению игрового процесса.

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

3)Изначально при попадании в игру мы оказываемся в главном меню (без или с загрузочным экраном до этого)

4)В главном меню у нас должно находиться несколько кнопок. Начала игры и настройки.

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

6)При первом запуске игры необходимо будет создать файл сохранения игровых данных, в который мы будем записывать результаты игровых сессий на разных уровнях и сохранять общие игровые достижения игрока.

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

8)При нажатии кнопки играть мы должны попасть на новую игровую сцену, где будут размещены различные игровые уровни.

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

10)После прохождения уровня можно будет вывести результаты его сессии. Например, время, которое он провёл в игре на этом уровне.

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

12)Когда на игровом поле наблюдается реальная комбинация совпадений (собранная), у игрока временно отнимают управления. Начинается цепочка по удалению игровых элементов и очищению игрового поля.

13)Как только все игровые события прошли, игра дополнительно добавляет множество новых элементов на игровое поле. После этого сразу проверяется наличие новых совпадений игровых элементов (по 3 в ряд/столбик и прочие), после которого управление игроку вернётся только тогда, когда совпадений на экране больше нет.

14)Для выбора игрового элемента и последующей его перестановки мы будем использовать клик на экран сенсора. Она фиксирует текущий игровой элемент (как потенциальный для комбинации).

15)Если игрок решает отвязать текущий игровой элемент, который он выбрал ранее. Это будет сделано, когда он ещё раз нажмёт на него.

16)Когда элемент для перестановки выделен, нужно будет выбрать другой элемент (снизу, сверху, справа или снизу от текущего). После этого, если там имеются совпадения элементов по 3 и более, элемент перемещается. Если нет, то возвращается назад.

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

18)При уничтожении любых рядов элементов необходимо подключить анимацию, чтобы она красиво подчёркивала это игровое событие.

19)К различным игровым событиям необходимо добавить звуки, в которых есть проверка на включённый или выключенный звук. Эти условия помогут игре адекватно реагировать на переключение опций, связанных со звуком. И сделают их работу максимально качественной.

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

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

22)После достижения основной игровой цели необходимо обязательно проиграть звук, который подчеркнёт это игровое событие.

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

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

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

26)В игре не должно быть привязки к социальным сетям, ввиду скоротечности проекта. Приложение будет полностью отвязанным от интернета и не требовать для игры постоянного интернет-подключения.

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

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

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

30)Из-за сложности создания 3d графики, для проекта я буду пользоваться исключительно 2d.

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

1.3 Выбор варианта решения

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

Первый -- Unity 2D [6].

Рисунок 1.16 -- Логотип движка Unity

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

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

Второй движок, который я рассматривал называется Marmalade SDK [2].

Рисунок 1.17 -- Логотип движка Marmalde SDK

Движок Мармелад известен куда меньше, чем Юнити и во многом уступает ему по возможностям, но практически не упускает по количеству платформ, на которые способен собирать приложения. В бесплатной версии Мармелада нельзя создавать игры для PC, однако для мобильных игр на iOS и Android я считаю это потрясающим выбором. Большое количество заранее готовых движковых фишек и наработок ждут в нём своих разработчиков. Остаётся только освоить методы, чтобы создавать свою игру.

Движок написан на С++. По размеру он практически сравним с юнити. В Мармелад входят компоненты для создания целых 2х версий проектов. Можно делать мощные проекты на С++, а можно сделать на Lua-версии движка более простые проекты. Приложения в нём собирать действительно легко и удобно. Имеется симулятор, в котором можно тестировать свои наработки максимально близко.

Сравнив плюсы и минусы первого и второго движка, я всё-же решил выбрать Мармелад. Игровых проектов, сделанных на нём, не так много. Обосную своё решение тем, что в Мармеладе мне удалось намного быстрее добиться первых результатов и запуске на своём смартфоне тестовых приложений. На освоение всех методов движка у меня ушло 2-3 дня, когда с Юнити за такое-же время я разбирался с одним из его компонентов. В основе Мармелада есть и возможность подклюать физику, благодаря встроенному Cocos-2D, которые позволяет моделировать в игре различные физически ситуации. Столкновения и остальное. (правда для моего проекта это не применимо).

Также я выбрал Мармелад потому, что в его быстрой версии используется знакомый мне язык программирования Lua [4], который считается скриптовым, однако на самом деле является очень мощным и гибким средством для разработки, основным преимуществом которого является особый тип данных - таблиц и фантастическая производительность в расчётах.

2. СТРУКТУРА ПРИЛОЖЕНИЯ

2.1 Структура Android-приложений

Рассмотрим изначально основную структуру любого Андроид-приложения.

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

Следующая таблица демонстрирует обязательные и возможные составляющие структуры Android-приложения:

Таблица 1 -- Составляющие структуры Android - приложения

Название

Описание

Необходимость

gen

Файлы, сгенерированные самой Java. Здесь находится такой важный файл как R.java

Да

AndroidManifest.xml

Файл манифеста AndroidManifest.xml предоставляет системе основную информацию о программе. Каждое приложение должно иметь свой файл манифеста

Да

src

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

Да

assets

Произвольное собрание каталогов и файлов

Нет

res

Каталог, содержащий ресурсы приложения. В данном каталоге могут находиться подпапки drawable, anim, layout, menu, values, xml и raw (см. ниже)

Да

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

2.2 Особенности игрового движка

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

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

Для того, чтобы систематизировать игровые файлы, рекомендуется создать папку resourses (ресурсы) куда будут добавляться разные игровые картинки, музыка и анимации, а основные файлы сцен, в которых находится описание других элементов рекомендуют создавать всегда отдельно и называть максимально понятно, именем того, за что оно отвечает.

В основном мой игровой проект будет включать в себя картинки разных форматов и множество написанных на языке Lua-скриптов, в которых будет описана логика и определённые игровые сцены.Для освоения данного языка была подробно изучена его документация [5].

Сам движок представляет из себя огромное множество написанных на этом-же языке компонентов. Подробная документация по движку [1]. Например, режиссёр. Роль которого в проекте является очень важной. По английски он назывется director. Директор является одним из базовых классов, который иммитировали на языке Lua, за счёт чего он очень напоминает объектно-ориентированное программирование. Это позволяет программистам получить более читаемый и понятный логически код. Например, команда...

director:createSprite(director.displayCenterX, director.displayWidth, "textures/tower.png")

Вызывает изначально класс режиссёра игровых сцен, а потом команду создания изображения по координатам центра экрана с картинкой, которая находится в каталоге текстуры (textures) c названием «tower» формата .png. Такая структура всех основных готовых игровых библиотек позволяет им упростить не только обращение к ним, но и сделать его очень удобным для использования и применения в достижении своих целей.

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

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

Разные скрипты в программе и функции из других файлов можно будет вызывать друг из друга, если написать в них команду

require("newfile"), где newfile - название.

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

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

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

Дополнительно в каталоге проекта движка, есть ещё несколько файлов app, common. Development. Они позволяют настроить движок. Например, отключить в игре использование альбомной ориентации. Ведь игра при том, когда переворачиваешь экран автоматически перемещает её в нужную сторону. Специальные команды в этих файлах помогают отключить это. Также там можно настроить максимально возможную громкость вашего приложения и многое-многое другое. Оптимальные же данные уже изначально введены в эти файлы. Также в них можно переписать главный файл приложения с main.lua, на любой другой, который вам захочется. И при запуске игры она будет загружаться именно с него.

Давайте немного рассмотрим интерфейс самого движка.

android приложение программа тестирование

Рисунок 2.1 -- Менеджер проектов Marmalade SDK

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

Рисунок 2.2 -- Внешнее окно управления проектом

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

Внизу находится клавиша Open in IDE, которая открывает проект как структуру. С кучей файлов, папок, скриптов, игровых материалов и остального. Там мы и будем проводить основную часть создания своего приложения.

Рисунок 2.3 -- Среда создания игрового приложения

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

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

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

3. Алгоритмизация и программирование

3.1 Разработка алгоритма

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

Первым делом в своём приложении, ещё до его создания, мне нужно было заранее решить проблему хранения игровых данных. Движок Marmalade сделан действительно качественно, поэтому сразу предложил мне возможность подключения небольшой базы данных на языке SQLite 3 [3], которая помогла бы мне разобраться с этой проблемой. Виртуальными командами были сделаны 2 простых таблицы.

Команда для создания таблицы с количеством наших монет (на будущие игровые бонусы они будут расходоваться).

CREATE TABLE monets(name TEXT, value INTEGER);

INSERT INTO monets VALUES("money_1", 0);

Изначальное количество монет у игрока равняется 0.

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

CREATE TABLE levels(name NAME, status BOOLEAN);

INSERT INTO levels VALUES("level_1", 1);

INSERT INTO levels VALUES("level_2", 0);

INSERT INTO levels VALUES("level_30", 0);

Статус уровней 0 -- закрыт, 1 -- открыт и можно играть. По умолчанию при первом запуске игры будут закрыты все уровни, кроме 1.

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

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

Рисунок 3.1 -- Взаимодействие с базой данных

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

Допустим, мы проверяем открыт ли у нас 30-й уровень в игре. Для этого мы вызываем функцию check_level_status(level_num), где level_num - номер нашего игрового уровня (т.е. 30). В результате этой функции мы получим число 0 или 1, которое говорит нам о том, открыт или закрыт данный уровень. Внутри функции будет сформирован специальный SQL-запрос по нашим требованиям, по которому мы уже получим конкретный результат.

Таблицы в базе данных никак между собой не связаны ничем (кроме игрового процесса) и являются полностью отдельными.

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

1. Создание сцены главного меню приложения

1.1 Добавление кнопки «играть» и кнопки «выход».

1.2 Создание изображения с названием игры.

1.3 Рисование мельниц и добавления к ним анимации

1.4 Создание движущихся облаков

2. Создание сцены экрана выбора уровней

2.1 Создание категорий уровней

2.2 Открытие уровней в любой из 6 категорий

2.3 Рисование графики доступности уровней

2.4 Проверка доступности уровней из игрового хранилища

2.5 Вывод количества монет на экран

2.6 Кнопка «вернутся в меню»

2.7 Запуск определённого уровня любой категории (если он открыт)

3. Создание сцены игрового экрана

3.1 Создание графического представления отдельных элементов

3.2 Создание класса игрового объекта, игровой сетки

3.3 Создание основного алгоритма игры три в ряд в классе игровой сетки

3.4 Создание дополнительных классов селектора и взрывателя

3.5 Загрузка игровой цели в зависимости от выбранного уровня

3.6 Загрузка количества монет и проверка доступности бонусов

3.7 Эффекты от использования игровых бонусов

3.8 Прорисовка заднего фона

3.9 Добавление возможности поставить паузу и кнопку выхода

3.10 Внедрение игровых состояний (ждёт выбор элемента 1, ждёт выбор элементов 2, ждёт разрушения игровых объектов, пауза и подобных)

4. Доработка остальных деталей игры

3.1 Дорисовка графики (где это необходимо)

3.2 Добавление красивых визуальных эффектов к игровым событиям

3.2 Программирование

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

Рисунок 3.2 -- Один игровой объект полностью

В нашем случае объектом игровой сетки является простое изображение в форме квадрата определённого цвета с 15 вариантами. Все варианты, которые вы видите на рисунке выше являются настоящей анимацией. Из изображения вырезаются квадраты размером по 85 пикселей, которые потом при быстрой замене текущего изображения в игровом объекте (которым является наш gem), создают непрерывную и плавную его анимацию. Анимация проигрывается не всегда, а только при падении новых игровых объектов на экран и в самом начале игры. Это сделано для того, чтобы снизить нагрузку на глаза игрока и позволить им меньше уставать от игрового процесса.

Для того, чтобы создать хорошую анимацию игрового объекта, были использованы знания программы Photoshop CS6. К каждому отдельному квадрату добавлялись определённые эффекты. Например, тиснение. Этот эффект увеличивался с определённым шагом до квадрата в центре, а затем снова снижался до прежнего уровня, что позволяло нашему игровому объекту вновь принять цвет, которым он обладал в начале игры или в момент первого своего появления на игровом экране.

Класс gem в целом представляет из себя обычное игровое изображение с анимацией, которое находится по определённым x,y координатам. Также класс обладает типом, который определяет его цвет из файла и соответствующие анимации.

В классе gem можно выделить только созданный метод gem:explode(), который занимает очень важное место в игре.

function gem:explode()

-- Проигрываем анимацию исчезновения

tween:to(self.sprite, { alpha=0, time=0.1, easing=ease.sineIn } )

-- Удаляем объект из игры

game.removeGem(self)

-- Добавляем игровые очки за уничтожение

game.addToRoundScore(gemDestroyedScore, self.type)

-- Создаём эффект «взрыва» в указанной точке

explosion.createExplosion(self.sprite.x + gemActualWidth / 2, self.sprite.y + gemActualHeight / 2, self.type)

end

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

Рисунок 3.3 - Монетка

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

Класс grid - это класс, который представляет из себя основную игровую сетку, на которой располагаются отдельные gem-элементы. Выглядит это сетка примерно вот так.

Рисунок 3.4 -- Игровая сетка

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

- Получаем x,y координаты сетки по нажатию на экран

function grid:screenToGrid(x, y)

local grid_x = math.floor((x - self.offsetX) / gem.gemActualWidth + 0.001)

local grid_y = math.floor((y - self.offsetY) / gem.gemActualWidth + 0.001)

return grid_x + 1, grid_y + 1

end

- Получаем игровой объект, который находится по координатам x,y

function grid:getGem(x, y)


Подобные документы

  • Преимущества операционной системы Android. Проектирование интерфейса приложений. Визуальные редакторы и средства кроссплатформенной разработки. Оптимизация игрового процесса, выбор фреймворка и библиотек. Классификация и характеристика игр по жанрам.

    дипломная работа [2,6 M], добавлен 10.07.2017

  • Архитектура операционной системы Android. Инструменты Android-разработчика. Установка Java Development Kit, Eclipse IDE, Android SDK. Настройка Android Development Tools. Разработка программы для работы с документами и для осуществления оперативной связи.

    курсовая работа [2,0 M], добавлен 19.10.2014

  • Создание, изучение и разработка приложение на Android. Среда разработки приложения DelphiXE5. Установка и настройка среды программирования. Этапы разработки приложения. Инструменты для упрощения конструирования графического интерфейса пользователя.

    курсовая работа [1,6 M], добавлен 19.04.2017

  • Общая характеристика системы Android, обзор его аналогов. Необходимые компоненты для начала работы в Android. Настройка конфигураций Ubuntu. Написание script-ов, упрощающих генерацию Linux. Отладка и тестирование программы на плате i.MX53 фирмы freescale.

    курсовая работа [1,1 M], добавлен 12.10.2012

  • Анализ целевой аудитории. Функциональные характеристики пользовательского приложения. Разработка алгоритмов и интерфейса программного продукта, функций рабочей области. Написание скриптов на языке C#. Тестирование программы методом чёрного ящика.

    дипломная работа [1,5 M], добавлен 09.11.2016

  • Изучение существующих подходов к использованию компьютерных игр в образовательном процессе. Разработка и реализация проекта игрового обучающего приложения на мобильной платформе. Выбор платформы и средств реализации игрового обучающего приложения.

    дипломная работа [3,4 M], добавлен 12.08.2017

  • Современное состояние рынка мобильных приложений. Основные подходы к разработке мобильных приложений. Обоснование выбора целевой группы потребителей приложения. Этапы проектирования и разработки мобильного приложения для операционной системы Android.

    курсовая работа [987,1 K], добавлен 27.06.2019

  • Первое устройство, работающее под управлением Android. Приложения под операционную систему Android. Формат установочных пакетов. Разработка приложений на языке Java. Шаблоны основных пакетов и компонентов Android. Сборка приложений, основанная на Gradle.

    курсовая работа [492,0 K], добавлен 08.02.2016

  • Разработка клиент-серверного игрового приложения на примере игры в шашки для мобильных устройств на базе операционной системы Android. Обзор мобильных платформ. Экраны приложения и их взаимодействие. Графический интерфейс, руководство пользователя.

    курсовая работа [2,6 M], добавлен 15.06.2013

  • Общий обзор проблемы безопасности ОС Android. Развитие индустрии по борьбе с вредоносным и мошенническим ПО. Разработка Системы ранжирования уровней опасности Android приложений. Выбор производителя и типа СУБД. Тестирование программного обеспечения.

    дипломная работа [2,7 M], добавлен 13.02.2016

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.