What steps should i take to learn programming, specifically for video games?

Learn some C++ OOP, it's one of the most widely used languages... but most engines have scripting engines for designers to use.

Engine dev is vidya programming... Non Indie game programming is typically done in a scripting language. Quake C for Quake. UnrealScript... Uh, in Hexxen it was ACS (Action Control Script). Yeah, it's that old of a practice. But no one will tell you this up front. There is no programing lang you can learn - just familiarize yourself with the core concepts of coding. Data Structures and Algos, esp. Design Patterns, that's a good one.

Imagine you get hired as a coder for a game. And now you're looking at a proprietary language like ACS or Quake C, or Unreal Script, or whatever secret sauce the new hotness is - probably runs as bytecode dynamically for fast iteration, and can also be compiled to machine code for the release mode. (Well, my engine has such things, and it's just for ANSI art - so the AAA guys are probably doing this by now, I mean, Web Assembly exists, etc).

So there you are, you've learned $LANG. And now you get to learn all the nuances of some proprietary language invented just for your game. It's not always like this anymore, I mean, Lua exists, and has seen some pretty big names utilize it, like World of Warcraft... Still. Gamedev has these weird complexities where designers will figure out how to build a programmable system out of a series of enemies that walk across a path of triggering volumes, and that'll be how some level handles the timing and synchronization of events, by detecting when some enemy at speed $S, walks towards the sound of your gun at position $P over distance $D, it should be right about here when you've gotten to that platform there, and so this long hallway will exist in the map with an enemy you can't get to and its sole purpose is to reach a trigger volume. Another dev sees this. He thinks, Oh, cool, it's a delayed activation potential. Soon you have a neural network that programs itself by back-propagation that teleports enemies into positions in these hallways, causing cascades of activity cycles, and the map is a thinking entity with brain waves, and you have learned $LANG and can replicate the features more simply, but WE ARE NOT TO TOUCH THE HOLY ONE - It's not broken, don't touch a thing, we can't fix it! And a dead rat is found on your keyboard the next morning because some of the other designers now worship this hub world level with sacrifices of blood, sweat and tears to keep it all running up to and through going gold... And you're a subversive $LANG heretic who must be reeducated or killed.

Sound like fun? Nothing can really prepare you for the programming challenges of gamedev.

/r/AskProgramming Thread