Page 1 of 1

Adobe scout

PostPosted: Mon Sep 16, 2013 4:53 am
by Korjua
So adobe released this tool, now im just a beginner in this flash developping world but it seems like an awesome app to me and i wanted to put it to annyone's attention while its still in beta state http://gaming.adobe.com/technologies/scout/

Re: Adobe scout

PostPosted: Thu Sep 19, 2013 12:39 am
by AnotherArrow
Yep, this is a must have tool for any flash developer. Its free too! Its been very very useful in helping me find out which functions have been killing my fps.

Re: Adobe scout

PostPosted: Thu Sep 19, 2013 6:39 am
by BlueLight
Strange, i'm sure adobe said they wouldn't support flash anymore. Well oh well.

Re: Adobe scout

PostPosted: Fri Sep 20, 2013 5:27 am
by Duplicity
I tried it out.
Looked at instructions and they said just run the swf and scout starts a new session.
You have to read through some walls of text to find out That you need to enable some function in your fla when using flash professional by using a python script. Or to use Flash Builder 4.7, which has built in support.

If you have none of these or want to do it the easy way just do this.
Basically you have to run the swf in internet explorer, or whatever browser you use.

Now to understand what it all means...
Am I right in saying garbage is assets that have been removed? Because I ran my vertical shooter game and it had garbage. And I know that the 'enemies' are removed once hit with the 'bullet' which is also removed at impact. Does this mean I need to remove them in a better way then just using removeChild();?

Re: Adobe scout

PostPosted: Fri Sep 20, 2013 1:11 pm
by IrrelevantComment
My god, this is awesome.

Re: Adobe scout

PostPosted: Sat Sep 21, 2013 9:33 pm
by AnotherArrow
BlueLight Wrote:Strange, i'm sure adobe said they wouldn't support flash anymore. Well oh well.

Adobe will no longer support Flash Player for mobile devices (stated back in 2011) and is switching to use AIR / HTML5 (?)

Flash Catalyst was integrated into Flash Builder as far as I know... (not 100% sure).

Adobe will no longer support Action Script 2 (AS2) in newer version of Flash (starting with Flash CC i believe).

I very much doubt they will be abandoning flash, just changing it to meets today's demands. I believe they're also beginning to move to make flash much more suited for games.

Duplicity Wrote:Am I right in saying garbage is assets that have been removed? Because I ran my vertical shooter game and it had garbage. And I know that the 'enemies' are removed once hit with the 'bullet' which is also removed at impact. Does this mean I need to remove them in a better way then just using removeChild();?

Yes... garbage is assets that have been removed. If removing them is drastically impacting performance, then yes, you'll need a better method (i.e. recycling used objects by storing them off-screen with "visible = false", then repositioning and activating them again when needed.

Re: Adobe scout

PostPosted: Sat Sep 28, 2013 11:10 am
by GoRepeat
AnotherArrow Wrote:Yes... garbage is assets that have been removed. If removing them is drastically impacting performance, then yes, you'll need a better method (i.e. recycling used objects by storing them off-screen with "visible = false", then repositioning and activating them again when needed.



Bwaaaaa? That makes no sense. How does it save resources to store something offscreen (where it is still being tracked even if not rendered) instead of removing it completely from the stage? Adobe logic :(

Re: Adobe scout

PostPosted: Sun Sep 29, 2013 1:32 am
by BlueLight
Gorepete Wrote:
AnotherArrow Wrote:Yes... garbage is assets that have been removed. If removing them is drastically impacting performance, then yes, you'll need a better method (i.e. recycling used objects by storing them off-screen with "visible = false", then repositioning and activating them again when needed.



Bwaaaaa? That makes no sense. How does it save resources to store something offscreen (where it is still being tracked even if not rendered) instead of removing it completely from the stage? Adobe logic :(

Likely they are using resources to offically remove it.
What likely needs to be done is to have everything slowly removed so that you're remove a resource every 5 seconds or something. Of course, i being someone without flash, i can't test this poorly formed idea that came from my Java elitist brain.

Re: Adobe scout

PostPosted: Mon Sep 30, 2013 2:40 am
by AnotherArrow
Gorepete Wrote:Bwaaaaa? That makes no sense. How does it save resources to store something offscreen (where it is still being tracked even if not rendered) instead of removing it completely from the stage? Adobe logic
We're talking about garbage collection. When you remove resources that are no longer being used, and in most cases, freeing up memory, time is spent dealing with that can could cause lag.

Even Planetside 2 is/was having problems with garbage collection, as they mention in this video.

Also, anything that is stored off screen should have visible = false, to help save resources by turning off some background usage. Setting alpha = 0 is not the same as setting visible = false. FYI.

Also came across this Visible vs Alpha vs RemoveChild

Re: Adobe scout

PostPosted: Mon Sep 30, 2013 11:05 am
by Duplicity
This is a noob question.
But if I switched say an enemy to visible = false when they were hit with the bullet. My ship would still be able to hit them right? Or is this the case of invisible = no interaction with other objects?
I am trying to understand the article. But it looks like visable = false still counts the hit boxes of the enemies. Hmm I might have to try this myself.

I am reading through Essential Actionscript 3.0 by Colin Moock. I am only up to chapter 3, so forgive me.
heh just saw who wrote the article AnotherArrow posted.

Re: Adobe scout

PostPosted: Mon Sep 30, 2013 12:53 pm
by BlueLight
Duplicity Wrote:This is a noob question.
But if I switched say an enemy to visible = false when they were hit with the bullet. My ship would still be able to hit them right? Or is this the case of invisible = no interaction with other objects?
I am trying to understand the article. But it looks like visable = false still counts the hit boxes of the enemies. Hmm I might have to try this myself.

I am reading through Essential Actionscript 3.0 by Colin Moock. I am only up to chapter 3, so forgive me.
heh just saw who wrote the article AnotherArrow posted.


You could have a basic program where you test the box being visible and visible = false;
You don't even need anything complex. Just have 3 objects. 1 that goes invisible when it gets touched by the other two and the other 2 with one at a time hit the first object and print out a message if they touch it.

Re: Adobe scout

PostPosted: Tue Oct 01, 2013 10:00 pm
by GoRepeat
AnotherArrow Wrote:Also came across this Visible vs Alpha vs RemoveChild


Great read! Thank you for that. I followed on it with a couple other articles and it still seems to me that removeChild() is the best option... according to some of the things I read, you just have to make sure you follow it with a =null statement to ensure that it is garbage collected and not still sitting around all ghost like. This applies twice as much for embedded objects as even if you remove a parent, if some other event is calling the child of the parent it can be access via .parent from the child o.0; seems like best practice is to not reference any children of parents you plan to remove and nullify clips after removal:
Code: Select All Code
removeChild(myClip);
myClip = null;

Of course this is from a "gaming" perspective with the possibility of multiple unique objects; the article you referenced makes the very good point that .visible executes much faster and is probably more ideal for recycling - you just have to make sure the object's timeline is stopped so it isn't gobbling resources in the background.

But if I switched say an enemy to visible = false when they were hit with the bullet. My ship would still be able to hit them right? Or is this the case of invisible = no interaction with other objects?
I am trying to understand the article. But it looks like visable = false still counts the hit boxes of the enemies. Hmm I might have to try this myself.


It would still trigger a successful hitTest. In order to get around it, you would need to add a mc.visible condition as well (ie - if(myShip.hitTestObject(enemyShip) && enemyShip.visible){})