Разработка игрового движка Android

В настоящее время я пишу свой собственный 2D Game Engine для игры, которую я хотел бы сделать для Android. Я знаю, что есть и другие "лучшие" варианты, но я бы хотел написать свой собственный GE.

Есть несколько функций, которые я хотел бы реализовать, но хотел бы услышать ваше мнение и опыт (ы) (если есть):

Аналитика: Хорошо, есть две возможности, которые я рассматриваю здесь, Google Analytics и Flurry. Я фанат Google, но то, что я читал, Flurry может предложить больше, и его легче реализовать? Шторма должно хватить на все мои нужды.

Мультиплеер: Хорошо, я искал в Интернете, не очень много на эту тему. Я не планирую размещать сервер. Есть Gamooga и SkillerSwarm - они заявляют, что они предлагают многопользовательские функции, но я мог бы найти любую в ссылках API). Эта тема сложная. Таким образом, идеальное определение того, что я ищу, было бы:

"Пользователи могут войти в свою учетную запись fb, что позволяет им играть в многопользовательском режиме. Затем пользователь может нажать кнопку хоста или присоединиться. Когда нажата кнопка хоста, пользователь имеет возможность пригласить друга-фб, играющего в данный момент в игру, или пользователя. может ждать, пока случайный человек не присоединится. Когда нажата кнопка присоединения, пользователь случайным образом назначается на ожидающие сеансы. Когда пользователя приглашают, появляется небольшое диалоговое окно с просьбой присоединиться или игнорировать приглашение. (соединение будет Bluetooth, Wi-Fi или 3G)

Может, как-то интеграция fb SDK с Gamooga (3G) и AndEngine (bluetooth и wifi) удовлетворит мои потребности? Варианты, которые я нашел, требуют, чтобы один создавал учетную запись с помощью там службы, и никто не может настроить пользовательский интерфейс. Если вы знаете что-то близкое к тому, что я ищу, пожалуйста, поделитесь. Если вы используете один из упомянутых вариантов, почему вы его используете?

Табло: Есть множество вариантов для системы табло. Openfeint, Swarm, Scoreloop, Skiller, ScoreNinja и т. Д. Я ищу что-то, чтобы я мог настроить экран, где отображаются оценки, и использовать информацию пользователя fb, такую ​​как имя, изображение и местоположение, для обновления счета (pciture и location aren не обязательно, но это было бы круто, как вы думаете? - я думаю, что службы позволяют загружать только строки и целые числа на их серверы).

Физический движок: думаю, я поеду с Box2D.

Система уведомлений: игра должна постоянно увеличивать игроков благодаря социальной интеграции. Я думаю, что было бы здорово, когда пользователь достигает нового рекорда, у него есть возможность разместить это на своей стене fb. Друзья пользователя могут заинтересоваться и искать игру в Google Play.

Спасибо за чтение, я с нетерпением жду, что вы скажете.:)

PS: Извиняюсь за то, что не был прямым и прямым вопросом.

2 ответа

Решение

Аналитика: если вы считаете, что Flurry удовлетворит ваши потребности, сделайте это. Google действительно предлагает некоторые хорошие функции, хотя.

Многопользовательская игра: Skiller кажется простым в реализации и имеет довольно много функций (никогда не использовал его, хотя и не могу ничего сказать о реальной производительности или каких-либо проблемах). Хотя одно: вам не нужно интегрировать FaceBook SDK с вашим многопользовательским провайдером, вы можете легко написать реализацию в своем приложении (например, войти в Facebook, а затем транслировать через MP-провайдера).

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

Кроме того, что вы подразумеваете под настройкой пользовательского интерфейса? Из того, что я вижу, AndEngine предоставляет вам стабильный графический движок OpenGL, так что вы можете использовать его для графики, звука, сетевого подключения и т. Д. Facebook для учетных данных, Skiller для многопользовательского подключения и все, что вы хотите поместить внутрь. Они не должны быть совместимы друг с другом, ваше приложение будет действовать как интерфейс между ними.

Для физического движка вы также можете использовать Bullet. Это на C++, но в интернете есть много уроков о том, как реализовать его в Android через NDK.

У меня есть совет от разработчика игры другому: сначала создайте игру, убедитесь, что она работает, и на самом деле это весело, а потом беспокойтесь о социальной интеграции. Это легко построить, когда он будет готов. Удачи.

На самом деле я из Skiller, и я надеюсь, что смогу ответить на все ваши вопросы:

  1. Статистика: я не знаю, какой SDK вы выберете для своей статистики, НО я подумал, что было бы неплохо упомянуть, что с помощью нашего SDK вы автоматически получите всю статистику, касающуюся игровых сессий, генерации доходов, регистраций, DAU, MAU и т.д... и отслеживать все эти данные в нашем веб-интерфейсе разработчика. В нашем следующем SDK вы сможете определить свои собственные события и отслеживать их.

  2. Многопользовательская игра. Функциональность "Join/Host", которую вы описали в своем вопросе, именно так работает на платформе Skiller. Пользователь A начинает новую игру, Пользователь B может присоединиться к нему, выбрав свою игру в лобби игры (где пользователи могут видеть все открытые игры). Недавно мы выпустили нашу версию Skiller SDK 3.1, в которой мы добавили инструменты в реальном времени к уже существующим пошаговым инструментам, чтобы вы могли использовать их и для создания реальных многопользовательских онлайн-игр.

  3. Вход в систему: новый SDK имеет намного лучший процесс входа в систему, позволяющий пользователям входить в систему через Facebook или подключаться как гости, так что вам действительно ничего не нужно делать, это встроенная функция. Используя вирусный дистрибутив, пользователи смогут разместить на своей стене Facebook ссылку на вашу игру в PlayStore.

  4. Результаты / Лобби: Skiller SDK предоставляет два способа отображения данных вашим игрокам: вы можете отображать предопределенный пользовательский интерфейс Skiller без использования экрана с нуля или получать необработанные данные и отображать их на своем собственном экране так, как вам нравится. Вы можете получить все данные от нас.

Для получения дополнительной информации вы можете загрузить Skiller SDK и ознакомиться с документацией по началу работы и тремя примерами игрового кода, которые показывают, как использовать наш SDK. Мы здесь, чтобы помочь: developers@skiller-games.com.

Наслаждайтесь!

Другие вопросы по тегам