Jump to content

  • Log In with Google      Sign In   
  • Create Account

Extreme Beginner Help!


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
14 replies to this topic

#1 CodyDuhh   Members   -  Reputation: 105

Like
0Likes
Like

Posted 18 November 2013 - 10:31 PM

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!



Sponsor:

#2 Dragonsoulj   Crossbones+   -  Reputation: 2113

Like
4Likes
Like

Posted 18 November 2013 - 11:32 PM

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.



#3 molehill mountaineer   Members   -  Reputation: 595

Like
4Likes
Like

Posted 19 November 2013 - 01:59 AM

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. 


Edited by molehill mountaineer, 19 November 2013 - 02:04 AM.


#4 CTucker1327   Members   -  Reputation: 177

Like
3Likes
Like

Posted 19 November 2013 - 03:00 AM

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)



#5 herongray   Members   -  Reputation: 118

Like
4Likes
Like

Posted 19 November 2013 - 08:09 AM

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.


Edited by herongray, 19 November 2013 - 08:13 AM.


#6 Godmil   Members   -  Reputation: 744

Like
1Likes
Like

Posted 19 November 2013 - 02:15 PM

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).



#7 ml_   Members   -  Reputation: 280

Like
1Likes
Like

Posted 24 November 2013 - 08:24 PM

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.


Edited by ml_, 25 November 2013 - 09:38 PM.


#8 Manhattanisgr8   Members   -  Reputation: 487

Like
0Likes
Like

Posted 24 November 2013 - 08:28 PM

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


#9 Nils 762   Members   -  Reputation: 130

Like
0Likes
Like

Posted 24 November 2013 - 10:35 PM

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!



#10 Vidar son of Odin   Members   -  Reputation: 1322

Like
-3Likes
Like

Posted 25 November 2013 - 01:54 AM

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.


Edited by Bratie Fanut, 25 November 2013 - 01:57 AM.

Check out my portfolio : https://bratie.wordpress.com

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

 


#11 minibutmany   Members   -  Reputation: 1619

Like
2Likes
Like

Posted 25 November 2013 - 05:20 PM


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.

Pretty much, the only OOP related difference between "hello world" in c++ vs java or c# is the word "class" is required.

You don't have to understand the concepts right away in order to use them.

Actually, more and more beginning programming classes are using Java.

Even with C++ you will eventually need to understand OOP, so you might as well learn it early.

 

Not to say c++ isn't an option...


Edited by minibutmany, 25 November 2013 - 05:28 PM.

Stay gold, Pony Boy.

#12 Vidar son of Odin   Members   -  Reputation: 1322

Like
1Likes
Like

Posted 26 November 2013 - 06:24 AM

 


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.

Pretty much, the only OOP related difference between "hello world" in c++ vs java or c# is the word "class" is required.

 

class and public words.. but i dont want do go deeper with this. I totally understand your opinion and agree with you. I upvoted you. What i was trying to say to Cody is that he can start with C++ if he wants to because i was a total begginer 1 year ago and now learning c++ provided me with the necessary knowledge to make few small games and understand c# and java too.


Check out my portfolio : https://bratie.wordpress.com

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

 


#13 duesjov   Members   -  Reputation: 270

Like
1Likes
Like

Posted 26 November 2013 - 09:51 AM

I would suggest going the c# or java way. Personally i started with c++, but after switching to c#, i am regretting not taking that road from the start.

 

c++ is good, but java and c# is so much easier, and when you are a beginner, you don't need the power of c++.

 

ofcourse that's just my opinion.



#14 Kaptein   Prime Members   -  Reputation: 2165

Like
0Likes
Like

Posted 26 November 2013 - 10:09 AM

I would suggest going the c# or java way. Personally i started with c++, but after switching to c#, i am regretting not taking that road from the start.

 

c++ is good, but java and c# is so much easier, and when you are a beginner, you don't need the power of c++.

 

ofcourse that's just my opinion.

It's a good opinion, even for advanced programmers.

No one wants to use a more complicated language without a good enough reason. Unless you are creating a game engine or you are working in game development industry, you really should be looking at the easier alternatives.

There is ALOT more to game development than just the programming.

Consider how long it takes to create a full game. Translate that into hours by comparing the amount of work needed for each language.

You could do the same thing with any programs, such as Maya vs 3dsmax (not that I have any clue which of those is easier)

 

My brother is creating some fun games with Game Maker. And he spends days on it, not years. I work in years.

My games may be more complicated, with scene graphs and all that jazz, but we all do this because games are fun. And so I believe there's that distinction between programmers: I choose to use all my time creating something that may or may not ever be completed, while my brother makes fun games that are short and sweet.


Edited by Kaptein, 26 November 2013 - 10:11 AM.


#15 samgj   Members   -  Reputation: 398

Like
0Likes
Like

Posted 28 November 2013 - 11:04 AM

I think modding is a good place to start for game design. It allows you to make a game (although with a lot of limitations) without all the work and gives you a look at how the game was made. I think one of the best games for beginners to mod is Warcraft 3. It is where I got started. It has an easy to use map editor, an object editor, and uses both drag and drop scripting and classic scripting with it's custom language Jazz. Skilled users have created RPG's, FPS's, and even a roller coaster simulator. I've heard Starcraft 2 is has more features but I've never played it. Other good games to mod are Half-Life 2 and Civilization 4. Civ 4 can be easily modded with XML or you can get even more power using Python.

 

For programming I started with BASIC. Don't do that. It is an extremely messy and outdated language. Modern dialects might be better but, I have not tried them. After a few weeks with BASIC, I switched to Python. I would recommend Python because it is easy to learn, write, and read. Another good thing is that many programs use it for scripting, such as Blender (which has a game engine) and also, many libraries have bindings in it. What doesn't have a Python binding will have it in C/C++ which could be included into a python program with ctypes. A good thing with C/C++ is that so many programs are written with them and most libraries have bindings in it. Another thing is that many languages are inspired by it.

 

With programming you should get inspiration. You could read open source programs' code (start small). A lot of important and advanced software is open source. The DOOM engine, SCUMM, and even the more recent id tech 4, are now open source. You can even find the source for Valve Software products at their GitHub page. Just don't copy anything they have because it is not FOSS.


MLNM-ONE: open source video game engine

Unincorporated Media's Website: my company's website





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS