Dev Resources

Knowledge base compiling game dev resources. Resources are separated into generalized categories for easy cherrypicking, and for ease of use.


Comprehensive Resources

General Libraries

  • GDC Vault - Presentations, papers, and slides from yes devs. Wide variety of topics, such as: AI, audio, art, a wide range of programming topics, etc. NOTICE: Newer material (2014+) may contain SJW propaganda. Older material not so much.
  • Digital Dragon video archive - GDC-like resource for presentations, and so on from yes devs. Essentially a GDC equivalent that's exclusive to central europe.
  • Game Design Magazine Archives - Game design magazine full archives available for free. Torrent
  • SIGGRAPH General Papers - Wide variety of technical papers ranging from shader techniques, rendering, lighting/shading, raymarching, physics simulation(s), and so much more.
  • Library Genesis - Huge variety of academic papers, noted as "the Library of Congress of the digital world" with ~100TB of readable materials. Good resource for finding "paid" papers that are behind a paywall. Alt link#1
  • AAA/AA Info Sharing Platform - search for relevant game design tags, such as: SIGGRAPH, rendering, frostbite, etc. Utilized by a lot of studios, companies, and such for information sharing.
  • PCG Wiki - Wiki on procedural generation. Provides range of resources, algorithms, and articles on the application of procedural generation algorithms.

Genre Specific

  • RogueBasin Wiki - Provides many articles on designing and programming roguelikes.

Platform Specific

Art pipeline

Meta resources


Development Tools

Engines

Frameworks

Pipeline tools

  • (Internal) Graphics tools - 2D, 3D, Material/textures tools. Resources such as: free textures/assets, fonts, and tutorials.
  • (Internal) Audio tools - Music, audio, and synthesizing authoring software. Resources such as: free audio assets, audio converts, and audio related programming.


Programming

Graphics

  • GPU Gems - covering topics like gpgpu algorithms, cg shader programming tricks/algorithms, and general graphics programming knowledge from experts.
  • GPU PRO - paid, but quality resource similar to GPU Gems covering the latest & greatest tricks n' tips. Can find online, arrr matey. Source code found on initially provided link.
  • Principles of Lighting and Rendering - Former iD Programmer John Carmack explains lighting and rendering in 3D game engines.
  • Real Time Rendering - Colossal, and valuable set of resources concerning rendering.
  • SIGGRAPH game specific papers - Great SIGGRAPH conference papers that are specific to games; updated yearly.
  • SIGGRAPH general papers - Wide variety of technical papers ranging from shader techniques, rendering, lighting/shading, raymarching, physics simulation(s), and so much more.
  • Particle Engines - Tutorial on creating 2D particle engines in C++ using SDL.

AI - pathfinding

  • What is AI? - Explains the basics of AI with C++ pseudocode.
  • Dijkstra's Algorithm - Good intro knowledge into pathfinding, as A* and many other variants use Dijkstra's algorithm as the basis; in short pathfinding is finding the shortest path based on a heuristic [2].
  • Amit's A* Pages - contains an in-depth look at a variety of simple pathfinding techniques
  • A* explanation video - Video explaining A* pathfinding.
  • Vector Field Pathfinding article - Goal based vector field pathfinding is useful for small maps that have a lot of actors that need pathfinding. This pathfinding utilizes a potential field calculated from the goal as the origin point, which is then translated into a vector field. Each vector in the field can be thought of as a direction toward the goal. Thus, intrinsically, actors can be directed towards the goal via following the vector field (f.e. a benefit is that it only needs to be re-calculated only if the goal moves plus any actor in the map can use the vector field to navigate to the specified goal without having to calculate a path per actor, but it becomes too costly if the map is large and the goal changes frequently).
  • Ai game dev - Quality resource for AI articles, presentations, and vids. Lots of good material. Containing notable overviews of FEAR's GOAP AI, stalker's goal based AI, Sim's utility AI, and halo's behavior tree AI.
  • AI Pro - Books 1 and 2 are free (scroll down a bit). Lots of well thought out articles explaining tricks of AI game programming. Such as: general wisdom, pathfinding, AI architecture, character behaviors, and so on.
  • Behavior Trees Explained - Great article from the p-zomboid devs on behavior trees, their usage, and implementation.
  • FEAR GOAP AI Resource - Great resource dedicated to Goal-Oriented Action Planning AI (FEAR was the "first" to use it in a game context). Includes presentations/articles on theory, discussion of "emergence" witnessed via the simple AI systems (look at the fear specific articles), games using GOAP, books discussing GOAP, and source code implementations (including FEAR's original GOAP AI SDK).

Audio programming

  • (Internal) Audio programming resources - Bottom of page (backlink).
  • Sound Propagation in 3D Environments - PDF on sound propagation written by Ion Storm programmer who worked on Thief.
  • Sound Propagation in HITMAN - PDF / Video - Method for creating realistic propagation with very little processing power.
  • Real-time Sound Propagation in Video Games - PDF / Video - Similar to HITMAN method, but uses a different method for pathfinding.

Physics

Math/geometry

  • Alien Ryder - (scroll down to Geometry/Math) Various code samples relating to polygons, splines, and vectors.

Networking

Design Patterns

  • Game Programming Patterns - Well rounded resource for game centric design patterns. Goes into detail, with examples, into how design patterns can be applied to a game, and why/when they're useful.
  • Component Design Pattern - Design pattern that's specialized for games, Entity Component System (ECS), and is utilized in one form or another by many engines (Unity3D has EC and ECS design pattern API, UE uses an EC pattern to an extent, etc). Understand this pattern if you're using one of these engines.
  • Understanding ECS - High level overview of the Entity Component System design pattern.
  • Data oriented Design Overview - Article covering the advantages/disadvantages, high level implementation, and usage cases for DoD.
  • Design Pattern Resource - Data oriented Design oriented programming resource. Covering many design patterns from a high level.
  • Object Pool - Optimization design pattern, quite game specific, and highly useful if you instance a lot of objects in scene at once (instantiate, recycle, reuse, etc).

Source Code/Disassemblies


3D Modeling

Rigging

  • Unity Bone Hierarchy - Humanoid bone hierarchy for using the humanoid avatar system in Unity (provides integrated Ik functionality, may mess with your animations due to the muscle system constraints, but try enable DoF in avatar settings before switching to generic avatar).
  • Quick Rigging with the Rigify Tool in Blender - Using the rigify tool included in blender for automatic generation of IK/FK rigs. Requires some messing to be compatible with unity.
  • Full process of IK Rigging in Blender - Full overview of rigging process in blender. From creating the bones, setting up the rig with IK, weight painting, and custom shapes for IK bones.
  • Rigging a leg with IK controls - Good video on creating an animation friendly leg IK rig with a good set of controls (foot tilt on heel/toes, foot bank, foot + leg IK rig, etc).
  • Basics of IK Rigging - Basics of IK rigging for "animator friendly" bone/IK setup.

Topology

Animation

  • (Internal) Animation Blending - Guide for designing effective animation mixing systems in engine
  • Animation resource on Polycount wiki - Plethora of animation resources.
  • 12 Principles of Animation Series - Great series on the theory of quality animation. Applies to 2D and 3D animation.
  • Animating Walk Cycles - Overview of the "keyframes" of a walk cycle. Good explanation with examples, and "styles" of walking (using concepts borrowed from the "12 Principles of Animation" vid above).
  • Animating Run Cycles - Overview of the "keyframes" of a run cycle. Good explanation with examples, and "styles" of running (using concepts borrowed from the "12 Principles of Animation" vid above).
  • Animating the Run Cycle - Indepth overview of animating a lifelike run cycle. Meat of the article starts at page 3.
  • Animation in Games - Great video essay of the good/bad/ugly animation in games, and observations of what makes "gud" animations in a game specific context (i.e. organic discovery of some principles of animation through observation of those that implement them).
  • An Indie Approach to Procedural Animation - Interesting advice for "procedural" animation in games. I.e. replacing hand-made inbetween frames with creative engine-side interpolation (resulting in a lot less work for animators, with convincing results). Also features advice such as using layered systems to add procedural spicyness to animations; such as extrapolation (instead of usual interpolation) between frames like spring/damper, IK for different secondary limb effects, secondary physics for hair/ears/etc, character tilt towards velocity, ragdoll techniques, and velocity based rotation (for convincing movement when hitting walls and so on).
  • Animation and Player Control in Uncharted 1 & 2 - Good overview of a lot of useful animation techniques.
  • Root Motion Info - Simple usage case of root motion, enough to understand the basics. Unity info [1] [2]. Core idea of root motion: Translate the root movement in equal proportion to the movement of the feet (e.g. between frame 0 and 1, the foot "sliding" on the ground moves .5 units on the Z axis, translate root .5 units on the Z axis).


Level Design

Articles

Videos

  • Boss Keys - An in-depth analysis on Zelda's dungeon design

Map Editors

  • Tiled - FLOSS tile-based level editor for Windows, macOS, and Linux. Exports to XML or JSON files.
  • OGMO - Another FLOSS tile-based level editor. Exports to XML files.


Design

Articles

  • Game narrative article that really hits home with a common problem anons have with a game's "story". Goes into the qualities that define games, as games, and what separates it from mediums such as movies/books; while delving into how to utilize said qualities of games to their fullest potential.
  • GDC 08' SSB Talk - Via Sakurai, a dev of SSBs, an overview of SSB's (super smash bros) character design, and relating mechanics.
  • Thinking of Hitstop (hitlag) - Via Sakurai, a dev of SSBs, going over the mechanics of "hitstop" in SSBs (covering the dos/donts, and the introduction of mechanical complexity concerning different considerations like multiplayer, balance, player control during hitstop, etc).
  • Game design behavior psychology article. Covers some psychology topics that are directly related to game design.

Videos

  • Turbo button - featuring many well thought out video essays on game design, level design, and game analysis. Such as: animation in games, narrative & mechanics, and defining depth being popular around /v/.
  • Strat-edgy - featuring more video essays on game design, game analysis, and other such topics. Such as: Morrowind vs Skyrim - More Is Less, AAA Don't Make RPGs Anymore, and the video essay playlist.
  • GameMakersToolkit - featuring video essays on game design, level design, and such things. Game Design playlist. LoZ Level Design playlist.
  • ex-Bungie next to 343 Industries - video that shows the rise, and fall of the famous xbone platform title Halo. Noticeably this is fundamentally the product of each studio's approach to game design.
  • The Counterintuitive Secret to Fun - Thought provoking talk discussing the theory of fun, and does a good job of directly tying it into video games; relating to concepts of mastery, rules/players (game theory), and other such topics. Quote from video: "Games are perhaps the only medium daft enough to measure their aesthetic value with a nebulous concept like fun."
  • Juice it or lose it - presentation w/examples about "juice" AKA game feel.
  • Final Fantasy 15 was a Mediocre Disappointment - A video analysis of Final Fantasy 15 that touches on several design aspects to consider and avoid. How to avoid making a world that is unbelievable or illogical, players needing lots of small important decisions on their own to stay engaged, and several other design elements specific to that game and games of its genre. A great showcase explaining what happens if you don't consider those factors. It also touches on FF15's troubled development, allegedly brought on by an ever-shifting design document before bosses put a different director in charge and demanded something out within that year.

Podcasts

  • Rougelike radio - podcasts discussing different rougelike topics (permadeath, pcg, etc).

Game Postmortems

  • Making Crash bandicoot - Interesting delving into the development process of CB by Andy Gavin (lead dev of CB, and also a co-founder of Naughty Dog; retired in 04').
  • Adventure for Atari 2600 - An hour long rundown of one of the first action-adventure games made. The author was responsible for creating the first easter eggs in games.
  • Making of Shadow of the Colossus pdf - Detailed overview of the technical challenges + novel solutions, art direction, and game design of SotC. Alt link

Ideas


Organization

Planning/Communication

  • Trello - team, solo, planning tool utilizing checklists, goals, and such.
  • Hack n' plan - team, solo, game dev oriented planning tool.
  • Mind mapping - node, branch, tree based planning.
  • Tox - Secure, and encrypted P2P chat/conferencing client
  • RetroShare - Friend-to-friend file sharing client. Includes, chat rooms, private messaging, and private forums.
  • Violet UML - free UML program.

Version control

  • Gitgud - free public/private Git repos.
  • Bitbucket - free public/private Git and Mercurial repos.
  • Github - free public Git repos.
  • Gitlab free public Git repos. Running entirely on open source software, allowing you to run your own GitLab instance.
  • SourceTree - free Git client with a robust visual interface.
  • (Internal) Our Git article.

Pastebins

Alts

  • IRC at #8/agdg/ via irc.rizon.net
  • Bunker

Hardware surveys

  • NOTE: Useful for determining your target hardware.
  • Steam hardware survey - Semi-comprehensive survey of hardware data for steam users.
  • Unity hardware survey - Comprehensive survey of hardware data for the standalone client (can also find mobile, or web based distributions here). NOTE: for non-unity devs this is still useful. Unity is used to make both 3D/2D games; so it applies to either game dimensionality. Useful for finding more comprehensive info than steam's HW survey.
  • UE hardware survey - Community effort hardware survey, so a small sample size, requires some effort to pour through; useful info for UE devs though.


Publishing/Showcasing

Open Distribution Platforms

Showcasing

  • IndieDB - Site to showcase your indie games
  • ModDB - Same as above but for mods
  • LibreGameWiki - Only allows games that are 100% free/libre software and free/libre content
  • Digital Dragon indie showcase - Showcase at a GDC-like event, with winners selected that receive award money; plus a higher possibility of private investments/funding. Also a student gamedev "talent show" that is exclusive to residents of poland (cash prize award or internship at gamedev studio).

Free Web/Blog Hosts

  • NeoCities - Created as a spiritual successor to GeoCities. Only supports static sites and has a limit of 20MB for free users.
  • GitHub Pages - Allows you to create static sites and blogs for GitHub users, projects, and organizations
  • HelioHost - Supports dynamic sites (blogs, forums, wikis, etc)

Marketing/PR

  • (Internal) Marketing - Game dev guide (work in progress).
  • (Internal) Web design - Guide to creating a site for your game (work in progress).
  • (Internal) Tumblr - Game dev guide.
  • (Internal) High-Quality-Recordings - Guide for recording high quality footage for teasers, trailers, and developer commentaries.
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License