The path to becoming a game programmer....

  • (2 Pages)
  • +
  • 1
  • 2

21 Replies - 8997 Views - Last Post: 27 July 2009 - 05:06 PM Rate Topic: -----

#4 SixOfEleven   User is offline

  • Planeswalker
  • member icon

Reputation: 1055
  • View blog
  • Posts: 6,643
  • Joined: 18-October 08

Re: The path to becoming a game programmer....

Post icon  Posted 24 May 2009 - 10:41 PM

I have seen too many posts like:

Quote

I want to bring a team together to make the next World of Warcraft

I want to bring a team together to make a new mmo mafia game

I want to make a game like Age of Empires


There is something that you have to understand about those games. Usually they were made by large companines with huge budgets and many programmers, designers, artists and other people that are involved in creating a game.

If you want to start making games here is some advice.

First, decide what language you want to write your games in. If you like C++, the learn all there is to know about C++. Same goes for other languages like C#, VB.NET, Java, any language. Knowing the language is very important. Even if you are just a game designer, who comes up with the ideas, you need to know what is possible and what the language can do. For example, if you want to make a cross-platform game that will run on Linux, Windows and Mac, you need to know that leaves out languages like C# and VB.NET.

Once you have learned the language, don't think that you are ready to make the next big MMO. That is still pretty unrealistic. There are still many steps that you need to follow.

You might have learned while you were learning your language of choice that it can take planning to make a large, complex program. You can't always just sit at the keyboard and through code at some problems. You need a plan on how you are going to go about everything, especially when you get to larger, more complex games.

Many people say to start with a Tetris clone to get started. That is actually a good starting point but I have one that you might want to try before that. Take a look at puzzle games like Bejeweled 2 and Alchemy. Both are very popular games and I think that they are a good place to get started.

Making a puzzle-type game like Bejeweled 2. That will introduce you to working with graphics and how the player will interact with your game. You can learn a lot from a puzzle game. If you think Bejeweled 2 might be a bit hard, then I would try Alchemy by Pop Cap Games. Both of these games are wildly popular and could easily be written by a single person. (If you are not a graphics artist, like me, there are many places on the web where you can find good free graphics to use, even if when you are finished your game you want to sell it.)

Now that you have the basic understanding of how a game works. A breakout, arkanoid or pong type game would be a good next step. These games add movement of sprites and collision detection. What is better is just about anybody can draw blocks and balls. There will also be an introduction to timing. Unlike the previous game, timing is not all that important. Unless of course you have a count down that the player must finish the game in time. You might also need to start thinking about drawing to a back buffer and presenting the back buffer to the screen/window.

Now would be a good time to make the Tetris clone. Tetris is still a simple game but it does add a few new complexities such as rotating the blocks, something that you hadn't done before.

After Tetris I would recommend a space shooter. And don't just have the enemy fly in straight lines. Have them follow curves. Give them a little intelligence for when they drop their bombs.

By now you will have a better idea of what goes into designing and writing a game. A good game to try now would be some sort of platform game that takes place on one screen. Like the old game Donkey Kong or Pac-Man. If you did Pac-Man how would you have the ghosts move? In the original Pac-Man each of the ghosts had their own goals. For example one of them tried to find the shortest path to Pac-Man. Another tried to block off the tunnels. Platform games will introduce you to a tiling system. Something that is used a lot.

With these games under your belt you would be ready to try something greater. I would suggest a side scroller like Super Mario Brothers for the NES. These types games will add more complexity to what you were working with before. You now have a scrolling screen. You will have levels. You will need to make a level designer. You will have to program how all of the characters in the game will work, especially any sub bosses and bosses.

Now would be a good time to think about multi-player games. First you could have two players taking turns on the same game like the side scroller like Mario and Luigi. Then you would want to have two players playing at the same time on the same computer in coop mode. Then, try making a game where the players compete against each other.

You might be able to do a single player RPG. In a role playing game there are probably many thing that go on that you will have done before. There is defining the character classes and possibly races. The enemies the player will fight will be more complex than any enemy you have programmed so far. You now have to worry about inventory management, buying and selling items, creating whole worlds, balancing the game so it is not too hard and the player gets frustrated or so easy that when the character reaches the top levels it is killing the most powerful enemies in your world with a flick of their finger. You will have to do a lot of planning for the RPG.

Instead of a RPG you might think of doing a strategy based game(turn or real-time). There will be a lot of things in common. You will need to make worlds for the player(s) to explore. Again, you can add mulitplayer supprot to the game.

If you haven't already, now might be the time to make the jump to the third dimension. A lot of what you learned up to now will help but moving to the third dimension is a very big leap. There are many complex topics and hard math to understand. But, don't get frustrated. Start by learning how to draw objects in 3D. Learn how to rotate and scale them. Learn how to model a small room and have the camera move through the room. There is a lot to learn in 3D. But, just like you did for 2D games, start small and build your way up.

Once you have a better understanding of how all the above games work, I think you are more than ready to create your team of people with similar interests and capabilities to create a good game. Just remember, some of the most popular games are extremely simple, like Tetris, Bejeweled 2, mahjong, even card games are popular (especially if you can play others over the internet).

I hope that helps all of you out there that want to make games. For those of you who are experts at making games, feel free to add anything that I have left out or any helpful advice for somebody wanting to learn how to program games.
Was This Post Helpful? 4

#5 woodjom   User is offline

  • D.I.C Addict
  • member icon

Reputation: 34
  • View blog
  • Posts: 566
  • Joined: 08-May 08

Re: The path to becoming a game programmer....

Posted 24 May 2009 - 11:03 PM

Preach it brother. The best some of these coders can do is help in creating a granule of a game. High hopes and aspiration is the first step to making a game (whether web or client based) but in today's day and age, even that will not produce a game like WOW, EQ1 | EQ2, LOTRO, etc.

What they can do is get a group of individuals together that have pieces of understanding of each major part needed to design a game and you might be able to develop a fledgling game. Even then by time you have it up to deployment, you will most likely have to recode and redevelop every 2 to 3 years due to increase in technology for GPU's and Environment standards.

I dont mean to get anyone's hopes down about this, cause i myself am striving for something similar. But i am starting at the core, by building a engine to render but even then i dont even have the aspiration of developing everything. So get you some associates that have strengths in areas you do not and leverage that skill to assist you in your aspiration.

Lastly, remember the more individuals involved in a project, the more ideals and ideas tend to clash. As such, be sure that everyone has one common goal and dont argue about the minute processes in the SDLC. And dont let a few hurdles in coding stop you from getting to your end goal. Anything worth getting is not given for free or in short time. Most rewarding things in life are only truly rewarding when they have been made and let to cultivate by themselves for years with helpful nudgings from their surroundings.
Was This Post Helpful? 0
  • +
  • -

#6 hollingsworthdan   User is offline

  • New D.I.C Head

Reputation: 2
  • View blog
  • Posts: 18
  • Joined: 22-May 09

Re: The path to becoming a game programmer....

Posted 28 May 2009 - 06:28 PM

This should be mandatory reading for anyone who wishes to post in the Game Programming Forum!
Was This Post Helpful? 0
  • +
  • -

#7 no2pencil   User is offline

  • Professor Snuggly Pants
  • member icon

Reputation: 6703
  • View blog
  • Posts: 31,082
  • Joined: 10-May 07

Re: The path to becoming a game programmer....

Posted 28 May 2009 - 06:33 PM

Well put SixOfEleven.

If you'll notice the topic starters that usually want to "put together a team" will admit that they themselves have no coding experience. Yet their plan is to be able to (with no experience mind you) lead a team of developers. Usually the only ones that join these misguided adventures are beginning coders that are willing to learn, but think they'll learn from others on the team. & it goes as far as the early stages of planning.

I'm going to link your post when replying to those topics from now on... thank you SixOfEleven. I really hate to discourage others that truly mean well, & may even be as success, just because so many have failed previously.
Was This Post Helpful? 0
  • +
  • -

#8 SixOfEleven   User is offline

  • Planeswalker
  • member icon

Reputation: 1055
  • View blog
  • Posts: 6,643
  • Joined: 18-October 08

Re: The path to becoming a game programmer....

Posted 29 May 2009 - 07:05 AM

View Postno2pencil, on 28 May, 2009 - 07:33 PM, said:

Well put SixOfEleven.

If you'll notice the topic starters that usually want to "put together a team" will admit that they themselves have no coding experience. Yet their plan is to be able to (with no experience mind you) lead a team of developers. Usually the only ones that join these misguided adventures are beginning coders that are willing to learn, but think they'll learn from others on the team. & it goes as far as the early stages of planning.

I'm going to link your post when replying to those topics from now on... thank you SixOfEleven. I really hate to discourage others that truly mean well, & may even be as success, just because so many have failed previously.


My intention was not to discourage those who want to make a game but to help them find the path to follow to become a game programmer.

I'm happy to see this topic pinned and featured.
Was This Post Helpful? 0
  • +
  • -

#9 DoubleFission   User is offline

  • D.I.C Head
  • member icon

Reputation: 24
  • View blog
  • Posts: 223
  • Joined: 20-September 08

Re: The path to becoming a game programmer....

Posted 30 May 2009 - 10:25 PM

... So I take it you don't want to be on my team to create an MMO :P

</sarcasm>
<serious>

Good read, though it makes me feel bad for starting with pong...

I want to go back and remake bejeweled now
Was This Post Helpful? 0
  • +
  • -

#10 SixOfEleven   User is offline

  • Planeswalker
  • member icon

Reputation: 1055
  • View blog
  • Posts: 6,643
  • Joined: 18-October 08

Re: The path to becoming a game programmer....

Posted 30 May 2009 - 10:53 PM

View PostDoubleFission, on 30 May, 2009 - 11:25 PM, said:

... So I take it you don't want to be on my team to create an MMO :P

</sarcasm>


:D, depends on if you can prove your skill

</even more sarcasm>

Quote

<serious>

Good read, though it makes me feel bad for starting with pong...

I want to go back and remake bejeweled now


Thanks,

:D nothing wrong with pong... It is as good a starting place as any... I just feel puzzle games are a bit better starting place, no real AI or keeping track of objects in "real time" and a little more simple collision tests, thats all...

Six
Was This Post Helpful? 0
  • +
  • -

#11 stayscrisp   User is offline

  • フカユ
  • member icon

Reputation: 1040
  • View blog
  • Posts: 4,325
  • Joined: 14-February 08

Re: The path to becoming a game programmer....

Posted 31 May 2009 - 03:41 AM

I only wish that these pinned threads would actually help.

A few attempts have been made
Here, Here and Here.

To no avail :(

Lets hope this one works to stop the questions that can be answered within a few minutes on google.

Great topic :^:
Was This Post Helpful? 0
  • +
  • -

#12 SixOfEleven   User is offline

  • Planeswalker
  • member icon

Reputation: 1055
  • View blog
  • Posts: 6,643
  • Joined: 18-October 08

Re: The path to becoming a game programmer....

Posted 31 May 2009 - 07:00 AM

View Poststayscrisp, on 31 May, 2009 - 04:41 AM, said:

I only wish that these pinned threads would actually help.

A few attempts have been made
Here, Here and Here.

To no avail :(


All we can do is keep trying... :)

Quote

Lets hope this one works to stop the questions that can be answered within a few minutes on google.

Great topic :^:


Thanks. Let's hope it works. :^:

This post has been edited by SixOfEleven: 31 May 2009 - 07:02 AM

Was This Post Helpful? 0
  • +
  • -

#13 NeoTifa   User is online

  • NeoTifa Codebreaker, the Scourge of Devtester
  • member icon





Reputation: 4309
  • View blog
  • Posts: 18,676
  • Joined: 24-September 08

Re: The path to becoming a game programmer....

Posted 03 June 2009 - 12:54 PM

I started with rock paper scissors and then a space shooter then pong. Am I kinda backwards then?
Was This Post Helpful? 0
  • +
  • -

#14 stayscrisp   User is offline

  • フカユ
  • member icon

Reputation: 1040
  • View blog
  • Posts: 4,325
  • Joined: 14-February 08

Re: The path to becoming a game programmer....

Posted 03 June 2009 - 03:18 PM

Totally backwards :P
Was This Post Helpful? 0
  • +
  • -

#15 stayscrisp   User is offline

  • フカユ
  • member icon

Reputation: 1040
  • View blog
  • Posts: 4,325
  • Joined: 14-February 08

Re: The path to becoming a game programmer....

Posted 05 June 2009 - 11:47 AM

Going to a university or college is definitely a serious boost in your chances of getting a job in the industry. Most colleges have a lot of contacts to get you into a sandwich course with a year in the industry.

One thing that I cannot stress more is that you need your basics down no matter which language you decide to use, if you are trying to make a game and you find you have to google almost everything you want to do then you should slow down, try something smaller until only the more advanced concepts require research.

For example if you don't know how to iterate through a vector then you have a lot more to learn, knowing when to use loops and when best to use different control flow statements can be a real plus.

Good luck!
Was This Post Helpful? 0
  • +
  • -

#16 chuckb   User is offline

  • D.I.C Head

Reputation: 13
  • View blog
  • Posts: 211
  • Joined: 29-May 09

Re: The path to becoming a game programmer....

Posted 09 June 2009 - 10:00 AM

Hi,
This is a good posting. Thanks!

Newbies have a difficult time differentiating between game playing and game programming.

I like the idea of interested people creating their first simple game like those suggested above. People can step back and say, "This is great!" or "This is too hard!". It's an eye opener. Creating a pong game in Win32, SDL, GL, or DX is not easy nor intuitive for most people. So games of this calibre are excellent starting/learning projects.

Newbies also are biased by playing cutting edge AAA games. The idea of creating a pong game is often 'beneath' them. :D

Regards,
Chuck
Was This Post Helpful? 0
  • +
  • -

#17 SixOfEleven   User is offline

  • Planeswalker
  • member icon

Reputation: 1055
  • View blog
  • Posts: 6,643
  • Joined: 18-October 08

Re: The path to becoming a game programmer....

Posted 13 June 2009 - 08:22 PM

View Postchuckb, on 9 Jun, 2009 - 11:00 AM, said:

Hi,
This is a good posting. Thanks!

Newbies have a difficult time differentiating between game playing and game programming.

I like the idea of interested people creating their first simple game like those suggested above. People can step back and say, "This is great!" or "This is too hard!". It's an eye opener. Creating a pong game in Win32, SDL, GL, or DX is not easy nor intuitive for most people. So games of this calibre are excellent starting/learning projects.

Newbies also are biased by playing cutting edge AAA games. The idea of creating a pong game is often 'beneath' them. :D

Regards,
Chuck


IMHO, starting game programming is like starting programming. The learning curve can be high for those new to game programming just as the learning curver for learning programming can also be high for some. You usually have to start at the beginning, trying more complex programs or games as you build your knowledge base. Each new program or game will teach you something new as you try things you have not tried before.

Regards,

Jamie
Was This Post Helpful? 1
  • +
  • -

#18 shriek   User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 10
  • Joined: 26-June 09

Re: The path to becoming a game programmer....

Posted 26 June 2009 - 11:48 AM

All this is good but nobody really talks about how to implement graphics on C++. It's not like I can make a game in a console shell. Can anyone tell me how bitmaps and images are used in C++?
Was This Post Helpful? 0
  • +
  • -

  • (2 Pages)
  • +
  • 1
  • 2