# coding-horror/basic-computer-games

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/coding-horror-basic-computer-games).**

11,073 stars · 1,340 forks · C# · Unlicense

## Links

- GitHub: https://github.com/coding-horror/basic-computer-games
- awesome-repositories: https://awesome-repositories.com/repository/coding-horror-basic-computer-games.md

## Topics

`basic` `basic-computer-games` `classic-game`

## Description

This project is a programming education resource and a collection of vintage game ports. It provides a library of classic computer game implementations and algorithmic problems translated into modern memory-safe scripting languages for educational study and execution.

The collection focuses on the implementation of game logic and the practice of fundamental computer science algorithms. It includes diverse examples of procedural content generation, such as random mazes and text-based art, alongside mathematical visualizations.

The project covers a wide array of simulation categories, including board games, sports modeling, casino gambling, and combat strategy. It also includes educational modules for arithmetic and physics kinematics, as well as utilities for probability simulation and pseudo-random number generation.

## Tags

### Game Development

- [Arcade Game Implementations](https://awesome-repositories.com/f/game-development/arcade-game-implementations.md) — Builds modern code implementations of vintage computer game examples for educational study and execution. ([source](https://github.com/coding-horror/basic-computer-games#readme))
- [Retro Game Ports](https://awesome-repositories.com/f/game-development/retro-game-ports.md) — Provides a collection of classic computer games ported to modern memory-safe scripting languages.
- [Game Logic Scripting](https://awesome-repositories.com/f/game-development/game-logic-scripting.md) — Implements the mechanics of vintage games using modern scripting languages and memory-safe patterns.
- [Coordinate Systems](https://awesome-repositories.com/f/game-development/grid-based-alignment-systems/coordinate-systems.md) — Manages game state and entity positions using 2D and 3D coordinate systems for spatial simulations.
- [Native Game Ports](https://awesome-repositories.com/f/game-development/native-game-ports.md) — Translates early computer game mechanics and algorithms into modern memory-safe scripting languages.
- [Random Number Generator Seeding](https://awesome-repositories.com/f/game-development/random-number-generation/random-number-generator-seeding.md) — Generates repeatable random values using specific seeds to ensure consistent results across runs.
- [Strategy Game Simulations](https://awesome-repositories.com/f/game-development/strategy-game-simulations.md) — The project simulates a strategy game where two players compete to avoid taking the final match from a pile. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/93_23_Matches))
- [Procedural Generation](https://awesome-repositories.com/f/game-development/tooling-asset-pipeline/procedural-generation.md) — Implements procedural generation to create randomized mazes with guaranteed solvability. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/02_Amazing))
- [Turn-Based Strategy Games](https://awesome-repositories.com/f/game-development/turn-based-strategy-games.md) — The project implements a turn-based strategy game where players remove items from a pile based on range limits. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/08_Batnum))
- [Board Game Implementations](https://awesome-repositories.com/f/game-development/board-game-implementations.md) — The project simulates a two-player board game where users move pieces via coordinates against a computer. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/23_Checkers))
- [Board Game Simulations](https://awesome-repositories.com/f/game-development/board-game-simulations.md) — The project simulates a game within a 4x4x4 cube where players align four markers along a 3D plane. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/88_3-D_Tic-Tac-Toe))
- [Card Game Simulations](https://awesome-repositories.com/f/game-development/card-game-simulations.md) — Provides a multi-player Blackjack simulation with hitting, splitting, and insurance betting logic. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/10_Blackjack))
- [Casino Game Simulations](https://awesome-repositories.com/f/game-development/casino-game-simulations.md) — Simulates a slot machine with independent reel generation and symbol-based payoff logic. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/80_Slots))
- [Economic Trade Simulations](https://awesome-repositories.com/f/game-development/economic-trade-simulations.md) — Simulates a fur trading journey requiring inventory and route optimization for maximum profit. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/38_Fur_Trader))
- [Cellular Automata](https://awesome-repositories.com/f/game-development/evolution-simulation-games/cellular-automata.md) — The project calculates the evolution of a population on a grid based on survival, death, and birth rules. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/55_Life))
- [Gameplay Target Tracking](https://awesome-repositories.com/f/game-development/gameplay-target-tracking.md) — Calculates distances in polar coordinates to track a moving target for a mission. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/68_Orbit))
- [Grid-Based Board Games](https://awesome-repositories.com/f/game-development/grid-based-board-games.md) — Implements a classic Tic-Tac-Toe simulation with a grid board and computer opponent. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/89_Tic-Tac-Toe))
- [Grid-Based Search Games](https://awesome-repositories.com/f/game-development/grid-based-search-games.md) — Implements a grid-based search simulation using distance calculations for triangulation. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/62_Mugwump))
- [Hand Gesture Games](https://awesome-repositories.com/f/game-development/hand-gesture-games.md) — Simulates a multi-round Rock Paper Scissors game against a computer opponent. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/74_Rock_Scissors_Paper))
- [Historical Battle Simulations](https://awesome-repositories.com/f/game-development/historical-battle-simulations.md) — The project models historical battles using actual data to test military strategies against historical outcomes. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/27_Civil_War))
- [Logic Puzzles](https://awesome-repositories.com/f/game-development/logic-puzzles.md) — Implements a sequence puzzle where users sort numbers by reversing segments of the list. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/73_Reverse))
- [Management Simulations](https://awesome-repositories.com/f/game-development/management-simulations.md) — Provides a pizza delivery management simulation including order handling and map verification. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/69_Pizza))
- [Maze Simulations](https://awesome-repositories.com/f/game-development/maze-simulations.md) — The project navigates a character across the faces of a 3D cube while avoiding randomly placed landmines. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/30_Cube))
- [Combat Mission Modeling](https://awesome-repositories.com/f/game-development/mission-progression-systems/combat-mission-modeling.md) — The project models a flight where the user selects a plane and target to determine if the mission succeeds. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/12_Bombs_Away))
- [Nim Game Strategies](https://awesome-repositories.com/f/game-development/online-multiplayer/game-chat-bots/turn-based-game-bots/nim-game-strategies.md) — Simulates the Nim strategy game including the mathematical logic for removing items from rows. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/65_Nim))
- [Puzzle Games](https://awesome-repositories.com/f/game-development/open-source-games/genres/puzzle-games.md) — Implements a board-clearing puzzle game using diagonal jump mechanics. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/67_One_Check))
- [Random Number Generation](https://awesome-repositories.com/f/game-development/random-number-generation.md) — Implements number guessing logic using pseudo-random value generation for gameplay mechanics. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/41_Guess))
- [Resource Management Simulations](https://awesome-repositories.com/f/game-development/resource-management-simulations.md) — The project manages resources like land and population over a ten-year period while contending with random events. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/43_Hammurabi))
- [Score Tracking Systems](https://awesome-repositories.com/f/game-development/score-tracking-systems.md) — The project tracks scores and pin positions for four players across ten frames with visual diagrams. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/14_Bowling))
- [Kinematic Simulations](https://awesome-repositories.com/f/game-development/simulation-engines/entity-simulation-engines/kinematic-simulations.md) — Generates physics scenarios involving projectiles and calculates height, time, and velocity. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/52_Kinema))
- [Tycoon Simulations](https://awesome-repositories.com/f/game-development/simulation-engines/interactive-simulations/tycoon-simulations.md) — Implements a virtual economy management simulation centered on national budget allocation. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/53_King))
- [Space Combat Simulations](https://awesome-repositories.com/f/game-development/space-combat-simulations.md) — Provides a space combat simulation featuring starship navigation, sensors, and weapons. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/84_Super_Star_Trek))
- [Sports Match Modeling](https://awesome-repositories.com/f/game-development/sports-match-modeling.md) — The project models a sports match where a player uses offensive and defensive plays against an opponent. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/37_Football))
- [Sports Scoring Simulations](https://awesome-repositories.com/f/game-development/sports-scoring-simulations.md) — The project tracks scores for multiple players using different throwing styles with varied risk-reward probabilities. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/18_Bullseye))
- [Sports Simulations](https://awesome-repositories.com/f/game-development/sports-simulations.md) — Models a skiing slalom run including gate configuration and speed control. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/79_Slalom))
- [Tactical Combat Simulations](https://awesome-repositories.com/f/game-development/tactical-combat-simulations.md) — Implements a tactical naval combat simulation on a grid with coordinated salvo fire. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/77_Salvo))
- [Trajectory Calculation Engines](https://awesome-repositories.com/f/game-development/trajectory-calculation-engines.md) — Calculates 3D weapon trajectories based on rectangular coordinates and angular deviations. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/86_Target))
- [Physics-Based Motion Paths](https://awesome-repositories.com/f/game-development/trajectory-calculation-engines/physics-based-motion-paths.md) — Calculates and plots the trajectory of a bouncing ball using velocity and elasticity. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/13_Bounce))
- [Turn-Based Puzzles](https://awesome-repositories.com/f/game-development/turn-based-puzzles.md) — Provides a turn-based puzzle game requiring restricted movement of a queen to reach a target. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/72_Queen))
- [Word Guessing Mechanics](https://awesome-repositories.com/f/game-development/word-guessing-mechanics.md) — Implements letter-by-letter discovery and validation logic for a word-guessing game. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/44_Hangman))

### Artificial Intelligence & ML

- [Adaptive Strategy Learning](https://awesome-repositories.com/f/artificial-intelligence-ml/game-ai/adaptive-strategy-learning.md) — Implements an AI that learns optimal game strategies by recording moves and pruning those that lead to defeat. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/35_Even_Wins))
- [Knowledge-Based Object Identification](https://awesome-repositories.com/f/artificial-intelligence-ml/knowledge-based-object-identification.md) — Implements a system that guesses user-selected objects through yes-no questions and learns new objects upon failure. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/03_Animal))
- [Pattern Recognition](https://awesome-repositories.com/f/artificial-intelligence-ml/pattern-recognition.md) — Implements pattern recognition to predict the next number in a given sequence of digits. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/34_Digits))

### Education & Learning Resources

- [Educational Programming Resources](https://awesome-repositories.com/f/education-learning-resources/educational-programming-resources.md) — Offers educational code examples that use game mechanics to teach fundamental algorithms and physics.
- [Multi-Language Implementations](https://awesome-repositories.com/f/education-learning-resources/multi-language-implementations.md) — Translates vintage game mechanics into multiple modern memory-safe scripting languages for educational study.
- [Programming Language Education](https://awesome-repositories.com/f/education-learning-resources/programming-language-education.md) — Teaches fundamental coding concepts through simple implementations of classic computer science problems.
- [Algorithmic Problem Solving](https://awesome-repositories.com/f/education-learning-resources/technical-domain-education/computer-science-education/algorithmic-problem-solving.md) — Provides educational resources for practicing fundamental computer science algorithms through logic puzzles and games.
- [Arithmetic Drill Exercises](https://awesome-repositories.com/f/education-learning-resources/arithmetic-drill-exercises.md) — Presents visual addition drills using dice imagery to help beginners learn math facts. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/61_Math_Dice))
- [Competitive Variations](https://awesome-repositories.com/f/education-learning-resources/educational-resources/algorithms-theory-academics/cs-theory-foundations/computer-science-foundations/cellular-automata/competitive-variations.md) — The project calculates grid state transitions based on majority-rule generation to determine which player pieces survive. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/56_Life_for_Two))
- [Logic Puzzles](https://awesome-repositories.com/f/education-learning-resources/logic-puzzles.md) — Implements the Towers of Hanoi as a logical reasoning and problem-solving exercise. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/90_Tower))
- [Physics Word Problems](https://awesome-repositories.com/f/education-learning-resources/physics-word-problems.md) — Generates random scenarios to teach the relationship between distance, rate, and time. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/91_Train))

### Software Engineering & Architecture

- [Logic Games](https://awesome-repositories.com/f/software-engineering-architecture/architectural-design-patterns/object-oriented-foundations/game-logic-models/logic-games.md) — The project implements a logic game where players deduce a hidden color combination based on positional clues. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/60_Mastermind))
- [Cross-Language Implementations](https://awesome-repositories.com/f/software-engineering-architecture/cross-language-implementations.md) — Translates vintage game mechanics and algorithms into multiple modern memory-safe scripting languages.
- [Procedural Content Generation](https://awesome-repositories.com/f/software-engineering-architecture/procedural-content-generation.md) — Implements automated methods for generating random mazes, text art, and mathematical visualizations.
- [Rule Execution Engines](https://awesome-repositories.com/f/software-engineering-architecture/rule-configuration-engines/rule-execution-engines.md) — Executes game logic by transitioning through a set of predefined rules based on inputs and random events.
- [Puzzle Solvers](https://awesome-repositories.com/f/software-engineering-architecture/algorithmic-problem-solving/puzzle-solvers.md) — Implements an algorithmic solver that deduces hidden color combinations by eliminating impossible candidates. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/60_Mastermind))
- [Rocket Landing Simulations](https://awesome-repositories.com/f/software-engineering-architecture/rocket-landing-simulations.md) — Simulates descent physics using the rocket equation to determine soft-landing success. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/59_Lunar_LEM_Rocket))

### Part of an Awesome List

- [Card Game Simulations](https://awesome-repositories.com/f/awesome-lists/ai/poker-and-betting/card-game-simulations.md) — The project simulates a game of draw poker between a user and computer featuring betting and folding. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/71_Poker))
- [Simulation Games](https://awesome-repositories.com/f/awesome-lists/more/simulation-games.md) — Simulates the classic Peg Solitaire board game focused on removing pieces via jumping. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/48_High_IQ))
- [Sports Simulations](https://awesome-repositories.com/f/awesome-lists/more/simulation-games/sports-simulations.md) — The project models a single-player experience including club selection, terrain hazards, and swing mechanics. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/39_Golf))

### Business & Productivity Software

- [Trading Simulations](https://awesome-repositories.com/f/business-productivity-software/trading-simulations.md) — Implements a simulated stock market environment for buying and selling based on random price trends. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/83_Stock_Market))

### Graphics & Multimedia

- [3D Function Plotting](https://awesome-repositories.com/f/graphics-multimedia/2d-spatial-rendering/2d-primitive-rendering/mathematical-function-plotting/3d-function-plotting.md) — Visualizes a family of curves by projecting mathematical function values as height from a 2D plane. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/87_3-D_Plot))
- [Text-Based Pattern Generation](https://awesome-repositories.com/f/graphics-multimedia/text-based-pattern-generation.md) — Renders a grid of diamond shapes based on a specified size to fit a page. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/32_Diamond))

### Scientific & Mathematical Computing

- [Coordinate Geometry Simulations](https://awesome-repositories.com/f/scientific-mathematical-computing/coordinate-geometry-simulations.md) — Calculates target positions and distances using 3D coordinate geometry for a search mission. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/31_Depth_Charge))
- [Kinematics Simulations](https://awesome-repositories.com/f/scientific-mathematical-computing/kinematics-simulations.md) — Calculates parachute descent using gravity and terminal velocity physics. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/81_Splat))
- [Numeric Data Formatting](https://awesome-repositories.com/f/scientific-mathematical-computing/numeric-data-formatting.md) — Converts numeric values to text using legacy rules for signs and scientific notation. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/00_Common))
- [Arithmetic Operations](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/arithmetic-number-types/arithmetic-operations.md) — Generates mathematical problems involving basic operators to improve user calculation skills. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/25_Chief))

### User Interface & Experience

- [Coordinate-Based Character Rendering](https://awesome-repositories.com/f/user-interface-experience/character-based-visual-elements/coordinate-based-character-rendering.md) — Renders mathematical functions and 3D shapes using character-based grids for terminal display.
- [Quiz Components](https://awesome-repositories.com/f/user-interface-experience/interactive-ui-components/quiz-components.md) — Provides an interactive multi-turn question-and-answer system to test user knowledge. ([source](https://github.com/coding-horror/basic-computer-games/tree/main/57_Literature_Quiz))
