Skip to content
Search

Game Programming

lastmod 2026-11-03created 2014-01-1194 edits

Subfields of game programming

Game programming, a subset of game development, is the software development of video games. Though often engaged in by professional game programmers, many novices may program games as a hobby. Some software engineering students program games as exercises for learning a programming language or operating system.

Categories

Game Unit Test

  • Gamium - "Gamium", a game test automation SDK

ETC

Game design (development)

Sample Game

Demo games commonly used as introductions to game development usually have simple mechanics and low resource requirements. They are well suited for beginners to learn and implement the basic concepts of game development. Below is a recommended list:

Pong

  • Description: A simple game where you bounce a ball to score points, like an early version of tennis.
  • Learning points:
    • Collision detection
    • Ball and paddle movement logic
    • Scoring system
    • Understanding the game loop

Brick Breaker

  • Description: A game where you bounce a ball to break bricks. The player moves a bar to control the ball.
  • Learning points:
    • Physics effects (calculating the ball's reflection angle)
    • Multi-level game design (multiple layers of bricks)
    • Simple animation

Snake

  • Description: The snake grows longer as it eats food, and the game ends when it touches a wall or its own body.
  • Learning points:
    • Grid-based movement
    • Gradually increasing difficulty
    • Collision handling and game-over conditions

Space Shooter

  • Description: A shooting game where you pilot a spaceship to shoot and dodge enemies.
  • Learning points:
    • Managing bullet spawning and destruction
    • Enemy AI (simple pattern movement)
    • Adding UI elements (HP, score, bullet count)

Flappy Bird clone

  • Description: A game where you make the character jump with a button click to avoid obstacles.
  • Learning points:
    • Implementing gravity and jumping
    • Obstacle generation and scrolling
    • Scoring system

Platformer

  • Description: A game where the character jumps and runs, avoiding obstacles, to reach a goal.
  • Learning points:
    • Implementing character movement and jumping
    • Platform collision handling
    • Simple level design

Tower Defense

  • Description: A game where you place defense towers along the enemies' path to stop them.
  • Learning points:
    • Simple AI pathing
    • Tower attack logic
    • Resource management and upgrade system

2048

  • Description: A puzzle game where you merge numbers into bigger numbers to build up a score.
  • Learning points:
    • Grid-based data structures
    • UI updates
    • Scoring system

Tetris

  • Description: A game where you stack blocks and clear completed lines.
  • Learning points:
    • Block rotation and collision handling
    • Line clearing logic
    • Increasing difficulty (faster block speed)

Memory Matching Game (card matching game)

  • Description: A game where you find and match cards with the same picture.
  • Learning points:
    • Data matching logic
    • Simple UI animation
    • Managing time limits and number of attempts

Standard card games (playing cards)

  • Number cards: Ace (A), 2, 3, 4, 5, 6, 7, 8, 9, 10
  • Face cards: Jack (J), Queen (Q), King (K)
  • Suits:
  • Spades (♠️), Hearts (♥️), Diamonds (♦️), Clubs (♣️)
  • Joker

Chess

  • King: The most important piece in chess. It moves one square at a time, and the game ends when it is checkmated by the opponent.
  • Queen: The most powerful piece. It can move any number of squares in a straight line or diagonally.
  • Rook: It can move any number of squares in a straight line. It is often also called a "castle".
  • Bishop: It can move any number of squares diagonally. Each bishop moves only along diagonals of one color.
  • Knight: It makes a unique "L"-shaped move (2 squares horizontally and 1 vertically, or 2 squares vertically and 1 horizontally), and it is the only piece that can jump over other pieces.
  • Pawn: It moves forward one square, but can move two squares on its first move. It can capture enemies only one square diagonally, and when it reaches the last rank it can be promoted to another piece (usually a queen).

Betting on lunch

Spin the roulette
A roulette wheel is shown on screen, and a single click stops it. The winner is decided by where it stops.
Guess the random number
Players pick a number from 1 to 100. A number is chosen at random, and the closest person wins.
Coin toss
A simple game where you toss a coin and guess heads (HEAD) or tails (TAIL). If it matches your choice, you win!
Ladder game
Enter the list of people and the blanks/prizes, then ride the ladder.
Dice roll
Roll polyhedral dice, and the person with the highest roll wins.

Game design (art)

See that page.

Related pages:

Game algorighm

Dungeon Generation
About techniques for generating dungeons automatically.
Dead Reckoning: Latency Hiding for Networked Games
This is dead reckoning. Position prediction and correction techniques are at its core. It is a common technique used almost universally in MMO games, and it is the approach adopted by nearly all game development in Korea.
1500 Archers on a 28.8: Network Programming in Age of Empires and Beyond
This technique is called lockstep synchronization. Player inputs are sent stamped with a future time stamp, and each command is executed "when its time comes". A limited number of players can accurately synchronize a huge number of characters with only a small amount of traffic. It has become almost essential in strategy simulation games.
  • https://www.gamasutra.com/view/feature/131503/1500_archers_on_a_288_network_.php
  • Page1: Gamasutra_-1500_Archers_on_a_28.8_Network_Programming_in_Age_of_Empires_and_Beyond-_page1.pdf
  • Page2: Gamasutra_-1500_Archers_on_a_28.8_Network_Programming_in_Age_of_Empires_and_Beyond-_page2.pdf
  • Page3: Gamasutra_-1500_Archers_on_a_28.8_Network_Programming_in_Age_of_Empires_and_Beyond-_page3.pdf
  • Page4: Gamasutra_-1500_Archers_on_a_28.8_Network_Programming_in_Age_of_Empires_and_Beyond-_page4.pdf
Why Making Multiplayer Games is Hard: Lag Compensating Weapons in MechWarrior Online
Building on an approach that runs the gameplay simulation and rolls back when past actions arrive, this explains how to deal with latency problems for projectile and hitscan weapons. It applies to small-scale multiplayer games that need precise synchronization, such as first-person shooters and fighting games. It has not been used much in Korea, where MMO online games developed first, but it is actually more familiar among Western game developers, whose industry grew mainly around packaged games.
Ray Tracing Gems ebook
https://blog.hybrid3d.dev/387
2019_Book_RayTracingGems.pdf
Fast inverse square root
The fast inverse square root algorithm is used to compute angles of incidence and reflection in operations such as lighting.
Used in "Quake III Arena".
Procedural water paint stains
In depth: Procedural water paint stains - Grendel Games
Watercolor ink bleed marks
ZzSprite
Pixel Art Sprite Generator

Generator Tools

Awesome

Character makers

Other graphics/asset makers

Pattern/tile makers

AI-based

Performance Tuning

Game Server programming

Game development with LLMs

An interesting comment from Hacker News:

It points out something many developers overlook. In game development, coding itself has rarely been the bottleneck. Even solo developers can build mechanics quickly without AI. The really hard parts are the many invisible layers above that, such as balancing the game loop, tuning difficulty, making assets that feel consistent, and polishing enough to hold a player's attention for more than five minutes. That is also why Steam has not been flooded with outstanding games since LLMs arrived. The technology lowered one barrier, but the bigger barriers remain. It was the same when Unity appeared in the 2010s. The engine democratized game development, but instead of an explosion of good games, only the number of attempts went up. LLMs are bringing the same phenomenon to code, and image models to art, but these tools cannot tell you which game is actually fun. The question I find interesting is what happens if AI does not only implement but also playtests. That is, once it advances to the stage of running thousands of loops and telling you which mechanics keep simulated players hooked, its role will expand beyond a productivity hack into a design partner. We are not at that stage yet, but this post feels like an early data point in that direction.

Game resources

Sonniss.com - GDC - Game Audio Bundle - Torrent download

## Sonniss.com - GDC - Game Audio Bundle
magnet:?xt=urn:btih:694916b432913f35872e806e1ca50c80201c6798&dn=Sonniss.com+-+GDC+-+Game+Audio+Bundle

## Sonniss.com - GDC 2016- Game Audio Bundle
magnet:?xt=urn:btih:aaa1407465c82160e20aba23de56ce7d4c4025ca&dn=Sonniss.com+-+GDC+2016-+Game+Audio+Bundle

## Sonniss.com - GDC 2017 - Game Audio Bundle
magnet:?xt=urn:btih:751189932f9a32eb57f4aa39b87d81d04a6f8708&dn=Sonniss.com+-+GDC+2017+-+Game+Audio+Bundle

Quixel Megascans collection

See also

Favorite site

Tip

Issues

Web browser based game (HTML5)

Game resource download

Libraries

References


  1. Lazyfoo.net.140828.backup.7z ↩

  2. Www_gamesync_com_ne_kr.zip ↩

  3. How_to_Use_Tile_Bitmasking_to_Auto-Tile_Your_Level_Layouts.pdf ↩

  4. Askance.tistory.com_free_bgm.pdf ↩

  5. Askance.tistory.com_free_texture.pdf ↩

  6. Askance.tistory.com-free_cg.pdf ↩

  7. Askance.tistory.com-reference_name.pdf ↩

author Zer0 sitemap