Modding was my first introduction to programming. Specifically, starcraft 1 released in 1998. I was in elementary school at the time

Discovering the world of custom mods was amazing. It was basically the equivalent of google playstore + having your own mini android tools to build your own maps. There were so many unique genres birthed from that game. Tower defense originated as a starcraft 1 mod, and many other things such as temple runs (based off zergling runs). DoTA was based on the works of Aeon of Strife, which was considered the first MoBA. If you were to look at many of the indie games produced today, chances are there was a starcraft1 or warcraft3 map variant of it. These were the maps that became the most popular, the top 10%. The rest that didn't make it into mainstream modes are essentially the 90% of game apps that failed in the google playstore

Modding felt like programming. It was very much an object oriented programming paradigm. Units had attributes associated with them, to which you could modify globally. Things like their overall HP, armor, damage rating, etc. You could set observables, e.g. events, in designated areas in the map. Like if player X came to position Y, event Z happened.

I learned a lot by compiling my own modded versions of popular apps. I would install cheats inside of them, things like additional resources and units if you do a sequence of events (e.g. move unit to a special location). There wasn't really any validation in checking map authenticity, its very much like forking a git repo and publishing your own npm package.

Users who came to your map would have to download the latest version. Some would get skeptical in seeing new changes, wondering what promoted the new patch. This wouldn't work so well in popular maps, b/c the map publisher put a changelog on their website. But less popular ones it was much easier to get away with.

My modded map with the cheat installed would later get redistributed in the P2P network. People would play it. Sometimes if I promoted it enough by hosting the lobby, it would be the only seed available. Much like how torrenting works. Especially if that version added new features that people enjoyed.

Sometimes maps created get lost forever. Since everything was P2P, if no one had that map installed on their machine, and no one hosted that map anymore or played it, it was dead. Much like lost porn. This happened several times in which I wanted to find a map I played previously, but reinstalled my computer and could not find anymore lobbies to download the map anymore. Examples include some Lord of the Rings maps, Battle of Troy, Helms Deep, or things like Nexus Arenas

These days things are much different. Mirrors for hosting mods, either official (e.g. steam) or 3rdparty websites are widely available. There wasn't any youtube tutorials for making maps, you just had to read the help documents, and breakdown / understand other maps. Much like you do looking at opensource repos on github.

Modmaking was rewarding in its own right. You used the exact same AAA tools developers used, and when something finally clicked, you could build even cooler maps. Sometimes, you could install mods into your editor. Things like adding text colors to your units is one of many examples. Its kind of like if you installed a plugin extension with visualstudio code.

I don't know how this compares anymore to kids learning how to make mods in Roblox, GTA5 mods, minecraft, etc. Its probably not as complicated as it used to be, since youtube has so many tutorials out there. The real challenge back then was figuring everything out on your own and/or finding a reputable map mentor to help you out. IRC was a whole another thing I was introduced to in starcraft1 / warcraft3 days. The beauty of this back then was that it was the first of its kind, this custom modmaking scene for RTS based games.