ALRIGHTY
First out, depends on what you want to get out of all of this! Surprise!
Do you wanna learn how to code everything? Make your own engine! Deal with the minutia of graphics pipelines, event systems, and threading!
Do you want to skip the details on coding? Use an engine. If you don’t know what you’re doing and want to get a game out the door rather than learn everything at once, use an engine.
Engines are pretty nice. The big hitters are Unity, Unreal Engine, and Gamemaker: Studio. Unity and Unreal are free (ish) while GM is a hefty $100+ out the gate. Unity and Unreal get their money through making you pay more if you hit it big.
Unity is a more indie (newbie) oriented engine, with a very active community. There are lots of youtube tutorials and a lot of complicated stuff is done out of the box. I’d recommend doing this.
Unreal is more AAA, and has a higher learning curve. That curve though comes with bonkers graphics, and a lot of really nice features if you know what you’re doing.
Gamemaker is 2D only, but is amazing for creating really quick games and can be used to make more complex things. Undertale was made in Gamemaker, which baffles me. Programming wise it is a sack of garbage, but the rest of it is great.
Programming languages depend on the engine. Like I said, Unreal uses C++ under the hood, but has a drag + drop coding style that can be nice for newbies. Unity uses Javascript/C#, but everyone in the community uses C# so just stick with that. Gamemaker uses its own language, so I guess use that if you’re using GM.
I’m not an artist. I don’t use fancy pants stuff; I just use Paint.NET. For animation, I have a plugin I found off of google that lets me view layers as an animation. I save each layer as a separate image and then import that as I need it. I should use something better, really.
My current game is inspired by Samurai Champloo, largely. It has a little Nidhogg, Towerfall, and Smash sprinkled in there, but Champloo is where it started.