Below are links and descriptions to software and tutorials that I’ve found useful. By no means a comprehensive list, just the ones I have experience with. But if you have a tutorial series you recommend, drop me a line!
Software and Game Engines:
GameMaker Studio: Currently this is my engine of choice. The basic version is inexpensive, and occasionally put on special offer. The extra modules to compile to mobile, mac, etc are a bit more expensive. Of the engines I have tried, this one seems to be the most “universal” (not bound to a specific style of game.) If there is a game, or for that mater just about any app idea you have in your head, you should be able make it with this engine. It is easy to use in the sense of being being easy to get started, however it is extremely comprehensive – so don’t plan on becoming an expert in a weekend. They are currently transitioning to a new version, Gamemaker Studio 2. The one downside to this engine is that it does not come with any assets (sound effects, artwork, backgrounds, etc), so you will have to either be your own artist, or find/buy assets separately.
RPG Maker: If you are interested making in an RPG type game, this is an excellent engine. What exactly is an RPG type game? Any kind of a story based along controlling a character, exploring dungeons, fighting monsters, questing for artifacts, and so forth. It allows you to easily set up maps, dungeons, dialog, story, and all parameters of items with no coding. Best of all, it comes with a nice package of assets including music, sound effects, artwork (backgrounds, landscape, building, character and monster sprites, etc.). You can also buy expansion asset packs fairly inexpensively. The downsides: although you can push the boundaries of an RPG type game a little by creating/importing custom scripts, if you want to create something that’s significantly different than an RPG, you’d probably be better off with a different engine. As a side note, if you are just looking for 2D assets, you could do worse than buying this for the assets alone.
Unreal Engine: I am including a link to the Unreal Engine, as it was the first game engine I tried to work with; however this was not the current version, so I will not include a lot of comments. My experience with the engine was very positive, and it can create beautiful 3D environments. I stopped using it not because of the engine itself, but because of the enormous time investment to create game assets for it. I wanted to spend my time on the story, and didn’t want to invest an entire weekend to create the 3D model, for, let’s say a wheelbarrow, or a shrub, or a rock. The engine does come with quite a few assets, but this can be a double-edged sword. Even if you are able to use 90% the provided assets, unless you are able to create assets of a similar high quality, yours will tend to stick out like a sore thumb when placed next to theirs.
Blender: This is a free, open-source 3D modeling program. Its very powerful and complex, and does take a little effort to learn, since the GUI changes depending what mode you are in, which I learned the hard way – you can spend 10 minutes looking for a specific command, only to find its not there, because you are in the wrong mode. If want to get started with Blender, I would highly recommend doing a few tutorials; even those showing artwork that is not necessarily what you are trying to accomplish can teach you tips and tricks that you can apply to other types of artwork.
Inkscape: A free, open-source vector graphics program. Inkscape will allow you to produce both vector and raster/pixel artwork, and is an excellent to to produce your own artwork for 2D games. It’s very easy to use, although I would recommend going through a few tutorials, as some of the basic commands work differently than you may be used to in other paint programs.
Adobe Photoshop/Elements: I personally use Elements for pixel art, and have yet to find a feature needed to create game art that requires the full version of Photoshop (my wife uses the full version, so I have a direct comparison). Elements is inexpensive and powerful, even in its older versions (I have several licenses that I got free with various old hardware like scanners). Its easy to get started, and there are lots of tutorials out there. Although it is designed for photo editing, the drawing functionality is excellent. My only issues with it are occasional anti aliasing problems. There is also a free, open-source program called Gimp that is well thought of in the gaming community.
Convert CSV: This website has a number of great tools to convert files to the JSON format, which can then be imported to the game. Using external data in a spreadsheet format for a lot of the larger data-sets, like the items database will save a lot of time when you start adding a large number of items, however not all spreadsheet will convert to the JSON format. This site will convert CSV, as well as a variety of other formats to JSON.
Converting Colors: This website not only has a tool to convert a color you are using in your art program to any other possible format (e.g. from HEX color to an RGB that you could create in game using the make_colour_rgb() function and then use this when drawing simple shapes to ensure they match the color palette of your imported artwork. But beyond this it can help you pick out good colors for shadows and highlights of a particular color, and even select harmonious complementary colors based a variety of formulas.
Tutorials (Code Specific):
Gamemaker: Come with a number of basic tutorials built right in. Don’t overlook the “Tutorials” tab on the opening screen – there are quite a few tutorials there that will actually walk you through the process while you are in the program. This ‘learn as you are doing’ approach can be more effective that simply watching a video on Youtube.
Making Games 101: There are individual tutorials on various topics as well as a series covering at top-down “shooter” game. Jonti is kind enough to include a lot of free assets as part of the tutorial series (the art is quite good – he is very modest in describing his artistic ability!) All his tutorial are suitable for beginners, and the overall polish and quality is top-notch.
RM2K Dev: Has a number of tutorial, including a long series called the “RPG Tutorial”, that shows you how to use Gamemaker to create an RPG in the style of RPG maker. Each tutorial is short and to the point.
Pixelated Pope: Has a variety of tutorial from simple to fairly advanced topics. Rather than just a quick how-to, he explains a lot of the theory of why things work the way they do, so many of his tutorials are great to look at after you’ve gotten the hang of basics in Gamemaker, and are looking to start working on more complex projects.
Sergeant Indie: Has a long tutorial series called Turn Based Strategy, but don’t let the name fool you: this tutorial series teaches a lot of useful things you can apply to other games, especially path-finding, and almost any kind of grid based game design. Like the Pixelated Pope, he takes the time to explain the how and why, so his videos tend to be longer than most; but it you want to get serious about Gamemaker it’s definitely worth the investment of time watch them.
Tutorials (Art Specific):
Brush4Hire: Has a series of four tutorials that are a good general introduction to Inkscape. Although Inkscape is very easy to learn, there are also a lot of powerful features that can help you streamline your workflow. If you are going to be doing your own art it’s well worth the investment of time to understand some of the more advanced features, as they will save you time. If it takes you only 3 hours to draw a background instead of 4, that’s an extra hour you have to work on your code, and time is something we never have enough of!
Chris Hildenbrand: Has a number of good Inkscape tutorials on his blog, including several excellent background tutorials (how to draw grass, dirt, water). All his art has a unique and polished style, and the tutorials are very well done. If you are planning on using his technique to draw background tiles for a game, I would suggest you first design a template for how your tiles will be laid out before investing the time in finishing the transition tiles. The transition tiles are time consuming to draw, so you want to make sure you know exactly what transition geometries you are trying to create.
Draw with Jazza: Is focused on the artistic side of things, although Jazza does have a number of tutorials covering game art specifically. Regardless of the focus, there are a number of top notch tutorials on many elements of drawing that can be applied to game art. And Jazza has a funny, and engaging presence that makes his tutorials great fun to watch, even if they don’t apply to something you can immediately use in your game.
GDQuest: Has a number of tutorial series, primarily focused on creating art. Like an artistic version of what the Pixelated Pope, or Sgt Indie offers, he spends time explaining why, not just how. This means that although he does his work with Krita; what he teaches can be applied no matter what your painting tool of choice is.