Re: [android-developers] Gaming on android - somewhat disappointing...
Just want to throw out a "me too" here. When I got my android phone not too long ago, I was also surprised at how unpolished a lot of the games were, especially the free ones. That is what inspired me to make my first game and try to make it both a) responsive and b) more polished than those that were out there. If we just put in the extra little effort in these two categories, the android marketplace will be a much more attractive and lucrative place to publish your applications.
Thanks for the added insight niko!
Justin
On Wed, Nov 11, 2009 at 7:21 AM, niko20 <nikolatesla20@yahoo.com> wrote:
Hi,
This is just an observation I had yesterday. I go myself a DROID now,
and last night I was pulling down several different games that have
good ratings to try them out.
I have to say, Im actually pretty disappointed right now, I know
android should be able to perform better than this, although I will
admit yes, its still quite new in the gaming department.
I am not ranting or anything here. Yes I know that if I wanted a
better game than I should code one, I'm just making an observation
here. Please bear with me.
Firstly, several of the games I downloaded were just "slow", or laggy.
Maybe its the touch screen input that messed with them I don't know.
But I wouldn't consider them very fun because they didn't really
"feel" responsive. I'm not sure I should name any games outright so I
don't annoy their developers. But some had touch screen controls,
which I found didn't seem to respond very well. Even some of the word
games where you draw across the letters to make the word didn't really
respond as nicely as they could have (IMO).
Others worked ok except they would have frequent slowdowns if too much
was going on the screen at once (to be expected).
Others were sort of ugly, because they combined their own graphics
with android's built in GUI graphics (note to game devs, you want a
hit game? Write all the graphics yourself, even the menu screens, it
just will look better)
The main reason I post this is because as android devs, we really need
to step up our game a bit here. Looking at a lot of these games, I see
two main problems: 1. The were never tested on a real device. 2. They
have not been optimized in any way that I can tell.
Ok first problem I'm also guilty of, so I'll let it slide. Not
everyone can afford a real device. But face it, that will be a
roadblock to really making the game perform as well as it could. Maybe
you could write the next hit without one, but I think your chances are
a lot smaller, since you won't be able to test out the touch interface
as well, etc. It does make a difference to try it on a real device, I
learned that myself!
Second problem: It's sad to me that the Super Nintendo Emulator loaded
with a Metroid ROM performs awesomely, but yet no "native" android
game comes even close to that performance (of games that I have
tried), as far as speed, animation, and overall responsiveness. Now,
I'm sure the devices we have are at least as fast as a super nintendo
was, if not faster. And while I know we are programming in java, not
in machine code, that Super Nintendo Emulator seems to work fine, so
what are they doing behind the scenes to draw the screen?. So that
means if you wrote a game to be optimized, wrote it as though it was
on a lesser platform, it should run great on android. Maybe just use
smaller images, and draw to a smaller bitmap in memory, and stretch
it. Even if it looks a bit pixelized, if the game is fast and has good
response, people will enjoy it. I know I actually like that pixelated
look, it gives games that nice retro feel. For newer games OpenGL
probably has to be used to make it fast enough.
Also, as a side note, those old school nintendo games - Metroid for
example, would take at least 8 hours or so to complete (maybe not if
doing a speed run), and it was only around 8MB in size, even with all
the sounds and animations. I'm pretty sure if a game came out like
that for android it would still be a big hit (a game that was as fun
and responsive and enjoyable as the metroid series), even if the
graphics weren't "Multi pixel shaded OpenGL god given awesomeness".
Remember gaming experience is all about the feel of the game, not just
how pretty it is (but it better not be ugly either).
I think what leads into the second problem are two issues: we are
programming mainly in java, and also the "newbieness" of most java
programmers. Honestly I dont think anybody that had to learn java ever
had to take time to optimize. We just throw the code at the computer
and let it chew through it. I mean Java itself doesn't leave a ton of
room for "improvement" in itself. However, as devs we really need to
start thinking as the old-school programmers did, of "how can I make
this faster", or "use less memory".
Don't come out against me and say I'm wrong about having all these
developers that don't know about optimization because they have never
had to do so in their life - just search the forums for all the devs
that have problems wanting to display a 2048*2048 bitmap and have it
scroll, and they don't know how. To dev's that have been around a
while, that have had to work on less than stellar platforms, they know
how to code that to be fast (chop the bitmap up into tiles, only draw
tiles needed, etc, probably even some ways I dont even know about yet
too).
What we really need is to refocus on how to write small fast programs.
It's really become a lost art of sorts over that past years, because
computer power has increased so much nobody thinks of it. But on
mobile devices we need to! And having all these Java trained guys
fresh out of school isn't going to solve that problem! Guys, you
really need to go back to basics and focus on the hardcore numbers of
performance. I don't mean that to offend anyone, but only to help
awaken everyone (including myself), that this is really an interesting
field of study and it will be worth the effort! Back in the day (no,
I'm not that old yet), programmers had to work to get things to run as
fast and smooth as possible, but we've been able to take that for
granted for a while now.
Maybe if some of the games I tried switched to using OpenGL instead of
SurfaceView they might have faster performance, and agreed, that
wasn't available as easily for a while. Also, we don't have native
access to audio yet, so that also can slow us down. I'm sure the
gaming in android will improve over the next year, but I just wanted
to share my current observations on what I see going on right now. I
hope we as devs can overcome java, and android, and work on optimizing
our games to work smoothly, respond quickly, and look great.
-niko
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home