Iâd also like to add some more specialized resources!
Easy game engines (virtually no coding):Â
Game Maker Studio (2D; free and paid versions)
RPG Maker (2D; numerous versions ranging from free to $69.99)
Stencyl (2D; free and paid subscription versions)
Scratch (good for kids and is more general; 2D; free)
More difficult game engines:Â
Unity (lots and lots of platforms; C# and JavaScript script; 2D, 3D, VR; free and paid versions)
Unreal (specializes in graphics; C++ and visual script; 2D, 3D, VR; free with a royalty on successful products)
CryEngine (Lua script; 3D; paid subscription and full license versions)
Mobile game development:Â
Corona (free and paid subscription versions)
SpriteKit (2D) and SceneKit (3D) which are built into the official compiler to create iOS apps (see iOS apps for more resources)
also all of the above game engines (cross-platform)
Game console development:Â
Game Maker Studio (with a paid subscription)
Note that games can also be created on more general platforms like iOS and Android apps, but the resources listed above are specialized for game development.
In order to develop iOS apps, youâll need to purchase an iOS developer program membership for $99 a year, which requires an Apple account. Here are some general resources:
Xcode (the official IDE for iOS apps; can be installed on OS X)
Start Developing iOS Apps Today (Objective-C)
Ray Wenderlich iOS tutorials (Objective-C and Swift)
Code School: Try iOSÂ (Objective-C)
Developing iOS 8 Apps (2, 3, 4, 5, 6, 7; Swift)
TutorialsPoint:Â iOS Tutorial (Objective-C)
How to Make iPhone Apps With No Programming Experience (Swift)
Swift Tutorial: Building an iOS Application (2, 3)
iOS apps are developed in the 2 official languages of Apple: Objective-C and Swift, the latter of which is newer and generally much easier to learn.
the official documentation
TutorialsPoint: Objective-C Tutorial
Ryâs Objective-C Tutorial
the official documentation
The Swift Programming Language (free official e-book)
Swift: A Quick Reference Guide
Xcode also has SpriteKit, SceneKit, and Metal built in, all of which are incredibly useful for creating apps that require elaborate graphics, particularly games.
How to Make a Game Like Candy Crush With Swift (2)
Sprite Kit Swift Tutorial
Create Space Invaders with Swift and Sprite Kit
iOS SpriteKit Physics Tutorial in Swift
Build the Game of Life (Swift)
Scene Kit Tutorial: Getting Started (Swift)
An Introduction to SceneKit (2; Swift)
the official documentation + other resources (Obj-C)
iOS 8 Metal Tutorial with Swift (2, 3)
Getting Started With Metal (Obj-C)
An introduction to 3D graphics with Metal in Swift
Also, in order to publish iOS apps, youâll have to juggle certificates, app ids, and provisioning profiles. This process can be convoluted at times so here are some resources:
How to Submit Your App to Apple: From No Account to App Store (2)
Beginner Tutorial: iOS Certificates & Provisioning Profiles
In order to develop Android apps, youâll need to register as a developer for a one-time fee of $25. Here are some general resources:
Android Studio (the official IDE for Android app development; free; can be installed on Windows, OS X, and Linux)
the official documentation
Android Tutorial For Beginners (2, 3)
Learn Android SDK From Scratch
Introduction to Android Development With Android Studio
Android apps are developed in Java and the layout is coded with XML.
W3schools:Â Java Tutorial series
TutorialsPoint:Â Java Tutorial
W3schools: XML Tutorial series
TutorialsPoint: XML Tutorial
For publishing (which is somewhat easier than publishing iOS apps):
How to Publish to the Android Market
Blender (can also be used to create games; Python script; free and open-source; can be installed on Windows, OS X, and Linux)
Maya (specialized script; free trial, free 3-year student subscription, and paid subscription versions; can be installed on Windows, OS X, and Linux to an extent)
3ds Max (Python script; free trial, free 3-year student subscription, and paid subscription versions; can be installed on Windows and OS X)
RenderMan (specialized script; free for non-commercial/educational use and pay-per-license for commercial use; can be installed on Windows, OS X, and Linux)
Stack Overflow is an ask-and-answer community for programmers. Itâs amazing and will save your life. Sign up and donât be afraid to ask for help.
Github offers a student pack (here) if you create an account and prove youâre a student. This gives you free access to a bunch of great programming resources for free for a certain period of time, such as Unreal Engine. Also, Github in general is a site that you can host your code on. Other users can see it, and âforkâ it to make a copy of your code and modify it.
Parse is a backend service that allows you to store data in databases it hosts on its own servers. It lets you use push notifications, create users, store and retrieve data, etc. Itâs compatible with iOS apps, Android apps, Windows apps, Xamarin, React, Unity, OS X, Windows, JavaScript, PHP, .net, Arduino, and Embedded C. Itâs free up to a certain limit that depends on the services you use.
Cloud9, Codebox, and Squad are online IDEs that allow for real-time collaboration and support a variety of languages, so theyâre useful for team projects.
Your program will not work right away, 99% of the time. Thatâs okay. Do your best to figure out where the error is. Here is some advice on debugging (written for PHP but the methods can be generalized).
If youâre stuck, Google. Google like thereâs no tomorrow.
Ask questions on a community like Stack Overflow.
For that matter, browse relevant Stack Overflow questions. You can probably find some solutions there.
Donât be afraid to copy and paste.
Take breaks sometimes if youâre getting burned out. But donât stay away from your projects for too long or youâll lose track of its status.
Backup your code. On the cloud, on a USB drive, wherever. If your IDE has a backing up feature like snapshots, use it whenever you hit a milestone.
If your project is big, split it up into milestones and set goals. Donât tackle everything at once.
Like the OP said, coding isnât just for professionals and âgeeksâ anymore. Anyone can learn it if you really try, and with the rapidly expanding tech industry, learning coding can really broaden your opportunities.
If any of the links are broken, or you have a question or some information/resources to add, you can contact me through the askbox or the OP through his Twitter (as mentioned in his post).
If youâre interested, try some of these out and best of luck!