I have a iPod touch 3G and a iphone 4 side by side, running the same non-retina display games. The iPhone 4 looks crap in comparison. Why is this?
I actually just had the same discussion with Jared. I just got an iPod touch 4 (not for myself though) and saw the retina display for the first time today. And tbh, I dont think non retina games looked like crap at all. SF IV looked pretty much the same for me on both the 3rd, 4th gen ipods. Yeah, its not as good as it could have been with a retina display support. But it definitely didnt look any worse compared to older ipods to me really. Or maybe I'm spoiled by the ipad. Even the retina enabled games didnt look much great to me. Side by side comparison with 3rd gen did show significant improvement in graphics but in the end, I didnt really feel retina display was all that great. The game is still the same no matter if it was retina enabled or not. Only time when I truly noticed the retina display was reading text which is now crystal clear. Also the still images looked crisp as well. But playing games, I barely noticed the graphics as it didnt really matter if there were a few jaggies or not.
I've seen a few non-retina games on iPhone 4 and they look better vs my 3GS. Games I compared: NFS & NFS Shift, Angry Birds, Super Mega Worm, Fragger and Pocket Tanks. Only know 3 people with 4th gens. They don't have many games. Maybe some kinda rendering bugs in some games???
Native display resolution of Retina devices = 960x640 Native display resolution of non-Retina devices = 480x320 What is display resolution? Click me. I don't mean to offend, but I'm honestly surprised that people don't just know this. Look at a picture in a magazine from a normal viewing distance and then with a magnifying glass. The concept is similar.
No, people understand that. But what doesn't make sense is why standard resolution games look better on non-retina devices. When standard res games are upscaled to a retina display screen, for every 1 normal size pixel, a clump of 4 smaller retina display pixels are used. So in theory, the game should look just as good on the retina display as it should on the older devices. But often, games look worse. My guess is that the 4 smaller retina pixels aren't quite as small when clumped together as a standard sized pixel. This could be the reason that some games look slightly pixelated on the iPhone 4.
The problem is a bug in Apple's handling of OpenGL games and up-scaling to the Retina display resolution... I wrote about this a bit here on a few occasions in the last two months. Basically if you understand the bug and how to work around it you CAN make non-retina games look pixel perfect on the iPhone 4 and iPod Touch 4, but I don't think enough developers know about this issue. Here's a few of my posts on the topic:
I tried that solution, kCAFilterNearest and the (0.0001, 0.0001, 1, 1) rect, was brilliant for my pixel art game, but, there is a bug on iPad with last update (4.2.1), I couldn't believe the review someone left on my game, saying the whole thing was inverted, like on a mirror, but it's true!! All images are displayed mirrored, but funny, all touch action keep on place. Pretty weird... I'm really annoyed now, cos I though I had found a solution for the retina display and low resolution graphics, but now back again to the fuzziness... If I could afford to re-do the whole set of graphics, no doubt I would, but I just cant!
Non-retina Apps *do* look worse, much worse, due to the automatic linear filtering applied to the CAEAGLLayer. Linear filtering is garbage. Apple should have gone with nearest neighbour (straight pixel-doubling) so the devices all look the same. You can of course change the filter type in your code (or at runtime with Retinasizer).
Part of the problem is also from the Pointilism effect. More pixels in the same space = brighter/more intense colors, which may throw some color balances out of whack. It's especially obvious in Solomon's Boneyard.
I think Apple should have addressed this issue, I agree retina display is great, but for god shake, for new apps! I wish I could have the money to re-do all my graphics (pixel art) for new resolution, but I can't. That solution setting the CAEAGLLayer nearest filter and rectangle works perfect for iPhone 4 (even with 4.2.1) but it doesn't on iPad 4.2.1, that's was the purpose of my initial post, just to warn people that has been using like me that solution. I had to release and update to not apply to iPad's, but I'm worried in a future update it may even broke on the iPhone 4.
I'll remember this if I ever feel the urge to moan about a developer releasing a separate iPad version of an iPhone game I already own rather than a universal update. Its easy to forget its not as simple as flicking a switch...
Thanks, yeah, I think for a big game company is different, they have the resources and the money, but one good thing about the App Store is that it's allowing us independent developers to release games/apps, which is not easy, I'm on my own on the development side, and had my brother doing the graphics, took us a year an a half of our spare time to finalize the game!
Having just released a Universal game myself also written totally on my own I now fully appreciate how much work is needed to get a game into the App Store. Lead Wars is a fairly simple pencil+paper style wargame and while I had the game running in a couple of months I spent twice that long on the UI, audio, implementing online play, the save-system, supporting retina and the iPad and the general polish. Two good reason to do a separate iPhone and iPad versions though is so you can price the iPhone version cheaper for those that don't want to pay for the development costs of the iPad version, and also so you can get the iPhone version under the 20MB cellular download limit which may be tricky otherwise. One big reason to make it Universal though is if you support Game Center - not just for shared Leaderboards and Achievements but so they can both share online play. So I went for Universal with Lead Wars though because it has head-to-head online multiplayer, and you can't play two different app-IDs against each other with Game Center. I felt it important the online play wasn't divided, and fortunately it is still below 20MB. Plus it's a bonus for those with an iPhone/iPod and an iPad.
Good point about Game Center. I just grabbed an iPad for testing the next version of Retinasizer. I'll post my findings re: iPad + nearest neighbour filtering. There must be a way for it to work. I'll find it. Also I'm looking into adding a high-quality upsampling routine (hq2x). Lanczos filtering is also available to the OSX CALayer class, but I havent tested it yet in iOS. I'd rather have the hq2x filtering anyway because then all non-retina games on all hd devices will look better than on their non-hd counterparts.
Please share any findings, I'm also trying to find an alternative to the (0.0001, 0.0001, 1, 1) CALayer rectangle. One thing I noticed, setting the filter to kCAFilterNearest doesn't really make a big difference on my pixel art graphics, what really is making the difference is the rectangle offset, but yeah doesn't work now on the iPad 4.2, but at least works fine on iPhone 4 (even with 4.2)
Sorry for reviving this thread, but we had some complains from people with iPod4G in our game GraalOnline Era about blurry display. We will soon provide a new version which will have an option to use the "pixel-art style". We have seen that you can actually set the contentsRect back to (0,0,1,1) and it will stay fine, may be you just need to change the value to have the correct magnification filter effect kicking in.
Hey, for iPhone 4 retina display, that solution works perfectly fine, the issue is on iPad with iOS 4.X, where we cannot use it. But on iPhone 4 my game looks pixel exact.