Parse, Hats, and ScaleForm

wait what

I’ve been working on some crazy things since the last update, and I have a cool surprise coming up, but I wanted to make another summary post about all the things I’ve been adding to the engine in the meantime.


From Googling around, I seem to be the only person who’s actually gotten Parse working in Flash ever, which is just nuts because it’s exactly what every Flash developer needs: an easy way to save player data online. If it would be worth it for anyone for me to make a post solely on how to get that working, shoot me an email or leave a comment.

To test this out, I have a handful of hats in the build online and a race level (you must be registered and logged in to this site for it to work, I’ve added a Facebook login to make this even easier. And no I’ll never spam your Facebook wall, yuck). There’s also scoreboards for the fastest times there and the highest juggling combos. Which leads me to the next thing…


Yep! Future FPA online games will have collectible hats (and maybe other accessories?), and with Parse, all unlockables will carry over to all future games! Load up the alpha, click anywhere on the screen, and select a hat to check out the networked saving and loading.


I’m still baffled by how incredible ScaleForm is, and how few people seem to know about it. Plays Flash games on mobile, hardware accelerated, ridiculously fast, with full touch support, it’s nuts. ‘Flash doesn’t play on mobile so it’s clearly teh doomed!’ is an even sillier thing to say now.

This is the main reason this update is so late, I’ve been getting the current build running on my phone (no Adobe Air, no nasty spritesheets, no piles of external level bitmaps), and get the Flash game running at 60fps with some trickery.

This is actually a pretty huge thing for the online game also, it’ll run at 60 fps if your computer is fast enough, 15 fps if it’s too slow, and anywhere in between. Even if the game stutters, the code will take that into account and updates properly, so it’ll control more smoothly than before.

Changing the movement system introduced a bunch of new bugs (of course, ugh), but I think most of them are taken care of now. Let me know if you find anything, though!

We’ll see if this means I can actually launch future FPA games on mobile myself (the core FPA games are really demanding and uses Flash in ways that it usually isn’t). In the very least, I’ll be able to make smaller mobile games myself in the future.

That’s it for now! Stay tuned, though, I’m working on a cool surprise for the Level 1 from World 1 that’s in the engine right now, and I’ll have some more info on future plans!

– Brad


  1. XenoTerra

    so if you are the only one to get parse working, does that mean the interwebz will crown you king of code? i cant wait til fpa goes fpo.

  2. wingdemon

    I short tutorial on Parse would be cool.

    Also, if Fairly’s up for it, short-reviews (or scores) for the PS4 games y’all have would be pretty sweet too- i currently only have Killzone, the PS+ games, Lego Marvel and Trine 2, and i’m looking to buy a couple more; Fairly’s opinions have always been pretty spot on in the past, and it’d help me alot.

    by the way thoughts on Super Mario World 3D?

    I thought it was great, messed with the formula enough to give it a modern edge, but left in what makes Mario great- while adding a bunch of cool stuff that just makes the shakes things up a bit. Nintendo’s done everything right you could possibly do with a Mario game.

    • Brad

      Heh, she hasn’t had a chance to play many games lately, we have two kids now. She’s been playing some Pokemon when she gets a chance, but I’ve been trying to get her to play through the HD version of Shadow of the Colossus, but she’s been either busy watching the kids or doing school stuff.

      My opinion real quick, though:

      Killzone goes between fun, utterly, abysmally awful, pretty, boring, interesting, challenging, and stupid.

      Warframe is super awesome in single player, kinda boring multiplayer.

      Resogun’s great, Contrast is interesting but I haven’t finished it, Don’t Starve was kinda a neat idea…

      Bottom line is it’s a great BluRay / Netflix box 😉 Infamous should be great, though. Been using the PS4 controllers for playing FPA more than actual PS4 games, honestly.

      3D World is absolutely fantastic, smiled the entire time playing, even when dying. My only criticism is that it feels more like a greatest hits album, lacking a true identity of its own. Still blew the heck out of the PS4’s entire launch, though.

      And Tropical Freeze is just sublime so far, and only getting better.

      Smash Bros, though… I don’t want new Smash, I NEED new Smash!

  3. Sedition

    Last of all, I’m guessing you don’t use cacheAsBitmap for the levels – as it wouldn’t handle zooming. So are you dynamically creating bitmaps from the vector art?

    The reason I ask is that when you go to fullscreen, the level is kind of blurry. Is it feasible to recreate the bitmaps at the new size?

    I guess it could be anti-aliasing problems, too; if the level.x/y values are not integer values, Flash blurs them a bit.

    anyway, keep up the good work – the new engine seems heaps more responsive!

    • Brad

      Right, definitely not (why is there not a lockCache property??).

      Right, I’m just making slices in AS3 (was tiles in 2, which was way more complex).

      When Flash goes fullscreen, though, you select, hm, rendering size? I can’t do the bitmaps any larger than that because it would crash Flash and take up a ton of RAM. I think that Flash 12 is better now, though, I’d have to try some things… lemme mess with that fullscreen option real quick…

      Hmm, looks like having 1080p textures runs at around 200% CPU, takes up 3x the memory, and makes the levels way darker… Really weird… Should be super crisp on an iPad, though, since I’m not even caching there. Hmm I should really try out the desktop version…

      Well it runs really well for the most part, decent CPU usage, it just has stuttering problems (garbage collection, rasterizing the vectors as needed?). Would probably need to make the levels load piece by piece for it to work well (which I’ll probably have to do for mobile anyway).

      As for the level bitmaps, Flash also turns smoothing of bitmaps off, I think since it takes up much more CPU. Or is that only in loaded bitmaps… one sec…

      Yeah, looks like smoothing is set to false, let’s see what happens when I set it to true…

      Holy cow, it looks like a new game, haha.

      Definitely ups the CPU usage a bit, but W1 L1 still runs smoothly. World 4 shoots up to around 200% and gets slightly choppier, maybe if I only smooth the foreground? I’ll have to play with it.

      Think I’m going to leave it on for the moment, though 😀

  4. Yasin Muhammad

    :red: :red: :red: :red: :red: :red: :red: :red: :red: :red: :red: :red: :red: :red: :red: :red: :red: :red: :red: :red: :red: :red: :red: :red: :red: :red: :red: :red: :red: :red: :red: :red: :red: :red: :red: :red: :red: :red: :red: :red: :red:

  5. heartofthestorm

    So how does scaleform compare to starling/dragonbones? I only know a rudimentary amount of each and am not a computer engineer.
    Do all animations have to be hardcoded or are the animations at a different framerate than the mechanics?
    And what advantages does parse give over normal flash saving?
    Any chance of bringing fpa w4 to steam with fullscreen and controller support?

Leave a Reply