• Advertisement
Sign in to follow this  

What *is* game programming?

This topic is 2110 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello. I know this sounds like a stupid question, but as someone who wants to learn game programming and who is already moderately skilled in programming, hear me out.

The basic problem is that I want to learn game programming, but don't know where to start because I don't know what it even *is*. For example, would you say that someone who knows how to use GameMaker to literally drag-and-drop functionality into their game actually knows how to program games? No, you wouldn't. Of course, this problem goes both ways with someone who is knowledgable about programming, but honestly doesn't know how to make a single colored pixel move across the screen.

Let me make a less exaggerated example. Let's say there's a magical API out there that allows a programmer to program games from the perspective of a game designer rather than a computer programming. So, instead of dragging and dropping functionality , you can program it in (like GameMaker, but more powerful). Would you say that such an individual knows how to program games? I, personally, wouldn't. But, then again, I don't actually know what game programming *is*.

I hope that this has explained my point sufficiently.

So, what *are* the building blocks of game programming? Where does someone go if they want to learn concepts and theory instead of just raw practicality? I'm not as concerned about being able to make games quickly, or even make them at all (let alone good ones) so much as I am with understanding and being able to play around with the concepts. I want to understand the building blocks, then work my way up. Where would I go to start learning *that*? Edited by Megacannon

Share this post


Link to post
Share on other sites
Advertisement
I would say that the building blocks are pretty much the same as any other project. Think of creating a normal project which has deadlines, requirements, needs to have certain functionality and the list goes on. The same stands for GAME programming. A game however simple it may be will have deadlines requirements and will be required to have a certain level of functionality.

http://en.wikipedia.org/wiki/Game_programming < Decent Description of game development.
http://content.gpwiki.org/index.php/How_do_I_get_Started < Pretty much the same just more detailed.
http://gamesfromwithin.com/so-you-want-to-be-a-game-programmer < Probably the best so far.

I still stand by my statement and say: It's the same as any normal software project just headed in a different direction with different tools.

Share this post


Link to post
Share on other sites
I'm going to sound like a total smart aleck, but I'm not being one when I say this: game programming is programming games. It's not some magical world separate from programming in general.


So, what *are* the building blocks of game programming?

Programming games. Practice, practice, practice.


Where does someone go if they want to learn concepts and theory instead of just raw practicality?

University. But not to some "game making university." I mean a proper one, where you'll likely major in Computer Science (or Computer Science with some emphasis, which could be a gaming emphasis).

If you know how to program in general, it's easy to get into game programming, because it is programming.

Share this post


Link to post
Share on other sites
I will say that GameMaker is hardly drag and drop and that it is game programming. I think some people have this notion that some programming languages are "real" and that if you don't use those "real" languages then you are not a "real" programmer.

I disagree. For a number of reasons Game Maker is not a great example. For one the GML language has full programming support (variables, loops, you name it). Even the event based system relies on programming logic containing the "visual" equivalents of setting variables and program flow control. Very little functionality in Game Maker can be "dragged and dropped" with no implementation of logic.

So in that regard I would have to say someone who knows how to use Game Maker is certainly able to program games.

I can hear the people saying "but it's not 'REAL' programming" what is real programming? What makes a real programmer? I work professionally as a software engineer and I have absolutely no idea. To me a real language is a language that you can use to accomplish the task that you set out to do. If I set out to make a game in Game Maker, and I am able to complete that game and instruct the computer how to perform my game's logic, then to me it is a real language.

I will echo the statement that games are like any other type of program. You take input, process that input, and display an output. Many of the concepts are shared between games and other types of applications. You will have the same issues with working with files, databases, interprocess communications, data structures, ect. Typically games involve a higher degree of graphics output and more multimedia output than most other types of applications require.

Modern AAA games are highly complex systems that typically use many different engines and middlewares to create the game world.

So yes game programming is *programming*. In my mind *programming* is telling the computer to do stuff and having it do that stuff. It doesn't make a difference to my definition if I am writing a bash script, or a 10,000 line C++/Qt application. Getting the task done is what matters. Edited by shadowisadog

Share this post


Link to post
Share on other sites
In addition, there isn't some UPS truck (to borrow from someones' post) that delivers your "Official Game Programmers' Certificate".

What matters is shipping finished, feature-complete products. If you can do that in a game maker, then seriously consider using a game maker.

Share this post


Link to post
Share on other sites
"magical API" or not if you make a game through the use of a programming language(not only scripting unless it's the primarily used language) then y

Share this post


Link to post
Share on other sites
It's so strange to me that people think there is fundamental difference between programming and game programming.
Why do people even with programming experience think that?
Graphics make them think that?
I have been always wondering.

Share this post


Link to post
Share on other sites

It's so strange to me that people think there is fundamental difference between programming and game programming.
Why do people even with programming experience think that?
Graphics make them think that?
I have been always wondering.

It's the intricate interaction between many parts of a modern game that's complicated, second only perhaps to an OS.
Old games were not that difficult. You had a static or barely animated intro screen with a bit of text saying press fire to start game. If the user did that simple loop would have been exited and a new one entered that was equally simple. If the player died usually all movement stopped and a simple game over screen appeared and then it's back to the intro.
In a modern game you would have gamestates that blend into each other seamlessly. You leave the intro with a crossfade between it and the overworld. All the while the music crossfades too. That means both loops get intertwined. An action performed in one castle can affect an event in another part of the game (although that part isn't truly complicated but don't lose track)

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement