Skip to content

Good Manners

space edited this page Aug 3, 2024 · 9 revisions

Preface

Since multiple developers will be working on unrelated games it's a good idea to make sure no one is stepping on eachother's toes. There are some simple guidelines in place to help aid this. If you're not sure, it's always a good idea to look at what someone else did first.

Working Location

You must create your own author/game folder under Microgames inside of GMS2. This is the only place you may add or change files. Any submissions that write to files outside of your unique author location will be rejected ( ignoring .yyp and other files that will obviously change without your consent )

Naming conventions

Prefix all global variables, script functions, macros, and assets with yourname_gamename_.

If you intend to use these over multiple of your own microgames, you can simply prefix with just yourname_

Memory

  • ds_* structures are automatically managed and cleaned up when your game ends.
  • Any other created resources, like surfaces, are not managed and you must clean them up yourself. This is very important.
  • Do not use static variables with data structures in them, since they will be marked to be collected.
  • No persistent objects (global variables are allowed though)

Input

You must use the macros provided in the public_player_inputs script in order to check for input.

You get 4 directional keys (arrows/WASD) and A and B buttons (X and Z or K and L). This is to keep input uniform across all games.

Assets

Only use assets that are either yours or you have permission to redistribute. Loungeware is open source which means we can't have assets in the project that are not allowed to be redistributed. You can use an asset that you didn't make in the following cases:

  • the asset is original (created by you), or has a CC0 license
  • you have explicit, written permission from the author
  • AI generated art or music is not allowed. All assets must be made by humans or animals.

Audio

You must use the functions in the public_audio_functions script to do audio-related things. This is to keep volume uniform across all games.

You can also read info about the game's current volume levels with the macros in the public_audio_functions script.

If you want to do something extra special with audio then this rule can be broken but please make sure to multiply your volume by the global volume settings. (ask space about this for more info)

Cameras

Use the macros in the public_functions script to get information about the camera.

You may call camera_set_view_size on CAMERA at any time to change the camera size.

You currently cannot change the application surface size, it resizes to be as big as it can get inside the game window. If you are trying to get a pixel-y look, you can draw to another surface and draw that surface stretched to the app surface.

Misc

  • Please for the love of god if you don't know what WarioWare is, look it up on YouTube or play Loungeware to get an idea of what a microgame should be like.

  • Aim for your game to be around 4-6 seconds.

  • Microgames should be straightforward enough that someone could figure out what to do within 1-2 tries. They should also be possible to beat every single time they are played.

  • If you need to give credit, you can do so in the credits field in the microgame config.

  • Nothing lewd, offensive, or illegal is permitted.

Clone this wiki locally