GreyHole Code: Menu Planning

Menu and Sound – Dev Blog #3

GreyHole - #DevBlog - Menu and Sound – Dev Blog #3


Hello internets,
todays smalldev blog is about adding in the last missing sounds and me starting to work on the menu for GreyHole. Menus in general seem to be quite the time and thinking intensive task. I have invested many hours just in the planning of the main menu and landing page in general.

But first things first. Let me report some progress already made: I worked and tweaked the audio files some more. As I wrote in DevBlog #2, I bought the highest tier of the Humble RPG Dev Bundle to obtain some high quality stock sounds I can fill my project with to make it feel better without having to create huge amounts of audio files myself.  I mention this again as they seem to be changing the licensing for the package to be usable on all projects instead of only one. In fact, the download contains a pdf-file that states the multiple use license. That is a huge plus for me so I can really treat the assets as a stock for any future work.
I had to edit some of the sounds to be timed correctly with impacts, explosions and transitions between active and inactive and I am quite happy with how it turned out. Here is a little gameplay snippet of how it sounds/feels now:

I am still contemplating adding a sound for the collection of mass particles (the little orange orbs). But It may result in a too cluttered audio experience. I will have to test that later on. In sum I have now sounds for:

  • background noise (wind)
  • ball impacts
  • collapsing enemies
  • impact of enemies with the player
  • overcharge cd ready
  • overcharge cd start and duration
  • overcharge cd end
  • gravergy boost
  • health pickup
  • ball pickup

GreyHole Menu – planning and structuring

The second half of the week I struggled with the development of a main menu. And that endavour is still an ongoing process. I first started off, thinking about what I want to have added in a menu in the first place. And I ended up with quite a meaty list of things I want to be able to manipulate. From a Quickstart feature over a menu for selecting names that includes a saving system to an options menu that lets you rebind keys and alter sound and video options, I realized that the scope of what I will have to include to make all those options work is a bit more than I anticipated at first. And all of a sudden it makes sense as to why a lot of games – even tripple A titles – have shitty menus. I think they are easily underestimated and if you have to fit a lot of cross interactive options and capabilities it is a real art to get everything sorted, working and on top of that: good looking and functional.

GreyHole Code: Menu Planning
Coding the menu for GreyHole – a few lines of code that get fed into the script that creates the ds_map

I follow along the very well structured menu tutorial of @FCosmonaut‘s video tutorial on YouTube and I am really really thankful for that series as it also teaches a lot about the usage of data structures in Gamemaker Studio and a very planned and clean approach. Right now I am not even visualizing my menu yet, but I have arrived at a point where I am satisfied with what I have listed in the structure. I learned a lot (again) during this endeavor, since it taught me how to build scripts with a varying number of arguments and some clever usage of the repeat() function to fill ds_grid elements. Oh and storing multiple grid elements in an array to be able to flip through them. That’s all so refreshingly neat and orderly that I really need to incorporate this into my general thinking when I tackle coding tasks.

Design-wise I have made a few decisions. I won’t hide the highscore behind a menu. Since the highscore itself will be a core component of the game, it will gain a special spot in the main menu and it will be present/visible whenever the player is on the top level page. You play this game for the highscore. I think it is good to be constantly reminded of what the highscore currently is. This may change if I somehow shift away from the highscore being the center of attention for a playthrough but I want to have the space ready to display whatever progress there is to show. May it be the fastest playthrough times, obtained powerup levels, playerlevels, ball-rarity, unlocks of passive effects or whatever system I will be implementing later on. If it is central to progress, I want it to be present in the players vision all the time when he boots up the game.

All this being said, I -still- am no programmer myself so these concepts do feel advanced to me while they are probably just bread and butter programming for the code monkey. But since I have a grasp on them, I think I have not yet reached any limit yet. So may the next few problems come! I won’t be ready but I will be able to struggle through. And who knows? Maybe I will someday be a code monkey myself. 🙂

The next point on my to do list is the visualization of the whole menu and a title-graphic that I can pop on the screen, above the menu and also use as an asset for the header in the blog and the various social media channels. This will be a semi-huge thing for me as the current images -especially the cheap slapped together title image- are not of the best quality and are nothing to draw in the masses.

Kind regards from behind the desk,



If you like this entry, you can also read up the follow up “Menu Manipulation” or the previous blog post “Feauture Summary and Progress on GreyHole”.

GreyHole - #DevBlog - Menu and Sound – Dev Blog #3
Please follow and like:


Leave a Reply

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