Extreme Beginner Help!

Started by
13 comments, last by samgj 10 years, 4 months ago

Hey guys, my name is Cody, and I'm 18 and extremely interested in making video games, but I have close to no idea of how to get started. I know I need to get to learn programming languages, but I don't know what languages to learn; so basically, I know what I need to get started, but I have no idea HOW to get started.

If you guys can help me with the following:

  • Languages
  • Programs
  • Engines
  • Good beginning projects

My ultimate goal right now is to make a game a lot like Fire Emblem: Sacred Stones for Gameboy Advance. (A 2D, top-down, turn-based strategy RPG.) But I know I'm probably going to have to make some simpler games, or mod other games before I tackle that.

Thanks in advance for the help!

Oh, and sorry if this isn't the right place for this, but I need the help!

Advertisement

I do believe this fully qualifies as the right place. Several (and I do mean a lot) of languages can be used to make games, so this comes back to the usual language war question we get.

What platform(s) would you like to work with? Windows? Linux? Mac? iOS (iPad, iPhone, iPod Touch, I think Mac OSX)? Android? Consoles (more hoops to jump through to get on these, if I recall correctly)?

Do you wish to learn programming in detail or would prefer to begin working on games? They have programs like Game Maker that you could use.

Answers to these two things helps narrow down the choices some.

It depends on what direction you wish to take - it sounds like you're interested in the programming side of things.

When you're just starting out, the most important thing is to learn how to think like a programmer - what data structure do I use for a certain task, what is the difference between a while and a do while loop, what classes do I need to make to solve this problem, etc. Once you have this under your belt learning another language will be relatively easy - it's mostly a matter of understanding the syntax.

For games, an object-oriented language is the norm. It's certainly possible to make a game in a procedural language (like those tetris games you can play on your calculator) but it's a bit of a headache. So, if you want to learn, you need to pick an object-oriented language (commonly referred to as an OO language), find a decent book that will give you exercises to work on and start practicing.

Everybody has their own opinion on which language is best for beginners, I usually recommend java since its syntax is similar to C and it provides many libraries which reduces the complexity of the code.

EDIT: also, I'm working on a pong clone. If you want to take a look at what goes into making a game check out my journal. Don't worry if you don't understand the code yet - I'm making things a bit harder than they need to be. The code will probably look like gibberish but it might give you a better understanding of how much work it takes to make even a simple game.

I personally believe Java is always the best direction to go, especially for a 2D game

As far as Engines go, some people think you should make it yourself, I'm a strong believer of this.

HOWEVER, I do think LibGDX is quite nice.

Programs: Eclipse IDE for Java EE Development, all day, everyday.

Good Beginning project - PickupSticks (A game in which a sprite runs around the screen collecting sticks, similar to snake, but you don't grow, or die)

Hi Cody, hello dear friends!

Cody:

You seem to be a brilliant young lad. Before you waste your time in writing code, etc. I think you should focus on your game.

It doesn't matter what kind of language or software you use, if your game does not attract enough people to play with.

If the game is no good, nobody cares about how brilliant the code is.

I am not a programmer.

Although you may very well be the next genious in video game design, I'm sure you know that most developers tend to hire hundreds of people to do all sorts of things for a game, which may end up being a disaster.

And believe it or not, a respectable number of those folks who work on those projects have PhDs, and some are MIT and Caltech graduates.

Now here is the question: What is your forte?

Game design or coding?

If your strength is game design, I think the best decision would be to pick the most user/programmer friendly language/software bundle to produce a demo, so that you can test it with your peers, collect data, improve your project, fix bugs, all in a relatively short amount of time, and then hopefully you could attract people who would help you with other aspects of the game you envision. (3D modelling, engine design, coding, etc.)

However, I think it might be beneficial to keep this neglected fact on mind:

After so many centuries, chess is still the most popular game in the world... and there are more reasons for it than I could possibly count.

All the best.

RPG maker would get you up and running rather quickly. If you want to learn programming I can recommend the nice bitesized tutorials at Codecademy for JavaScript and Python. Don't worry so much about which language is best, just make sure you're having fun learning, because you'll find learning one language will make it easier to learn another (skills are transferable).

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.

Here is a simple javascript example game. When you check it out, make sure to view the source code, and copy and paste it into your text editor for testing. You can make changes to the code, save the changes, and view the file in your web browser to see the changes.

Whatever programming language you end up using, it will function in more or less in the same way as the javascript example game.

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.

Here is what the javascript example game from above looks like in Ruby:


require 'chingu'
include Gosu
class Game < Chingu::Window
  def initialize
    super(600,400,false)
    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)
  end
  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
end
Game.new.show

Definitely simpler and easier to learn than javascript or C++.

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.

Here is a good site that will help you go in the right direction. If you ever need any help or guidance, this forum is full of knowledgeable people in any language you choose and they are more than willing to help anyone in need.

http://www.gamefromscratch.com/post/2011/08/04/I-want-to-be-a-game-developer.aspx#

Cpl Alt, Travis A

USMC

I was exactly where you are about 6 months ago XD I know the feeling of not knowing where to start.

So far I've only released one text-based game. Currently working on a 2D java based game.

I suggest you start with programming. I started with Java watching a series of tutorial vids. http://thenewboston.org/list.php?cat=31

That'll set you up with a basic understanding of programming.

I also suggest starting with a text-based game to help you memorize and let whatever language you chose soak in a bit.

Best of luck to you!

Firstly I do NOT recomend java and c# as these are very object oriented programming languages and even the simpliest applications need a little bit knowledge of this term: OOP. I started with C++ as a programing language, Visual Studio 2010 Express from Microsoft site (its totally free and you can get now VS 2013 Express) as IDE and HGE(Haaf's Game Engine) as the game engine. And now after six months of work I have done few prototypes (look on my gallery on my profile).

Secondly, you must learn the basics of programming, do some exercises to get the problem solving ability and practice a lot. The HGE site have few tutorials to get you started, the comunity is not so active, but any problem i faced is somehow solved on the forums so i am sure 100% of the problem you will get with this game engine have its solving on the forums.

Finally, you can start with whatever you want and with what you think it suits to you and your goals but if you will consider working with HGE and C++ in Visual Studio don't be shy to tell me if you need help or got some problems.

NOTE:I did'nt read the other posts in this thread, only Cody's post.

"Don't gain the world and lose your soul. Wisdom is better than silver or gold." - Bob Marley

This topic is closed to new replies.

Advertisement