2012-03-28 10 views
-1

Ich schreibe gerade meine eigene 2D Game Engine für ein Spiel, das ich für Android machen möchte. Ich weiß, dass es andere "bessere" Möglichkeiten gibt, aber ich würde gerne meinen eigenen GE schreiben.Android Game Engine Entwicklung

Es gibt mehrere Funktionen, die ich, implementieren möchte noch möchte Ihre Meinung und Erfahrung (en) (falls vorhanden) hören:

Analytics: Ok, gibt es zwei Möglichkeiten, die ich angesichts bin hier, Google Analytics und Flurry. Ich bin ein Google-Freak, aber was ich gelesen habe, Flurry hat mehr zu bieten und ist einfacher zu implementieren? Flurry sollte für alle meine Bedürfnisse ausreichen.

Multiplayer: Ok, ich habe das Web gesucht, nicht viel zu diesem Thema zu finden. Ich plane nicht, einen Server zu hosten. Es gibt Gamooga und Skiller (und Swarm - sie sagen, sie bieten Multiplayer-Funktionen, aber ich könnte irgendwelche in der API Referenzierung finden). Dieses Thema ist schwierig. So eine ideal Definition für das, was ich suche wäre.

„Benutzer kann in dort fb Konto einzuloggen, sie ermöglicht Multiplayer-Modus zu spielen, dann kann der Benutzer klicken, um einen Host oder beitreten Taste Wenn der Host-Knopf angeklickt wird, hat der Benutzer die Wahl, einen Freund einzuladen, der gerade das Spiel spielt, oder der Benutzer kann warten, bis eine zufällige Person sich anmeldet.Wenn der Teilnehmer-Knopf gedrückt wird, wird der Benutzer zufällig einer wartenden Sitzung zugewiesen Benutzer wird eingeladen ein kleines Dialogfeld erscheint sie bitten, beizutreten oder die Einladung zu ignorieren. (Verbindung wäre Bluetooth, WiFi oder 3G) "

Vielleicht irgendwie Integration das fb SDK mit Gamooga (3G) und AndEngine (Bluetooth und WiFi) wird meine Bedürfnisse erfüllen? Die Optionen, die ich gefunden habe, erfordern, dass man ein Konto mit seinem Dienst erstellt und man kann die Benutzeroberfläche nicht anpassen. Wenn Sie etwas wissen, wonach ich suche, teilen Sie es mir bitte mit. Wenn Sie eine der genannten Optionen verwenden, warum verwenden Sie sie?

Anzeigetafel: Es gibt eine Abfahrt Menge von Optionen für ein Anzeigesystem. Openfeint, Swarm, Scoreloop, Skiller, ScoreNinja usw. Ich suche nach etwas, wo ich den Bildschirm anpassen kann, wo die Punkte angezeigt werden und verwenden Sie die Informationen des fb Benutzers wie Name, Bild und Ort, um die Punktzahl zu aktualisieren 't ein Muss, aber es wäre cool, was denkst du? - Ich denke Dienste erlauben nur Strings und Integer auf ihre Server hochgeladen werden).

Physik Engine: Ich denke, ich werde mit Box2D gehen.

Benachrichtigungssystem: Das Spiel sollte die Spieler mit sozialer Integration ständig erhöhen. Ich denke, es wäre cool, wenn ein Benutzer einen neuen Highscore erreicht, haben sie die Möglichkeit, dies auf ihrer FB-Wand zu veröffentlichen. Die Nutzer-Freunde werden möglicherweise interessiert und suchen bei Google Play nach dem Spiel.

Danke fürs Lesen, ich freue mich darauf zu lesen, was Sie zu sagen haben. :)

PS: Entschuldigung dafür, keine geradlinige und vorwärts Frage zu sein.

Antwort

2

Analytik: Wenn Sie der Meinung sind, dass Flurry Ihre Anforderungen erfüllen wird, gehen Sie darauf ein. Google bietet jedoch einige gute Funktionen.

Multiplayer: Skiller scheint einfach zu implementieren und hat einige Features (wurde aber nie benutzt und kann daher nichts über die tatsächliche Leistung oder Probleme sagen). Eine Sache jedoch: Sie müssen das FaceBook SDK nicht mit Ihrem Multiplayer-Provider integrieren, Sie können einfach eine Implementierung in Ihre Anwendung schreiben (wie bei facebook anmelden und dann über den MP-Provider senden).

Eine Sache, die ich nicht verstehe, ist, warum Sie Konnektivität über Bluetooth wollen. Sie möchten einen Ad-hoc-Multiplayer anbieten, ohne mit dem Internet verbunden zu sein? Falls ja, denken Sie daran, dass Sie keine Informationen für Analysen und Scoreboards senden oder sich mit FB-Anmeldedaten anmelden können. Aber ich denke, für eine Art von nicht gematchten Matches ist es in Ordnung. Dann wieder keine Notwendigkeit, das eine mit dem anderen zu integrieren. Einfacher alles in Ihrer Anwendung zu tun.

Auch, was meinst du mit Anpassen der Benutzeroberfläche? Von dem, was ich sehe AndEngine bietet Ihnen eine stabile OpenGL-Grafik-Engine, so dass Sie es für Grafik, Sound, Netzwerkverbindung, etc. facebook für Anmeldeinformationen, Skiller für Multiplayer-Konnektivität und was auch immer Sie hineinlegen möchten. Sie müssen nicht miteinander kompatibel sein, Ihre Anwendung wird als Schnittstelle zwischen ihnen fungieren.

Für die Physik-Engine könnten Sie auch mit Bullet gehen. Es ist in C++, aber es gibt viele Tutorials im Internet, wie man es über NDK in Android implementiert.

Ich habe einen Ratschlag, von einem Spieleentwickler zum anderen: zuerst das Spiel machen, sicherstellen, dass es funktioniert und es macht Spaß, dann sorgen Sie sich um soziale Integration. Es ist einfach, darauf aufzubauen, sobald es fertig ist. Viel Glück.

+0

Danke Mircea. :) Entschuldigung für meine Erklärung zu der Verbindung, die ich in meiner Game Engine für den Multiplayer-Modus verwenden möchte. Wenn eine Internetverbindung verfügbar ist, benutze sie, für Multiplayer und für Statistiken. Aber wenn ich mit meinem Kumpel in einem Klassenzimmer bin und wir das Gefühl haben, gegen/miteinander zu spielen und es keine Internetverbindung gibt, dann benutze Wifi (oder Bluetooth - wahrscheinlich nur WLAN, da es schneller ist). Aber wenn ich offline bin und einen neuen Highscore erreiche, wird es auf dem Telefon gespeichert und das nächste Mal, wenn das Telefon eine Verbindung hat, wird es hochgeladen. –

+0

Mit dem SKiller-SDK kann ich also Personen anmelden, die sich mit ihrem fb-Konto anmelden, und ich kann meine Benutzeroberfläche anpassen und Funktionen wie einladende Player hinzufügen? –

+0

Ich fand das http://code.google.com/p/moishd/. Es sieht so aus, als ob es meine Anforderungen erfüllt! : D –

2

Eigentlich bin ich von Skiller und ich hoffe, dass ich alle Ihre Fragen beantworten können:

  1. Statistik: Ich weiß nicht, welches SDK Sie für Ihre Statistiken wählen, aber ich dachte, es würde Seien Sie ein guter Ort, um zu erwähnen, dass Sie mit unserem SDK automatisch alle Statistiken zu Spielsitzungen, Umsatzgenerierung, Registrierungen, DAU, MAU usw. erhalten und alle diese Daten in unserer Entwickler-Weboberfläche überwachen. In unserem nächsten SDK können Sie Ihre eigenen Ereignisse definieren und verfolgen.

  2. Multiplayer: Die "Join/Host" -Funktion, die Sie in Ihrer Frage beschrieben haben, ist genau, wie die Skiller-Plattform funktioniert. Benutzer A startet ein neues Spiel, Benutzer B kann sich ihm anschließen, indem er sein Spiel aus der Lobby des Spiels auswählt (wo Benutzer alle geöffneten Spiele sehen können). Wir haben vor kurzem unsere Version 3.1 des Skiller SDK veröffentlicht, in der wir den bereits vorhandenen rundenbasierten Tools Echtzeitwerkzeuge hinzugefügt haben, mit denen Sie echte Online-Multiplayer-Spiele erstellen können.

  3. Anmeldung: Das neue SDK hat viele besseren Login-Prozess Benutzer aktiviert mit Facebook anmelden oder als Gäste verbinden, so dass Sie wirklich nichts tun müssen, ist es eine eingebaute Funktion. Mit der viralen Distribution können Nutzer auf ihrer Facebook-Seite den Link zu Ihrem Spiel in PlayStore posten.

  4. Noten/Lobby: Skiller SDK bietet zwei Möglichkeiten, um die Daten zu Ihren Spielern anzeigt: Sie vordefinierte Skiller UI, ohne den Bildschirm von Grund auf neu zu implementieren oder erhalten die Rohdaten und zeigt sie in Ihrem eigenen Bildschirm die Art und Weise anzeigen kann du magst. Sie können alle Daten von uns bekommen.

Für weitere Informationen können Sie Skiller SDK herunterladen und die die ersten Schritte Dokumentation überprüfen und unsere drei Spiel Code-Beispiele, die Ihnen zeigen, wie unser SDK verwenden. Wir sind hier um zu helfen: [email protected]

Viel Spaß!

+0

Was sind die Latenzen bei der Verwendung der Echtzeit-Multiplayer-Funktionalität? –

+0

Gibt es Apps, die davon Gebrauch gemacht haben, die ich mir anschauen kann? –

+0

Die Latenz hängt hauptsächlich vom Verbindungstyp des Players (3G oder WIFI) ab. Wir haben große Anstrengungen unternommen, um die Latenz zu minimieren, indem wir unsere Protokolle unter Berücksichtigung beider Verbindungen verwenden. Für weitere Informationen senden Sie uns bitte eine E-Mail an [email protected] Der Code für die Echtzeit-Tools kann in unserem SDK-Paket gefunden werden, das von [www.skiller-games.com] (http://www.skiller-games.com) heruntergeladen werden kann. – MikeL