Unity Game Engine (free and paid) is used by many indie game developers. It supports both 2D and 3D game design and uses the scripting language C#. This application is for people who have some background in programming and is not a good application for first time game designers. However, this powerful game engine allows for robust design and extensive feature implementation. (https://unity.com/)
Game Maker Studio (free) is a tool designed to make 2D games, however making 3D games is also possible. Game Maker has the option of using visual scripting on top of using their proprietary scripting language, which allows for an easy introduction to game development. (https://gamemaker.io/en/gamemaker)
GDevelop (free) is an open-source game making application that allows for 2D game creation. GDevelop uses visual scripting to program events and features. There are also many templates users can use to create their own games. This is a great application for beginners wanting to try game development. (https://gdevelop.io/)
Twine (free) is an interactive storytelling application. Twine uses flowcharts to program how the user interacts with the game. This is a great application for any story based games. (https://twinery.org/)
RPG Maker (paid) allows the user to create their own 2D role playing game. The software contains a database of features the creator can use. RPG Maker also has the option for the user to edit the scripts to customize features. (https://www.rpgmakerweb.com/)
Kodu Game Lab (free) is a 3D game development software catered towards younger learners. Kodu uses pre-programmed characters and props to teach basic programming principles. It uses a tile based programming language that is easily understandable by the game creators. (https://www.kodugamelab.com/)