01.01 - Introduction to Game Development

There are Magicians among us.
Wielding some mysterious power, they are able to harness the capabilities of machines and captivate our minds with dizzying images, luring sounds and engaging creative insight that demands – and acquires – our interaction. Their black art is an elusive secret – a focusing of energy through their fingers as they manipulate the electronic pulse of the machine they dominate over. We stare in awe as their creations take on life before us, and their methods of conception seem inconceivable.
Indeed, there are Magicians among us.
Inside us, there is a lusting for the attainment of this magic. It has been burning away quietly – where others see entertainment, we see sheer wizardry. Where others remain content in playing games, we have an insurmountable determination to one day possess this magic ourselves. With such secrets unveiled before us we can then command the machine to do our bidding.
Welcome, apprentice.
Here we’re in the business of building dreams on machines. Take creative flare, couple it with modern technology and throw in a dash of excitement, and you’ve got yourself magic consummate – the video game.
I’d like to start by giving you a gift. I am going to now bestow upon you the secret to making any video game. Once you attain this ability, you will have everything you need to make absolutely any video game your heart desires. Are you ready to receive it? It takes the form of a single line of text.
Here it is:
The secret to making any video game is the ability to change the color of a pixel.
You might be feeling a little confused or ripped-off at this point, but I assure you that I’ve given you the secret you need. Of course, this doesn’t account for sound and input, but then again you already know how to do that in simple C code. It would seem plausible to suggest that altering the color of a pixel is perhaps even easier than performing sound or input operations. So, then, the question remains – how is this supposed to be the ‘secret to creating any video game’?
Aahh. But you see, the secret is not in the words themselves.
Take a moment to think about video games, and how you thought they were made. Now start the process of rationalization and compromise. Eventually and inevitably, you will arrive at the conclusion that I have been referring to as the ‘secret’. Still lost or unconvinced? Try this – start up your favorite game, and as it’s running, lower your eyelids as to subtly blur your vision… do you see it? What you’re looking at is the secret in action, playing itself out before you thousands of times a second. What you’ve been occupying your time with has been nothing more than a light show – a complicated manipulation of the colors of the pixels on the screen, ever-changing. (Boy, is a certain Matrix quote ever tempting here…)
And now, dear reader, I’m going to show you the secret of the secret.
Sure, there are Magicians among us, but the magic isn’t in the game. The magic is in the form of a spell that they cast; a spell that fools us into thinking that a game is more than what it actually is. I’m now going to tell you what a game really is, and when I do you will be released from the spell that made you believe in magic in the first place…
A game is a program that manipulates data – data which translates into instructions that dictate which pixels on the screen should be which color at any given time. The game knows the organization of pixels that make up the images to be displayed on the screen. Variables control the exact placement of these images, and other variables retain the ‘state’ of the game at any given time. An image is merely a map of pixel colors, and the game uses this information to reconstruct a likeness of the image on the display at the desired co-ordinates. Pixels don’t move; nothing moves in a game. Over time, the configuration of the pixel’s colors change to invoke the illusion of movement, but in reality you’re watching a ‘Lite-Brite’ slide show.
There is no magic. If you believe that a game is what you see, then the secret I let you in on is very powerful indeed – but useless. If, however, you are willing to accept that a game is a ‘data-processing machine’ using pixels as it’s output device, then you’ll realize that the true secret to making games lies elsewhere.
And that, my friend, is why you’re here. We’re going to learn to write games, and that really means that we’re going to learn how to manipulate data. If you know how to program (in C in this case), you already have what you need to make games. Once we learn how to manipulate data for the sake of driving a display, perhaps you’ll see that the only thing you were missing in the first place was --
-- how to change the color of a pixel.
Boy, that was a blast to write.
Your journey begins with Section 02 – The Learning Ladder. It is a series of articles (with discussion) that are designed to ease you into the driver’s seat, so-to-speak. It introduces the basic concepts that need to become part of your working repertoire for the projects that follow, and assists in dispelling any remaining misunderstandings you may have about game development. If you’re wondering whether or not you’ve met the criteria for starting, the details supplied in the first article will be informative indeed.
Whaddaya standing around for? Get goin’! You’re holding up the line!
Questions? Comments? Feel free to reply to this topic!

hi. i am only 11 and i want to get into game design. I love computers,comp games and software. And i want to start soon. So where can i get this learning ladder thing?(if it is a program) -mad_hatter==============================SPILL THE BLOOD OF THE INNOCENT

Hello i am 14 and i dont have much programming experience and i have a love for games and i would love to make them my mom said when i get to be 18 i can go to Full Sail in florida but i would like to learn how to program games right not or soon can someone please tell me a web site/book that has the neccisary C syntax that will help me to learn how to Program in windows and some of the function in game development.

quote:Original post by Anonymous Poster Hi, I am only 8 years old and I would also like to get into writing software. I only have six years of C++ experience. See a trend in the responses here? Can't people just be honest anymore?

Who, or what, are you talking about? The posts I see so far are...

quote:hi. i am only 11 and i want to get into game design. I love computers,comp games and software. And i want to start soon. So where can i get this learning ladder thing?(if it is a program)

I don't see anything untowards in that post. What he/she says is entirely plausible.

There's this one:

quote:Hello i am 14 and i dont have much programming experience and i have a love for games and i would love to make them my mom said when i get to be 18 i can go to Full Sail in florida but i would like to learn how to program games right not or soon can someone please tell me a web site/book that has the neccisary C syntax that will help me to learn how to Program in windows and some of the function in game development.

Nowhere in that post refers to having a lot of experience. In fact, there's a specific part that says the opposite - "i dont have much programming experience."

There's also netwiz, who apparently wants to learn everything twice.

So what's bothering you, AP? Are you referring to some other thread (if so, please post a link)? Don't forget that this thread is "01.01 Introduction to Game Development"!

quote:Original post by Anonymous Poster Hi, I am only 8 years old and I would also like to get into writing software. I only have six years of C++ experience. See a trend in the responses here? Can''t people just be honest anymore?

well this forum is old, as in no one updates it anymore.also the game is being made in C not C++.but you should be able to make the transition from C to Java.it''ll just take some rewriting on your part, and figuring out how to use DX with Java.

havent posted here in a while, but anyways, i know minimal c++ as in #include <iostream.h>

int main ()

{

int x;

int y;

{

cout<cin>>x;

y==(x*2/3)

cout<cout<}

if (y<=3)

{

cout<}

if else (y>3&&y>10)

{

cout<}

else

{

yah, thats the extent of my c++ knowledge, so....what books do you have/like/reccomend for me? thanx, i know there r probs with my script, msvc++6 hates it, 11+ errors, and its only like 10 lines, lol, and if i do put the ; in front of the cout, theres something else it doesnt like...anywaysyah, any book names would be great