Progress on Menu: value manipulation

Menu Manipulation – Dev Blog #4

GreyHole - #DevBlog - Menu Manipulation – Dev Blog #4


Hello internets,

the week flew by as if accelerated by loads of Gravity. This DevBlog I want to show you how I made some more progress on the menu for GreyHole both visually and in terms of value manipulation. I am not yet done but the player can now start a new game, quit and -for now only visually- switch up controls, audio and video settings.

With the last blog post I told you about some of the planning involved for the menu. I expanded on that again and have finally arrived at a point where I can actually show how it looks in action now. But let’s do it chronologically:

Sloppy Draft
Menu – sloppy draft

I actually started out with a really sloppy draft inside the snipping tool. Just to get the idea about what I want to show and where. After I was done with the planning and setting up the data structure grid, I started to order things on the screen. And again I want to mention that I used Friendly Cosmonaut’s tutorial as a super handy guideline on structures and efficient programming.

On the left hand side I placed the highscore list just as I had thought about before. It is a little dominant but I think it will contribute to the player feeling the need to crack the highscores they or somebody else set up. I also reserved some space for the title art. I did not get around to produce some half way quality image so instead I just filled the space with a box and a placeholder title.


GreyHole Menu - Layout
GreyHole Menu: Layout as seen when booting up the game

For the actual usable menu itself I set up the area below the title and divided it by a line into two regions. The region on the left for the options the player can select and the right one for the actual values to be manipulated. I am content with most of the basic visuals for now. Just the On-Off toggles are a bit too unclear in their appearance when selected. I think I’ll switch up the colors a bit and also the way the values are toggled. Right now you need to select the to be toggled option with one of the use inputs and then shift the value with direction inputs. That’s a bit too much for a simple toggle I think. Switching should be possible with a simple one time input.

Progress on Menu: value manipulation
Progress on the menu for GreyHole: value manipulation

As I also support gamepads for GreyHole, I also needed to come up with a way to use the analog stick to navigate through the menu. But since the values you can read out in GML are constant and can’t be checked with a […]_check_pressed() function, I ended up using a boolean variable that was reset only when the stick is centered again. That way the cursor does not constantly race through the menus and does not shift values in rapid succession.

That’s it for today,




If you like this entry, you can also read up the follow up “Finite State Machines in GML” or the previous blog post “Menu and Sound”.

GreyHole - #DevBlog - Menu Manipulation – Dev Blog #4
Please follow and like:


  1. Hey, something that I’ve done to combat the constant “input” of a joystick being held in a position is have a variable that is set to 0 as you switch to a new menu item, then counts up and only when that variable is at or above a certain value does the ‘menu switching’ code activate again, that way, if the player holds down to go through the menu, it will let them scroll through, but not at a lightning fast pace. Something like this:

    if (control_timer < 30) {
    else {
    control_timer = 0;

    1. Hey RefresherTowel,
      thanks for your input. I think I’ll use your suggestion to enhance the ability to navigate with the controller. I think it does not feel very intuitive having to constantly bounce back and forth on the stick, just to scroll through the menu.

      I’ll drop a note into my Trello todo 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *