On Wed, Mar 17, 2010 at 2:08 AM, Kevin Duffey <[email protected]> wrote:

> Hey all,
>
> I am curious how the various groups of game developers, primarily mobile
> (android in this case) and cross-platform (android/iPhone/facebook) handle
> storing high scores, achievements, and such as well as how multi player is
> done.
>

How does your game(s) access high scores, update the list, remove them if
> need be? The same would apply for achievements, and to a lesser degree,
> leader boards.
>

Are you using a service out there that you pay for... if so how much does it
> cost.. and do they provide some sort of java/objective-c SDK that you can
> just plug in to your code?
>
> How do you dispaly high scores, leader boards, achievements, etc in your
> game? Do you provide your own web site with the same info, perhaps jazzed up
> a bit more or with more detail than your mobile game (due to limited screen
> realestate for mobile devices)? Do you provide a link to a web site in your
> game if they want to see things like high scores, achievements and leader
> boards?
>
>


My game has a custom view to show the high scores in the game. I didn't like
the web browser approach, because it gets the player out of the game,
completely changes the UI he is used to and the loading time is terrible.
The user experience is really bad this way. I have two high scores in the
game - local and online. The local high scores are stored in a SQLite
database and the remote are in PostgresSQL. I also show the high scores on
the website and on a Facebook application. The difference between the 3
types: The in-game high scores do not support searching (I just don't have
the visual space to put a search input field, which I want). The website
ranking supports searching, but otherwise is the same like the in-game one.
The Facebook one is interesting. If you log-in the game using facebook
connect, your facebook id is saved and this allows me to show a specific
ranking based on you and your facebook friends, show their pictures, link to
their profiles and so on.


How do I send the scores to the server? I don't. That's how I prevent
cheating. What I do is to send the player moves to the server and the server
replays the game using the player moves. Checks if every move is according
to the game rules and validates the game. If the game is valid, the server
just extracts the scores out of its state and saves them. There are no high
scores send over the network.



I would also like to know what sort of things are most important for your
> games. High scores are so yesterday, so to speak. The latest craze in most
> games seems to be achievements and the ability to obtain extra items for
> your games, either by buying them, or earning them through achievements,
> etc. So what are some things you game developers would want to make use of
> in your game to add more appeal to your game, to draw in players for longer,
> especially long enough to pass the 48 hour refund time so that you can
> actually earn some money from your hard work. I look at games on Facebook
> like Farmville that are doing so well they are hiring more developers at
> good pay to work on it. I also look at games like World of Warcraft, which I
> play and got sucked into for a while, due to getting to that next level or
> getting that next awesome epic gear piece... those sorts of things seem to
> be what draws in players to otherwise simple games. A number of mobile games
> that seem to do very well often seem to be fairly simple games but offer
> that right mix of "I just got to get to that next...". I am curious what
> some of you developers have found work for games either those that you
> played, or are working on (or have written) that draw in players. This leads
> to the next paragraph.. making a living on game development ultimately
> requires that your game does well and that people pay for it in some manner
> and not refund it. Hence why I am trying to understand what it is that those
> otherwise simple games seem to do that draw in the masses.
>
>

I'm currently working on a real-time multiplayer. You will be able to play
against other players from around the world. I will add an option for
bluetooth challenges later. I'd like to add achievements, but that would be
after the multiplayer.



> Which brings about another topic.. how do games like Farmville make so much
> money being free games, that they can have a company behind it? I can't
> believe ads on the stie alone make up for all their revenue. I've been
> considering looking at ads in the game as opposed to charging for it, and
> that seems like players might keep a game longer than if they pay for it and
> then refund it within 48 hours if they don't absolutely love the game...
> although I am not entirely sure how much it annoys players to have a small
> portion of the screen saved for ads as opposed to just buying it.
>
>

Farmville makes little money from ads compared to the money they make from
selling virtual goods. Last thing I remember was that they released a new
flower and made $800,000 in a single day. And I personally hate ads. My game
doesn't have ads and it's free.



> Lastly, multi-player. I am curious how games work multi-player. The only
> way I can think of is the client (game) has to update a server of some data,
> a move, location of a sprite, etc, and at the same time has to poll the
> server often enough to update the game screen to keep things working. The
> first part of this, the game side, seems easy enough.. at least to some
> degree.. when your player makes a move, you send a server request to some
> server with the data, be it their new location, a weapon they selected, etc.
> The second part of this is the client polling the server often enough, fast
> enough, to keep things smoothly on the screen of all players. So how have
> some of you handled this and yet keep the game playing smooth as well?
> Probably more important is, the server side. Not necessarily the code bit of
> it, but how do you handle if your game takes off and you get 10s of
> thousands of players playing it... what sort of server side technology is
> used to handle that many requests, that fast, fast enough to allow all those
> game clients to provide a smooth game experience while keeping the
> multi-player working solid as well?
>
> Thank you. I look forward to learning more about how these things are done
> in games.
>
>

Server polling is always a BAD idea for games, especially for real-time
games. You have to go lower in the newtwork stack and directly use sockets.
If you use low-level sockets you can keep the connection to the server
opened all the time and this way you can push information and the server can
push information back to you and there is no need for polling. That's how
multiplayer gaming usually works.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

To unsubscribe from this group, send email to 
android-developers+unsubscribegooglegroups.com or reply to this email with the 
words "REMOVE ME" as the subject.

Reply via email to