Sign in to follow this  
Slateboard

Do I learn the skills I need then make the game, or do I work on the game, and learn the skills along the way?

Recommended Posts

Slateboard    213

if you understand this concept (wikipedia)

 

while( user doesn't exit )
  check for user input
  run AI
  move enemies
  resolve collisions
  draw graphics
  play sounds
end while

 

you are ready to start

I do, actually.

 

In fact, when I'm brainstorming for design ideas, I'm also thinking of how they function in this format.

 

That said, what is my problem then? Why am I not out there just doing stuff?

Share this post


Link to post
Share on other sites
Aldacron    4544

There are two separate skill sets involved here. One we might label a programming skill set and the other a game programming skill set. The first comprises the foundation you need to put together any sort of software application. The second is the set of knowledge and abilities specifically related to game development. Trying to learn the second while knowing nothing about the first is asking for a world of hurt.

 

Assuming a level of comfort with basic programming, then the answer to your question would be yes. You learn the skills needed to make games by diving in and making games, preferably starting with small, simple games and progressively making more complex ones (with the caveat that not everyone learns alike, so there are some people who dive into the deep end first). As you do so, you can't help but become a better programmer in the process. But it does require that you have that foundation first.

Share this post


Link to post
Share on other sites
King Mir    2490
I recommend jumping in and working on the game you want to make. Having a project to apply programming skills to and is useful to learning and provides motivation.

Share this post


Link to post
Share on other sites
Alpha_ProgDes    6921

You're letting the issue of "I don't know" get in the way of "learning how to know". In other words, "just do it". There are so many tutorials out on the web. Just pick one --I normally suggest Lazy Foo's SDL tutorial-- and work your way through it. Don't be scared to jump in. Remember the pool has a 3ft area and an 8ft area. You don't have to jump in the 8ft area to learn how to swim :)

Share this post


Link to post
Share on other sites
hikarihe    243

if you understand this concept (wikipedia)

 

while( user doesn't exit )
  check for user input
  run AI
  move enemies
  resolve collisions
  draw graphics
  play sounds
end while

 

you are ready to start

I do, actually.

 

In fact, when I'm brainstorming for design ideas, I'm also thinking of how they function in this format.

 

That said, what is my problem then? Why am I not out there just doing stuff?

 

 

You're letting the issue of "I don't know" get in the way of "learning how to know". In other words, "just do it". There are so many tutorials out on the web. Just pick one --I normally suggest Lazy Foo's SDL tutorial-- and work your way through it. Don't be scared to jump in. Remember the pool has a 3ft area and an 8ft area. You don't have to jump in the 8ft area to learn how to swim smile.png

 

this. do tutorials until you don't need them ^^;

Share this post


Link to post
Share on other sites
Slateboard    213

It all makes perfect sense. Well at least I can be clear that failure at this point is my own fault.

 

That said, I use C# and XNA so any tutorials related to that would be appreciated.

Share this post


Link to post
Share on other sites
hikarihe    243

It all makes perfect sense. Well at least I can be clear that failure at this point is my own fault.

 

That said, I use C# and XNA so any tutorials related to that would be appreciated.

 

XNA Game Development by Example 

 

by Packt

 

There is a 2D and a 3D book

 

good luck!

Share this post


Link to post
Share on other sites
Alpha_ProgDes    6921

It all makes perfect sense. Well at least I can be clear that failure at this point is my own fault.

 

That said, I use C# and XNA so any tutorials related to that would be appreciated.

 

You only fail if you give up. Indecision is never failure, just ask Lebron James.

Share this post


Link to post
Share on other sites
Daaark    3553
Mr Cenation, you learn while doing, and you never stop learning. Your starting point now is to read through C# books and pick up all the information you can. Practice, and make sure to complete all the end chapter exercises.

http://msdn.microsoft.com/en-us/library/aa288436(v=vs.71).aspx

Also, see my post here: http://www.gamedev.net/topic/639627-best-way-to-learn-game-programming/

Share this post


Link to post
Share on other sites
Fla5hbang    178
I was wondering the same thing! I no what kind of game I want to make but I'm not sure If I should learn as I go or strap down and learn things I dont even intend on using. So far though my prob is memorizing long lines of code though so I plan on spending more time practicing things I need.

Share this post


Link to post
Share on other sites
Daaark    3553
You need to know the basics of your language before you start anything, otherwise you can't even begin to design, because you don't even know what tools are available to you or how they work. Once you learn enough of the basics, you will start to understand how to mix and match them to make your ideas work.

You do not have to memorize anything. When you need something, it's there to look up.

Share this post


Link to post
Share on other sites
Anri    971

SlateBoard, my friend, what is missing is the confidence to just have a go at making a game.  The best thing you can do right now is learn how to draw a bitmap to the screen, display some text and obtain some cursor key input. If making a game is a tall order then just start with a simple demo of a character walking around an environment(2D, 3D whatever).

 

Give things a shot. Do it how you think it can be done - even if you are not sure its the "correct" way to do it. You WILL make mistakes along the way, but the main thing is that you just do it.

Share this post


Link to post
Share on other sites
Fla5hbang    178
Iv been using python seince freshman year in high school I stopped for a while but I can still remember pythons rules and such iv even made a few programs to brush of my rust. I can do basic things in pygame like basic animation and I can make a cube move around using the arrow keys. Where should I go on from there? Right now I'm copying code and tinkering with it like changing colors, coordinates and such.

Share this post


Link to post
Share on other sites
minibutmany    1998

So far though my prob is memorizing long lines of code though so I plan on spending more time practicing things I need.

 

As far as memorization goes, there are a few keywords you need to know, and It is good to get a nice knowledge of the SDK or whatever you're using, but when you really feel confident as a programmer is when you understand how each line of code works, what it does, and how you can change its arguments to make it work differently. I never really liked mushing other people's code together, because it usually turns into a big soupy mess and doesn't teach you as much as you had maybe hoped about programming. You can look at other people's code for reference or for ideas, but it really helps to type out each line, think about it, and get a really clean knowledge of how everything works together. That way, when you want to program something from "scratch", you feel like you know how to implement each feature.

When a problem comes across in your code(such as simple collision detection), before reaching for a book or looking on Google, try to see how far you can get solving the problem by yourself. Doing that as much as you can will definitely slow down your project, but will make you a more confident coder in the long run. Many problems in programming aren't really about knowing what "word" or "command" in the language to use, but about a good understanding of mathematics and logic.

Share this post


Link to post
Share on other sites
booomji    249

Both ways "could" lead to the same place but my own experience (through hurt as daaark put it) has got me going back to getting the language and paradigm down over blustering through a game. 

 

So "along" with doing the gameinstitute courses i am religiously following these resources.

 

http://see.stanford.edu/see/lecturelist.aspx?coll=11f4f422-5670-4b4c-889c-008262e09e4e

http://see.stanford.edu/see/courseinfo.aspx?coll=2d712634-2bf1-4b55-9a3a-ca9d470755ee

 

fwiw

 

b

Share this post


Link to post
Share on other sites
SpeedRun    850

Start by making a simple game such as a Tetris or Pong clone. This way you will have a much better understanding of how to go about making a more complex game.
For a more detailed account of why making a Pong clone is a good idea as your first game, you can read this post of mine

 

[entry='2254511']Why Make Pong[/entry]

Share this post


Link to post
Share on other sites
Nicholas Kong    1535

From experience, it's surprisely a combination of both! 

 

For example: you will learn the skill to set up the game canvas and adding your game components to the game canvas to put together your game. 

 

Even the simple game like an arcade shooter clone in Java will make you recall all the basic intuitive math! Even classical physics kinematics equations allow you to make your game super smooth! Everything you learned from your introduction to Java programming are all important. Do not neglect learning any of the concepts. They all at some point will play a role. (ArrayLists are super useful so you don't need to keep track of the size of the arraylist yourself!) (Rectangle objects are super useful for basic collision detection between your game objects) 

 

A programming language like Java is huge in the functionality it has to offer. Even I am constantly learning new classes in the Java API to make me more productive in my game project.

 

Honestly, when I learned game programming. It took me a month(on and off) to make sure all the basic meat of the game was there(bgm, sound effects, collision detection, life bar) and also everything was bug-free. A month of time getting everything to be bug-free was one of the happiest thing I did in my life.

 

Also, please get started! This is the only way to test your skills of what you know and what you don't know. Reading books alone will only get you so far. So you actually have to do a bit of reading and start applying the knowledge immediately of what you read.

 

I agree, start small. I heard people constantly want to make the next-big thing but end up giving up because it did not meet their expectations. Think of the game project as a hobby that makes you want to learn, make you curious and make you think as a human being. Just start off putting a game window on the screen and then start adding game objects. If you don't know or understand something ask, there are talented and smart people on this forum willing to help. Just be sure to post what you have done so we can better assist your problem.

 

Please bear in mind, don't be put off by the complexity of game programming. There will be things you will need to research to help guide you to your solution. Struggle with the coding and you will find programming to be very elegant.

Edited by warnexus

Share this post


Link to post
Share on other sites
Nicholas Kong    1535

I was wondering the same thing! I no what kind of game I want to make but I'm not sure If I should learn as I go or strap down and learn things I dont even intend on using. So far though my prob is memorizing long lines of code though so I plan on spending more time practicing things I need.

Things you think you don't intend on using are the things you are neglecting to learn. You will be sorry when that thing makes your life easier programming the game. These things are built by programmers and for people using them because it works and saves you time. Why would you neglect learning it? It makes no sense.

 

You're not suppose to memorize code. That is pointless and a waste of brain cells. You are suppose to understand the principles, concepts and ideas behind what the code is saying. Treat programming like a story and you will say "Hey this code was well-written and I actually got something out of it!" Programming is not a memory game.

Edited by warnexus

Share this post


Link to post
Share on other sites
powly k    657

I once started iterating over this algorithm:

 

1) create what you want

2) if 1) fails, learn how to solve the problem

3) go back to 1)

 

Still working on it though, so don't know where it'll lead you!

Share this post


Link to post
Share on other sites
BaneTrapper    1531

In the end, all depends on you.

I like and do it  following way:
Got a image of what i want my game should be, start putting peace by peace until the block is whole. If i cant make a piece learn how to make it then continue. But planing is crucial, because making just random classes and not at least thinking how everything will connect may cause a sphaghety code witch is a pain to work with even when you know what is where. That being said, a thinking of 4hours witch is :( may save like 2hours of rewriting the code witch is actually :) since during thinking you will probably get a clear image of what should be tweaked, what shouldn't even be made and what may be missing.

Good luck!

Share this post


Link to post
Share on other sites
Dennisvb    160

I am learning game programming now. When I started a few days ago I made sure I knew atleast the basics of C++ programming. Now I am trying to make a pong clone and later I will try harder stuff and make my own game!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this