Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411430 Posts in 69363 Topics- by 58416 Members - Latest Member: JamesAGreen

April 19, 2024, 11:07:27 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperTechnical (Moderator: ThemsAllTook)Beginning programmer working in Flash
Pages: [1] 2
Print
Author Topic: Beginning programmer working in Flash  (Read 1882 times)
MTaur
Level 0
**


View Profile
« on: November 25, 2015, 04:12:31 PM »

Hey folks,

I'm mostly looking for advice.  I'm probably not going to start over with a new language anytime soon, so no need to go too crazy trying to talk a young fool down from the roof here.  I'm just trying to get through my first big project, and I'm hoping to get some insights and maybe directions to a more Flash-centric community if necessary - they are hard to find lately, apparently.

I've been trying to program my first serious game lately.  I've spent a lot of time reading up and a few hours here and there trying to lay some groundwork, but I've been intentionally taking it slow so I don't cause myself trouble later.  (For example, last week I spent a lot of time customizing a loader class, and I'm thinking hard about my folder structure before I go much further - assets will need to know filepaths).  It's also going pretty slowly because my day job has nothing to do with this, and I can often be lazy in my off time.

The weird dilemma for Flash at the current time is that there is a ton of written resources out there, but the communities seem to have mostly sailed on to other things.  Is it likely that much help at all will be available from actual people?  I've been able to solve my own problems so far, the amount of stress and Googling to get out of binds has been rather large so far.  Typically there will be a 2-5 year old Quora post that recommends five or six forums that have since died or changed to something else.

Another thing that I've heard about is that Actionscript can be exported to HTML5 anyway, but I don't know in what sense or to what extent this is actually true, or something I can take for granted.  AFAIK this is one of the few ways to get smartphones to run Flash content, but then again, I don't really like phone games that much.

One of the most promising advocates of Flash, Lars Doucet, is using Haxe and Flixel to make Defender's Quest 2. There are apparently extra layers of complication that haven't been ironed out yet, and I really don't want to bother with all of that at the moment.  But the idea is that if there is going to be a stable home for exporting AS3 to multiple platforms, then it isn't quite as dangerous to go that route.

I figure the worst case scenario is that I have to learn another language in a year or so.  My limited understanding of the matter is that Javascript has a lot in common, and OOP principles and structures are the real thing to learn the first time around.

If any of you are still doing Flash, do you know of any communities that are actually active?
Logged
Polly
Level 6
*



View Profile
« Reply #1 on: November 25, 2015, 04:39:52 PM »

You don't need a big community, you only need a small group of enthusiasts that are willing to help Wink

Are you only targeting web-browsers? In any case, Flash will probably continue to be supported for years to come, so i wouldn't worry about it ( too much ).
Logged
MTaur
Level 0
**


View Profile
« Reply #2 on: November 25, 2015, 04:45:35 PM »

I'd like to be able to run on desktop too as a standalone.  In theory, I'd like to be able to sell a bigger, fuller version in the future, supposing it ever gets that far.  At the rate I'm going, it's a pretty big if.

Anyway, all I know is that a lot of people don't like AIR for some reasons that haven't been explained to me yet.
Logged
Polly
Level 6
*



View Profile
« Reply #3 on: November 25, 2015, 05:21:42 PM »

Anyway, all I know is that a lot of people don't like AIR for some reasons that haven't been explained to me yet.

Machinarium was build using AIR and it's got 2175 positive against 88 negative reviews on Steam ... so again, i wouldn't worry about it ( too much ) Wink
Logged
InfiniteStateMachine
Level 10
*****



View Profile
« Reply #4 on: November 25, 2015, 05:24:26 PM »

Are you planning to use adobe flash for creating assets or are you just planning to use actionscript 3 to make the game. If it's the latter then you can use haxe/openFL (possibly even the former but I'm not sure)
Logged

MTaur
Level 0
**


View Profile
« Reply #5 on: November 25, 2015, 05:35:56 PM »

I'm working with png files so far, but I'm considering saving MovieClips in Flash Pro and using them as assets when I need animations later on.  I kind of like the convenience of just swapping out files in Windows without extra steps, though, so I don't know yet.
Logged
MTaur
Level 0
**


View Profile
« Reply #6 on: November 25, 2015, 07:00:34 PM »

Well, I decided to blog about what I did a few days ago instead of programming anything new.  If I'm going to go public, I might as well share bits occasionally.

http://mtaur.blogspot.com/2015/11/sharpening-axe-mtaurs-asset-loading.html
Logged
UmutD
Level 1
*



View Profile WWW
« Reply #7 on: November 26, 2015, 06:41:14 AM »

Well, I'm in a similar position and still developing with flash. This is purely based on convenience in my case. I have made many games with it before, and I have a fair amount of experience where it can fail, what are the bottlenecks of the underlying virtual machine etc.

I don't know about your experience and what kind of game you're planning to do (and also what kind of workflow you intend to use -as in using a framework like starling or something like flixel or pure as3), so I don't know if keeping it would suit your purpose best. Flash's limitations can be very crippling for a big game if you don't know what you're doing and don't exactly understand how the underlying engine works. Access to a lively community can be a smaller problem compared to this, I think.

Starling forums were still active last I checked (though I'm not using it so have no idea how it is going)

Around 2010-2013, one of the most active flash community was at flashgamelicense. Forums still seems to be active, mostly because they broaden their business to mobile / advertising in addition to web licensing. Some old flash devs are making mobile games still using flash there. I think you have a good shot of getting an answer there if you encounter any technical difficulty.
« Last Edit: November 27, 2015, 10:17:32 AM by UmutD » Logged

MTaur
Level 0
**


View Profile
« Reply #8 on: November 26, 2015, 07:51:53 AM »

Thanks for the feedback so far.

I'm actually working on a turn-based tactical game in the style of Final Fantasy Tactics.  I don't know if this is an odd choice given the environment, especially since it's not very "actiony", but it looks like a robust language that can do anything - not that it's easy or that you can't shoot yourself in the foot.

I've also looked around some more.  Has anyone worked with Open FL and have a clearer idea of what it is and what it can do?  It's sometimes hard to tell at first glance - is it a proper extension of AS3 that compiles into several other things?  Or is it "sort of AS3" but that 10% difference is going to cause a lot of sleepless nights for a while and good luck finding books?  It's one of the ingredients of Defender's Quest 2 that I forgot to mention.

I saw the FGL forum, and the only language-specific forum lately was HTML5.  That's sort of discouraging, but I could look a little closer and consider giving it a try maybe.
Logged
InfiniteStateMachine
Level 10
*****



View Profile
« Reply #9 on: November 26, 2015, 09:10:20 AM »

OpenFL is a re-implementation of the Flash api in the Haxe language. It's awesome.

Haxe is a different language than actionscript3 though. It's essentially like actionscript 3 but very much improved. I personally love Haxe.
Logged

UmutD
Level 1
*



View Profile WWW
« Reply #10 on: November 26, 2015, 02:38:05 PM »


I'm actually working on a turn-based tactical game in the style of Final Fantasy Tactics.  I don't know if this is an odd choice given the environment, especially since it's not very "actiony", but it looks like a robust language that can do anything - not that it's easy or that you can't shoot yourself in the foot.

If you're going pure as3 route, less actiony is always better. Basically, if you don't use a framework that takes advantage of the latecomer hardware acceleration API in flash vm, everything is drawn in cpu. So, complete screen renderings in high resolution or too much stuff moving on screen (that makes the game screen refresh every frame), using vector graphics all the time can get you low framerates, easily. That is perhaps the most important bottleneck for big games and why people can get frustrated with low framerates with games like Binding of Isaac (original, not the rebirth one) and Machinarium. Even a low-res game like VVVVVV (originally flash) has a new version written in C++ (though I was guessing the original one should work well enough on modern machines, may be I'm missing something).

If you use hardware acceleration route (starling etc.), these shouldn't be a problem but then you can't use some of the advantages of flash, obviously (movieclips with timelines, vector drawings etc.), but they might have found replacements for these later, I don't know.

Language in the other hand, it's robust enough, I think. At least it performs well enough compared to problem above. Also, I heard there are problems with controller support in AIR, but don't know if it's fixed already.


Quote
I saw the FGL forum, and the only language-specific forum lately was HTML5.  That's sort of discouraging, but I could look a little closer and consider giving it a try maybe.

Since site was built only for flash development at the beginning, it doesn't have a separate forum like unity/html5 (those are added later). Basically this is the adress for flash coding questions.




OpenFL is a re-implementation of the Flash api in the Haxe language. It's awesome.

Haxe is a different language than actionscript3 though. It's essentially like actionscript 3 but very much improved. I personally love Haxe.

I remember checking openFL / NME before, but there was a lot of missing/faulty documentation and some said features were not working properly. Can anyone tell if it is better now? I'm not someone who is a programmer first, don't feel good about working on little tech problems by myself all the time, that was the great deal breaker for me back then.
Logged

MTaur
Level 0
**


View Profile
« Reply #11 on: November 26, 2015, 02:50:06 PM »

I'm not totally up to date on how vector graphics work, but I remember mouse transparency being a nightmare before I converted an asset to vector once.  I'm aware that there's a button class, or alternately, you can just add an invisible child who catches clicks for its parent.  Is that one way of getting around performance issues - by using png or bitmap assets instead?  Or is the real issue that rotation properties/methods are a costly beast, or something like that?

I'm glad that I'm not digging a hole just by picking the language at this point.  I even have extremely vague ideas about how AI should work.  It shouldn't be too hard to score a finite number of possible decisions by some kind of expected outcome metric and pick the maximum, or even randomly pick among a few top scores for unpredictability.  (Of course, things that shouldn't be hard usually are...)
Logged
InfiniteStateMachine
Level 10
*****



View Profile
« Reply #12 on: November 26, 2015, 04:49:02 PM »


I'm actually working on a turn-based tactical game in the style of Final Fantasy Tactics.  I don't know if this is an odd choice given the environment, especially since it's not very "actiony", but it looks like a robust language that can do anything - not that it's easy or that you can't shoot yourself in the foot.

If you're going pure as3 route, less actiony is always better. Basically, if you don't use a framework that takes advantage of the latecomer hardware acceleration API in flash vm, everything is drawn in cpu. So, complete screen renderings in high resolution or too much stuff moving on screen (that makes the game screen refresh every frame), using vector graphics all the time can get you low framerates, easily. That is perhaps the most important bottleneck for big games and why people can get frustrated with low framerates with games like Binding of Isaac (original, not the rebirth one) and Machinarium. Even a low-res game like VVVVVV (originally flash) has a new version written in C++ (though I was guessing the original one should work well enough on modern machines, may be I'm missing something).

If you use hardware acceleration route (starling etc.), these shouldn't be a problem but then you can't use some of the advantages of flash, obviously (movieclips with timelines, vector drawings etc.), but they might have found replacements for these later, I don't know.

Language in the other hand, it's robust enough, I think. At least it performs well enough compared to problem above. Also, I heard there are problems with controller support in AIR, but don't know if it's fixed already.


Quote
I saw the FGL forum, and the only language-specific forum lately was HTML5.  That's sort of discouraging, but I could look a little closer and consider giving it a try maybe.

Since site was built only for flash development at the beginning, it doesn't have a separate forum like unity/html5 (those are added later). Basically this is the adress for flash coding questions.




OpenFL is a re-implementation of the Flash api in the Haxe language. It's awesome.

Haxe is a different language than actionscript3 though. It's essentially like actionscript 3 but very much improved. I personally love Haxe.

I remember checking openFL / NME before, but there was a lot of missing/faulty documentation and some said features were not working properly. Can anyone tell if it is better now? I'm not someone who is a programmer first, don't feel good about working on little tech problems by myself all the time, that was the great deal breaker for me back then.

How long ago did you check it out? Haxe/OpenFL today is lightyears ahead of where it was 2-3 years ago. Back then it was more trouble than it's worth.
Logged

Photon
Level 4
****


View Profile
« Reply #13 on: November 26, 2015, 08:19:33 PM »

OpenFL is a re-implementation of the Flash api in the Haxe language. It's awesome.

Haxe is a different language than actionscript3 though. It's essentially like actionscript 3 but very much improved. I personally love Haxe.

I remember checking openFL / NME before, but there was a lot of missing/faulty documentation and some said features were not working properly. Can anyone tell if it is better now? I'm not someone who is a programmer first, don't feel good about working on little tech problems by myself all the time, that was the great deal breaker for me back then.

How long ago did you check it out? Haxe/OpenFL today is lightyears ahead of where it was 2-3 years ago. Back then it was more trouble than it's worth.
The reason I work with Haxe/OpenFL in the FlashDevelop IDE is because its so painless to build an executable. And by painless, I'm talking more or less about the "build" button in FlashDevelop. Even as a programmer, I personally don't care for fussing with command line shenanigans and dependency rabbit holes just to get something up and running.

(Disclaimer: you may end up using the command line temporarily to install OpenFL and what have you, but if you follow the directions supplied this really isn't too bad either.)
Logged
InfiniteStateMachine
Level 10
*****



View Profile
« Reply #14 on: November 27, 2015, 08:08:13 AM »

OpenFL is a re-implementation of the Flash api in the Haxe language. It's awesome.

Haxe is a different language than actionscript3 though. It's essentially like actionscript 3 but very much improved. I personally love Haxe.

I remember checking openFL / NME before, but there was a lot of missing/faulty documentation and some said features were not working properly. Can anyone tell if it is better now? I'm not someone who is a programmer first, don't feel good about working on little tech problems by myself all the time, that was the great deal breaker for me back then.

How long ago did you check it out? Haxe/OpenFL today is lightyears ahead of where it was 2-3 years ago. Back then it was more trouble than it's worth.
The reason I work with Haxe/OpenFL in the FlashDevelop IDE is because its so painless to build an executable. And by painless, I'm talking more or less about the "build" button in FlashDevelop. Even as a programmer, I personally don't care for fussing with command line shenanigans and dependency rabbit holes just to get something up and running.

(Disclaimer: you may end up using the command line temporarily to install OpenFL and what have you, but if you follow the directions supplied this really isn't too bad either.)

Is that a reply to my question?

You could use Flashdevelop 3 years ago with Haxe/OpenFL as well. It's just these days the build system doesn't have as many issues with the more esoteric platforms, the debugger works better and it now has haxelib which is basically like apt-get for Haxe.
Logged

Photon
Level 4
****


View Profile
« Reply #15 on: November 27, 2015, 09:54:45 AM »

OpenFL is a re-implementation of the Flash api in the Haxe language. It's awesome.

Haxe is a different language than actionscript3 though. It's essentially like actionscript 3 but very much improved. I personally love Haxe.

I remember checking openFL / NME before, but there was a lot of missing/faulty documentation and some said features were not working properly. Can anyone tell if it is better now? I'm not someone who is a programmer first, don't feel good about working on little tech problems by myself all the time, that was the great deal breaker for me back then.

How long ago did you check it out? Haxe/OpenFL today is lightyears ahead of where it was 2-3 years ago. Back then it was more trouble than it's worth.
The reason I work with Haxe/OpenFL in the FlashDevelop IDE is because its so painless to build an executable. And by painless, I'm talking more or less about the "build" button in FlashDevelop. Even as a programmer, I personally don't care for fussing with command line shenanigans and dependency rabbit holes just to get something up and running.

(Disclaimer: you may end up using the command line temporarily to install OpenFL and what have you, but if you follow the directions supplied this really isn't too bad either.)

Is that a reply to my question?

You could use Flashdevelop 3 years ago with Haxe/OpenFL as well. It's just these days the build system doesn't have as many issues with the more esoteric platforms, the debugger works better and it now has haxelib which is basically like apt-get for Haxe.
No, I was agreeing with you that Haxe/OpenFL is relatively painless to get going with. Smiley

Unless of course another program on your computer is holding the Haxe repository hostage and you don't realize it.
Logged
UmutD
Level 1
*



View Profile WWW
« Reply #16 on: November 27, 2015, 10:05:40 AM »

How long ago did you check it out? Haxe/OpenFL today is lightyears ahead of where it was 2-3 years ago. Back then it was more trouble than it's worth.

I checked my unused NME folders' creation dates, they're going far back to 2011, wow. Perhaps I should check openFL again in my spare time.



I'm not totally up to date on how vector graphics work, but I remember mouse transparency being a nightmare before I converted an asset to vector once.  I'm aware that there's a button class, or alternately, you can just add an invisible child who catches clicks for its parent.  Is that one way of getting around performance issues - by using png or bitmap assets instead?  Or is the real issue that rotation properties/methods are a costly beast, or something like that?

Sorry I'm not sure I understood your first paragraph. There are manys ways to do buttons as you say, but if they don't cover a very big area I don't think any of them would affect performance in a visible way in modern machines. Also if your game will be like final fantasy tactics, my guess is it can work properly without much effort because it shouldn't be much graphically intensive.

As I said before, the most common performance problems I see is related to flash's default screen rendering being made on CPU, instead of your fancy video graphics card. Thus, users can get angry when they can play Skyrim in full settings but can't play your seemingly simple flash game without hickups, because CPU is not primarily made for proccessing graphics. In that mode, no matter what you use, the ceiling room for adding new things is low, this is always a concern (at least for me since visuals are important for me). And some features reach that ceiling faster obviously. There are a lot of tips/articles on getting performance from the default flash rendering that piled up in years, it would probably be unnecessary to try writing every single thing here.

Also, I found that now you can target GPU (graphics card) with a single click, of course complying with some limitations. Details are here: http://help.adobe.com/en_US/as3/mobile/WS901d38e593cd1bac-3d719af412b2b394529-8000.html
Logged

Photon
Level 4
****


View Profile
« Reply #17 on: November 27, 2015, 10:41:06 AM »

If you are concerned about graphical performance constraints, then I would definitely give Haxe and specifically OpenFL a second look. OpenFL was built essentially as a Flash replacement and mirrors its structure to a great degree from what I've been told (didn't do ActionScript much myself.) Plus you can compile straight to target instead of having to wrap the Flash file.
Logged
InfiniteStateMachine
Level 10
*****



View Profile
« Reply #18 on: November 27, 2015, 11:27:47 AM »

OpenFL is a re-implementation of the Flash api in the Haxe language. It's awesome.

Haxe is a different language than actionscript3 though. It's essentially like actionscript 3 but very much improved. I personally love Haxe.

I remember checking openFL / NME before, but there was a lot of missing/faulty documentation and some said features were not working properly. Can anyone tell if it is better now? I'm not someone who is a programmer first, don't feel good about working on little tech problems by myself all the time, that was the great deal breaker for me back then.

How long ago did you check it out? Haxe/OpenFL today is lightyears ahead of where it was 2-3 years ago. Back then it was more trouble than it's worth.
The reason I work with Haxe/OpenFL in the FlashDevelop IDE is because its so painless to build an executable. And by painless, I'm talking more or less about the "build" button in FlashDevelop. Even as a programmer, I personally don't care for fussing with command line shenanigans and dependency rabbit holes just to get something up and running.

(Disclaimer: you may end up using the command line temporarily to install OpenFL and what have you, but if you follow the directions supplied this really isn't too bad either.)

Is that a reply to my question?

You could use Flashdevelop 3 years ago with Haxe/OpenFL as well. It's just these days the build system doesn't have as many issues with the more esoteric platforms, the debugger works better and it now has haxelib which is basically like apt-get for Haxe.
No, I was agreeing with you that Haxe/OpenFL is relatively painless to get going with. Smiley

Unless of course another program on your computer is holding the Haxe repository hostage and you don't realize it.

Oh sorry my bad! I read the quote boxes wrong. I misunderstood the context :X
Logged

InfiniteStateMachine
Level 10
*****



View Profile
« Reply #19 on: November 27, 2015, 11:42:25 AM »

How long ago did you check it out? Haxe/OpenFL today is lightyears ahead of where it was 2-3 years ago. Back then it was more trouble than it's worth.

I checked my unused NME folders' creation dates, they're going far back to 2011, wow. Perhaps I should check openFL again in my spare time.




IIRC NME is what became OpenFL a couple years ago. NME was really rough to work with. I'm guessing you'll be pleasantly surprised.

Haxe was a language I started on with NME as well but gave up for a couple years because it had too many issues.
Logged

Pages: [1] 2
Print
Jump to:  

Theme orange-lt created by panic