I'm gonna be looking at gamemodes soon, to see what we can do to improve and encourage more of them.. especially singleplayer gamemodes (maybe not sandbox as much as story based).

One of the ideas I had was to be changing the gamemode on the main menu, and that affecting everything else (like the skin, menu background etc). And if you have a gamemode set when you start a new game it'll start in that gamemode, and when you search for servers it'll find only that gamemode.

This may sound silly and trivial but I'd quite like a better way to include modules with a gamemode.
Having to do gamemodename/gamemode/includes/modules is a bit ick. Maybe just gamemodename/modules?
I quite like building potentially re-usable sections of code into actual re-usable Lua modules, but having to hide them three levels deep (including one empty folder) is a bit annoying.
It would also help people who need binary modules like mysql/queryphys/sourcenet/openaura_1(ha ha ha) for their gamemode to work.
On the note of MySQL, could you possibly include libmysql with gmod?
It wouldn't give any benifits to end users admittedly, but it would certainly help server hosters.

This may sound silly and trivial but I'd quite like a better way to include modules with a gamemode.
Having to do gamemodename/gamemode/includes/modules is a bit ick. Maybe just gamemodename/modules?
I quite like building potentially re-usable sections of code into actual re-usable Lua modules, but having to hide them three levels deep (including one empty folder) is a bit annoying.
It would also help people who need binary modules like mysql/queryphys/sourcenet/openaura_1(ha ha ha) for their gamemode to work.
On the note of MySQL, could you possibly include libmysql with gmod?
It wouldn't give any benifits to end users admittedly, but it would certainly help server hosters.

I would love to see a better way to add modules to gamemodes, this sounds perfect.

This may sound silly and trivial but I'd quite like a better way to include modules with a gamemode.
Having to do gamemodename/gamemode/includes/modules is a bit ick. Maybe just gamemodename/modules?
I quite like building potentially re-usable sections of code into actual re-usable Lua modules, but having to hide them three levels deep (including one empty folder) is a bit annoying.
It would also help people who need binary modules like mysql/queryphys/sourcenet/openaura_1(ha ha ha) for their gamemode to work.
On the note of MySQL, could you possibly include libmysql with gmod?
It wouldn't give any benifits to end users admittedly, but it would certainly help server hosters.

Defiantly agree with including libmysql. It comes with SQLite so why not include MySQL modules as well.

Defiantly agree with including libmysql. It comes with SQLite so why not include MySQL modules as well.

I wouldn't go for him including the actual gm_ mysql modules, since there are three of them and it's nice to let people choose (+ updates), but including the libmysql.dll that all of them need would simplify both distribution and installation.

Edited:

(yes and the .so/.dylib versions too before anyone complains about windows-centric)

I wouldn't go for him including the actual gm_ mysql modules, since there are three of them and it's nice to let people choose (+ updates), but including the libmysql.dll that all of them need would simplify both distribution and installation.

Edited:

(yes and the .so/.dylib versions too before anyone complains about windows-centric)

and then we have the issue of modules becoming out of date and garry doesn't have the source to update them.

I'm gonna be looking at gamemodes soon, to see what we can do to improve and encourage more of them.. especially singleplayer gamemodes (maybe not sandbox as much as story based).

One of the ideas I had was to be changing the gamemode on the main menu, and that affecting everything else (like the skin, menu background etc). And if you have a gamemode set when you start a new game it'll start in that gamemode, and when you search for servers it'll find only that gamemode.

Anyone have any input?

Yeah it'd be cool if they could act like Source mods; changing the entire menu, maybe even have their own soundtrack.

can't think of any technical problems, it just seems to be being able to make it easier for people to play new gamemodes

stuff that comes to mind would be having a specific gamemode browser, listing all the current gamemodes and total servers playing them, allowing you to click in and list all the servers for that gamemode.

some easy way to ensure the client is sent all the specific gamemode data would be pretty awesome too... something along the lines of zipping up the whole content folder and downloading it automatically (without having to mess about with both making sure every file is available to fastdownload, having it go straight into the garrysmod/ folder cluttering up that stuff) would ideally make it easier for gamemode creators making being able to ensure the client gets all the content, server owners as they'd have to set up less and clients as they would ideally have all the content separated, could even go as far as having it list the gamemode specific content in the same way you just implemented for addons in the spawn menu

Edited:

the whole starting a new game in a different gamemode then only listing servers for that gamemode sounds like it would be awkward for users but can't really say without seeing it in action I guess

Give game-modes the ability to control most things in gmod, like the main menu.
And although it might sound absurd, the ability to launch a game-mode from desktop, like a source mod, we should be able to make g mods, coding the game using lua rather then C++. I always thought the idea of Garry's Mod becoming its own engine in sorts would be amazing.

Make it so the content folder instantly adds all the files it has to the required resource on the server. As in, it adding as a resource everything inside it, recursively, and making it download to the root garrysmod folder, so if you have a file in gamemodes/yourgamemode/content/models/whatever.mdl, it downloads to models/whatever.mdl automatically.

Make it so gamemodes the client currently has installed don't override the current gamemode in multiplayer. It is particularly irksome for developers, as the only fix to that is to turn ScriptEnforce on, and even then, it doesn't quite fully work, since when you have ScriptEnforce on and the client downloads a new Lua cache file, neither version gets loaded properly.

Perhaps allowing gamemodes to be downloaded as a Zip file without requiring extraction would be a good idea, it'd ease distribution.

A functional command for reloading the whole gamemode without having to redownload the map would be great for development, too.

Oh yes, that's a thought. Can you make it so we can easily create entities that can take part in source's trigger system?
I know you can AcceptInput() so entities can fire() on you, but last time I checked, there wasn't a way that let you fire outputs that other entities could hook into.

If you were to change the whole menu for different gamemodes and only seeing those modes in the server lists, then favorites should still be the same, or it should be possible to see all kinds of servers, 'cause it would be kind of annoying trying to find any of your favorite servers with players on and having to change menu gamemode just to be able to see all of them.

Oh yes, that's a thought. Can you make it so we can easily create entities that can take part in source's trigger system?
I know you can AcceptInput() so entities can fire() on you, but last time I checked, there wasn't a way that let you fire outputs that other entities could hook into.

You could implement a second server browser based on current hosted gamemodes instead of single servers. You'd either "join a gamemode" which would join a random server hosting the current gamemode or you could have a dropdown feature, in the style of your map selection in singleplayer, that would show servers by gamemode. Or both. Also, to remove the abundance of similar gamemodes (DarkRP, Dark RP, darkRP2.3, theDarkRP, etc...) a possibility of manually linking gamemodes together would clutter them under one dropdown menu.

With this in mind, you could add ratings which would show next to the names of the gamemodes, "Beta" and "Wip" icons could also be added (for the hype). The whole idea of that is to give players a sense of "browsing games" through GMod instead of just joining server mods ala Counter-Strike or Team Fortress.

Yeah a gamemode browser is definitely one of the things needed the most. The reason why a lot of less-known gamemodes don't get played is because the only way to find them currently is to sort the server browser by gamemode, which means you have to scroll through 300 Dark RP servers to find the (often ONE) server that is hosting each less popular gamemode. It would be a lot better if each gamemode was given equal viewing opportunity so people actually have a chance to find new ones.

Another idea might be to host a bunch of official facepunch servers with many popular gamemodes on them, similar to what Valve has done to TF2, where each server hosts a different gamemode. That way you can press a "start playing" button, select a gamemode, and instead of worrying about finding a server it will join you to one that is guarenteed to be the vanilla gamemode with no stupid additions, lag, or artificial player-count bots that plague other servers. This will also help filter out the depressing number of awful, non-functional gamemodes that I and many others often find when joining random servers with interesting-sounding gametypes.

Yeah I'm not talking about a server that hosts 30 crappy mini-gamemodes which rotate every 20 minutes, I mean hosting each of the big, complex gamemodes like Zombie Survival, TTT, etc., each on a separate server so people can actually choose what they want to play.

Maybe servers could also request addition to the "trusted servers" list which would make the "start playing" button join players to their server as well.

After reading though this I am envisioning a game mode menu similar to the current map selection, where you have a header with game mode name, and when you choose the game mode it drops down with settings for that game mode, and the list of maps for it, maybe with a button for browse all maps just in case someone doesn't want to use a game mode specific map, and then a button that will auto set the server filters and show a server list for the current game mode selected.

Call up the Acension devs and see if they'll do some singlplayer missions or something

But being honest, if you were to add a gamemodes section to steamworks it would probably all be just preexisting gamemodes.

I totally agree. I miss Acension as I had the oppurtunity to play it single player before it broke. I think we need some stroy based gamemodes and maybe having a new gamemode every few updates ( like a new gamemode for every 10 updates).

Really liking the idea of having the ability to change the menu. It will definitely attract more serious developers.

As said before, it is very cumbersome to select a gamemode through the current drop down method. Especially for new GMod players.

I suggest giving the users an easier and more visual UI when selecting and playing gamemodes. An image banner list of installed gamemodes that you can select would be pretty awesome.

Another idea would be to have a team of people dedicated to pumping out quality gamemodes for GMod itself - similar to what came out of the Fretta Contest.

The more you can make gamemodes seem and act like true Source modifications, the more serious developers will use GMod as their choice for modding the source engine. The flexibility with Lua currently allows all that you would need to make your own true mod (other than shader support) - and it's much easier/quicker than using an out dated SDK and C++, in my opinion. This suggested shift in focus of the gamemodes could possibly put GMod as the main "engine" for future source mods. Personally, I'd use it for that purpose.

Easier server hosting would be good, though I'm not too sure if you can do that, Garry. If more people have their own servers to play with friends, gamemodes won't die out so easily and get used more often.

Easier server hosting would be good, though I'm not too sure if you can do that, Garry. If more people have their own servers to play with friends, gamemodes won't die out so easily and get used more often.

What's so hard about hosting a server?(that Garry can actually do something about)

I suggest giving the users an easier and more visual UI when selecting and playing gamemodes. An image banner list of installed gamemodes that you can select would be pretty awesome.

Going beyond this, there should be a way for gamemode authors to add their gamemode to a database complete with screenshots, description etc. which would all be viewable in the menu when choosing a gamemode to play (kind of like steam workshop except different because it would be the gamemode selection screen, wouldn't necessarily install the full gamemode just the client files). What would be even better is if there was some kind of approval process to get the gamemode added so that we don't have Dark RP v2.17 napolean dynamite edition as a choosable option.

I think another barrier for serious developers making gamemodes is the relative clunkiness of how they work in gmod. I guess what I mean by that is that while a regular source mod generally loads extremely quickly and joining a server takes seconds, gmod comparatively takes ages. For a mod like Age of Chivalry, or an offical one like Counter-Strike, the time from desktop to being in a server is less than half what it is in gmod. I don't know if this is possible, but you could add a "gamemode" mode similar to what others have suggested where you launch the gamemode from a shortcut on the desktop or steam, and it opens a streamlined version of gmod which has customized menus etc., but also which skips all the bullshit, doesn't mount a bunch of shitty addons, doesn't create render targets etc. and only loads what is needed for the gamemode to run. Then the server browser would only show servers for the gamemode you opened. This would make it easier for people that know what they want to play, and don't want to wait for everything that they aren't going to use anyway to load.

- Addons-like system which has already been suggested.
- Gamemode searching is definitely a plus. Maybe standardized server tags (roleplay, sandbox, etc) - what I've found is that the only way to find roleplay servers is to filter rp_ maps, sandbox gm_ maps - if the server's not got a proper map prefix, the server isn't discovered.
- Better documentation on differences between singleplayer vs. multiplayer listen servers. There are always issues when I test something in singleplayer mode, and it takes me quite a bit of searching to figure out what's the issue (ie. SWEPs and setting view angles, shared behavior, etc) - this would help tremendously for singleplayer gamemodes
- More bindings for maps, as suggested. Gamemode hooks for everything that happens in a map (inputs, outputs, something used, etc)
- Feedback system, so users can comment, kind of like toybox - as well as a built in bug reporter if you're up to it.
- libmysql and/or mysql support and gm_bass or something similar by default included with gmod.