Hi Cody, this is a great question and it gets asked a LOT. Whatever happens, DO NOT ASK THIS QUESTION ON STACKOVERFLOW because you will get excoriated!! (LOL) The very first thing you absolutely need is a good text editor (better than Notepad), such as Sublime Text 2. The most important thing is to get a text editor which highlights code in different colors making it at least fifty times easier to understand what's going on.
With regard to what language to use, I think the following comments from boogyman19946 (in a different post) are spot on:
"Start with a language that provides a minimal amount of control so that you can accomplish what you want. There is no reason to choose a behemoth like C++ because it's "faster" or because it gives you "more control." You're not programming task schedulers, you're learning to make a game. You don't need the extra control! It only adds complexity and makes things harder. When the time comes that you need the proverbial speed of a compiled language, you'll quickly realize that picking up C++ isn't as hard as it would have seemed at first because you'll know most of what you need already."
In the spirit of boogyman19946's comments, I recommend starting out with Ruby, using the Gosu Gem. Ruby is the easiest mainstream language to learn, and once you get comfortable with it, all the other programming languages will begin to make sense. Here is a comment which somebody made on the Gosu Forums, which expresses how many people feel about Gosu:
"A lot of....kids (not me, ok...me too...), struggle with RPG Maker xp/vx/2003/etc. Well tonight I downloaded Chris Pines Pragmatic Programming - Learn to Program Ruby and that makes it at LOT easier. And I get so frustrated with RPG Maker VX because I can't find everything to help me understand. Like the Window_Base script inherits from Window and that script isn't in the script list for editing... But THANK GOD (like really, thank you God) I found Gosu."
Another bonus of Ruby is that it is the language of Rails (the future of web development). If you are on a PC, installing Ruby is really easy.
class Game < Chingu::Window
self.caption = "Simple Game"
self.input = [:holding_left, :holding_right, :holding_up, :holding_down, :esc]
@player = Chingu::GameObject.create(:image => Image["face.png"], :x => 30, :y => 70)
def holding_left; @player.x -= 3; puts "left"; end
def holding_right; @player.x += 3; puts "right"; end
def holding_up; @player.y -= 3; puts "up"; end
def holding_down; @player.y += 3; puts "down"; end
def esc; exit; end
Python is also pretty easy to get started with, using Pygame. Java is good for starting out too.
PickupSticks is a great suggestion for a first game to try making.
Edited by ml_, 25 November 2013 - 09:38 PM.