Mac Stable Release 0.13.31
BlackCloakGS
Member, PRO Posts: 2,250
Mac Stable Release 0.13.31
Fixes:
Fixed Animate behavior not resizing correctly in behavior list
Added additional exception reporting
Contains all the fixes from 0.13.30
Comments
@BlackCloakGS Thanks for the update
Thanks guys!
Mental Donkey Games
Website - Facebook - Twitter
@BlackCloakGS does this contain a fix for
Bug 1081 - Arcade: HTML5: change image not working ?
Ok this is something that i think hasn't been working for a while now. Does Reset game behavior call an ad for anyone? I remember trying it a while back probably 6 months or so ago and it didnt call and ad, now i tried it last build and it still didn't call an ad. I don't think it would be any different this build.
Fortuna Infortuna Forti Una
Since I switched to version 0.13.31 I have to open ever actor twice, because the Library "Behaviors | Images | Sound" is missing.
First time:
Second time:
@ThoPel that's been happening to me a few for the past few releases randomly I usually just close and reopen GS and I'm good for a few hours before it happens again.
Send and Receive Data using your own Server Tutorial! | Vote for A Long Way Home on Steam Greenlight! | Ten Years Left
@jonmulcahy Before I posted it, I restarted GS - feels like - 100 times. Apart from the >2 crashes
yup, I probably restart GS 10 times a day to keep it fresh. last winter it was 10 times per hour it is getting better.
Send and Receive Data using your own Server Tutorial! | Vote for A Long Way Home on Steam Greenlight! | Ten Years Left
@BlackCloakGS I just submitted a bug for multiplayer. Things seem to be working well from a table standpoint but creator seems to freeze at particular times not allowing any change scene either by behavior or manually by the scene selector during preview.
It seems as well that the opponent player's tables refresh fine but the player table does not. I'm doing simple tests just watching the tables. if I go off the scene and comeback the player table now displays the proper info. this is the reverse of what was happening before as it was the opponent tables not being refreshed without going off scene.
Guru Video Channel | Lost Oasis Games | FRYING BACON STUDIOS
The Android viewer doesn't seem to work in the latest version...
So i found a new issue related to rules and tables. Since addressing a zero row/column causes freezes et.. I always wrap my rules that need attribute values to address a row/column in a rule saying do when said attributes are > 0. Now it seems the code inside is still being scanned and causing a freeze to occur. i discovered this by turning off the main rule and still encountered a freeze but when I turned off the rule inside that would be looking for row/column 0 the freezing stopped.
Guru Video Channel | Lost Oasis Games | FRYING BACON STUDIOS
Any word on Revmob Banner not showing? http://bugs.gamesalad.com/show_bug.cgi?id=1232
Fortuna Infortuna Forti Una
What issue are you seeing? I'm not having any problems with the Android Viewer in 0.13.31.
Is the table related memory issues fixed?
Last time I checked (some time ago, as you keep saying this won't be fixed until version 0.14), my game crashes after a few scene changes, because tables don't clean up properly.
Keen to hear some news on progress on that issue. Been waiting a year for a fix.
@BlackCloakGS On the note of this table memory problem...
Does anyone there at GS even know what I'm talking about?
Is this issue ignored because everyone just washes their hands of it?
Everyone just looks the other way?
Someone else's problem?
Are you aware of the issue?
Wow you've got some venting to do tonight!
It has been stated on multiple occasions that GameSalad are aware of the issue and are actively seeking to fix it. It's one of the top priorities right now.
That said, there are ways to avoid the memory buildup in some circumstances. I don't know if it got fixed, but it was confirmed that self-referencing a table cell when changing it would cause a memory leak. (i.e. When changing a table value, you reference the table cell value you're changing, so something like tableCellValue(table,1,1) to tableCellValue(table,1,1)+1.)
Perhaps your game doesn't even need to be on hold with a few potentially quick workarounds. Not ideal, but better than nothing.
Contact me for custom work - Expert GS developer with 15 years of GS experience - Skype: armelline.support
Thanks. I've worked on / followed the issue, on and off for over a year. It brings me pain just to evaluate new builds, only to find the issue unchanged. I've debugged, and worked with the helpful @Hopscotch on the problem, all to no avail.
I now simply await news that it is confirmed as fixed.
Thanks for your suggestions!
Based on what I was told it sounds like 0.14 will be here sometime before the end of the year. I'm in the same boat as you so I hope this gets solved sooner than later!
POLAR ROLLOUT (New Line-Drawing Physics Puzzler!) - FREE Download
Oh interesting. I have the same problem @hymloe has but a somewhat different situation. I have randomly spawned enemies with hitboxes that follow them based on their table coordinates which are constantly updated with a timer. The tables hold the enemy's x and y positions, and their health. So when the hit box is hit, it tells that health value to be whatever the health value is -1.
What's the workaround idea for the self-referencing table thing? Would it be something like:
If rule is fired:
change self.value to tablecellvalue(table,1,1)
change tablecellvalue(table,1,1) to self.value-1
That way it's not technically making the table reference itself, it's instead referencing a self.value?
I'm also (or it's perhaps the same thing?) facing this memory dumping issue that I'm starting to think is a combination of the table value thing and the change scene leak. However, in the state of gamesalad thread, it was mentioned by @dgackey that @BlackCloakGS is working on it, so I'm sure it'll be fixed within a couple months.
Vote for Nearest Neighbor Scaling option in gamesalad! Let's make our games look truly stunning!
The proper way to change a table value is to use the change table value behavior not using a change attribute. If I'm going to modify a value defined in a table I always route it through a game level or self attribute using a change attribute to set the default value. This is a proper logic branch. When you don't build proper logic branches with backstops, you end up with conflicting code and can have head on crashes of data. This is logic 101. It's like directing traffic you need to have stop signs at intersections or yeilds et...
Guru Video Channel | Lost Oasis Games | FRYING BACON STUDIOS
Yes, if I remember correctly. Though I'll tag @gingagaming here as although we discovered together, he put it into actual use. He's more likely to know if it was fixed and quite what he ended up doing.
@The_Gamesalad_Guru - he's only talking about using change attributes as a workaround to avoid a bug in GameSalad.
Contact me for custom work - Expert GS developer with 15 years of GS experience - Skype: armelline.support
Hmmm you know I'm catching up lol. Is there a thread on this bug as I should get up to speed so I can avoid it. @Armelline
Guru Video Channel | Lost Oasis Games | FRYING BACON STUDIOS
If you wanted to reduce or increase the cell by one you would still need to reference the table and it's cell with tableCellValue (even when using the change table behavior). And while routing it through a self attribute is the work around it's not "proper" or "logic 101" when you have to add more behaviors to do something.
I Misunderstood the issue at hand. I thought he was modifying a table value straight from a change attribute. I didn't understand there was a bug related to adding or subtracting from a table value in an expression.
Guru Video Channel | Lost Oasis Games | FRYING BACON STUDIOS
When I write to a table the info generally comes from a variable. if I'm changing a table value, with a predefined amount, I always specify the default change. It just seems to me tables were not designed in GS to be used that way obviously. I would imagine that is what runtime variables are for. That method seems to assume a table in all respects can be used in a similar fashion as runtime variables. I could see doing that lots and lots in a game causing severe lag which is what I think @Hymloe is experiencing. Which makes sense if you've ever done searching of tables, you can see the scan grind to a halt. This is exactly what I would expect to happen which is why I never do it.
Guru Video Channel | Lost Oasis Games | FRYING BACON STUDIOS
@The_Gamesalad_Guru , this is not the case in @Hymloe 's project.
Memory problems with regards to tables are real but also very small. The most noticeable is the memory increase when using "copy table". However, even this caps out after a while and does not get out of control.
@BlackCloakGS and @stevej can refer back to our PM starting Feb 19th.
Another issue that I brought to their attention is the loading and unloading of sounds.
e.g. As mentioned before, all sound and music referenced in code on a specific scene (eventually played or not) get loaded when the scene loads. Fine so far. It cleans up fairly nicely (but not perfectly) after the scene unloads.
If you launch a "pause scene" during gameplay, it seems to flush the sounds (not the images), then reloads them, on demand, when you un-pause and resume the game. This behaviour is also fine in my opinion.
My take away is that very large projects may run into problems only due to the combined effect of memory fragmentation, the "display text" memory jitter as the bitmaps get build, the small leak when working with tables, etc.
Each in its own harmless, but the interplay can cause short term memory spikes that will push a memory heavy game to crash.
MESSAGING, X-PLATFORM LEADERBOARDS, OFFLINE-TIMER, ANALYTICS and BACK-END CONTROL for your GameSalad projects
www.APPFORMATIVE.com
It's always the accumulation of the little things that get us. Thanks for explaining it so well!
Guru Video Channel | Lost Oasis Games | FRYING BACON STUDIOS
Just out of interest, here is an example of the font-jitter mentioned before.
This is what happens in memory when the "display text" behavior is used. Every time the text value changes, a new bitmap gets created in memory into which the text is assembled, letter by letter, as a picture. Only then can the text be drawn to the scene.
Again, in isolation it looks healthy, flushing memory as requested.
MESSAGING, X-PLATFORM LEADERBOARDS, OFFLINE-TIMER, ANALYTICS and BACK-END CONTROL for your GameSalad projects
www.APPFORMATIVE.com
Thanks for the tag @Armelline
@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.
@gingagaming Would this cause a leak ... TCV+(random 30,200). Also does the leak occur when you do a TCV-1 as well?