So You Want to Play or Build Vex Games
Vex Game is a Flash-era platformer franchise by FlashGameStudio. You control a stick figure through increasingly brutal obstacle courses filled with spinning saw blades, laser beams, spike pits, and moving platforms. The series ran from 2011 onward across Vex 1 through Vex 8, and it lives on as HTML5 ports now that Flash is dead. I used to maintain a game site back when Flash was still being blocked by browsers left and right. We had Vex levels embedded on the homepage. I learned a few things the hard way about these games, both as a player and someone who tried to rebuild them.
Vex Game
If you just want to play, you can find the official HTML5 versions at flashgamestudio.com. Every level from Vex 1 through Vex 8 is available there, and they run in any modern browser without plugins. Third-party aggregators like CrazyGames, Poki, and Armor Games also host them. The official sources are the only ones that actually work reliably — the clones sometimes have broken hitboxes or missing levels. From a technical standpoint, the original games were built in Flash / ActionScript 3. Here is what actually happened when I looked under the hood of a couple of Vex levels to port them. The core mechanics are straightforward: a character controller with variable jump height based on how long you hold the jump key, simple AABB collision against rectangular platforms and spikes, and a set of animated trigger objects for saw blades and lasers. The hard part is making the controls feel tight. Variable jump height is deceptively tricky to get right because you have to track input timing separately from physics time. If you tie jump velocity directly to frame delta without capping it, the character either floats too long in low-FPS conditions or stutters under high load. I solved this by clamping the upward velocity to a fixed maximum at the moment of jump initiation, then letting gravity take over from there. The input buffer for jump cancellation was handled with a short 80-millisecond window after landing, which matches the original behavior closely enough that nobody complained. One edge case that cost me a day: the saw blade rotation and the collision detection were running on separate timers. At 60 frames per second the collision checks were fine, but when the game dropped to 30fps or lower, the saw blades would visually phase through the player and the collision would fire a tick too late. The workaround was to bind all physics and collision updates to a fixed timestep of 1/60s and let the render loop interpolate between states. This is standard game dev practice, but in a rushed port you tend to skip it until something breaks. After that fix, the hit detection for saw blades became consistent across all frame rates.
Another thing beginners miss when trying to build Vex-style levels: the enemy patterns are mostly state machines with time-based triggers. A spinning blade might open a gap for two seconds, then rotate again. The trick to making these feel fair is to give each state transition a visual wind-up or a sound cue before it happens. I found that players could consistently time their runs once I added a half-second audio pulse before a blade started rotating. Without that, the same level felt impossible even though the mechanics were identical. It is not about making the puzzle easier. It is about giving the player information before the information is needed. If you are looking to create your own Vex-style game from scratch, the minimal stack is something like Phaser 3 or a custom Canvas setup with a fixed timestep loop. You do not need Unity for this. The original games had maybe a dozen unique object types across each level. The state management and level data serialization are where most of the complexity lives, not in the rendering. I still see people recommending Scratch or Buildbox for cloning Vex. That works if you are teaching a classroom, but if you want the controls to feel like the originals, you are fighting the engine the whole way. Phaser or Godot will save you time after the first week. Before that, it feels slower because the learning curve is steeper than dragging and dropping prefabs.
Get the Full Details

As for playing, the hardest level in the series is widely considered to be Vex 5 Level 13. It has a sequence where you drop through a vertical shaft while dodging rotating lasers that fire on staggered intervals. The mistake most people make is trying to memorize the pattern instead of learning the timing windows. The lasers reset every time you touch a checkpoint, and the checkpoints are placed deliberately between sections. Touching a checkpoint after a failed attempt does not reload the whole level. It just restarts from the last save point. Using this to your advantage cuts the attempt time significantly compared to running back from the start every single time. There are a few Vex clones and fan versions online that add extra mechanics like double jumps or grappling hooks. They are fun but the physics drift. I would stick to the official ports if you care about fairness. The community speedrunning scene still uses the original Flash HTML5 builds, so any modded version puts you outside leaderboards and shared strategy guides. If you want the files for offline play or preservation, the Wayback Machine has archived the original Flash versions. Some of the SWF files are still playable through Ruffle, a Flash emulator that runs in the browser. It is not perfect — certain particle effects break — but the core gameplay holds up. I tested Ruffle against Vex 3 and Vex 6 and the hitboxes matched the originals within a pixel or two. That is close enough for casual play.
The series ended with Vex 8. FlashGameStudio has moved on to other projects since then. There is no Vex 9 announced. The community has made fan levels and mods, but nothing official has come out. If you are waiting for new content, the best bet is the speedrunning community. They post level breakdowns, route optimizations, and frame-perfect trick tutorials that are more detailed than anything on the official site. That is basically it. Play the official HTML5 versions, avoid the modded clones if you want consistent hitboxes, and use checkpoints strategically. If you are building, use a fixed timestep and do not skip input buffering. The rest is just repetition and patience.