The Curious Engineer

All blogs / Algorithms / data structures

Red Blob Games: latest blog posts

simblob.blogspot.com

Behind the scenes - how I'm making redblobgames.com - interactive explanations of game development algorithms and math

Algorithms / data structuresGame developmentMathGraphics

Posts
265 from 17 Feb 2003 to 31 Mar 2024
Posting
quiet since 2024
Kind
personal blog
Feed
https://www.redblobgames.com/blog/posts.xml

2024 2

  1. New blog in 2024
  2. What I did in 2023

2023 13

  1. Jobs table implementation for r/roguelikedev project
  2. Summer r/roguelikedev event
  3. Writing HTML by hand
  4. Changing a URL
  5. Experiments and motivation
  6. Improving Mapgen4's boundaries, part 3
  7. Improving Mapgen4's boundaries, part 2
  8. Improving Mapgen4's boundaries, part 1
  9. Explaining the Hexagon Layout class
  10. Tank Control experiments
  11. Making-of: draggable objects
  12. Making-of: circle drawing page
  13. One letter variable names

2022 13

  1. What I did in 2022
  2. Introduction to hexagons, part 3
  3. Introduction to hexagons, part 2
  4. Introduction to hexagons, part 1
  5. Connected Components
  6. Little details
  7. Hexagon conversions
  8. Procedural tree generator
  9. Upgrading my PRNG for procedural generation
  10. Improving island shaping for map generation, again
  11. Offline access with File / Save As
  12. Ten Years of Red Blob Games
  13. Reaction-diffusion

2021 10

  1. What I did in 2021
  2. Summer of small projects
  3. Highlighting diagrams and text together
  4. Rewriting my grid parts page
  5. Redesigning my circle diagrams, part 2
  6. Redesigning my circle diagrams, part 1
  7. Learning by writing
  8. My personal information workflow, part 2
  9. My personal information workflow, part 1
  10. Hex diagram labels

2020 10

  1. What I did in 2020
  2. Pathfinding diagram improvements, part 2
  3. Pathfinding diagram improvements, part 1
  4. Reimplementing my pathfinding pages
  5. Sliders on 2d visibility article
  6. Graph search diagrams and reusable code
  7. Website updates
  8. Rust memory optimization
  9. Cross-compiling Rust to Linux on Mac
  10. What I did in 2019

2019 24

  1. Experimenting with outlines
  2. Fun art projects
  3. Types of projects
  4. Curved region rendering
  5. Procedurally generated annotations
  6. Chaikin Curves
  7. Verb-noun vs noun-verb
  8. Square tiling of a sphere, part 3/3
  9. Square tiling of a sphere, part 2/3
  10. Square tiling of a sphere, part 1/3
  11. Coordinate transforms, still
  12. Coordinate transforms, again
  13. Reader experience with 404s
  14. Little details
  15. Brainstorming with reversal
  16. Brainstorming with factoring
  17. Brainstorming with transpose
  18. Improving hexagon map storage diagram
  19. Improving island shaping for map generation
  20. Improving the 2D Noise page
  21. Hex grid guide load time, part 2
  22. Orbits of planets
  23. Tiles and edges
  24. What I did in 2018

2018 36

  1. Printing my pages
  2. Website updates, part 3
  3. Website updates, part 2
  4. Website updates, part 1
  5. Mapgen4: finished
  6. Math explorables
  7. Procedural face generator
  8. Mapgen4: beta
  9. Tower Defense page: distance fields
  10. Touch events on the pathfinding pages, part 2
  11. Map generation on a sphere, part 2
  12. Map generation on a sphere, part 1
  13. Mapgen4: river representation
  14. Mapgen4: outlines
  15. Mapgen4: bug fixes
  16. Mapgen4: oblique projection
  17. Mapgen4: rainfall
  18. Mapgen4: elevation painting, revisited
  19. Mapgen4: river appearance
  20. Mapgen4: threads
  21. Mapgen4: elevation painting
  22. Mapgen4: elevation
  23. Mapgen4: goals
  24. Delaunator guide
  25. Modifying spelling
  26. Thoughts on explorable explanations
  27. April updates: hex grid guide, load time
  28. April updates: hex grid guide, iteration
  29. April updates: hex grid guide
  30. March updates: lots of small things
  31. Using Vue with Canvas
  32. How I implement my interactive diagrams, part 2
  33. How I implement my interactive diagrams, part 1
  34. Updating C++ code on the A* implementation page
  35. Updating mapgen2
  36. Thinking about writing

2017 15

  1. What I did in 2017
  2. Website updates, part 2
  3. Website updates, part 1
  4. Polygonal Map Generation, HTML5 version
  5. Noisy edges
  6. Generating details from map sketches
  7. Elevation control
  8. Elevation from rivers, part 2
  9. Elevation from rivers
  10. Procedural river drainage basins
  11. Data structure for triangle meshes
  12. Alternatives to Voronoi for procedural map generation
  13. Making-of: line drawing tutorial
  14. Global optimization applied to game design
  15. Five Year Mission

2016 7

  1. Procedural name generation using pronunciation changes
  2. Hexagon tiling of a sphere
  3. Outside the box
  4. 3 Whys - what problem am I addressing?
  5. Minor A* page improvements
  6. Updating my Introduction to A*
  7. What I did in 2015

2015 9

  1. Updating Probability of Damage Rolls
  2. Hex grids: finishing up the code generator project
  3. Hex grids: more on coordinate names
  4. Hex grids: code generator
  5. Hex grids: choosing data structures and generating algorithms
  6. Hex grids: procedurally generating code
  7. Hex grids: simplifying the variants
  8. Optimizing A* for grid maps
  9. Improving pseudocode on hex grid reference

2014 12

  1. Notes on line drawing on grid maps
  2. Implementing draggable handles
  3. Touch events on the pathfinding pages
  4. Pathfinding on isometric grids
  5. New Introduction to A* page
  6. Dijkstra's Algorithm and reprioritizing nodes
  7. Prospect theory and utility functions
  8. Map homunculus
  9. Writing more by writing less
  10. Pathfinding algorithms on grids
  11. Graph theory for pathfinding
  12. Pathfinding for Tower Defense games

2013 9

  1. Diagrams on my pathfinding pages
  2. Updating the Polygon Map Generator demo
  3. Notes on noise functions and map generation
  4. Summer break
  5. Porting SimBlob to the web
  6. Origin Story
  7. Notes on implementing interactive articles
  8. Guide to hexagonal grids
  9. Curved Roads and Tracks

2012 8

  1. Playing with the dot operator
  2. 2d Visibility
  3. Auction Houses
  4. Pessimism
  5. Switching to Haxe
  6. Polygon map generation FAQ
  7. Kingdoms of Amalur game maps
  8. Tutorial: probability and damage rolls

2011 2

  1. Skyrim and game maps
  2. Crafting graphs

2010 8

  1. Polygon map generation, part 3
  2. Polygon map generation, part 2
  3. Polygon map generation, part 1
  4. Map rendering: cutting corners
  5. Teleological vs. ontogenetic map generation
  6. Varying game difficulty
  7. Retro art: breaking the rules
  8. Simple map generation

2009 15

  1. Flash 10: drawTriangles() disappointments
  2. Parallel World Simulation
  3. Storytelling with Comics
  4. Noise in game art
  5. Switching to Flash 10
  6. Road representation
  7. Following multiple paths in RPGs
  8. Throwing away code
  9. Transport Tycoon: modular airports
  10. Animating stick figures
  11. Flash 9 triangle gradients
  12. Game Component: Spaceship editor, part 4
  13. Game Component: Spaceship editor, part 3
  14. Game Component: Spaceship editor, part 2
  15. Game Component: Spaceship editor, part 1

2008 8

  1. Game Component: Radial Base Layout
  2. Reflexes and Brains
  3. Multiple clients for the same game
  4. Social structures in MMOs
  5. Titan Quest
  6. Shifting Game Maps
  7. Interactive A* Illustration
  8. Game Design: Decreasing costs over time

2007 9

  1. Transport Tycoon
  2. Interactive illustrations
  3. Learning Flash 9
  4. Distances on a triangular grid
  5. Transportation mini-game, where is it?
  6. Game Developer's Conference
  7. Silverfall Demo
  8. Transportation mini-game, rough design
  9. Choosing algorithms

2006 25

  1. Water in strategy games
  2. Learning Flash 8
  3. Software pricing
  4. Rules of Algebra fail with floats
  5. Using oscillation to speed learning
  6. The Guild 2
  7. World of Warcraft Analyses
  8. Ruby scares me
  9. An old classic: Settlers II
  10. A Tale in the Desert 3: First Impressions
  11. World of Warcraft: First Impressions
  12. Playing Oblivion
  13. Do people really want innovation in games?
  14. Prediction, Chaos, and Order
  15. Transportation game, models
  16. Impolite game: Spellforce 2
  17. Transportation game, basic objects
  18. Selecting objects in a 3d world
  19. Navigating a 3d world
  20. Rough sketch for a transportation game
  21. Getting started, 3d world
  22. Getting started, again
  23. Change of Direction
  24. Polite games
  25. SRE on the web

2005 9

  1. SVG woes
  2. Black and White 2 AI
  3. 3D Game development
  4. Water simulation
  5. SimBlob 2, now for Mac
  6. SimBlob 2, now for Windows
  7. Games in Javascript
  8. Guild Wars Friendliness
  9. Guild Wars

2004 9

  1. Product placement and games
  2. Playing characters in games
  3. Road building applet
  4. Web languages: Java
  5. God Games: Locomotion
  6. Web languages: Flash
  7. Textures for desktop backgrounds
  8. God Games: Transport Giant
  9. Books: Get in the Game

2003 12

  1. More updates to my A* pages
  2. Fonts in OpenGL
  3. Updates to my A* pages
  4. Economics in games
  5. Game development books
  6. Game development books
  7. Concentration takes time
  8. Grids
  9. Reading vs. programming
  10. Economic models
  11. Autonomous blobs
  12. SimBlob 2