This isn't intended to be a comprehensive list of all game dev tools ever, more a simple list of starting points that can get you started!
There are two main places that people can start. You can either look at game mods, or start from scratch, so let's start with ...
You can dive into mod projects, using a tool-set often released with a game that allows users to modify the original game. This is often a great entry level way to see if you really have some game design chops, and the patience for the work. I started out this way making mods for the old Mechcommander and Neverwinter Nights games many moons ago.
You can start out with something as simple as making a short fetch or kill quest in an RPG and going from there.
Maybe you can find one of your favorite games that has a toolset. That way you'll have some context and a passion for the material before you start out.
The strength of approaching modding first, is that you already know the game you are modding, so this can be an intuitive way to start out. You’ll be working from something you already know and understand.
So what are some good games to dive into?
Minecraft - The game that was the entry point to gaming itself for so many, is also a great place to start when it comes to modding. Given the games massive reach and popularity there are a virtual treasure trove of modding resources available.
Skyrim - The Bethesda Elder Scrolls series has a history of strong mod options and Skyrim is no different. It has an expansive and fairly fully featured set of mod tools that come bundled with the game. It also has a fairly vibrant community. You can check out places like Nexus Mods, the Skyrim modders reddit, or any number of great You Tube tutorials. If you prefer your RPG to be post apocalypse instead of fantasy check out Fallout 4's similar tools.
Super Mario Maker 2 - A console experience takes away much of the complication and allows you to focus on just creating a fun experience for others players. While it might not teach you as many technical skills, it is a fantastic opportunity to focus on how you pace for fun in games.
Overwatch - The Overwatch Workshop allows you to create your own custom maps and rules for the team based shooter.
Starcraft 2 - The editor that can be accessed for Starcraft 2 is pretty much the same one that the developers in-house use to make the game itself. It is an incredibly powerful tool that allows users to make all kinds of different game experiences. The Starcraft Arcade has an active development community that is full of support and advice. A good place to start is the mod tutorial forum or any one of the You Tube tutorials that exist, or a site like SC2mapster.
Civilization V - If strategy is more your thing there are some tools available for modding Civilization V that you can quickly sink your teeth into! A good place to start is the fanatics forum for modding.
Counter Strike: GO - A place many fledgling level designers have started out. The community is still going strong and has a near insatiable appetite for new maps. You can start with the developers wiki or hit up You Tube for some tutorials.
Source SDK - Counter Strike uses the Source tools, as with the above you need Valve's Steam platform for this, but it isn't only the venerable old shooter that you can mod. Most of Valve's modern games have mod tools built in, and all can be accessed from the Source SDK. While it doesn't have the most user friendly of introductions, it does have one of the most active and helpful development communities to ask questions of.
Inbetween a mod and an engine
The Unreal Editor for Fortnite is something new and different in terms of what you might want to think of it as. It shares elements of modding, but is also a very powerful development tool. It is effectively a version of the Unreal Engine specifically tailored to building experiences within Fortnite. Given the massive popularity that Fortnite involves this may be a very appealing avenue to get into making your own experiences. You can also check out the info about the Unreal Engine later on this page!
Starting from scratch
Starting from scratch can obviously be a little more intimidating, but there are also some great resources out there that can help you get started for yourself! First let's look at some of the tool-sets that exist out there.
Start small …
These engines usually do something specific, and do it well. They are a great place to start to learn the mechanics of games.
Game Builder Garage - Another entry from Nintendo designed to make an accessible game design platform on the switch. While there is an argument for this to be featured above as a modding platform, Game Builder Garage opens up to more genres than Mario Maker, and is full of solid tutorials. It does allow you to start to make your own games. Albeit ones that are only playable within its own Eco-system. This one is a very user friendly place to start!
Twine - Want to start with just some text? Twine is a text based game creation system that lets you create interactive fiction.
Stencyl - Provides a way to make simple games without the need for any code. It offers a relatively intuitive drag and drop system that can get you up and running pretty quickly.
Game Maker - A great, flexible, starter tool. As with any toolset it can be overwhelming to start with a blank page, but thankfully there are some great tutorials out there. We will get to that in a bit!
RPG Maker - Makes a very specific type of game, but it does that pretty well! If you aspire to creating something JRPG inspired then this is a good option.
Construct - Easy to start development tool with browser based options. Currently on it’s third incarnation and well supported with tutorials.
Ren’py - This is an open source engine for creating visual novel style games. It is easy to dive into and has a good set of tutorials and intro lessons available
Buildbox - A mobile centric platform that offers both 2D and 3D drag and drop tools for making mobile games. Subscription based for publishing your games.
GDevelop - Another open source engine with a drag and drop interface that doesn’t ask you to learn to code.
PICO-8 - This retro themed virtual console allows you to craft small 8-bit games. So if you yearn for that 8bit era this might be a fun way to start making games.
Scratch - Scratch is a coding community for children and a coding language with a simple visual interface that allows young people to create digital stories, games, and animations. Scratch is designed, developed, and moderated by the Scratch Foundation, a nonprofit organization.
Next Level
These engines require a little more knowledge to start out with, but are free, and have some good tutorial support
Defold - Defold is another free to use, source available, game engine with a developer-friendly license. It provides end to support for everything you need to build a game. Supports both 3D and 2D development, with a focus on the latter.
Godot Engine - A free engine with a robust set of development tools. Not as widely used as Unity or Unreal, but has some cool unique features worth exploring once you have your feet wet.
LÖVE - LÖVE is another free engine. This time for 2D games through a scripting language. If you already have some scripting or coding knowledge this is a good lightweight platform for certain types of game. There is a 3D version under the name LÖVR
Learn to Code …
Swift Playgrounds - More a way to learn coding in a fun way than specifically how to make games, but it uses making games as a way of learning to code, so some double value going on here!
The power brigade ….
Then we have the larger scale, high production engines. You can still do small projects and start small within these, but they are powerful game creation engines that have powerful tools for creating any scale or style of game.
You can start here, as both are very well supported with tutorials for beginners given how widely they are used. However do expect to be a little overwhelmed, as they are very broad and deep tool-sets so it is easy to fall down the proverbial rabbit-hole and get lost a little.
Unreal - The professional development suite is now the go to engine for many indie and hobbyist developers alike. What might have been an intimidating professional tool in the past is becoming a much more approachable option now. It still requires some dedication to learn, but can be worth the effort if you aspire to professional looking games. The blueprint system in particular can help you get a game up and running quickly. Check out their extensive support and tutorial section for a head start. Check out some of the tutorials mentioned below for some good avenues to getting into using this engine.
Unity - This is a very popular development platform for indie developers. Used extensively in schools and universities. Like Unreal it has a higher learning curve for a true beginner, but also a high ceiling. You can ultimately make professional offerings with Unity, and it has an active development community.
Almost all of these platforms have tutorials that will get you started with a demo game or two. Simply downloading them and working through the tutorial is a great way to start out. It will let you start to understand how things work, and give you insight into whether you enjoy working with game creation systems.