what I've found over and over again is that managers will give promotions to 35 year olds who spent most of their lives playing video games

They must be special be special because they place such a high value on their time, whereas you give yours away for free < the implicit premise at work in such transactions. It's sort of a personality thing; the more effort and diligence you put into getting hired, the needier you seem, whereas the insouciant entitled-seeming person is able to arouse the managers desire to hire them by being a Shiny Object. Appearances matter, not because they are such a good guide to substance but because of the social fact that so many people respond to them. It's also possible/probable that these managers were 35 year olds who spent most of their lives playing video games (or sports, or cards, or whatever) and consciously or unconsciously hire people with similar personality types.

Not only are life and business not a meritocracy, there is not a singular ordering of competence. Social rewards most often flow not to someone who knows how to do something but the one who knows how to get others to do that for them. So, you have good technical skills at whatever it is you do, you're good at working on your own, and you are also a Nice Person who likes to share. This pretty much guarantees you will be treated like a worker bee.

Now, consider a large project that is beyond your individual capabilities and would require 10 people with your skills and diligence to realize in a year. Can you work 10 times as hard? No. Can you do it over 10 years? Maybe, but you'll be short of money the whole time and someone else would probably pass you by or make your project obsolete. You could find 9 other people with similar skill sets to yours and then cooperate, but that seems a bit unlikely.

Or you could find 12-13 people who you think are 80% as good as you and then tell them what you want - in other words, give them your high-level understanding of how the project should be built and then making sure they have the resources to do it. So instead of thinking of development as a problem of memory, storage, CPU time, and bug hunting, it becomes a problem of resources, budgets, reliability, and HR issues. Managers are in the business of instructing developers while relinquishing control of (and eventually competence in) the lower-level stuff of actually programming the machines. Another way to think of it is that while you are programming the electronic machine to make current flow to do blinkenlights, managers are people who have learned to program/hack the corporate machine to make money flow to make people do things.

To sum up, you will never get promoted/resourced for your technical expertise. The better you are at solving technical problems, the more you will be taken for granted as an extension of the machine you program. The best route out of this is to come up with a small project that you could do yourself, but instead parcel the sub-tasks out between 5-7 different people, and then lavish praise upon them when it's completed.

You can do this by stealth or with the agreement of your own manager, but focus on the objective and be vague on the details of implementation; this is what gives you the room to solicit help from others. You're not stealing their effort, you're providing the structure and taking responsibility by giving them a clearly defined task that they can easily perform without having to think too much. Your bosses want a result and don't want to be bogged down in understanding the details. Your peers want clearly defined tasks and enjoyable rewards and don't want to think too much. You become a manager by taking responsibility; you worry about stuff for other people (the details for your superiors, the big picture for your team members) by sitting on the border between their comfort zones without asking anyone to actually leave theirs.