Populate - OUT NOW!

Rhys

  • Posts: 1046
I got a chance to test this on iPhone 4 today (atlas changes and such)

The performance is severely limited by the text drawing, but that's because I haven't switched to Label yet. The main menu's layering is totally broken, it seems layers aren't even working at all? Also the main menu runs at 6 FPS. Ow.

The Level Share just freezes (loading never finishes) so I'm assuming HTTP requests aren't done yet. It runs at 60 FPS though (with 1 actor :P)

It takes forever to start up and occasionally crashes when starting.

The level editor crashes on startup.

Code: [Select]
Mon Aug 22 16:59:54 iPHON-FOAR AppScaffold[4686] <Warning>: Start Fading In


Mon Aug 22 16:59:54 iPHON-FOAR AppScaffold[4686] <Warning>: Load Scene... 55


Mon Aug 22 16:59:54 iPHON-FOAR AppScaffold[4686] <Warning>: Init Layers...


Mon Aug 22 16:59:54 iPHON-FOAR AppScaffold[4686] <Error>: -[Design_49_49_LevelEditorCode fadeOutForAllSounds:]: unrecognized selector sent to instance 0x16f82030


Mon Aug 22 16:59:54 iPHON-FOAR AppScaffold[4686] <Warning>: Error: -[Design_49_49_LevelEditorCode fadeOutForAllSounds:]: unrecognized selector sent to instance 0x16f82030


Mon Aug 22 16:59:54 iPHON-FOAR AppScaffold[4686] <Error>: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Design_49_49_LevelEditorCode fadeOutForAllSounds:]: unrecognized selector sent to instance 0x16f82030'
*** Call stack at first throw:
(
0   CoreFoundation                      0x30897ed3 __exceptionPreprocess + 114
1   libobjc.A.dylib                     0x3002f811 objc_exception_throw + 24
2   CoreFoundation                      0x30899683 -[NSObject(NSObject) doesNotRecognizeSelector:] + 102
3   CoreFoundation                      0x308411d9 ___forwarding___ + 508
4   CoreFoundation                      0x30840f90 _CF_forwarding_prep_0 + 48
5   AppScaffold                         0x00018454 -[Design_49_49_LevelEditorCode load] + 124
6   AppScaffold                         0x00034360 -[Behavior initScript:] + 256
7   AppScaffold                         0x00037e64 -[BehaviorManager initScripts] + 132
8   AppScaffold                         0x00053e08 +[Game initBehaviors:values:parent:initialize:] + 1260
9   AppScaffold                         0x00060364 -[Game loadScene:] + 2168
10  AppScaffold                         0x00056e78 -[Game initWithWidth:height:] + 1588
11  AppScaffold                         0x0008801c -[SPStage init] + 148
12  AppScaffold                         0x00057118 -[Game init] + 48
13  AppScaffold                         0x00003364 -[ApplicationDelegate applicationDidFinishLaunching:] + 576
14  UIKit                               0x31e5b4bd -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 832
15  UIKit                               0x31e519e7 -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 206
16  UIKit                               0x31eaafdd -[UIApplication handleEvent:withNewEvent:] + 1396
17  UIKit                               0x31eaa901 -[UIApplication sendEvent:] + 44
18  UIKit                               0x31eaa337 _UIApplicationHandleEvent + 5110
19  GraphicsServices                    0x31e4504b PurpleEventCallback + 666
20  CoreFoundation                      0x3082cce3 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 26
21  CoreFoundation                      0x3082cca7 __CFRunLoopDoSource1 + 166
22  CoreFoundation                      0x3081f56d __CFRunLoopRun + 520
23  CoreFoundation                      0x3081f277 CFRunLoopRunSpecific + 230
24  CoreFoundation                      0x3081f17f CFRunLoopRunInMode + 58
25  UIKit                               0x31e51103 -[UIApplication _run] + 370
26  UIKit                               0x31e4f12f UIApplicationMain + 670
27  AppScaffold                         0x00002e8c main + 84
28  AppScaffold                         0x00002e34 start + 40
)


Mon Aug 22 16:59:54 iPHON-FOAR UIKitApplication:com.goggles.balloons[0x311c][4686] <Notice>: terminate called after throwing an instance of '


Mon Aug 22 16:59:54 iPHON-FOAR UIKitApplication:com.goggles.balloons[0x311c][4686] <Notice>: NSException


Mon Aug 22 16:59:54 iPHON-FOAR UIKitApplication:com.goggles.balloons[0x311c][4686] <Notice>: '


Mon Aug 22 16:59:54 iPHON-FOAR UIKitApplication:com.goggles.balloons[0x311c][4686] <Notice>: AudioStreamBasicDescription:  2 ch,  44100 Hz, 'lpcm' (0x00000C2C) 8.24-bit little-endian signed integer, deinterleaved


Mon Aug 22 16:59:54 iPHON-FOAR ReportCrash[4693] <Notice>: Formulating crash report for process AppScaffold[4686]

Also springboard sends out a memory warning after the initial load?

« Last Edit: August 22, 2011, 09:07:17 am by Rhys »

Jon

  • *
  • Posts: 17524
The crash is happening because we haven't implement the sound channel blocks yet.

I'll check on HTTP requests to see if I did them. I know that visiting sites works.

Test startup time, not via xcode but quitting it and starting it from the phone. There's a huge amount of dead time that xcode has when testing from that.

Rhys

  • Posts: 1046
The crash is happening because we haven't implement the sound channel blocks yet.

I'll check on HTTP requests to see if I did them. I know that visiting sites works.

Test startup time, not via xcode but quitting it and starting it from the phone. There's a huge amount of dead time that xcode has when testing from that.

I don't (knowingly) use sound channel blocks anywhere in my game. Do the fade in and out sound blocks count?

I'm unable to use the xcode debugger because of lack of code signing so it boots normally anyways.

Jon

  • *
  • Posts: 17524
Actually it looks like just a name mismatch between the block and the function name. I can deal with it tonight.

Rhys

  • Posts: 1046
On the other hand, iPad 2 performance is stellar, as expected from the huge boosts in cpu and graphics power.



The cannon seems to be mangled for some reason, though. Ignore the missing background and text, those are my fault.

Jon

  • *
  • Posts: 17524
Hmm, is it because the cannon is rotated perhaps? I haven't seen anything too funny on iPad yet (the joystick demo also has rotated actors).

Jon

  • *
  • Posts: 17524
I've thought of something pretty clever to speed up initial game loading - cut down the XML files in the actual output size. There's stuff in there that iOS doesn't need. I'm going to see if I can eliminate that and also cut down a bit on the tag names and their (XML) attributes.

Not today but sometime later this week.

I also think that if I were able to stop scene loading until it's actually needed (rather than loading all 100 into memory upfront), that would also help. The problem though is that your game has specific requirements - that the next scene load immediately, which doesn't jive as well with that.

Rhys

  • Posts: 1046
A good few people (including jon) have said that the name KaBalloons isn't easily spoken. Does anyone else have any suggestions on what I should name the game?

Rhys

  • Posts: 1046
This is going very well except for the pause feature.
I've went with the idea of saving the state of the scene and then switching out to another scene, then deleting the balloons that were deleted originally. The problem is that the balloons aren't always created/retrieved in the same order so the balloons that are "deleted" switch around. Any ideas?

Rhys

  • Posts: 1046
Never mind, I did it by adding deleted balloons' x and y positions to a "deleted" list and reading -> comparing off of that.

Rhys

  • Posts: 1046
With b41 and utilising atlas loading and unloading the game never gets closed because of memory, but it does hit Memory Warning 1 in the title screen and might have closed som 3rd party apps. (iphone 4) Didn't get as far as closing Mail and Safari though, which is great.

The two reasons are probably:
- iPad graphics are still bundled with iPhone
- All fonts are always loaded

I haven't tested on 3GS yet.

Jon

  • *
  • Posts: 17524
Ran it (where it is the last version I have, and that's a week or two old) on my iPad - worked great minus some nits

- Loading Screen is all messed up on iPad. Is this my issue or something on your end?
- Game Center isn't impl yet, is it?
- In the level editor, there's no way to get out it seems. I would reverse the +/- buttons - it makes more sense for plus to be on the right since it's a positive thing.
- You'll want to take out your console printouts. There's one that happens every time a balloon dies, I think.
- The Cannon is mispositioned on iPad (too low). This wasn't happening last time I had this on my iPad.

After we get in iPad specific atlases and fold in fonts into atlases, we can measure the memory and see if it's under the 24/48 general rule of thumb limit.

Rhys

  • Posts: 1046
Ran it (where it is the last version I have, and that's a week or two old) on my iPad - worked great minus some nits

- Loading Screen is all messed up on iPad. Is this my issue or something on your end?
- Game Center isn't impl yet, is it?
- In the level editor, there's no way to get out it seems. I would reverse the +/- buttons - it makes more sense for plus to be on the right since it's a positive thing.
- You'll want to take out your console printouts. There's one that happens every time a balloon dies, I think.
- The Cannon is mispositioned on iPad (too low). This wasn't happening last time I had this on my iPad.

After we get in iPad specific atlases and fold in fonts into atlases, we can measure the memory and see if it's under the 24/48 general rule of thumb limit.
Have iPad loading screens been implimented yet? If so then I've not set it up yet. Game Center isn't set up on itunes. I don't know why the cannon is doing that, it's probably an iOS bug as it works fine in flash when reolution is set to 768x1024

Jon

  • *
  • Posts: 17524
It uses the iPad splash screen right now and does work on iPad (provided you don't muck too much with the offsets).

Rhys

  • Posts: 1046
Even after font seperation the game still manages memory warning level 1 when you tap to start on the main screen, and hits 2 right before it crashes on the level share. The only solution it seems is to separate the iPad graphics from the main ones, seeing as they take up 4x the area of the normal ones.

Although an iPad 2X scale mode wouldn't take up 100% of the screen it would probably be of benefit if per animation atlas positioning is too difficult, and would probably be easier on me too at the cost of unused screen space.

« Last Edit: September 25, 2011, 05:38:57 am by Rhys »