GameMaker Studio 2

Advanced Menus Plus Engine


Buy for $14.99 $9.99

Contact Publisher


This is an all-inclusive, advanced menu system and platformer game engine. By downloading this you will have a solid foundation to begin customizing your platformer game!

[[[ Menu System Features: ]]]

Professional grade, mouse driven, menu system including:

Options Menu

  • Controls: Custom Control Mapping, with save feature

  • Sound: Adjustable Sound levels (Music, SFX, Ambient), with save feature

  • Game Reset Feature: Reset all progress and save features

Level Select Menu

  • Includes 4 premade levels, each one unlockable based on item pickups

  • Star-based achievement system that is presented on each level select button

High Scores Table

  • Track the Top 8 high scores with this automatic table

Credits Menu

  • Insert a credits image

[[[ Platformer Game Engine: ]]]

A basic 4-room platformer game including:

Level Specific Background images that can be easily overwritten.

Background Music

  • Room Specific

  • Changes automatically between rooms, and when entering the menu

A generic Player that changes sprite based on inputs

  • idle, jump, run, crouch, and crouch & move

A Pause menu

  • Keyboard driven selections

  • Continue, Main Menu, Quit Game

A Gameover Screen

  • You could work health into your game and trigger this when the player dies.

An end-level "collectable" counter

  • This can be used to determine if the player has collected enough of an item (in this case, stars) to advance to the next level.

  • In the current setup, if you at least one star you can advance, otherwise... you must restart the level.

Trackable Level Achievements

  • You can see in the video that collecting stars is logged, and then performance is shown through the stars on each level in the Level Select menu. This is great for enticing players to replay levels to collect everything!

Extra Information:

  • All sprites are very straightforward, so you can overwrite them with your custom art and make the game look any way you want. Buttons can be moved within the rooms as well to create custom layouts based on anything you want to do.

  • All variables in the code are written in a very straightforward way so it's easy to go in and adjust things with just a basic knowledge of GML. I like to keep everything lowercase so I don't typo, and also error on the side of a long variable name over an acronym so I don't forget what it does. If you are new to GML you will probably appreciate this because it is very easy to read.

  • I have tested everything within this setup, in the given configuration, very meticulously to ensure that it works, but if there is any glitch that you uncover I would be happy to go into the code and try and solve it, if you are able to provide specific details on what you ran into.

  • The menu system is really whats impeccable here. The Platformer Engine is very basic, and can definitely have more advanced features added to be improved upon. However, as it is the player can navigate through the multi-elevation room, jump to collect stars, and reach a goal object to finish the room.

  • If you would like to see this menu system being used with different artwork, you can watch the video of my Developer Spotlight for my platfomer game [[ "Spiralbound Ninja" ]] here:

End User Licence Agreement (EULA).

Version 1.2.0. Published August 20, 2017

Age Rating: 4+

Average Rating

This asset hasn't received enough reviews yet.

Your review

You can only review assets you've bought.

No reviews yet

No reviews have been left for this asset - be the first!

Package contents

Total size 28.6 MB

assetpackage.yy 42.5 KB fonts objects
obj_boot obj_bootfade obj_bootsound obj_button_accept obj_button_cancel obj_button_close obj_button_credits obj_button_exit obj_button_highscores obj_button_levelselect obj_button_options obj_button_parent obj_button_save obj_button_sound obj_button_start obj_checkmark obj_controller_endlevel obj_controller_music_level_parent obj_controller_music_menu obj_controller_music_world1 obj_controller_music_world2 obj_controller_music_world3 obj_controller_music_world4 obj_credits obj_draw_scores obj_gameover obj_game_master obj_goal obj_hbar_ambient obj_hbar_effect obj_hbar_music obj_hbar_parent obj_hslider_ambient obj_hslider_effect obj_hslider_music obj_hslider_parent obj_keycontroller obj_key_down obj_key_jump obj_key_left obj_key_pause obj_key_right obj_key_up obj_key_weapon obj_levelselect_all obj_levelselect_button_parent obj_levelselect_playsticky obj_levelselect_w1_stars obj_levelselect_w2_stars obj_levelselect_w3_stars obj_levelselect_w4_stars obj_levelselect_world1 obj_levelselect_world2 obj_levelselect_world2_lockedOL obj_levelselect_world3 obj_levelselect_world3_lockedOL obj_levelselect_world3_soonOL obj_levelselect_world4 obj_levelselect_world4_lockedOL obj_levelselect_world4_soonOL obj_level_controller obj_options_button_areyousure obj_options_button_doit obj_options_button_resetgame obj_pause_continue obj_pause_mainmenu obj_pause_menu_controller obj_pause_quitgame obj_player obj_star obj_textbox obj_wall oboj_button_controls
rooms scripts sounds sprites
bg_rm_controls bg_rm_credits bg_rm_highscores bg_rm_highscores_init bg_rm_levelselect bg_rm_menu bg_rm_options bg_rm_sounds bg_rm_world_1 bg_rm_world_2 bg_rm_world_3 bg_rm_world_4 spr_accept spr_button_areyousure spr_button_close spr_button_controls spr_button_credits spr_button_doit spr_button_exit spr_button_highscores spr_button_key spr_button_level spr_button_options spr_button_resetgame spr_button_save spr_button_sound spr_button_start spr_cancel spr_checkmark spr_credits spr_goal spr_hbar spr_hslider spr_keycontroller spr_levelselect_all spr_levelselect_coffeeshop spr_levelselect_execdesk spr_levelselect_homeoffice spr_levelselect_lockedOL spr_levelselect_playsticky spr_levelselect_school spr_levelselect_soonOL spr_levelselect_stars spr_logo_jhp spr_pause_continue spr_pause_mainmenu spr_pause_quitgame spr_player spr_player_duck spr_player_duckmove spr_player_jump spr_player_run spr_star spr_stars spr_txtbox spr_wall

What is the issue?

Back to Top