It depends on the style of game you want to make.
Construct 2 or 3 is a great way to learn visually and you can create games pretty quickly but it's limited to 2D designs mostly. This teaches you the structure of code and game design, I have used this before and created a few small projects. It helps your brain learn the concept of designing code visually due to the drag and drop style system they implement. It's also great for concept work and designs!
Unity is what I recommend to people getting started. It has a big learning curve but at the same time a great way to start game development if you're serious. It's an engine which is only limited by your imagination IMO. I also recommend picking up C# (I know you talked about learning python), Unity scripting is C# but the skills learned in coding is transferable. But yeah Unity is where I recommend new game designers start because it teaches you tonnes. (Yes Unity also supports a Java script but it's not real Java so it's just for unity where as C# is more useful outside unity making you more rounded).
As for 3D designs and texturing you can use blender (free) and Gimp (free). These 2 tools have guides online to get you started out and you can design plenty of games with these tools along side Unity.
Hope this helps and good luck! Game design is difficult and frustrating but very rewarding when you get something working!