Reputation: 9599
I'm currently writing my own 2D Game Engine for a game that I would like to make for Android. I know there are other "better" options out there but I would like to write my own GE.
There are several features that I would like to implement, yet would like to hear your opinion and experience(s) (if any):
Analytics: Ok, there are two possibilities that I'm considering here, Google Analytics and Flurry. I'm a Google freak, yet what I've been reading, Flurry has more to offer and is easier to implement? Flurry should suffice for all my needs.
Multiplayer: Ok, I've been searching the web, not finding a lot on this topic. I'm not planning to host a server. There's Gamooga and Skiller (and Swarm - they state they offer multiplayer features, yet I could find any in the API referencing). This topic is a tricky one. So an ideal definition for what I'm looking for would be:
"Users can log into there fb account, enabling them to play multiplayer mode. Then the user can click a host or join button. When the host button is clicked the user has the choice of inviting a fb friend currently playing the game or the user can wait until a random person joins. When the join button is pressed the user is randomly assigned to a waiting sessions. When a user is invited a little dialog appears asking them to join or to ignore the invitation. (connection would be bluetooth, wifi or 3G)"
Maybe somehow integrating the fb SDK with Gamooga (3G) and AndEngine (bluetooth and wifi) will meet my needs? The options that I have found requiers one to create an account with there service and one can't customize the UI. If you know anything close to what I'm looking for, please share. If you are using one of the options mentioned, why are you using it?
Scoreboard: There's a descent amount of options out there for a scoreboard system. Openfeint, Swarm, Scoreloop, Skiller, ScoreNinja etc.I'm looking for something where I can customize the screen where the scores are displayed and use the fb user's information such as name, picture and location to update the score (pciture and location aren't a must, yet it would be cool, what do you think? - I think services only allow Strings and integers to be uploaded to their servers).
Physics Engine: I think I'll be going with Box2D.
Notification system: The game should perpetually increase the players with social integration. I think it would be cool, when a user reaches a new highscore, they have the option of posting this on their fb wall. The user friends might become interested and search for the game on Google Play.
Thanks for reading, I'm looking forward to reading what you've got to say. :)
PS: Apologies for not being a straight and forward quesion.
Upvotes: 0
Views: 1307
Reputation: 5611
Actually I am from Skiller and I hope I can answer all of your questions:
Statistics: I don't know which SDK you will choose for your statistics, BUT I thought it would be a good place to mention that using our SDK you will automatically get all the statistics related to the game sessions, revenue generation, registrations, DAU, MAU etc... and monitor all these data in our developer web interface. In our next SDK you will be able to define your own events and track them.
Multiplayer: The "Join/Host" functionality you have described in your question is exactly how Skiller platform works. User A starts a new game, User B can join him by selecting his game from the game's lobby (where users can see all opened games). We have recently released our 3.1 version of the Skiller SDK in which we added real-time tools to the already existing turn based tools, so you can use it to create real online multiplayer games as well.
Login: The new SDK has much better login process enabling your users to login with Facebook or connect as guests, so you really don’t have to do anything, it is a built in feature. Using the viral distribution users will be able to post on their Facebook wall the link to your game in PlayStore.
Scores/Lobby: Skiller SDK provides two ways of displaying the data to your players: you can display predefined Skiller UI without implementing the screen from scratch or get the raw data and display it in your own screen the way you like. You can get all the data from us.
For more information you can download Skiller SDK and check out the getting started documentation and our three game code examples that show you how to use our SDK. We are here to help: [email protected].
Enjoy!
Upvotes: 2
Reputation: 71
Analytics: If you think Flurry will suffice your needs, go for it. Google does offer some good features though.
Multiplayer: Skiller seems easy to implement and has quite some features (never used it though so can't say nothing about the actual performance or any issues). One thing though: you don't need to integrate the FaceBook SDK with your multiplayer provider, you can easily write an implementation in your application (like login to facebook then broadcast through MP provider).
One thing I don't understand is why you want connectivity over bluetooth. You want to offer ad-hoc multiplayer without being connected to the internet? If yes then remember you won't be able to send info for analytics and scoreboard, or login with FB credentials. But I guess for some sort of unranked matches it's OK. Then again, no need to integrate one with the other. Easier to just do everything within your application.
Also, what do you mean by customizing the UI? From what I see AndEngine provides you with a steady OpenGL graphics engine, so you could use it for graphics, sound, network connection, etc. facebook for credentials, Skiller for multiplayer connectivity and whatever else you want to put inside. They don't need to be compatible with each other, your application will act as an interface between them.
For the physics engine you could also go with Bullet. It's in C++ but there are many tutorials on the internet on how to implement it in android through NDK.
I have an advice, from a game developer to another: first make the game, make sure it works and it's actually fun then worry about social integration. It's easy to build up on it once it's ready. Good luck.
Upvotes: 2