For each area of investigation, list what is to be investigated, explain how the investigation will occur and justify why it as an important factor will contribute to the success of the MDP
By studying existing designs that are similar, i.e. other gamemodes, the designer will learn about how to construct their own
The Lua code that makes up some existing gamemodes should be investigated first hand. This can be done by accessing publicly available version-controlled code repositories on websites such as Github; it can also be done for any gamemode that can be downloaded through the workshop, with the use of an extraction program which I already have. This is informative to the designer about how to (or perhaps not to) implement certain features for their own gamemode. For example, the code used to make a round timer in another gamemode could show by example how to deal with such constructs. As the designer, I also believe the practice with reading and understanding code like reading a book helps to reinforce programming concepts.
The game elements used by these gamemodes should also be investigated. Making notes about how other gamemodes create fun and atmosphere will be useful to refer to in designing my own gamemode. This investigation could be done through playing the gamemodes in-game and taking notes, watching videos of others play the game or similarly to above, reading the source code for those gamemodes.
It is vitally important that the designer understands how to implement the programming elements required to bring the gamemode to life: It is the crux of the MDP.
It will be useful for the designer to investigate and read about how the Lua programming language is used in a variety of contexts. Such information is available on sites such as lua-users.org and in tutorials about how to achieve specific goals. Learning the conventional methodology for using the language, including which paradigms Lua can be used with (procedural, object-oriented, event-driven etc) and learning about useful features of the language's standard library and Lua-specific syntax constructs will help to improve the quality of code written and hopefully eliminate bugs.
Along with learning about the general usage of Lua, it is important that the designer understand how to utilise the programming interface exposed by Garry's Mod to script the Source engine. This "Application Programming Interface" includes all of the libraries, object methods and 'hooks' used in the process of programming for Garry's Mod. This information is available in detail on the official wiki pages for the game at wiki.garrysmod.com. This wiki details, on a point-by-point basis, the elements involved in programming for Garry's Mod specifically. It is vitally important that the designer be able to use this reference and understand its context and relationship to the game; otherwise any attempt to create code for the gamemode will fall flat on its face.
Although 'materials' seems out of place in an MDP folio revolving around computers, the materials do not need to be physical ones. For example, game resources such as textures, models and audio files may be considered as the materials that make up the construction of the MDP.
The design and implementation of materials that are applied to surfaces by the game engine should be studied. This include not on the direct texture information, but also bump maps, displacement maps etc. Understanding how the Source engine in particular deals with these concepts may play an important role in the creation of the gamemode. This is relevant to the next 'material', since levels require these materials to function.
Studying the creation of maps (a map being a game level) for the Source engine would enhanced the experience of the gamemode dramatically. If it is feasible to create a map that is specifically designed for the gamemode within the timeframe of the MDP, it gives greater flexibility to the author to make their gamemode appropriate for the size of the map. Additionally, an appropriately themed map with lighting, textures and ambient sounds would enhance the immersion of players in the gamemode. This requires a great deal of effort, and since it is not he primary goal of the MDP, it will likely be omitted from the final design.
The best source of information for these topics is the Valve Developer Wiki, which is an official wiki developed with collaboration between Valve, creators of the Source engine, and the community of developers who produce content for the Source engine.