The main game making languages are C++ (Unreal Engine) and C# (Unity Engine). This depends on whatever game engine (Unreal Engine, Unity Engine, etc) and platform (PC, PS1, Game Boy, etc) you're working with. Some may use C++ like Unreal Engine, some others may use Python like PyGame, or Java, like Minecraft.
Or if you want to go on the most difficult route, make your own engine in whatever language you're working with. There is no exact answer.
Generally however, using scripting languages (Javascript, Python, Lua) to make games is not recommended, although you can use them if you really want to.
Some may say "assembly", but "assembly" is a vague term. Assembly is a language layer higher than bytecode (0s and 1s), meaning it is highly dependent of the platform's CPU. For example, "assembly" for the Game Boy would be Z80 assembly. (However this is technically not true, since the Game Boy's CPU is custom and has extra functions than the Z80.) For the PS1, it would be MIPS assembly. This also depends on the CPU's variant since assembly instructions can change between generations.
Chances are, you won't be dealing with "assembly" unless you're making a game for anything older than the PS1.
Books are an okay source, but in my personal opinion, only for the C languages. Any books for other than the C languages is just a bad idea, since not many authors may understand the programming language themselves, or it becomes outdated info in a year.
Videos tutorials... I don't really recommend them unless you have to.
tl;dr Pick a language for the platform you're targeting and run with it.