Ok, I don't know... something is wrong.
Hunnenkoenig
Member Posts: 1,173
I optimized the heck out of my game (images, rules etc).
My images look like crap, but still can't come under 20MB. I have 466 images in my game and optimized to 72 dpi, saved with punyPNG and everything.
This is not even the problem.
The problem is, no matter what I do, the game is jerky. I made test levels with 3-4 bricks in them (There should be at least 20-30) and the normal animations I have. The ball jumps around, this is not normal.
In the viewer app I get 25 fps sometimes. I don't know what to do. I can't sell the game with this conditions.
I came to the conclusion that either my iPhone is crap, or you can't make a high quality game with GS. Sorry, but it seems so at the moment for me. I am really sad and desperate.
Maybe I should start to make e-books...
What do I have in a scene?
1 background image (i skipped animated backgrounds already)
1 lifebar
1 life counter
1 score counter (standard font)
1 racket
4 bricks, which change images on hit, sometimes they play a small animation
1-4 animated actors
many movements, what in a wallbreaker game is essential
sounds for shooting, hiting, exploding and a background music.
Is this too much for a game? I don't think so.
And don't tell me about hackintosh! My iPhone is a real Apple product :-P
My images look like crap, but still can't come under 20MB. I have 466 images in my game and optimized to 72 dpi, saved with punyPNG and everything.
This is not even the problem.
The problem is, no matter what I do, the game is jerky. I made test levels with 3-4 bricks in them (There should be at least 20-30) and the normal animations I have. The ball jumps around, this is not normal.
In the viewer app I get 25 fps sometimes. I don't know what to do. I can't sell the game with this conditions.
I came to the conclusion that either my iPhone is crap, or you can't make a high quality game with GS. Sorry, but it seems so at the moment for me. I am really sad and desperate.
Maybe I should start to make e-books...
What do I have in a scene?
1 background image (i skipped animated backgrounds already)
1 lifebar
1 life counter
1 score counter (standard font)
1 racket
4 bricks, which change images on hit, sometimes they play a small animation
1-4 animated actors
many movements, what in a wallbreaker game is essential
sounds for shooting, hiting, exploding and a background music.
Is this too much for a game? I don't think so.
And don't tell me about hackintosh! My iPhone is a real Apple product :-P
Comments
did you go through and uncheck 'moveable' on everything that doesn't move? Also go through and uncheck visible on everything that is always hidden, it'll help.
Send and Receive Data using your own Server Tutorial! | Vote for A Long Way Home on Steam Greenlight! | Ten Years Left
unless they need transparency, make sure your images are all 8-bit, not 24-bit
the big FPS killers are:
Constrain Attribute
Timers
trig functions like vectorToAngle
If you want to send me your project, I can take a look at it for you.
Also, are you testing on a 3GS or 2ndGen iPod,
or is it an earlier model?
Constrain attributes depend on the level, but I have maximally 3-4 in one scene. Mostly 1-2 if there is such a rule.
I unchecked moveable and visible, but I will go through the whole thing again.
The problem is mostly, when more things happen at once. Like when the ball hits a brick, which drops a bonus and explodes. Thet it stays for a second and when it moves again, the ball is suddenly somewhere else, which is not good for a wallbreaker game.
I have a second gen 3G iPhone
The images are 8 bit. As far as I can tell. In photoshop, it says 8 bit when I go to the image tab.
I will send you the project. That would be very cool if you could look at it.
@chosenonestudios: I can't make it an iPad game, because the graphics are in 320x480. I can't blow them up to 1024x768 :-(
It took a few weeks for the artist to make them :-)
http://gamesalad.com/forums/topic.php?id=4407&replies=1#post-26739
Some things I have done are:
Reduce actor counts!!!
Reuse actors
Reduce Timer loops (ie...use .25 seconds instead of .1 seconds)
Eliminate Rules whereever possible.
Use splitting rules (ie...if you have 10 rules to check...first split in half, then half again then assign...which forces only 3 rule checks instead of all 10)
Try to use expressions instead of rules whenever possible.
Also...
3G is the most difficult to push a complex GS game to...the engine uses 2/3 of the available memory. Our game won't even get through the load on one right now...
We are looking for ways to optimize currently...but its tough.
Unless the GS engine gets better optimization...its going to be really tough to push to a 3G phone. You only have about a 10MB sandbox to run you game in...since they are hogging up all the ram with the game engine.
It seems GS is using 3 to 4 times the ram and processor that much more complex game engines are using...the difference between a $100 game engine and a $100,000 game engine. They really need to get things optimized SOON if they want to be taken seriously by pro developers.
Thanks!
@synthesis: I tried everything I could. I am new to this, so Firemaple will laugh his arse off, probably :-)
But we will see. I have read every possible topics here about optimization and I tried to use the advices, but there is much to do better for sure.
I had similar problems, then instead of spawning actors i have them offscreen and "call" them on screen with a rule.
My fps bumped up a lot and now I'm having some glitches only on some bonus levels with about 150 actors (but I still have to optimize some things like visibility, sounds and some rules).
Because of the kind of the game I can't really call actors from offscreen.
I have one level, where I do, but then I have to spawn them offscreen too, ebcause I can't palce so many actors just outside.
As I said above, I already sent you a download link for the project :-)
Now I go to sleep.
Maybe when I wake up, you can already tell me some advice, how to improve it :-)
Oh btw, some actors and attributes are named in hungarian or half english half hungarian, but you will know, what is what I think :-)
And enjoy the party! :-)
You may just have to scale it way down to work on all devices or do what I did and pray they approve it on a 3GS and then just update your "Description" in the app store to tell folks it only works on the newer devices.
Your images are probably bigger and more details than my pseudo vector graphic looking images but I did have approximately 46 actors at scene start and then it could vary from a low of 19 actors up to about 60 actors with an average probably somewhere in the 30s. I also had a little over 100 constrains to allow for the defense ring segments to circle properly and for the enemies to track the player appropriately. So if you images are bigger and more detailed, the use of actor number and constrain count should be lower than what I am doing. Maybe you have some crazy rule/behavior sets though but I think 100+ constrains would be more of a concern. Funny thing is, two-thirds of those 100+ constrains are trig related so you would think it wouldn't even run on a 3GS. I do spawn the explosion animations, point indicators, projectiles, and the swirly photons thingies so a decent amount of spawning occurring too.
I provided those details in my game's announcement so others planning something action oriented could get a feel for some of the limits of the GS system at its current version (0.8.3):
http://gamesalad.com/forums/topic.php?id=4338
By the way, how numerous and frequent are your animations. The only animations I have (besides normal rotations and movement) are the explosion animations that are about 12-14 frames with maybe only about three ever happening at the same time but typically only one at a time.
Also I've had better luck using the .caf format instead of .ogg for sounds.
I use a free program called MAX to convert my audio to .caf using the A-law encoder.
I will try to optimize further.
@Synthesis: I hope not :-)
I trust him :-)
FMG is the real deal!!! Good man!
After doing some work, how FMG told me, my game went from 20MB to 10 MB.
I thought, I did everything right, but it seems I didn't :-)
Thank you FMG! :-)
I had to save the images through the "save to web & devices" option instead of the standard save. I didn't know that.
And I made my sound files smaller with audacity. I used Audacity before, but on windows, where you can't convert into m4a, so I used some other software.
Now I converted the musics back to wav, I made them mono and converted them to m4a again on the mac.
FMG told me, on his 3GS the game was running at 60 FPS.
On my 3G it's also running better now.
I am correcting game logic errors after my optimization :-)
I have put some things into else rules, which don't work that way :-)
My racket uses constrain all the time. The ball sometimes too.
Other things use also a few.
On one level it is not more than 3 or 4, I think.
I'm sure you must be so relieved. FMG is the man!
It seems Gamesalad is actually pretty sweet, you just have to be extremely careful with all the elements to get it working at its best.
We are all learning and sharing and while we are doing that, tools improve too. Just gotta keep at it and never give up.
Well done guys and good luck!
Good night tshirt, sleep well :-)
Yeah, it works now without big problems on my 3G.
I am a perfectionist, so it will be never 100% for my satisfaction, but it's ok now :-)