I understand how little the Wiki actually helps people like this one we have here, yet everyone else seems completely blind to that fact. I've proven useless to change anyone's perception. These sort of primitive and fundamental questions should be handled by the Wiki better than any other questions. I'm angry we must deal with them in the forums, and especially the fact that this person -- although unwilling to make progress by themselves and use their brain -- the Wiki should have answered this sort of question in the first place. Topics as absurd as this are my responsibility, apparently (no one else gives a f*** about fixing the Wiki), but I'm in a state where I can achieve nothing about it. I'm very angry about your orientations to the Wiki, and I want to be banned because it's not healthy for myself or the forums to be driven under such frustration as this. Unless you can figure things out quick, I'd like to be banned to prevent further problems.
Honestly, I don't want to take the time to change people's perception... I really don't understand why you people are hosting a Game Programming wiki in the first place. 'Bastards should have used Wordpress, or passed FTP credentials around to a few people who have a significant number of web-browser bookmarks relevant to game programming.
Article Page:http://content.gpwiki.org/index.php/A_C ... rogramming
Wiki resources:http://en.wikipedia.org/wiki/HTML_eleme ... e_elements
== Part 1 - Frames of Gameplay ==
=== A Rapid Series of Images ===
Aside how audio is often produced by video games, the fundamental premise of video games is a visual principle: ''"video games"'' are interactive animations that work by displaying a rapid series of images, called frames, which are generated by computers to represent the essence of gameplay. Video games are essentially interactive animations that are controllable by players. The effects of players' interaction and presence with a video game's material -- also known as the gameplay -- may produce significant reactions often in a way of emotion simply known as 'fun.' Animations simulate effects like movement by displaying images in a rapid series; each image with changes between one-another that are consistent enough for a viewer to naturally interpret these changes and perceive effects such as motion. A low frame-rate will only appear choppy if too much change happens to be perceived coherently by viewers. A rate of how frequent images are displayed to viewers is often measured by how many are displayed in one second of time. An ideal frame-rate is usually considered to be at least 60 frames per-second. The notion of "frames per-second" is often abbreviated as 'fps', just like how the term "miles per-hour" is abbreviated 'mph'. A poor and choppy frame-rate is usually observed below 20 fps, though the phenomenon of animation dually depends on how much change occurs between every frame in corresponse to the frames' display rate.
=== Interaction, Motion and Space ===
This is Codehead:
Our first goal is to interpret players' input to make Codehead a controllable character who may move around within our game world. Imagine how this might be done by a game programmer. Game programmers write broad-level instructions that get repeated every frame to control how the "frames of gameplay" are generated by the computer. This particular routine of computer-instructions which gets repeated to continually produce each frame of gameplay is usually referred to the "main loop." We will learn more about this idea soon, but for now, all you need to understand is the principle that you can repeat instructions in a procedural way to produce very complex and dynamic results, such as the interesting events of gameplay that are the basis of why some video games are fun to play. For learning practices, let's consider how to give Codehead the ability to move 'right' when the 'right arrow key' of a conventional keyboard is pushed.
What exactly does "move right" mean? What is the location of Codehead in the first place? Where is he within our game world?
Well, this is a spatial issue. We can represent Codehead's precise location by using a point on the cartesian plane.http://upload.wikimedia.org/wikipedia/commons/thumb/0/0e/Cartesian-coordinate-system.svg/250px-Cartesian-coordinate-system.svg.png
You may be familiar with the [[Math:Coordinate_Systems#Cartesian|cartesian plane]]'s y-axis going upwards in tradition. (Reminder: the y-axis is the basis about where points are vertically located in space.) Contrary to this common convention, you will find that the y-axis usually goes down in the spatial basis of computer screens and 2D graphical systems.
To program a computer to represent this character's location within the game world, we may delve into the most widely used tool for programming games: we will describe this spatial representation using a [[Languages|language of programming]]. A very common feature of programming languages is the capacity for programmers to handle active information within a computer using labels of text (textual-identifiers) known as 'variables'. [[How_do_I_get_Started#Choosing_a_programming_language|The particular language you choose]] to develop a game with will have its own specific rules about how variables may be named, but typically, most languages:
* Support variables and other features in the language handled with textual-identifiers in general, to use more than one character, unlike formal mathematics (i.e. representations denoted with a single letter or symbol, like 'x', etc).
* Do not allow spaces within textual-identifiers. ''Valid examples: "''CheeseCake''" or "''cheese_cake''", invalid: ''"Cheese cake"
* Textual-identifiers cannot begin with numbers or contain symbols (e.g. ''"'!@#$%^&*'' ), although they may contain numbers if they aren't a starting character of the identifier. ''Valid example: "''abc123''", invalid: ''"123&abc"
Despite how one key convenience of programming languages is to trivialize the format (text-encodings) which programmers may code programs, these strict and often convoluted [http://en.wiktionary.org/wiki/syntax syntactical] rules, such as those listed above, are an inherent consequence of this feature.
Todo: Representing points.
Todo: Reacting to the right key.
codeheadX += codeheadSpeed;
Todo: Reacting to all input.
=== ''The Main Loop'' and Time ===
The notion of the main loop is regarded as the broadest section of a game's program which, in generalization, is a category that envelops any instructions that are repeated frame-by-frame to procedurally produce the activity of gameplay.
Todo: How to construct a main loop and regulate its frame rate etc.
'''Advanced Information and Related Pages'''
* [[C:Beating_the_Message_Pump|Beating the Message Pump, WinAPI / Performance]]
* [http://gafferongames.com/game-physics/fix-your-timestep/ Fix Your Timestep!]
=== The Viewport and Graphical Composition ===
=== Instances and Transformation ===
=== Animation Techniques ===
=== The Crux of Input ===
=== Game State; a Summary and in-depth Topic Overview ===
(though they were not covered above, include networking and management; beyond scope)
* State Management
** Top-down State Control (Active-State Manager) ''e.g. Switching from the main menu to a specific mode of the game, loading new resources, initializing various components etc.''
*** Containment (Maps/levels/assets etc.)
*** Storage (Saved Games)
== Game Material ==
Attention Seeking Syndrome.
A. S. S. ?
Hah. No way.
But seriously, I am just pissed off. Consider this a "rage-quit" phenomenon.