3 ms·
No, a game is an entirely different beast. Specially when using OpenGL. You start breaking things when you don't use the higher level classes and functions.
by revoltingx 17y ago
No, a game is an entirely different beast.
Specially when using OpenGL. You start breaking things when you don't use the higher level classes and functions.
Meaning, the lower you get, the more you'll have to write code to support different platforms.
The Android API is indeed standardized accross all platforms.
Also, what's standardized is the java methods you use and the libraries provided.
Making a game, usually means you're rendering to hardware and you have to handle things like screen resizing, etc, yourself.
However, there isn't a standard UI definition yet like the iPhone has. If that's what you mean.
- potatolicious 17y agoYes, yes, I get the point about not having to write a huge amount of code to account for multiple platforms because of, say, differing levels of OpenGL support. But IMHO this is a pretty narrow definition of cross-platform success. In this case shipping this wonderful cross-platform package on multiple phones results in many customers being unable to play - either due to excessive poor performance or just plain lack of input devices. So, what's a dev to do at this point? Well, that's easy, start writing device-specific code. That phone has a convoluted direction pad that doesn't work for the game? Well, switch to something else. This one has a poor graphics chip? Let's gracefully degrade quality to get some speed. But wait, we just nuked the primary benefit of standardization! This is my original point: when you standardize it can't just be half-assed, and that's what I see on Android right now.
- revoltingx 17y agoWell, that is a fundamental problem, not a problem specific to Android. For years, pc game makers have complained about the costs of developing for PC due to varying support from graphic cards. So, you end up having to write various rendering engines with a lot of conditionals and the ability to change the setup via a menu. Now, add to this a crap-load of varying input devices, single/multi touch screen, and you've got the same problem that PC game makers have but worse. It's not the API that needs to be standardized, but the hardware. The only reason that the iphone doesn't have this problem is because they only have 2 or 3 devices and they're all pretty standard hardware-wise. Most console game makers site the reason of developing for a console is the standardized hardware. However, you get lock-in with that. So, it really is a fundamental flaw/problem. Beside, that's why programming languages have 'if/else'. Yes, you have to do a lot of testing on your end, but you're not stuck to one platform. Also, if you want to program your run of the mill program, then the standardized API is more than capable. But like I said, if you're making a (high-performance) game, you have to sacrifice things, this is true for ALL platforms.
- jrockway 17y agoA good point. Amateur developers can't afford multiple devices to test on (Android), but they also can't afford to be rejected indefinitely (Apple). So really, there is no good platform for developing mobile games on.