Is there such thing as too many actors?

DrGlickertDrGlickert Member Posts: 1,135
edited November -1 in Working with GS (Mac)
I'm really struggling with my game. I have over 80 actors in one scene.

I really haven't game tested much yet, because I'm struggling to find ways to "recycle" actors vs simply destroying them.

Does anyone have any idea about how many actors would be "too many" or would seriously start to cause some game-play issues (boggy, too slow, etc)...

Thanks all!

Comments

  • tenrdrmertenrdrmer Member, Sous Chef, Senior Sous-Chef Posts: 9,934
    it depends on the rules and wether they are movable or not but generally 80 or more will be very hard on older devices. iPhone 4 can handle more but generally you never want to have that many in your scene because you will prob hurt FPS even on the newer devices
  • DrGlickertDrGlickert Member Posts: 1,135
    Hmm, this is going to be a problem for sure. I would say it's 50/50 on moveable actors. Some I have "Interpolate" functions of them as their "movement" though.

    I have an old 3G and I only get around 15-FPS sometimes, and that's when the device is having a good day...

    I really don't want to scrap this project. It's really shaping up to be a sweet game...
  • scribblstudiosscribblstudios Member Posts: 118
    I would recycle actors after they are out of the camera. For example, when player position x > self position x + 300, change attribute, self pos x to player pos x -300. Hope this helps:).
  • GamersRejoiceGamersRejoice Member Posts: 817
    I wouldn't say that there is a specific number. It really depends on what those actors are doing and how much resources they are using. Testing a prototype is key to making sure you can actually develop what you are looking to do and then make changes from there.
  • tenrdrmertenrdrmer Member, Sous Chef, Senior Sous-Chef Posts: 9,934
    DrGlickert said:
    Hmm, this is going to be a problem for sure. I would say it's 50/50 on moveable actors. Some I have "Interpolate" functions of them as their "movement" though.

    I have an old 3G and I only get around 15-FPS sometimes, and that's when the device is having a good day...

    I really don't want to scrap this project. It's really shaping up to be a sweet game...

    its no god at that low of FPS you really should be shooting for 45 with a 3g and settle for no less than 30.

    Your gonna have to work in some recycling somewhere. Especially if you are spawning onto p of your 80 actors.

    ___________________________________________________________________________________
    TEMPLATES AND PROJECT HELP BY TENRDRMER. CLICK HERE!!!

    AppSolute Entertainment on Facebook
    AppSolute Entertainment on iTunes
  • scribblstudiosscribblstudios Member Posts: 118
    Or I would even try simplifying behaviors if thats possible...
  • PhoticsPhotics Member Posts: 4,172
    DrGlickert said:
    Does anyone have any idea about how many actors would be "too many" or would seriously start to cause some game-play issues (boggy, too slow, etc)...

    It's not just the number of actors... it's what those actors are doing. Do they have graphics on? Are they moving actors? What size are the actors? Are they using particles? How many behaviors are running? Which behaviors are running?

    The Unofficial GameSalad Textbook has optimization techniques. As an example, BOT has about 100 actors per scene and it runs at 60 FPS on an iPhone 4. That's because most of the actors are invisible and non-movable.
  • scribblstudiosscribblstudios Member Posts: 118
    Or if actors are not needed for movement uncheck movable to save memory.
  • DrGlickertDrGlickert Member Posts: 1,135
    I have around 40 actors with movable checked that fall from the top of the scene. They all have a lot of rules and such, but no particles. It's a brick-breaker style game so the "ball" is moveable as well.

    Everything else is non-movable and is either invisible or hidden until it's needed (such as custom-score actors).

    They do have graphics on them, but no animations.

    I've tried to eliminate all the behaviors of constrain attributes and timers (unless it's absolutely necessary). I think I tried to do too much with this game and GameSalad is not the right way to go about this, I really should learn a programming language and program it myself. Until GameSalad fixes a few things I don't think this is possible (like a trash dump, etc.)
  • tenrdrmertenrdrmer Member, Sous Chef, Senior Sous-Chef Posts: 9,934
    I have seen a lot of good wall breaker games made with GameSalad so i'm sure you have so good possibilities. It will prob take more time to learn to code than it would to optimize it. Also if by invisible you mean alpha 0 that has still loaded memory for the graphics. The only way to have graphics not taken into account and what we mean by invisible actors is to uncheck visible in the actors graphics attributes.

    ___________________________________________________________________________________
    TEMPLATES AND PROJECT HELP BY TENRDRMER. CLICK HERE!!!

    AppSolute Entertainment on Facebook
    AppSolute Entertainment on iTunes
  • PhoticsPhotics Member Posts: 4,172
    DrGlickert said:
    I have around 40 actors with movable checked that fall from the top of the scene.
    If all they do is fall straight down, interpolate might be more efficient.

    Commove has 35 balls on the screen. The movement is controlled with interpolate.
  • DrGlickertDrGlickert Member Posts: 1,135
    Well, I thought about Interpolate. But the bricks continuously move downward. So if the brick directly below one is destroyed then the bricks on top will move down...

    So interpolate might work in the beginning, but that's about it...
  • DrGlickertDrGlickert Member Posts: 1,135
    Is there a way to tell an actor to understand the "overlap/collide" with an object at it's 270 degree position? or the bottom of the actor?
  • PhoticsPhotics Member Posts: 4,172
    Do you have a copy of The Unofficial GameSalad Textbook? The explanation of Commove would probably work here.

    You're thinking in the real world... where the ball responds to physics. Instead, think of invisible actors that do the work for you.

    Commove has a grid. There's an invisible actor in each spot. When there's five in a row, another actor is spawned to delete the balls. That idea can be expanded. Basically, whenever there's an empty space, an invisible line-shaped actor is spawned that overlaps with the balls above it. Then, the interpolate can be triggered.
Sign In or Register to comment.