Game development
3D Math Primer for Graphics and Game Development is great.
Studios
- Bungie - Developer of Destiny, Halo and more.
- FromSoftware - Japanese video game development company.
- The Glory Society - Worker cooperative that makes video games.
- Goldborough Studio
- CD PROJEKT RED
- GSC Game World - Makers of Stalker.
- HiWarp - Indie Game Studio.
- 5 Lives Studios
- Frictional Games - Creators of Penumbra, Amnesia and SOMA.
- Embark Studios - Stockholm-based games studio.
- Ghost Story Games
- Cloudhead Games - VR Game Studio.
- Nolla Games
- Beamdog
- Unknown Worlds
- Hive Games
- Lazy Bear Games
- Rarebyte
- Supergiant Games
- Gameroasters - Bring cross-platform competitive gaming experiences to the masses.
- Darewise (GitHub)
- Ludomotion - Amsterdam based, indie game studio.
- Team Cherry
- Snowman - Small studio handcrafting big ideas.
- Relic Entertainment
- Ninja Theory
- Paradox Interactive
- Big Time Studios
- Rocksteady
- General Arcade
- No More Robots
- Resolution Games
- Stonemaier Games
- Second Dinner
- Remedy - Created games such as Control, Alan Wake, and Max Payne.
- Failbetter Games
Devs
Notes
- Programming is about solving problems. Programming a game isn't really any different. I start by thinking what problem is this game going to solve, as well as what other games might already do that. For example if I was making a physics puzzle game I would also consider "Why aren't they just playing Portal instead of this?" And go from there.
- "Mod" culture in gaming is an incredibly powerful, creative force that is responsible for nearly all popular games today. It allows non-technical users to tinker, create, and distribute to an engaged, pre-installed user base.
- To anyone who struggles with large-scale nature scenes. Test out the idea you have on a small square first, get all the elements to work together, and then build your scene from there.
- Adding randomness to a game can be a way to give it that property of "easy to learn, hard to master", and in turn make it easier for a community to grow around the game. When you add randomness, it becomes possible for novices to sometimes beat more experienced players through sheer luck. Contrast that with e.g. chess, where it doesn't take much skill difference before the most skilled player is almost certain to win. So randomness makes it easier for newcomers to get the occasional win, to keep them motivated while learning. But at the same time, randomness can make it harder to master, because the cause-effect-relationship between good decisions and good outcomes becomes blurred.
Links
- Raylib - Simple and easy-to-use library to learn video games programming.
- Diablo: A Classic Game Postmortem (2016)
- Game Engine Architecture Book
- Curated List of Game Network Programming Resources
- Kit - Programming language designed for creating concise, high performance cross-platform applications.
- raylib - Simple and easy-to-use library to enjoy videogames programming. (go-raylib)
- Tutorials, tools, and more as related to reverse engineering video games
- Lobster - General purpose stand-alone programming language that comes with a built-in library suitable for making games and other graphical things. (Lobster Design Philosophy, History, and Future)
- Open Source Game Clones
- Flecs - Multithreaded Entity Component System written for C89 & C99.
- Marvel's Spider-Man: A Technical Postmortem (2019)
- Phaser - Fun, free and fast 2D game framework for making HTML5 games for desktop and mobile web browsers, supporting Canvas and WebGL rendering.
- Making a 3D Game in Castle (2019)
- GPU Optimization for Games
- How Do Bullets Work in Video Games? (HN)
- How to make roguelike games in Rust (HN) (Code)
- What Cats Can Teach You About Empathic Game Design (2019)
- Open Match - Open source game matchmaking framework that simplifies building a scalable and extensible Matchmaker.
- My First 10 Years of Game Development (2020)
- rx - Modern and minimalist pixel editor.
- Gamedev Tutorial: Dot Product, Rulers, And Bouncing Balls (2020) (HN)
- Awesome Godot
- Curated list of awesome C++ (mainly) things for Game Development
- Game AI Pro (HN)
- How I made a 3D game in only 2KB of JavaScript (2020) (HN)
- Open Asset Import Library (assimp) - Library to import and export various 3d-model-formats including scene-post-processing to generate missing render data.
- Agones - Dedicated Game Server Hosting and Scaling for Multiplayer Games on Kubernetes.
- Colyseus - Authoritative Multiplayer Game Server for Node.js, with clients available for the Web, Unity3d, Defold, Haxe, and Cocos2d-X.
- How Prince of Persia Defeated Apple II's Memory Limitations (2020)
- Castle - Space to play and create games.
- Game Programming Patterns - Collection of patterns I found in games that make code cleaner, easier to understand, and faster. (HN)
- Tracy Profiler - Real time, nanosecond resolution, remote telemetry frame profiler for games and other applications.
- Network Next - Lets game developers boost network performance for their players.
- Aseprite - Animated sprite editor & pixel art tool. (Code)
- GameDev in Rust (Code)
- Rust Game Development Working Group (Code) (Site code)
- Enemy AI: chasing a player without Navigation2D or A* pathfinding (2020) (HN)
- The Ideal Game Network Protocol (2020)
- Why Satisfactory Is So Addictive
- How to build an outrun-style racing game in JS
- Game Developer Roadmap
- What Is Interesting About Factorio (HN)
- Math for Game Developers video series (Code)
- Modern C++ gamedev: thoughts and misconceptions (HN) (Reddit)
- lovetoys - Entity Component System framework for game development with lua.
- Cheat Engine - Development environment focused on modding games and applications for personal use.
- Source code to Delores: A Thimbleweed Park mini-adventure
- EnTT - Header-only, tiny and easy to use library for game programming and much more written in modern C++, mainly known for its innovative entity-component-system (ECS) model.
- Yet Another Doom Clone (In 13kb of JavaScript) (2019)
- Magic Tools - Game Development resources to make magic happen.
- Client-Server Game Architecture (HN)
- Nakama - Distributed server for social and real time games and apps. (Code)
- Nakama JavaScript client - JavaScript client for Nakama server written in TypeScript.
- Peeking under the hood of Command & Conquer (2020)
- Dwarf Fortress Creator Explains its Complexity & Origins (2020) (HN)
- Yarn Editor - Tool for writing interactive dialogue in games.
- Nano - Easy to use, fast, lightweight game server networking library for Go.
- A frontend stack for video games (2020)
- GameLisp - Scripting language for Rust game development. (Web)
- Game Development With Fennel And Löve (2020)
- Pont - A multiplayer board game in Rust and WebAssembly (2020) (Code)
- Playbyte - Create fun games.
- Networked games: Playing in the past or future (2020) (HN)
- Rust Sokoban - Extended tutorial on making a Sokoban copy in Rust.
- How do I design a game from scratch? A primer on core loops (2020) (HN)
- Elo suck - better multiplayer rating systems for smaller games (Lobsters)
- A-Life: An Insight into Ambitious AI (2017)
- Ct.js Visual Game Editor for Pixi.js. (HN)
- High Hat Devlogs
- Handmade Hero - Ongoing project by Casey Muratori to create a complete, professional-quality game accompanied by videos that explain every single line of its source code.
- Bellwoods (2018)
- Kha - Ultra-portable, high performance, open source multimedia framework.
- Game Programming Patterns: Event Queue (HN)
- Storymapr - Visually design game dialogues and quests.
- VALORANT's 128-Tick Servers (2020) (Lobsters)
- Overwatch Gameplay Architecture and Netcode (2019)
- The Making of Dune II
- Ask HN: Advice for Multiplayer Back End (2020)
- LEd - Modern, lightweight and efficient 2D level editor. (HN) (Code)
- Laminar - Simple semi-reliable UDP protocol for multiplayer games.
- Fibers, Oh My (2020) (HN) (Lobsters)
- Sid Meier's Memoir (HN)
- Zenva Academy - Empower people so that they can create their own videogames, mobile apps and websites. (YouTube)
- Video Game Source Project - Video Game History Foundation. Ability to study video game source material is rare. We’re changing that.
- Activision Research Publications
- es_core - Experimental framework for low latency, high fps multiplayer games.
- Game Developers Conference (GDC)
- Making a small game with Gloss [Haskell] (2020)
- Serious Engine – Multiplayer Explained
- Leveraging Go for Game Development and Operations (2020)
- Jupylet - Python library that lets you create 2D and 3D games, graphics, music and sound synthesizers, interactively in a Jupyter notebook.
- Designing The Witcher 3's Most Famous Quest (2020)
- Quake’s 3-D Engine: The Big Picture
- Game UI Database - Reference tool for interface designers.
- Ask HN: I'm quitting my job, will create a game – any advice? (2020)
- The Lighting of Need for Speed Heat in Frostbite (2020)
- Ink - Narrative scripting language. (Code)
- Inky - Editor for ink: inkle's narrative scripting language.
- TIC-80 - Fantasy computer for making, playing and sharing tiny games. (Web)
- Making a Game in 48 hours with Rust and WebAssembly (2020)
- Build tools for a multiplayer browser game (2021)
- CS 6457: Video Game Design Course
- Doom 3 Network Architecture (2006)
- John Carmack on Quake, Internet Play and Latency
- OpenGameArt.org - Open content assets for games.
- Thoughts on making small games (2021)
- Gamedev from scratch 1: Scaffolding (2021)
- Awesome Game Dev
- GameNetworkingSockets Build Status - Basic transport layer for games. Reliable & unreliable messages over UDP. Robust message fragmentation & reassembly. P2P networking / NAT traversal. Encryption.
- How EVE Online is built (2021)
- Implementing the Elo Rating System (2020) (HN)
- NetplayJS - Make P2P multiplayer games in JavaScript, no server hosting required. Powered by PeerJS and rollback netcode.
- Making Games on Your Own as an Engineer (2021) (HN)
- Indie Game Development: Indie Archetypes
- Egregoria - Contemplative society simulation.
- Building a serverless multi-player game that scales (2021)
- Supporting hundreds of players on a single fast paced game server (2021)
- Video Game Programming From Scratch with Casey Muratori (2021)
- Naughty Dog at SIGGRAPH 2020
- Notes on two Jonathan Blow's lectures on game design
- I Tried Making a 3D RPG Game in JavaScript (2020)
- 3D Math Primer for Graphics and Game Development (Tweet) (Intro) (HN)
- Learning Machine Learning for Game Development (2021) (HN)
- Game Pillars and Values (2021)
- Demoscene: The Strangest (and Coolest) Computer Subculture
- Teach Yourself Demoscene in 14 Days
- Sims 2 Dev Thread
- Kaboom.js - JavaScript game library. (Docs) (Intro) (HN)
- CloudMorph - Decentralized, self-hosted cloud gaming/cloud application platform.
- Game accessibility guidelines - Straightforward reference for inclusive game design. (HN)
- Making an online multiplayer game in Rust with Nakama (2021)
- Open Saves - Open-source, purpose-built single interface for multiple storage backends on Google Cloud.
- Writing web-based interactive fiction with ink (HN)
- GB Studio - Game maker for the Game Boy. (Code)
- Building games that can be understood at a glance (2018)
- MServer - Mini Distributed Game Server.
- Lightweight Websocket library a simple game server in Go? (2021)
- Pixel Thief - Learn how to build a game using XState & React.
- #PitchYaGame - Twitter
- Ask HN: Game development for non-game developers (2021)
- Entity Component System architectures (and why you should care) (Lobsters)
- Half-Life 1 engine based games
- LDtk - Modern and open-source 2D level editor. (HN)
- Serpent.AI - Game Agent Framework. Helping you create AIs / Bots that learn to play any game you own. (Web)
- Developing Games on Linux: An Interview with Little Red Dog Game (HN)
- Quilkin - Non-transparent UDP proxy specifically designed for use with large scale multiplayer dedicated game server deployments, to ensure security, access control, telemetry data, metrics and more.
- What you shouldn't unit test in games (2017)
- DuckEngine - 2D Game Library for the web.
- How to make a simple entity-component-system in C++ (2020)
- Improbable - Tools to make multiplayer games and help developers meet any challenge. (GitHub)
- GameCI - Fastest and easiest way to automatically test and build your game projects. (GitHub)
- Designing Virtual Worlds Book by Richard Bartle (2003) (HN)
- Why video game doors are so hard to get right (2021) (HN)
- WorldQL - Universal backend for real-time multiplayer games. (GitHub)
- What are Voxels and why are they so cool? (2021)
- NVIDIA DLSS (Deep Learning Super Sampling - Deep learning neural network that boosts frame rates and generates beautiful, sharp images for your games.
- naia - Cross-platform (including Wasm!) networking engine that intends to make multiplayer game development in Rust dead simple and lightning fast.
- Getting to the bottom of web map performance
- About Halo game's backend (2021)
- Spring-It-On: The Game Developer's Spring-Roll-Call (2021)
- apecs - Fast, type driven, extensible ECS for game development.
- TrenchBroom - Modern cross-platform level editor for Quake-engine based games. (Web)
- Finishing my first game while working full-time (2021) (HN)
- I Tried Creating a Game Using Real-world Geographic Data (2021)
- Ask HN: How were video games from the 90s so efficient? (2021)
- SLADE3 - Modern editor for Doom-engine based games and source ports.
- Where to start to become a game designer? (2021)
- Q1K3 – Making Of (2021)
- Voidcall – Making Of (2019)
- Procedural storytelling is exploding the possibilities of video game narratives (2021)
- Gamedev/Code/Physics Resources
- GameDev Reddit Wiki
- The Making of Games Reddit
- Technical Game Design tutorials
- How Dwarf Fortress is built (2021) (HN)
- Basic Computer Games implemented in different languages (Article)
- SoLoud - Easy to use, free, portable c/c++ audio engine for games. (Docs)
- Yet Another Roguelike Tutorial - Written in Python 3 and TCOD
- LatencyFleX: A new approach to game latency reduction (HN)
- Calling the Shot: the Next Five Years at Riot Games (2022)
- Playhouse - Platform for real-time multiplayer trivia games.
- Networking of a turn-based game (2022) (Lobsters) (HN)
- Ravens - JavaScript library for building multiplayer turn-based games.
- Open Gamedev School (Lobsters)
- Multiplayer Online Standard
- Video Game Project Management Anti-patterns (2022) (HN)
- Hathora - Framework for building multiplayer games and other real time applications. (Docs) (HN) (Web) (Article) (HN) (Modern Cloud for Multiplayer Games) (HN)
- Pikuma: Isometric Projection in Game Development (HN)
- Building games through natural language using OpenAI’s code-DaVinci model (2022) (HN)
- Wolfenstein 3D secrets revealed by John Romero in lengthy post-mortem chat (2022) (HN)
- IndieGameDev - Solo, Hobby, and Indie Developers.
- LDtk - 2D level editor. (LDtk Rust Library)
- Eldiron - Cross platform classic RPG game creator written in Rust. (Web)
- Learn 3D Computer Graphics Programming from scratch
- Creating a Game Physics Engine with C++
- Elden Ring Succeeds by Ignoring 20 Years of Open-World Design (2022) (HN)
- Ask HN: Why is visual programming so popular for game programming? (2022)
- Pitaya - Scalable game server framework with clustering support and client libraries for iOS, Android, Unity and others through the C SDK.
- Parrot - Library of modular components for building cross-platform multiplayer games.
- Tools we use to make our game satisfactory (2022) (HN)
- Fabricated - Procedural game asset generator for macOS and iOS.
- The Devs Were Pretty Smart To Come Up With This (2022)
- CubbyFlow - Voxel-based fluid simulation engine for computer games.
- Shaku - Pure JavaScript framework for web games development that emphasize simplicity, flexibility and freedom.
- Riot Games Tech Blog: Artificial Latency for Remote Competitors (2022) (HN)
- Tiled - Flexible level editor. (Code)
- Guide to implementing 2D platformers (2012) (HN)
- Why did they throw the level designers under the bus?
- Behind the Pretty Frames: Elden Ring (2022)
- How Do Video Games Stay in Sync? (2022) (HN)
- SideFX - Houdini - 3D modeling, animation, VFX, look development, lighting and rendering. (GitHub)
- Writing is a single-player game (2022) (HN)
- Game Design Mimetics (Or, What Happened To Game Design?) (2022) (HN)
- Citybound – A city building game using actor-based distributed simulation (HN)
- LinuxGSM - Command-line tool for quick, simple deployment and management of Linux dedicated game servers. (Code)
- Tiger - Graphical tool for generating spritesheets and metadata about the animation and hitboxes they contain.
- What is the most fun game mechanic that you have ever played that you think you can also implement?
- Tantan - YouTube (GitHub)
- Reverse Engineering Dark Souls 3 Networking (2022) (Lobsters) (HN)
- An Overview of Kandria's Development with Lisp (2022) (HN)
- Triangle Grids in Games (2022) (HN)
- Fog for Top-Down Games (2022)
- Programming a Rogue-Like with Rust (HN)
- The Last of Us Part I Rebuilt for PS5 (2022)
- Ask HN: What makes users want to share a game? (2022)
- NarraScope 2022: 5 Lessons From 50 Years of Text Games
- Ask HN: Any solo game developers here? (2022)
- Cramming 'Papers, Please' Onto Phones (2022) (Lobsters)
- I Tried Making an FPS Game (2022)
- Learn Awesome Gamedev
- Tough times on the road to Starcraft (2012)
- Adventure game graphics with DALL-E 2 (2022) (Lobsters)