27
\$\begingroup\$

I know actually completing a game is a massive milestone, a complete polished, holistic experience. Something that I've not yet been able to commit to.

There are of course classes and degrees to earn in several fields that will help gain experience, but how would one judge their own progress and strive to progress further?

The yellow brick road to "Rock Star Game Programmer" is very cloudy. At this point I think it may be closer to an ocean, drifting along until you wake up one day at your destination.

\$\endgroup\$
4
  • 3
    \$\begingroup\$ Recommended blog post: makegames.tumblr.com/post/1136623767/finishing-a-game Also features a numbered list of steps! \$\endgroup\$
    – Eric
    May 31, 2012 at 13:34
  • 2
    \$\begingroup\$ More-than-pedantic clarification question: are you wondering about progress as a game developer, or as a game programmer? The answers to your question so far seem to talk about how to measure your progress on building your own game, but the last paragraph and tagging suggest that you might be more interested in how to measure progress in your career as a coder? \$\endgroup\$ May 31, 2012 at 15:18
  • \$\begingroup\$ "Gameplay prototype" and "Vertical slice" are some terms that circle around \$\endgroup\$
    – Kos
    May 31, 2012 at 16:40
  • \$\begingroup\$ @StevenStadnicki : This is a little of both for me. I greatly enjoy coding, but I would much rather my code be used for video games than other programs (If I'm going to bang my head against the keyboard I'd like it to be for something I care about). These are two different roles however. Would a developer be more design oriented and the programmer more of a "monkey"? \$\endgroup\$
    – tokenblakk
    May 31, 2012 at 17:25

2 Answers 2

30
\$\begingroup\$

This of course is dependent on the individual developer and what goals they want to accomplish. But I think the only real measure is the development of games! In my opinion, the path of a game developer closely follows the development of their first game. But then what are the milestones for a game? There are simple enough games that they could be created in a single day and there are those that take years (into mine over a year already!). Clearly the span of creation is a large factor for milestones. If you're not going much further than a mile, you don't pass that many stones :). That being said, there are probably some generic milestones for the medium sized game. I believe you can use the milestones below to gauge your progress towards that rock-developer status. Anyone who can make it through the points listed below certainly deserves that recognition.

(damn this auto numbering! I want to start at 0 like any good programmer would!)

  1. Get an idea for a game. Easy, who doesn't have a list of those somewhere?

  2. Choose your platform and language. You'll always see this question on this site. It's a big one for new developers. (But don't ask here because it's off topic! This is one challenge you need to overcome on your own)

  3. Write the first line of code for your game. As simple as it sounds, this is a fairly big one. I bet there's 100 people who have an idea for a game they want to make but never start for each 1 person who completes this first milestone. They get stuck during a tutorial or they get so caught up in thinking about how to do it, they never do it.

  4. Get something basic going. This could be as simple as getting a triangle to render on screen or using the keyboard to move a little sprite around. At this point you have a bare bones game. It starts, displays some graphics, responds to the player and then ends.

  5. A million smaller milestones These range from getting your art assets loading correctly, to fixing that damn bug, to reading and writing to disk, to that premature optimization that was bugging you just too much to leave it. Getting past this collection of milestones is a pretty big milestone. Plenty of people will give up at this point or start working on something else and never come back. The majority of the milestones in this milestone involve code change->play->repeat. It's important to play test often!

  6. A playable prototype. This should represent your finished product fairly well. Now things are starting to come together. You're 90% there right?

  7. A million million smaller milestones. Oh the grind. You're deep in your second 90% with lots of little changes, fixes, re-optimizing your premature optimizations, brain meltdowns and code re-factoring. This is a major stopping point as well. This part is deceptively difficult. Broad strokes are easy in comparison to the fine art of polish.

  8. A complete game. Now you have 3 grey hairs and a finished product to show for it. Congratulations! Now you just have to publish, promote and maintain.

But really the milestones are a lot like this list. Made up on the spot and totally up to you.

\$\endgroup\$
15
  • 1
    \$\begingroup\$ Starting at 0 doesn't make sense for a list, because it's a quantitative number, not an offset into memory. ;) \$\endgroup\$
    – knight666
    May 31, 2012 at 6:53
  • 9
    \$\begingroup\$ But it's nerdy-er that way. And 0 through 7 is so Byte like, that's just my style. \$\endgroup\$
    – House
    May 31, 2012 at 6:54
  • 2
    \$\begingroup\$ I believe there is an extremely important point missing before 3. Create a written document with the idea and the game design. \$\endgroup\$ May 31, 2012 at 7:51
  • 1
    \$\begingroup\$ @J.C.Leitão Only if you're using waterfall to design your game (design document -> development -> done). Independent games that use waterfall rarely finish, getting caught up in perfecting the design. It's better to iterate and be flexible. Start with a pitch that defines your game in one sentence and see where it takes you. \$\endgroup\$
    – knight666
    May 31, 2012 at 8:10
  • 1
    \$\begingroup\$ Somewhere between 4&7 you get the "I just wanted to test the feature I implemented and played the game for a few hours"-effect. I usually only realize it after the fact and go home with a big smile on my face. \$\endgroup\$
    – Andreas
    May 31, 2012 at 8:55
8
\$\begingroup\$

The best article I have found on the subject is How do I make games? A Path to Game Development.

You really should read the whole article, but let me sum it up:

When I talk to people looking to get into game development some of the first things I often hear fall along the lines of, "How do I make games?" or "I want to make a game like Quake/Everquest/Starcraft and…". The first is just way out of the realm of answerability, as there are too many aspects to possibly go into, and each of those components can be infinitely complex.

The second, however, falls into just being unrealistic in expectations...

So where do I start?...

Tetris has all the individual components that ALL games share in common. It has a game loop (the process of repeating over and over until the game is quit). The game loop reads in input, processes the input, updates the elements of the game (the falling tetraminos), and checks for victory/loss conditions.

He then goes on to cover more and more advanced games and topics

  • advanced collision detection
  • simple deflection physics
  • level layout
  • artificial intelligence
  • sound
  • art
  • advanced game state

and wraps up with this wisdom:

Finishing a game does not merely mean you get it to a point where it is playable, and then move on, this is not a finished game. A finished game will have an opening screen, a closing screen, menu options (if applicable, at least instructions on how to play and start), introduction screens to playing, reward screens and a score board (where applicable)...

This isn't a world you can't join though, it just takes a good deal of time and experience and track record of making quality games...

So, to judge your progress as a game developer, you cannot simply "[drift] along until you wake up one day at your destination", you must actually develop games. Anything short of that is simply deluding yourself.*

*The author of this post is not a game developer.

\$\endgroup\$
0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .