
port a flash game
Port a Flash game to the web that still exists
Adobe ended Flash Player support on December 31, 2020. Porting a Flash game means rebuilding a title you own so it runs in a modern browser.
Porting a Flash game means rebuilding a game you own for a browser that no longer runs Flash. Adobe ended Flash Player support on December 31, 2020, and blocked content from running in January 2021. Every SWF that relied on the plugin stopped working on that date.
You need the rights to the game. Port a Flash game you made, or one you hold a license to remake. Decompiling a SWF that belongs to someone else, extracting its assets, and republishing it is not covered here.
Rebuilt properly, a Flash game is well suited to modern targets. It was built for mouse input, vector art, and short sessions. Summer Engine rebuilds it as a project you own and exports to web, desktop, and mobile, with no royalties.
What survives from an old Flash project
If you still have the FLA files, your vector art is the most valuable thing you own. Vector shapes re-export at any resolution, which means a game authored for a 550x400 stage can be rebuilt sharp at 4K. Timeline animations need to be recreated as animation tracks or sprite sheets, since no engine reads the Flash timeline. ActionScript is reference material: the logic transfers, the syntax does not.
ActionScript to a modern language
ActionScript 3 and GDScript are both dynamically friendly, class based scripting languages, so the translation is mechanical more often than not. Event listeners become signals. enterFrame handlers become a process callback. MovieClip becomes a node with a sprite and an animation player. ActionScript 2 code is looser and usually needs restructuring rather than translation. You can also write the rebuild in C# on desktop, though C# is not available on web exports.
Frame based timing has to become delta time
Flash ran on a stage frame rate, often 24 or 30 frames per second, and a lot of game logic counted frames instead of seconds. On modern displays running at 60, 120, or 144 Hz, frame counting breaks the game speed. Convert every frame counter to a time based value during the rebuild. This is the single most common source of bugs in a Flash port, and it is far cheaper to fix while rebuilding than after.
Mouse first design, now on touch
Flash games were built for a mouse cursor with hover states, click and drag, and precise pointing. Touchscreens have no hover, and a fingertip is much larger than a cursor. Hover based tooltips need a tap alternative, small buttons need larger hit areas, and drag interactions need to account for the finger covering what is being dragged. Keyboard controlled Flash games need an on-screen control layout designed for the game, not a generic overlay.
Where the rebuilt game goes
Web export puts the game back on the open web, embeddable on your own site or a portal. From the same project you also get desktop builds for Steam and itch.io and mobile builds for iOS and Android. Many Flash era games are a natural fit for phones because the sessions are short. Note the language limit: C++ and GDScript run everywhere, and C# runs everywhere except web.
Frequently asked questions
Why do Flash games not work anymore?
Adobe ended Flash Player support on December 31, 2020, and blocked Flash content from running on January 12, 2021. Browsers removed the plugin entirely. Any game distributed as an SWF that depended on the plugin no longer runs for ordinary players.
Can an SWF file be converted into a modern game?
Not into an editable project you can maintain. Decompilers can extract some assets and bytecode, but the result is not a working project in another engine. A Flash port is a rebuild, ideally from your original FLA files and ActionScript source.
Can I port a Flash game if I lost the FLA files?
Yes, if you own the rights. You rebuild from whatever you still have: exported art, screenshots, gameplay recordings, and design notes. Vector sources make the rebuild much cheaper, but they are not required.
Does ActionScript code transfer?
The logic transfers, the syntax does not. ActionScript 3 maps fairly directly onto GDScript: listeners become signals, enterFrame becomes a process callback, and MovieClip becomes a node with an animation player. ActionScript 2 usually needs restructuring.
What is the most common bug in a Flash port?
Frame based timing. Flash ran at a fixed stage frame rate, often 24 or 30, and game logic frequently counted frames. On a 60 or 144 Hz display that logic runs at the wrong speed. Convert every frame counter to delta time during the rebuild.
Can the rebuilt game run in a browser again?
Yes. Web is a supported export target, alongside desktop, mobile, and console. Keep in mind that C++ and GDScript run on every target, while C# is supported everywhere except web.
Keep exploring
More ways to build with Summer Engine
AI game maker
The hub for making complete 2D and 3D games by describing them.
OpenMake a game from a picture and the idea it holds
Bring a picture and Summer Engine builds a game inspired by its look and concept: scenes, gameplay, and matching art in one project you own.
OpenPort a 3DS game by rebuilding it, not converting it
Porting a 3DS game means rebuilding a game you own as a new project that runs on platforms that still sell games. There is no file converter for this.
OpenPort a Nintendo DS game to platforms that still sell games
A Nintendo DS port is a rebuild of a game you own. The stylus design is the asset worth keeping, because touch is native on every phone.
OpenPort a Wii game and decide what happens to motion control
Porting a Wii game means rebuilding a title you own for hardware without a Wii Remote. The pointer and the motion gestures need a new input design.
OpenPort a Wii U game off the smallest console audience
Porting a Wii U game means rebuilding a title you own for platforms with a single screen. The GamePad layer is the part that has to be redesigned.
OpenPort a PSP game and give it a second analog stick
Porting a PSP game means rebuilding a title you own. The camera design is the biggest change, because the PSP had one analog nub and no right stick.
OpenPort a PS Vita game before the platform disappears entirely
Porting a PS Vita game means rebuilding a title you own. The rear touch pad is the one input with no modern equivalent.
OpenPort a GameCube game from 480p to a modern project
Porting a GameCube game means rebuilding a title you own. The analog triggers and fixed camera design are the parts that need deliberate decisions.
OpenPlatformer templates
Start from a ready-made project and describe your changes.
BrowseBrowse all game templates
Start from a ready-made project and describe your changes.
Browse
Start building your game now
Download Summer Engine, describe what you want, and watch it come together. Free to start, no coding required.