суббота, 27 октября 2012 г.

Balloons Hunter HD

Вышла новая моя игра для Андроид устройств: "Balloons Hunter HD". Игра сделана за 3 дня. В ней есть 3 разных режима игры. В будущем планируется добавить мультиплеер.

понедельник, 22 октября 2012 г.

Монетизация своих приложений

Многие задавались целью монетизации (получения прибили) своих приложений. Давайте рассмотрим несколько вариантов. Итак у нас есть: готовое приложение и желание получить за него деньги. Для начала нужно создать аккаунт разработчика например в Google Play (процедура не сложная но потребует от вас 25$) или в Amazon App Store (регистрация бесплатна, но рынок поменьше) (конечно вы можете продавать диски с приложением в подземном переходе или в школе, но это вам прибыли не принесет). 
Дальше (Google Play), если вы житель "правильной страны", просто размещаете свое приложение на сайте, устанавливаете цену на приложение и ждете миллионных покупателей:). Но сейчас идет тенденция к получению пользователями приложений и игр бесплатно, тоисть даром!!! Что же делать в таком случае? Есть три варианта выхода из этой ситуации: 

четверг, 4 октября 2012 г.

Gravity Booster, Google Play и Я :)

Сегодня я опубликовал мою игру: Gravity Booster (Ускоритель Гравитации), которую я сделал за 2 месяца (с очень большими перерывами:). Игра разрабатывалась как коммерческий проект, но не судьба :(, украинцам нельзя продавать свои приложения на Google Play, поэтому игру размещаю совершенно бесплатно (с рекламой). Если проект себя хоть немного окупит, то будут выходить обновления и дополнения к нему (несколько новых уровней каждую неделю или месяц (все зависит от пользователей:) ). 
Игра пока не в HD формате, но если будут просьбы, то это можно организовать. Можете писать  в комментариях или мне на почтовый ящик свои пожелания, просьбы и жалобы к игре. Присылайте свои эскизы уровней для Gravity Booster мне на почту standur.andrey@gmail.com (самые интересные я обязательно сделаю и добавлю в ближайших обновлениях с указанием имени авторов уровней). 
В следующих сообщениях я напишу о социальном проекте, который я планирую сделать в ближайшем будущем.  

пятница, 31 августа 2012 г.

Funny Numbers


Итак, следующая игра сделана!!! Это был мой старый проект, который я возродил. Портирование (+ полная перерисовка графики) на платформу Android заняло приблизительно 1 день. Игра называется Funny Numbers и уже доступна на Google Play ( Funny Numbers HD ) бесплатно. Поддерживается, пока что, только один язык: Английский, но там и так все интуитивно понятно. Сначала выбираем максимальный множитель (до 5, до 7 или до 10) затем выбираем количество заданий (5 или 10). Сама игра представляет собой обучающую игру, которая поможет изучить таблицу умножения детям (и взрослым).  Первая версия игры (1.0.0) не содержит рекламы. 
Вот скрины игры: 



понедельник, 27 августа 2012 г.

Интересные факты об Андроид

Знаете ли вы что:

  • Первое устройство, которое использовало ОС Android, было создано компанией HTC. Это был смартфон T-Mobile G1 (его презентация состоялась 23 сентября 2008 года).
  • Первая стабильная версия системы Андроид называлась: Android 1.0 "Apple Pie".
  • Android 4.0 Ice Cream Sandwich получила золото за лучшую платформу на 2012 User Experience Awards. 
  • Специально для платформы Android было создано семейство шрифтов Droid и Roboto. 
  • По данным на февраль 2011 года устройства с ОС Android лидировали в списке самых популярных смартфонов Великобритании, оставив позади iPhone 4 c iOS.


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

Игры для мобильных телефонов отличаются выразительной графикой, занятным геймплеем и веселым музыкальным оформлением. Я предлагаю вашему вниманию лучшие 3 на мой взгляд игры для Андроид.

1. Angry Birds
Замечательная игра о птичках и неоспоримый лидер среди мобильных игр (и не только). В которой нужно очистить уровень от зеленых свиней, используя суперспособности каждой птицы.
2. Minecraft
Еще одна гениально простая, которая на сегодняшний день уже заработала около 50$ миллионов на Google Play. В игре нету ни супер современной графики, ни интригующего сюжета, но все-таки в ней есть то, что крайне необходимо всем мобильным играм: захватывающий геймплей. Казалось бы что ничего кардинально нового уже придумать невозможно, но Minecraft доказывает, что это не так.

3. Ninja Chicken
Еще один яркий представитель игровой индустрии. Занятный геймплей, симпатичная графика и веселая музыка не позволят вам заскучать. А уровни которые генерируются случайным образом можно проходить по несколько раз.

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

Итак мы на финишной прямой, сейчас мы рассмотрим последние этапы создания игры:


9. Запись звука и музыки.
10. Устранение багов и лагов игры.
11. Создание релизной версии продукта.

9. Запись звука и музыки.
Как ни странно, но для меня этот этап стал самым сложным. Самое сложное это найти подходящие звуки для игры, у крупных фирм конечно есть уже готовые наборы звуков (или для них их записывают коммерческие студии), а вот простому программисту (или художнику) нужно постараться, чтобы записать все в домашних условиях. Для записи звуков нужно использовать качественный микрофон, чтобы не было шумов и щелчков. Формат звуков для Андроид - WAV. Насчет других не экспериментировал. С музыкой дела обстоят проще (хотя кому как), у меня есть небольшой опыт написания не очень сложных музыкальных композиций. У кого есть возможность (таких очень мало), лучше пишите все в живую (гитара, ударные , синтезатор, бас), у кого нету - используйте редакторы (например FL Studio), которых сейчас предостаточно. Конечно если у вас есть знакомый композитор, то попросите его написать музыку, которая будет передавать атмосферу игры (вспомните такие игры: FlatOut 2, PainKiller; какая там музыка!!! и как хорошо она вписывается в игру; хотя есть много игр в которых есть легкая незаметная мелодичная музыка, которая передает много эмоций).

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

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

6. Программирование игровой логики (бета-версия).
7. Создание и подгонка уровней для игры.
8. Оптимизация программного кода игры.


6. Программирование игровой логики (бета-версия).
Допустим у нас уже есть хотя бы один игровой уровень определенного формата (желательно формат не менять на протяжении всей разработки, а продумать его сразу). Теперь нам нужно написать само ядро игры (движок), которое будет работать обрабатывать все элементы игры: логику, прорисовку, звуки и т.д.
Сейчас я вам приведу пример структуры ядра моей игры Gravity Booster:
1) Установка параметров системы (разрешение экрана, скорость обновления игры, загрузка CPU, параметры очистки экрана, параметры связанные с качеством физики в игре).
2) Загрузка всех медиафайлов игры (картинки, музыка, звуки и возможно уровни).
Если файлов очень много, то лучше всего этот процесс автоматизировать. Вот пример кода на App Game Kit (это моя основная среда разработки):

for i=1 to 100
    mediafile$="image/objects/"+str(i)+".png"
    if GetFileExists(mediafile$)=1
        LoadImage(i,mediafile$)
    endif
next i

Этот код можно еще упростить, если убрать проверку на существования файла.
Вот собственно и сама среда разработки (AGK):

3) Создание основного цикла игры. Он будет выглядеть примерно так:
   а) проверка на прикосновение к экрану;
   б) обработка меню;
   в) загрузка и выгрузка уровней;
   г) сохранение настроек и игрового прогресса;
   д) обработка геймплея (проверка на выигрыш и проигрыш);

Желательно писать основной цикл не сплошным кодом, а разбить его на отдельные процедуры. Пример основного цикла с Gravity Booster `a:


DO
nowtime=GetSeconds()

TouchX=Round(GetPointerX())
TouchY=Round(GetPointerY())

gosub _touch    // процедура проверки прикосновений к экрану
gosub _check_menu   //  основная процедура игры которая управляет остальными процедурами

if GetRawKeyState(27)=1 then exit
if stop_game=1 then exit
 Sync()
LOOP

Хотя основной цикл игры очень маленький, но за процедурой gosub _check_menu  скрываются около 1000 строк программного кода. В свою очередь эта процедура разбита еще на 10 меньших процедур.


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

воскресенье, 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 лучших игр для Андроид