Gradius-esque Shmup engine for GM:S1

Hello everyone! I just wanted to let you all know that I just made the first public release of my Gradius-esque Shmup engine!

I've attached a few photos at the bottom of this post.


(Everything below is copy-pasted from the Github readme, and potentially outdated)

Open-Source Gradius Shmup Engine for Game Maker: Studio This engine is heavily reliant on knowledge of GML. As long as all assets are replaced with your own, you may use this source code royalty-free. (Credit isn't required, but appreciated)

This engine features:
  • Dynamic game state system (Opening credits, titlescreen, game mode, pausing, cutscene mode, game over mode, "START" mode [The START window before the player gains control])
  • Window resizing hotkeys (1, 2, 3, Alt+Enter, Holding Esc closes game)
  • Tilemap loading (.oel OGMO Tilemap format:
  • Real-time tilemap modification and export
  • The standard Gradius arsenal and HUD
  • Commented code (At least, I tried!)
  • Title Screen menu, including customizing controls (Default controls use keyboard Z/X/C, UDLR, and Enter)
  • Cheat codes on the pause screen
The engine also has many debug features (Press Q to toggle debug mode):

  • E: Toggle cutscene game state
  • R: Set X camera scroll to 0.3
  • T: Increase the player's speed
  • U: Trigger Kon.Code (Unlimited uses)
  • I: Give the player a Speedup
  • Numpad +/-: Increment/decrement player lives
  • Right/Left-click: Change tile value the mouse is currently hovered over
  • P: Export the current level to a new .eol in the game's "working_directory"
  • B: Kill the player (Suicide button)


v1.1 is out, and now there's a fully-playable level, too! You can find it on the Releases page of the github.
  • Implemented a fully playable level, which demonstrates most, if not all, features below
  • Added a Gradius-like game loop system. Careful: The difficulty can get up to bullet hell/danmaku difficulty!
  • Implemented a couple of extra enemies, including a fully-functional boss
  • Implemented map switching
  • Hi-Score now functional: Shoot them all!
  • Moved some scripts around to separate the more general-purpose parts for re-use (e.g. map switching, BGM changing)


Probably the best Gradius engine I've seen made in Gamemaker, and the only one that works in GMS too.
v1.3 is now out. Please make sure you read v1.2's changelog if you haven't yet, too!
  • All weapons on the Type screen implemented! The Powerup HUD has been slightly modified to properly display all of the new weapons.
  • More game balancing: Boss now has proper, functional barriers and less HP.
  • Added a new mode to the game options called "Friendly Mode": The player gets a free force-field every life, the Force Field is auto-selected on the Weapon Select screen, and it takes up to 10 hits.
  • A bit of game re-balancing: Some enemies shoot more bullets, others shoot less, and some values get capped when the Game Loop gets too high.
Probably the best Gradius engine I've seen made in Gamemaker, and the only one that works in GMS too.
Thank you!
v1.4 is now out!
  • Gamepad support added! Just plug a USB Gamepad in and re-configure your controls in the Options Menu to get it working.
  • Co-Op Mode implemented! Now you can play with a friend! Hoping there aren't any crazy bugs: I've been patching tons of them since I started re-writing the code to get this working.
As always, download links are linked from the first post to the project's GitHub releases page.