воскресенье, 26 августа 2012 г.

Теория и практика создания игр (часть 3)

Продолжим рассмотрение этапов создания игры:

4. Разработка редактора уровней.
5. Рисование всех графических элементов.

4. Разработка редактора уровней.
В принципе этот этап можно и вообще пропустить, если ваша игра будет генерировать сама уровни или будет состоять всего из одной локации (например стрельба из лука, футбольный симулятор). Конечно можно использовать и обычный Блокнот, но написание уровней (+ их редактирование) займет много времени, особенно если уровней 50 или 100+. Также можно использовать растровый графический редактор (суть метода в том, что мы рисуем уровень, где каждый пиксель обозначает определенный объект или его отсутствие на уровне), но это уже другая история, так как работа с данными графического объекта подразумевает использование низкоуровневого языка программирования (или использование готовых кодов для определенного формата рисунка).
Дальше я приведу пример моего редактора уровней для Gravity Booster`a и самих уровней.
Вот так выглядит сам редактор уровней:
Справа сверху сама игровая область на которую мы и размещаем наши объекты. Все объекты (рисунки) загружаются с папки и размещаются в правом верхнем углу экрана. Внизу находятся разные параметры игры и объектов (от номера уровня до типа гравитации на нем). Все очень просто, но реализация такого редактора требует времени и терпения.

Дальше я приведу пример самого уровня ( как он выглядит в файле):

Теория и практика создания игр (часть 2)

Разделим процесс создания игры на несколько этапов:
  1. Создание информационной модели игры.
  2. Прорисовка базовых графических элементов.
  3. Написание альфа-геймплея игры. 
  4. Разработка редактора уровней.
  5. Рисование всех графических элементов.
  6. Программирование игровой логики (бета-версия).
  7. Создание и подгонка уровней для игры.
  8. Оптимизация программного кода игры.
  9. Запись звука и музыки.
  10. Устранение багов и лагов игры. 
  11. Создание релизной версии продукта.
Порядок некоторых этапом может меняться (кому как удобно). Если работает группа разработчиков, то конечно они все эти этапы проходят одновременно. Так как я работаю один мне удобней использовать именно этот порядок.

1. Создание информационной модели игры.
На этом этапе нужно продумать все аспекты игры: от главного героя и декораций до геймплея и реализации на конкретном языке программирования. Лучшим (но не обязательным) решением для одного человека есть использование интерпретатора (языка программирования высокого уровня). Хотя если у вас много свободного времени, есть навыки в программировании и у вас есть желание написать очень качественную игру можете использовать любой доступный (мощный) язык программирования. Но подумайте вот над чем: сколько времени займет написание движка игры на низкоуровневом языке программирования ( в интерпретаторе 1 строка на С++ 10 строк), сколько вам нужно нарисовать картинок (10, 100 или 1000 картинок) и сколько у вас терпения и нервов? Конечно при этом (использование интерпретаторов) страдает производительность игры, но современные устройства становятся мощнее с каждым днем, и если вы не будете использовать 1000 спрайтов которые динамически изменяются, то все будет хорошо. Я сначала писал на Dark Basic Profesional, потом вышел AGK (мультиплатформенный) и я начал его активно использовать.


Теория и практика создания игр (часть 1)

Создание игры - это процесс длинный, творческий и очень технический. Каждая игра начинает свою жизнь с мысли разработчика. Это можно сказать первый этап создания любой игры. Он является и самым важным этапом, так как для большинства проектов этот этап является и последним (молодым разработчикам не хватает терпения, мотивации, сил и практических умений). Я думаю много кто из вас (начинающих разработчиков компьютерных игр) читал огромное количество статей (возможно и книг), в которых красиво описано как сделать игру своей мечты. Я тоже читал такие статьи, но меня они не сильно радовали. Они имели громкие названия (например "Создание игровых уровней в 3d Max", "Создание шутера с нуля" и т.д. ), но по сути не несли никакой полезной информации. В них просто было написано, что нужно придумать оригинальный дизайн, увлекательный игровой мир, харизматичных персонажей, убойное оружие (и этому было посвящено целую книгу), хотя это и так все понятно. А вот насчет технических и структурных аспектов игры там не упоминалось ни слова. Я предлагаю вам ознакомиться с группой моих статей, в которых я опишу процесс создания игры для ANDROID`а во всех его аспектах.

Теория и практика создания игр (часть 2)
Теория и практика создания игр (часть 3)
Теория и практика создания игр (часть 4)
Теория и практика создания игр (часть 5)


Gravity Booster


Gravity Booster - это игра, в которой нужно с помощью гравитации перемещать объекты в определенную зону (или зоны), после чего нужно удержать их там  5 секунд (игровые зоны могут быть разной формы и цвета). Все 50 уровней делятся на 3 типа: 1) используется только устройство "изменения полярности гравитации"; 2) используется только "взрыв гравитонов"; 3) используются оба типа устройств. Отличить тип уровня можно по цвету "игровой зоны" (1-зеленая, 2-красная. 3-синяя). Сложность уровней постепенно нарастает от очень простых до очень сложных (рекомендуется использовать стилус). Также в игре есть два класса объектов: огонь и лед. Если игровой объект прикасается к огню, то вы проигрываете уровень (нужно начать сначала). Если игровой объект прикасается ко льду, то он замораживается, нужно будет переместить все остальные объекты в игровую зону (не замороженные). Если замерзнут все  объекты, то вы проигрываете уровень. Лед можно использовать  чтобы упростить прохождение сложных уровней!!!

Эта игра полностью готова к изданию на Google Play. Но!!! Украина не является страной которая может "продавать игры" на Google Play. Поэтому релиз игры я пока отложу на будущее (надеюсь недалекое и светлое). Есть вариант с рекламой, но не очень хочется отдавать такой проект за гроши. Поживем увидим. А пока буду размещать маленькую игру для детей на бесплатной основе, рабочее название "Numbers". Читайте о ней в следующих сообщениях.

суббота, 25 августа 2012 г.

Игры для Андроида!

Этот блог полностью посвящен играм для устройств под управлением ОС Android (Андроид), которые я буду создавать (или уже создал). Со временем я буду добавлять помимо описания игр и краткого руководства для них, еще и кусочки кода (или общие структуры), которые я использую в своих играх. 
Первая сделанная мной игра называется Gravity Booster:


 Более подробно о ней читайте в следующем сообщении.

Gravity Booster
Топ 3 лучших игр для Андроид