Here's an RTS where you program your units with JavaScript
Players in Screeps: Arena is an online, PvP RTS for programming enthusiasts.
Screeps: Arena is an RTS all about programming. Quite literally: You don't control anything once the match starts, you just hope that the orders you planned out beforehand are good enough.
Screeps, of course, is short for Scripted Creeps. That's your army, duh, because you scripted them. Before you start the match you build the AI for your army via JavaScript: How to build a base, which units to build, resources to gather, and where to upgrade first. You then send out that code to a server, where you get matched up against others.
Then your units get thrown into the fight against others in quick 1v1 matches. Those matches are played out in a variety of arenas with various rules, each with its own matchmaking and rankings, and you'll want separate sets of orders for each arena. New arenas are introduced each season of Screeps, and you'll refine your code for those new arenas and refine it again between matches to get better.
So here's your new plan, right? You learn JavaScript by playing BitBurner, the idle game where you use JavaScript to be a cyberpunk, then apply your newfound scripting skills to take on others in Screeps: Arena. It's not the worst idea ever.
In all seriousness, Screeps does the most for people who already know some JavaScript or programming basics. (Using WebAssembly, you can actually use a broad variety of other languages.) I expect that—programming lingo ahead—it's more than anything a great way to learn some TypeScript and get time in working with an API and associated documentation.
You can find Screeps: Arena on Steam or learn more about it on its official website, screeps.com.
The biggest gaming news, reviews and hardware deals
Keep up to date with the most important stories and the best deals, as picked by the PC Gamer team.
Jon Bolding is a games writer and critic with an extensive background in strategy games. When he's not on his PC, he can be found playing every tabletop game under the sun.