Some months ago I was approached by the Berlin-based Window-Manufacturing-Company “ISOGON” to help them program an app that let’s you configure orders for new windows (In case you want to build a house or modernize your current windows to waist less energy). Get it for free on the app-store.
If iBeat crashes at startup on your iPhone or iPod Touch with iOS Version 4.0 or 4.1 please upgrade your iOS to Version 4.2. The App should then work correctly!
EDIT: Version 1.3 of iBeat fixes this, now it should work with all iOS Versions 3.1 to 4.3.
Now here I have a bone to pick with many iOS Developers!
Please set up your UIViewController’s
correctly, so you support both your Orientation and its UpsideDown-Version. Yes, it’s fine to just support Portrait or Landscape mode, but please support both directions!
This time I have an urgent problem, that I can only fix with your help!
Unfortunately the App iBeat seems to crash at the start on all iPads running iOS 3.2, while running perfectly fine on iPhones with iOS 3.1. (A friend has an old iPod I can use for testing)
I updated my own iPad to iOS 4.2 and since It isn’t possible to go back, I can’t test this problem on my own.
So If you have an iPad running iOS 3.2, please download (http://www.ibeat.us – its free) , start it, sync it with iTunes and finally send me the crashreport (firstname.lastname@example.org). You may read about which folder the crashreports are in on your Computer here.
Thank you all in advance!
So, at first I thought I’d just add a 3D Model of a thorned vine (still visible in the screenshot), but appearently, a little less 3D and a nice veined texture for the infected tile might do a much better job.
You can also see the new Interface-Element in the lower right, that always has the color of the active player!
Now I figured, I could render my game with 1 FPS as long as nothing happens, so I changed my code the following way:
- I start the game with a frameInterval of 60.
- Once I get a “touchesBegan” I go up to 2, that is 30FPS.
- Once I get a “touchesEnded”, I check whether there is any animation going on (the spinning arrows above a selected unit for example) or whether there is still another touch going on. This was pretty straight forward, since I store the points each finger started touching at in a CFDictionary, so I just needed to get its count and check if it’s zero. Then I set the frameInterval to 60 again
- My games main logic-class conforms to a “AnimationResponder” -protocol and the drawing classes store it as a “id<AnimationResponder> delegate”. So once an animation ended, I send this information to the main class and it throttles the FPS back to 1.
The result was so good, I could even feel a difference in the heat of my iPod!
Thank you Ed Welch!
As I mentioned in the last post, a friend lend me an iPod 3G to test its hardware. I already compared CPU for its performance in filling the interleaved vertex array.
Now I’m going to have a look at the GPU, specifically the advantages of using Vertex Buffer Objects on the new PowerVR SGX chip.