Will this be addressed soon?!
charliehgreen
ArizonaMember Posts: 233
Hello,
Before I start I would just like to say that this is not a rant/bash and I love GS.
I find it pretty hard to upgrade to a "Pro" account due to one simple reason, GS can't really handle games without lagging.
I'm not speaking about games with 200-300 actors on the screen at once, I'm talking about simple games.
I find it strange that every game I downloaded and played from other GS members, lag before I even leave the Menu screen.
I played at least 10 - 15 games from us all and I have yet to experience no lag during gameplay (Well, at least some make it pass the minute mark). And it seems like the longer you play, the more you lag (Including my game).
Now I know some will say "it's because of kinks in your code". Which I find kind of strange as well, since GS codes are straight to the point and are suppose to be easy for the user. If that's the case, then the provided behaviors must not be too easy if the majority of GS members experience the lag in their game.
Some might even say "They might have too many actors at once". Which could be possible, but that doesn't explain why the start screen will lag or games with a maximum of 10 actors on the screen at once would lag.
Now again, this is not a rant/bash. This is just a serious question that I would love to be addressed.
I think me and (I forgot his name) kind of found what might be the problem. I've noticed while playing my game with the viewer showing the specs while playing, that the images are building up. For example; when I enter a scene, the images will read, 2.8mb. Which is cool.
Then as I'm destroying actors and having more spawn, the images are stacking. 1 minute later my image stats will read, 12.3mb.
But! once I change to a whole new scene, the image stat will reset. Hmmmm
It seems that when the actors are being destroyed, the images are not really being removed from the scene. Seems like they're just being pushed to the back somewhere until the scene changes.
Before I start I would just like to say that this is not a rant/bash and I love GS.
I find it pretty hard to upgrade to a "Pro" account due to one simple reason, GS can't really handle games without lagging.
I'm not speaking about games with 200-300 actors on the screen at once, I'm talking about simple games.
I find it strange that every game I downloaded and played from other GS members, lag before I even leave the Menu screen.
I played at least 10 - 15 games from us all and I have yet to experience no lag during gameplay (Well, at least some make it pass the minute mark). And it seems like the longer you play, the more you lag (Including my game).
Now I know some will say "it's because of kinks in your code". Which I find kind of strange as well, since GS codes are straight to the point and are suppose to be easy for the user. If that's the case, then the provided behaviors must not be too easy if the majority of GS members experience the lag in their game.
Some might even say "They might have too many actors at once". Which could be possible, but that doesn't explain why the start screen will lag or games with a maximum of 10 actors on the screen at once would lag.
Now again, this is not a rant/bash. This is just a serious question that I would love to be addressed.
I think me and (I forgot his name) kind of found what might be the problem. I've noticed while playing my game with the viewer showing the specs while playing, that the images are building up. For example; when I enter a scene, the images will read, 2.8mb. Which is cool.
Then as I'm destroying actors and having more spawn, the images are stacking. 1 minute later my image stats will read, 12.3mb.
But! once I change to a whole new scene, the image stat will reset. Hmmmm
It seems that when the actors are being destroyed, the images are not really being removed from the scene. Seems like they're just being pushed to the back somewhere until the scene changes.
Comments
For example, I noticed a few years ago that when a sound is played, the game would lag for a split second when it was triggered due to the sound being loaded in.
An experienced developer would know that you can play all sounds in a scene when it loads with the volume in the behaviour set to 0.
This loads all the sounds in at once because they're played at the start (but because the volume is 0 it's not heard). Ergo, no lag when they're played again when triggered at the normal volume.
Other optimisation techniques I personally use include using one unlocked generic prototype actor for many things and recycling enemies/bullets/whatever as opposed to spawning stuff in all the time.
Another trick is writing 'elegant code' - Some people will need 10 variables checked just to move an object, where others can work out how to do it with two!
Yet another is to downsize the assets you use. Most of my sounds are mono, not stereo, because (I believe) it uses less memory. Images can be optimised using stuff like imageoptim.
New or inexperienced users will build up a little library of 'tricks' to help with optimisation too over time, but it will take time.
While some of the stuff I've mentioned might not be relevant anymore due to improvements within GS, I still use them as 'best practice' techniques.
The least powerful device I have is a 4S - yet people have told me my games run fine on a 3GS.
It takes practice is all!
Hope that helps,
QS
EDIT - yet another example I just remembered, sound wise, is this: I needed a sound played to indicate a countdown. Most new users might use 10 different sounds to go from 10 to 1. A more experienced user would use the same sound 10 times, while varying the pitch of just that one sound.
Dr. Sam Beckett never returned home...
Twitter: https://twitter.com/Quantum_Sheep
Web: https://quantumsheep.itch.io
New users won't pick this up as easy and might run away from GS which will suck since
GS is amazing to use.
I'm afraid though that unless you're making Pong for the PlayStation 4, every SDK you use will need you to work within its limits.
Another way to look at it - there were some things that professional programmers using a PlayStation 3 couldn't manage to do well, while an Xbox handled these things with no problem.
As people got used to the PlayStation 3's architecture, these problems were worked around.
It's also why it's fun to compare first generation games on a platform to the last few games on said platform.
The latest games on an Xbox are more technically accomplished than those in its launch window.
People get used to, and more competent with certain systems, and can make awesome stuff as their experience grows.
It's just the way it is I'm afraid!
QS
EDIT - and another more obvious thing I just thought of - Back when it was PlayStation Vs. Sega Saturn, the systems were very different from eachother.
The original PlayStation was geared towards 3D. The Sega Saturn more towards 2D.
You could do 2D and 3D on both systems, but each had its strengths/weaknesses in regard to those.
Dr. Sam Beckett never returned home...
Twitter: https://twitter.com/Quantum_Sheep
Web: https://quantumsheep.itch.io
Dr. Sam Beckett never returned home...
Twitter: https://twitter.com/Quantum_Sheep
Web: https://quantumsheep.itch.io
Guru Video Channel | Lost Oasis Games | FRYING BACON STUDIOS
So let's say I want to test my game on the iphone 5 now, do I have to re-do the steps for adding the viewer to my iphone 4 or do I just plug in my iphone and go into Xcode?
QS
EDIT - it's good practice to test on lower end devices if you can, and to make it work on as many as possible. Moving to using a better spec machine and thinking that solves any issues your game may have isn't a good idea!
Dr. Sam Beckett never returned home...
Twitter: https://twitter.com/Quantum_Sheep
Web: https://quantumsheep.itch.io