In the modern day, with so many games coming out on everything that's ever been able to play a game ever, really the most pragmatic way is to make it run on everything possible. It's fairly easy with some engines/systems, while others are difficult. For instance, I think GameMaker spits out for every major platform and modern computer, but if you want true 'runs literally on anything' then making a game for an old console/computer and then binding it to emulators to run on everything is another way to do it. It depends on skill level and effort. Other things mentioned work, but if your game is windows-only, well, only people with windows will play your game. Likewise, if your game is on NES and there's no single-click/normie solution where it can be easily run on their system of choice, unless they're already into emulators or flash carts, they'll pass it up or ignore it, even if it's something they'd maybe be interested in.
I think folks sometimes focus too much on trying to be the loudest person in a sea of social-media type places when you're more likely to get folks looking at your works in a relevant community that's already looking for the kind of game you are making. From there, it's, imo, likely easier to grow an audience more organically.
Just don't rely on social media advertising. It's trash. Word of mouth, blogs, reviews in prominent places work a lot better along with proper tagging in youtube (as someone mentioned YT trailers are good...get a professional or someone competent to edit the trailer...)
Just don't get discouraged. Not every game can be minecraft or mario. There's plenty of room in the world for games that only two people in the world have ever played and if you're making games for yourself, then it won't matter how many people play but how many people of those enjoy it. i.e. Qualitative entertainment rather than quantitative.