owen_dennis this bug has just been ignored. Ive tried to follow up on it with GS staff but they just don't respond. You can track the bug here but they don't update or respond to notes on it so why bother!
I certainly wouldn't wait for it to be fixed. It was logged as a bug in Aug of last year and still hasn't been fixed (or if it has, it was never announced or updated and I dont update tables this way anymore. Like the rest of the bugs in GS, we just find a work around and apply that).
To help you get past this, you have to change all your table references into global attributes. You simply can't update tables like this or your game will crash. To clarify, you can't update a TableCellValue (TCV) with a TCV+1 or any other value. You can update a TCV with a fixed value but not as a TCV+1. You can update a global attribute with an integer+1 and no memory leaks occur. Solving the issue but you will need to change the way your game works and use attributes and not tables.
Depending on your game this will be a short or an extensive task. For my game it was a days work as I had a lot of table references to it. But that 1 days work saved me waiting on a fix for something that isn't even monitored and now a year has passed since they acknowledged it and promised a fix in 0.12 and then 0.13.
Thank you!! I will try this. Some time. Sounds like this may work.
I wish Game Salad actually understood that that's the problem, and could just reply and tell me. And save me a year of pain. Or fix it, so it's not a problem anymore.
Anyway, we'll see if it works for me. But jeez.... Anyway, thanks for explaining! Worth a shot.
owen_dennisJust a guy, you know.Member, PROPosts: 236
Does anyone out there who understands code (or perhaps even someone from Game Salad), please explain why this should be a problem, and whether or not it should be something that could be fixed?
GS is meant to be user friendly. And this problem has killed my project for over a year. That's not exactly user friendly.
And @Hopscotch does this theory conform with your findings in your test? I kind of thought your examples (from your test project) were different again.
@GeorgeGS My game still has the memory leak. I tested a 13.31 ad hoc build with Instruments today and every time I change a scene I add 30-40 Mb to the total memory footprint. The game starts out at 250 Mb and then crashes out of memory about 20 scene changes later.
owen_dennisJust a guy, you know.Member, PROPosts: 236
@viking said:
GeorgeGS My game still has the memory leak. I tested a 13.31 ad hoc build with Instruments today and every time I change a scene I add 30-40 Mb to the total memory footprint. The game starts out at 250 Mb and then crashes out of memory about 20 scene changes later.
That's exactly what mine was doing all the time. I'll test it tomorrow and report back.
@Hymloe, according to my tests on all manner of self-referenced table changes (or TCV as it is called here), there is no problem. This does NOT seem to be the cause. See my post a few lines up regarding your game.
@viking, @owen_dennis, please PM me for a Skype call. I have tested apps with huge graphic assets without seeing this problem. Let us look into your specific issues.
That basically sums up my experiences of the last year - the project just building up, beyond my control, and crashing - despite all sorts of debugging sessions.
I haven't tried modifying my actors as per the suggestions above yet (avoid directly referencing a table value in a Change Table Value behaviour).
@NimbleBug said:
Can someone explains "what not to do with tables" and about bad logic in games .
Hmm that's a loaded question that could take a novel to answer..lol
As to tables, it now seems there is no issue. Let me explain the calling a zero row/column
If you build an expression where you identify the row or column using an attribute, that can have a value of zero, will cause crashes and other crazy things when the code gets to that function. This happens because there is no row/column zero.
The way around it is to wrap that behavior or rule in a rule using the attributes that are defining the row/column as the conditions. When game.level is > 0
This becomes super important in multiplayer as most all of the table calls require numbers of somekind that can be zero based on the network connection. Much of the data used to define a players table is only present when connected with the server network. The functions are also kind of elaborate and can get a bit tricky and those not being done right can cause freezes. I've sorted through all this working again on my multiplayer game this last week. All the freezes I had were subtle errors on my part.
I should also add that creator used to tolerate a zero row/column being called but, a year ago, when they switched to LUAjt and fixed up stuff, this was a know issue that WE needed to address in our code bases. Creator should have never allowed us to address a zero row/column. If you're having crashes or freezes not related to memory and use tables I would start with looking at the zero issue first.
@The_Gamesalad_Guru said:
I should also add that creator used to tolerate a zero row/column being called but, a year ago, when they switched to LUAjt and fixed up stuff, this was a know issue that WE needed to address in our code bases. Creator should have never allowed us to address a zero row/column. If you're having crashes or freezes not related to memory and use tables I would start with looking at the zero issue first.
I had to tweak some thing at that point, so that my project waited for table values to be valid before using them.
But it was also right around this time that other table memory issues were introduced, and have not been resolved.
Unfortunately, Game Salad don't seem to understand any of it enough to either explain the issue, or fix it, or both.
They seemed to feel "overwhelmed" by my project, so rather than try to understand it, or talk to me, they swept it under the rug.
Rather than improve GS to support games and approaches like mine, they... well, I don't even know how to describe their lack of ability to address the issue. Honestly.
@Hymloe, did you read my post regarding your game up higher?
@Hopscotch said:
As a test, I just played @Hymloe's complex game for a full 30 minutes, dozens of levels, total memory rollover of over 7 Gigs. Although there was a slight memory increase over time, it had no spikes, no crashes. Live allocated memory cycled between 90Mb and 130Mb.
@GeorgeGS said:
Contrary to popular belief we're not ignoring this issue, we talk about it often, and I was even all set to look at it today but something else I was working on took longer than I thought it would.
It's a complex issue or it would have been fixed already, and I'm happy to spend some time on it to try and figure it out, but if I don't have a good way to test it then it's going to take longer.
Looks like I may have to upgrade to Yosemite on one of these computers, to get Game Salad Viewer compiled to my devices. Doh! Hope that doesn't require an iOS upgrade as well. The slippery slope of upgrades! ;P
This is the only true representation of how your game will behave on a client device.
The above findings are with a adhoc build. The Viewer is a convenience, but if you find memory problems then always cut out as many proxies as possible, in this case the viewer.
Take a deep breath dude..lol Read all the stuff before going off down a rabbit hole..LMAO It's been shown in this thread that the bug no longer exists.
@Hymloe you do realise that for all the ranting you've done over the past couple of pages... you could have just done a build of your game with the latest version of GameSalad and tested to see if theres still an issue or not....
You keep saying you haven't touched the game for a year because of an issue that may or may not still be valid... rather than beating yourself/others over it, you could have spent an hour just trying it out
Saying that though... I must confess Ive got probably around a dozen games that got shelved over the years, due to bugs and issues with GS, so I do understand some of the frustration... some I came back to later down the line, to find they now worked, others are still sitting in a dark corner of my hard drive, waiting for the day that I might get back to them.
Hell why should I test anything when I've got all these other people to do it for me. I'm off to watch Dr. Who can you message me when my game is done. In fact, I'd like to know why it isn't done yet you lazy bums.
@The_Gamesalad_Guru said:
Hell why should I test anything when I've got all these other people to do it for me. I'm off to watch Dr. Who can you message me when my game is done. In fact, I'd like to know why it isn't done yet you lazy bums.
Just get in your TARDIS and come out when its done, who really is the lazy one here!
I just got an update report for 0.13.32 and hot-damn both these changes are amazing! @BlackCloakGS@GeorgeGS these kinds of little quality of life changes are fantastic!
Comments
Thank you!! I will try this. Some time. Sounds like this may work.
I wish Game Salad actually understood that that's the problem, and could just reply and tell me. And save me a year of pain. Or fix it, so it's not a problem anymore.
Anyway, we'll see if it works for me. But jeez.... Anyway, thanks for explaining! Worth a shot.
I usually assume everything is my own fault.
Vote for Nearest Neighbor Scaling option in gamesalad! Let's make our games look truly stunning!
Does anyone out there who understands code (or perhaps even someone from Game Salad), please explain why this should be a problem, and whether or not it should be something that could be fixed?
GS is meant to be user friendly. And this problem has killed my project for over a year. That's not exactly user friendly.
Can it be fixed?
And @Hopscotch does this theory conform with your findings in your test? I kind of thought your examples (from your test project) were different again.
Can someone explains "what not to do with tables" and about bad logic in games .
@GeorgeGS My game still has the memory leak. I tested a 13.31 ad hoc build with Instruments today and every time I change a scene I add 30-40 Mb to the total memory footprint. The game starts out at 250 Mb and then crashes out of memory about 20 scene changes later.
That's exactly what mine was doing all the time. I'll test it tomorrow and report back.
Vote for Nearest Neighbor Scaling option in gamesalad! Let's make our games look truly stunning!
@Hymloe, according to my tests on all manner of self-referenced table changes (or TCV as it is called here), there is no problem. This does NOT seem to be the cause. See my post a few lines up regarding your game.
@viking, @owen_dennis, please PM me for a Skype call. I have tested apps with huge graphic assets without seeing this problem. Let us look into your specific issues.
MESSAGING, X-PLATFORM LEADERBOARDS, OFFLINE-TIMER, ANALYTICS and BACK-END CONTROL for your GameSalad projects
www.APPFORMATIVE.com
@owen_dennis
That basically sums up my experiences of the last year - the project just building up, beyond my control, and crashing - despite all sorts of debugging sessions.
I haven't tried modifying my actors as per the suggestions above yet (avoid directly referencing a table value in a Change Table Value behaviour).
Have you? And it still didn't work?
Hmm that's a loaded question that could take a novel to answer..lol
As to tables, it now seems there is no issue. Let me explain the calling a zero row/column
If you build an expression where you identify the row or column using an attribute, that can have a value of zero, will cause crashes and other crazy things when the code gets to that function. This happens because there is no row/column zero.
The way around it is to wrap that behavior or rule in a rule using the attributes that are defining the row/column as the conditions. When game.level is > 0
This becomes super important in multiplayer as most all of the table calls require numbers of somekind that can be zero based on the network connection. Much of the data used to define a players table is only present when connected with the server network. The functions are also kind of elaborate and can get a bit tricky and those not being done right can cause freezes. I've sorted through all this working again on my multiplayer game this last week. All the freezes I had were subtle errors on my part.
Guru Video Channel | Lost Oasis Games | FRYING BACON STUDIOS
I should also add that creator used to tolerate a zero row/column being called but, a year ago, when they switched to LUAjt and fixed up stuff, this was a know issue that WE needed to address in our code bases. Creator should have never allowed us to address a zero row/column. If you're having crashes or freezes not related to memory and use tables I would start with looking at the zero issue first.
Guru Video Channel | Lost Oasis Games | FRYING BACON STUDIOS
In a few of my games I have code that says basically:
when something is true
change tablecellvalue to tablecellvalue+1
and it works fine, I've never had a problem with it. As others have said, make sure you are not looking for row or column 0 (as it doesn't exist)
Send and Receive Data using your own Server Tutorial! | Vote for A Long Way Home on Steam Greenlight! | Ten Years Left
I had to tweak some thing at that point, so that my project waited for table values to be valid before using them.
But it was also right around this time that other table memory issues were introduced, and have not been resolved.
Unfortunately, Game Salad don't seem to understand any of it enough to either explain the issue, or fix it, or both.
They seemed to feel "overwhelmed" by my project, so rather than try to understand it, or talk to me, they swept it under the rug.
Rather than improve GS to support games and approaches like mine, they... well, I don't even know how to describe their lack of ability to address the issue. Honestly.
@Hymloe, did you read my post regarding your game up higher?
MESSAGING, X-PLATFORM LEADERBOARDS, OFFLINE-TIMER, ANALYTICS and BACK-END CONTROL for your GameSalad projects
www.APPFORMATIVE.com
So you're saying it might be fixed now?
That'd be nice.
Just don't get my hopes up, and then crush me.
Thanks George! Sorry for being a mean bean.
Thanks! I only just saw it now that you pointed me at it. Whoo! Looks promising!
Looks like I may have to upgrade to Yosemite on one of these computers, to get Game Salad Viewer compiled to my devices. Doh! Hope that doesn't require an iOS upgrade as well. The slippery slope of upgrades! ;P
@Hymloe, make an adhoc to test!
This is the only true representation of how your game will behave on a client device.
The above findings are with a adhoc build. The Viewer is a convenience, but if you find memory problems then always cut out as many proxies as possible, in this case the viewer.
MESSAGING, X-PLATFORM LEADERBOARDS, OFFLINE-TIMER, ANALYTICS and BACK-END CONTROL for your GameSalad projects
www.APPFORMATIVE.com
Take a deep breath dude..lol Read all the stuff before going off down a rabbit hole..LMAO It's been shown in this thread that the bug no longer exists.
Guru Video Channel | Lost Oasis Games | FRYING BACON STUDIOS
@Hymloe you do realise that for all the ranting you've done over the past couple of pages... you could have just done a build of your game with the latest version of GameSalad and tested to see if theres still an issue or not....
You keep saying you haven't touched the game for a year because of an issue that may or may not still be valid... rather than beating yourself/others over it, you could have spent an hour just trying it out
Saying that though... I must confess Ive got probably around a dozen games that got shelved over the years, due to bugs and issues with GS, so I do understand some of the frustration... some I came back to later down the line, to find they now worked, others are still sitting in a dark corner of my hard drive, waiting for the day that I might get back to them.
@Chunkypixels
Does GS support Retina yet ?
Hell why should I test anything when I've got all these other people to do it for me. I'm off to watch Dr. Who can you message me when my game is done. In fact, I'd like to know why it isn't done yet you lazy bums.
Guru Video Channel | Lost Oasis Games | FRYING BACON STUDIOS
Just get in your TARDIS and come out when its done, who really is the lazy one here!
Fortuna Infortuna Forti Una
I just got an update report for 0.13.32 and hot-damn both these changes are amazing! @BlackCloakGS @GeorgeGS these kinds of little quality of life changes are fantastic!
Contact me for custom work - Expert GS developer with 15 years of GS experience - Skype: armelline.support
Huh, that's a nice looking graph. That seems like a big change from 13.2 to .3 is that labeled correctly?
Looks like it's time to adhoc again
Follow us: Twitter - Website
On a small screen? Look again!
MESSAGING, X-PLATFORM LEADERBOARDS, OFFLINE-TIMER, ANALYTICS and BACK-END CONTROL for your GameSalad projects
www.APPFORMATIVE.com