41554 blogs · [ { "id": "01a08790-7018-703d-8cb8-9d5b4ed76559", "title": "A big step forward", "url": "https://joostdevblog.blogspot.com/2024/12/a-big-step-forward.html", "published_at": "2024-12-19T09:39:00+00:00" }, { "id": "01a08790-7018-703d-8cb8-9d5b4f40aa1a", "title": "Tips for pitching to game publishers", "url": "https://joostdevblog.blogspot.com/2024/08/tips-for-pitching-to-game-publishers.html", "published_at": "2024-08-09T13:13:00+00:00" }, { "id": "01a08790-7018-703d-8cb8-9d5b4fd9b185", "title": "Neat tricks for modelling the Robo Maestro robot", "url": "https://joostdevblog.blogspot.com/2021/11/neat-tricks-for-modelling-robo-maestro.html", "published_at": "2021-11-24T11:53:00+00:00" }, { "id": "01a08790-7018-703d-8cb8-9d5b50c4d19e", "title": "Robo Maestro is coming to Steam!", "url": "https://joostdevblog.blogspot.com/2021/11/robo-maestro-is-coming-to-steam.html", "published_at": "2021-11-24T10:06:00+00:00" }, { "id": "01a08790-7018-703d-8cb8-9d5b5162157e", "title": "Where to get original ideas", "url": "https://joostdevblog.blogspot.com/2021/09/where-to-get-original-ideas.html", "published_at": "2021-09-08T13:44:00+00:00" }, { "id": "01a08790-7018-703d-8cb8-9d5b51f66afd", "title": "I’m leaving Ronimo, here’s why and what’s next", "url": "https://joostdevblog.blogspot.com/2021/03/im-leaving-ronimo-heres-why-and-whats.html", "published_at": "2021-03-31T07:41:00+00:00" }, { "id": "01a08790-7018-703d-8cb8-9d5b52493396", "title": "The Ageless Gate is OUT NOW!", "url": "https://joostdevblog.blogspot.com/2021/03/the-ageless-gate-is-out-now.html", "published_at": "2021-03-28T19:07:00+00:00" }, { "id": "01a08790-7018-703d-8cb8-9d5b52c3b8b5", "title": "Super flexible 2D animations through the Blightbound Skin Editor", "url": "https://joostdevblog.blogspot.com/2021/03/super-flexible-2d-animations-through.html", "published_at": "2021-03-17T13:41:00+00:00" }, { "id": "01a08790-7018-703d-8cb8-9d5b5340132e", "title": "New song: The Remains of the Mountain", "url": "https://joostdevblog.blogspot.com/2021/03/new-song-remains-of-mountain.html", "published_at": "2021-03-13T13:17:00+00:00" }, { "id": "01a08790-7018-703d-8cb8-9d5b540bc2e2", "title": "Finding a suitable toolchain for animating Blightbound’s 2D characters", "url": "https://joostdevblog.blogspot.com/2021/03/finding-suitable-tool-for-animating.html", "published_at": "2021-03-10T14:02:00+00:00" }, { "id": "01a08790-7018-703d-8cb8-9d5b5506bae2", "title": "Blightbound's approach to individual storytelling in a coop game", "url": "https://joostdevblog.blogspot.com/2021/02/individual-storytelling-in-coop-game.html", "published_at": "2021-02-21T13:49:00+00:00" }, { "id": "01a08790-7018-703d-8cb8-9d5b5523d7b9", "title": "Softening polygon intersections in Blightbound", "url": "https://joostdevblog.blogspot.com/2020/12/softening-polygon-intersections-in.html", "published_at": "2020-12-06T14:35:00+00:00" }, { "id": "01a08790-7018-703d-8cb8-9d5b55f2946a", "title": "Arcane Glamour LIVE NOW! Blightbound's biggest update yet!", "url": "https://joostdevblog.blogspot.com/2020/11/arcane-glamour-live-now-blightbounds.html", "published_at": "2020-11-25T16:46:00+00:00" }, { "id": "01a08790-7018-703d-8cb8-9d5b566b9e67", "title": "5 years below minimum wage: the financial history of Ronimo", "url": "https://joostdevblog.blogspot.com/2020/11/5-years-below-minimum-wage-financial.html", "published_at": "2020-11-15T15:55:00+00:00" }, { "id": "01a08790-7018-703d-8cb8-9d5b57540f51", "title": "Combining 2D and 3D in Blightbound's VFX", "url": "https://joostdevblog.blogspot.com/2020/11/combining-2d-and-3d-in-blightbounds-vfx.html", "published_at": "2020-11-06T12:39:00+00:00" }, { "id": "01a08790-7018-703d-8cb8-9d5b57c758eb", "title": "Bending Blightbound's world to lower the horizon", "url": "https://joostdevblog.blogspot.com/2020/10/bending-blightbounds-world-to-lower.html", "published_at": "2020-10-24T13:39:00+00:00" }, { "id": "01a08790-7018-703d-8cb8-9d5b58b75f7b", "title": "Screen Space Reflections in Blightbound", "url": "https://joostdevblog.blogspot.com/2020/10/screen-space-reflections-in-blightbound.html", "published_at": "2020-10-18T18:25:00+00:00" }, { "id": "01a08790-7018-703d-8cb8-9d5b59ad99e8", "title": "The games that inspired me most", "url": "https://joostdevblog.blogspot.com/2020/06/the-games-that-changed-my-view-on-games.html", "published_at": "2020-09-07T12:27:00+00:00" }, { "id": "01a08790-7018-703d-8cb8-9d5b59e4b004", "title": "Three nasty netcode bugs we fixed around Blightbound's launch", "url": "https://joostdevblog.blogspot.com/2020/08/three-nasty-netcode-bugs-we-fixed.html", "published_at": "2020-08-09T13:30:00+00:00" }, { "id": "01a08790-7018-703d-8cb8-9d5b5adfdc7e", "title": "Blightbound OUT NOW! Early Access on Steam!", "url": "https://joostdevblog.blogspot.com/2020/08/blightbound-out-now-early-access-on.html", "published_at": "2020-08-04T19:03:00+00:00" }, { "id": "01a08790-7018-703d-8cb8-9d5b5bacadc7", "title": "Blightbound gameplay revealed!", "url": "https://joostdevblog.blogspot.com/2020/06/blightbound-gameplay-revealed.html", "published_at": "2020-06-14T08:58:00+00:00" }, { "id": "01a08790-7018-703d-8cb8-9d5b5c9375fa", "title": "5 tips for reducing stress as a game company owner", "url": "https://joostdevblog.blogspot.com/2020/06/5-tips-for-reducing-stress-as-game.html", "published_at": "2020-06-09T12:42:00+00:00" }, { "id": "01a08790-7018-703d-8cb8-9d5b5d363c40", "title": "Then the Halls Were Empty... and I Turned It On!", "url": "https://joostdevblog.blogspot.com/2020/05/then-halls-were-empty-and-i-turned-it-on.html", "published_at": "2020-05-24T16:14:00+00:00" }, { "id": "01a08790-7018-703d-8cb8-9d5b5db235df", "title": "How we made particles twice as fast through cache optimisation", "url": "https://joostdevblog.blogspot.com/2020/03/how-we-made-particles-twice-as-fast.html", "published_at": "2020-03-01T11:11:00+00:00" }, { "id": "01a08790-7018-703d-8cb8-9d5b5dd670f5", "title": "New song: Approach of the Derelict Research Station", "url": "https://joostdevblog.blogspot.com/2020/02/new-song-approach-of-derelict-research.html", "published_at": "2020-02-16T20:18:00+00:00" }, { "id": "01a0bb54-f87e-7248-9d70-6bd030ced381", "title": "Five important realisations about game balance", "url": "https://joostdevblog.blogspot.com/2020/02/five-important-realisations-about-game.html", "published_at": "2020-02-02T15:37:00+00:00" }, { "id": "01a0bb54-f87e-7248-9d70-6bd030f90010", "title": "New song: A Century Flies By", "url": "https://joostdevblog.blogspot.com/2019/10/new-song-century-flies-by.html", "published_at": "2019-10-27T19:03:00+00:00" }, { "id": "01a0bb54-f87e-7248-9d70-6bd031c0a20d", "title": "Beginner balance versus pro balance", "url": "https://joostdevblog.blogspot.com/2019/08/beginner-balance-versus-pro-balance.html", "published_at": "2019-08-16T19:33:00+00:00" }, { "id": "01a0bb54-f87e-7248-9d70-6bd032bf846d", "title": "New Song: A Century Sails By", "url": "https://joostdevblog.blogspot.com/2019/08/new-song-century-sails-by.html", "published_at": "2019-08-03T15:01:00+00:00" }, { "id": "01a0bb54-f87e-7248-9d70-6bd032de9c35", "title": "The psychology of matchmaking", "url": "https://joostdevblog.blogspot.com/2019/03/the-psychology-of-matchmaking.html", "published_at": "2019-03-03T14:39:00+00:00" }, { "id": "01a0bb54-f87e-7248-9d70-6bd0335401d8", "title": "New song: Hear Her Typewriter Humming", "url": "https://joostdevblog.blogspot.com/2019/02/new-song-hear-her-typewriter-humming.html", "published_at": "2019-02-24T20:57:00+00:00" }, { "id": "01a0bb54-f87e-7248-9d70-6bd033df4381", "title": "An overview of many ways of doing a beta", "url": "https://joostdevblog.blogspot.com/2019/01/an-overview-of-many-ways-of-doing-beta.html", "published_at": "2019-01-06T19:36:00+00:00" }, { "id": "01a0bb54-f87e-7248-9d70-6bd03435ed62", "title": "Interior Mapping: rendering real rooms without geometry", "url": "https://joostdevblog.blogspot.com/2018/09/interior-mapping-real-rooms-without.html", "published_at": "2018-09-23T20:38:00+00:00" }, { "id": "01a0bb54-f87e-7248-9d70-6bd0351288d7", "title": "The Awesomenauts matchmaking algorithm", "url": "https://joostdevblog.blogspot.com/2018/09/the-awesomenauts-matchmaking-algorithm.html", "published_at": "2018-09-16T15:36:00+00:00" }, { "id": "01a0bb54-f87e-7248-9d70-6bd0354acbc1", "title": "New song: Tensor", "url": "https://joostdevblog.blogspot.com/2018/09/ive-finished-recording-new-composition.html", "published_at": "2018-09-08T14:10:00+00:00" }, { "id": "01a0bb54-f87e-7248-9d70-6bd035ad5d22", "title": "The challenge of finding enough playtesters", "url": "https://joostdevblog.blogspot.com/2018/09/the-challenge-of-finding-enough.html", "published_at": "2018-09-02T18:24:00+00:00" }, { "id": "01a0bb54-f87e-7248-9d70-6bd0365e0fcd", "title": "Here's how I made my computer write music", "url": "https://joostdevblog.blogspot.com/2018/08/a-first-step-towards-procedural-music.html", "published_at": "2018-08-26T13:29:00+00:00" }, { "id": "01a0bb54-f87e-7248-9d70-6bd036d5721e", "title": "Entertaining players while waiting for matchmaking", "url": "https://joostdevblog.blogspot.com/2018/01/entertaining-players-while-waiting-for.html", "published_at": "2018-01-28T15:34:00+00:00" }, { "id": "01a0bb54-f87e-7248-9d70-6bd037123bcc", "title": "Sandrider", "url": "https://joostdevblog.blogspot.com/2018/01/sandrider.html", "published_at": "2018-01-24T20:47:00+00:00" }, { "id": "01a0bb54-f87e-7248-9d70-6bd037a3adec", "title": "The limitations of matchmaking without server logic", "url": "https://joostdevblog.blogspot.com/2018/01/the-limitations-of-matchmaking-without.html", "published_at": "2018-01-07T15:36:00+00:00" }, { "id": "01a0bb54-f87e-7248-9d70-6bd037eb2e34", "title": "New song: Grom", "url": "https://joostdevblog.blogspot.com/2017/12/heres-my-newest-song-grom-its-loud.html", "published_at": "2017-12-23T16:05:00+00:00" }, { "id": "01a0bb54-f87e-7248-9d70-6bd037eb5e25", "title": "The Daysailer and the Night Cave", "url": "https://joostdevblog.blogspot.com/2017/12/the-daysailer-and-night-cave.html", "published_at": "2017-12-04T21:57:00+00:00" }, { "id": "01a0bb54-f87e-7248-9d70-6bd038049482", "title": "Lament", "url": "https://joostdevblog.blogspot.com/2017/11/lament.html", "published_at": "2017-11-21T22:13:00+00:00" }, { "id": "01a0bb54-f87e-7248-9d70-6bd0389b98a9", "title": "The Master Waits", "url": "https://joostdevblog.blogspot.com/2017/11/the-master-waits.html", "published_at": "2017-11-12T18:14:00+00:00" }, { "id": "01a0bb54-f87e-7248-9d70-6bd038edc0e5", "title": "The Light Deep Down", "url": "https://joostdevblog.blogspot.com/2017/11/the-light-deep-down.html", "published_at": "2017-11-05T17:02:00+00:00" }, { "id": "01a0bb54-f87e-7248-9d70-6bd039c01c19", "title": "Never be ashamed of your process if the result is good", "url": "https://joostdevblog.blogspot.com/2017/10/never-be-ashamed-of-your-process-if.html", "published_at": "2017-10-24T21:02:00+00:00" }, { "id": "01a0bb54-f87e-7248-9d70-6bd039eed03a", "title": "Working with generic room-based matchmaking", "url": "https://joostdevblog.blogspot.com/2017/10/working-with-generic-room-based.html", "published_at": "2017-10-15T17:01:00+00:00" }, { "id": "01a0bb54-f87e-7248-9d70-6bd03a25ce3f", "title": "Taking live soundtrack improvisation to the next level", "url": "https://joostdevblog.blogspot.com/2017/09/taking-live-soundtrack-improvisation-to.html", "published_at": "2017-09-23T15:44:00+00:00" }, { "id": "01a0bb54-f87e-7248-9d70-6bd03ac5c02d", "title": "The requirements of good matchmaking", "url": "https://joostdevblog.blogspot.com/2017/09/the-requirements-of-good-matchmaking.html", "published_at": "2017-09-03T11:42:00+00:00" }, { "id": "01a0bb54-f87e-7248-9d70-6bd03acf59c2", "title": "What we learned improvising a live game soundtrack", "url": "https://joostdevblog.blogspot.com/2017/07/what-we-learned-improvising-live-game.html", "published_at": "2017-07-15T15:09:00+00:00" }, { "id": "01a0bb5a-a38e-73ef-9b10-c2527679ffb9", "title": "The Ronimo coding style guide", "url": "https://joostdevblog.blogspot.com/2017/07/the-ronimo-coding-style-guide.html", "published_at": "2017-07-10T09:43:00+00:00" }, { "id": "01a0bb5a-a38e-73ef-9b10-c25277634460", "title": "The Ronimo coding methodology", "url": "https://joostdevblog.blogspot.com/2017/07/the-ronimo-coding-methodology.html", "published_at": "2017-07-02T14:15:00+00:00" }, { "id": "01a0bb5a-a38e-73ef-9b10-c25277ff36f9", "title": "The many meanings of the confusing word 'lag'", "url": "https://joostdevblog.blogspot.com/2017/01/the-many-meanings-of-confusing-word-lag.html", "published_at": "2017-01-29T14:04:00+00:00" }, { "id": "01a0bb5a-a38e-73ef-9b10-c2527889430f", "title": "Adding more depth to 2D levels using scissor rectangles", "url": "https://joostdevblog.blogspot.com/2017/01/adding-more-depth-to-2d-levels-using.html", "published_at": "2017-01-15T14:55:00+00:00" }, { "id": "01a0bb5a-a38e-73ef-9b10-c252796d0b3a", "title": "Analysing the new Awesomenauts matchmaker", "url": "https://joostdevblog.blogspot.com/2016/10/the-first-results-of-new-awesomenauts.html", "published_at": "2016-10-08T14:31:00+00:00" }, { "id": "01a0bb5a-a38e-73ef-9b10-c2527a368c17", "title": "The big list of ways to create varied weapons", "url": "https://joostdevblog.blogspot.com/2016/10/the-big-list-of-ways-to-create-varied.html", "published_at": "2016-10-02T12:33:00+00:00" }, { "id": "01a0bb5a-a38e-73ef-9b10-c2527abbd1ad", "title": "Fixing texture distortion on deformed polygons", "url": "https://joostdevblog.blogspot.com/2016/09/fixing-texture-distortion-in-deformed.html", "published_at": "2016-09-25T11:49:00+00:00" }, { "id": "01a0bb5a-a38e-73ef-9b10-c2527b777de7", "title": "A simple way to smooth angular trails", "url": "https://joostdevblog.blogspot.com/2016/09/a-simple-way-to-smooth-angular-trails.html", "published_at": "2016-09-17T12:15:00+00:00" }, { "id": "01a0bb5a-a38e-73ef-9b10-c2527bf7f0e8", "title": "Creating crisper special effects with trails", "url": "https://joostdevblog.blogspot.com/2016/09/creating-crisper-special-effects-with.html", "published_at": "2016-09-11T14:17:00+00:00" }, { "id": "01a0bb5a-a38e-73ef-9b10-c2527cd51312", "title": "New Awesomenauts expansion announced: Overdrive!", "url": "https://joostdevblog.blogspot.com/2015/12/new-awesomenauts-expansion-announced.html", "published_at": "2015-12-23T19:06:00+00:00" }, { "id": "01a0bb5a-a38e-73ef-9b10-c2527d56b32e", "title": "Texture formats for 2D games, part 4: Overview", "url": "https://joostdevblog.blogspot.com/2015/12/texture-formats-for-2d-games-part-4.html", "published_at": "2015-12-05T11:59:00+00:00" }, { "id": "01a0bb5a-a38e-73ef-9b10-c2527dd9ad8e", "title": "Texture formats for 2D games, part 3: DXT and PVRTC", "url": "https://joostdevblog.blogspot.com/2015/11/texture-formats-for-2d-games-part-3-dxt.html", "published_at": "2015-11-21T14:52:00+00:00" }, { "id": "01a0bb5a-a38e-73ef-9b10-c2527e21de90", "title": "Texture formats for 2D games, part 2: Palettes", "url": "https://joostdevblog.blogspot.com/2015/11/texture-formats-for-2d-games-part-2.html", "published_at": "2015-11-13T20:20:00+00:00" }, { "id": "01a0bb5a-a38e-73ef-9b10-c2527eac3df8", "title": "Texture formats for 2D games, part 1", "url": "https://joostdevblog.blogspot.com/2015/11/texture-formats-for-2d-games-part-1.html", "published_at": "2015-11-06T21:38:00+00:00" }, { "id": "01a0bb5a-a38e-73ef-9b10-c2527f753e31", "title": "The future of indie is amateur", "url": "https://joostdevblog.blogspot.com/2015/09/the-future-of-indie-is-amateur.html", "published_at": "2015-09-28T21:19:00+00:00" }, { "id": "01a0bb5a-a38e-73ef-9b10-c2527f78a09c", "title": "Designing matchmaking for non-gigantic communities", "url": "https://joostdevblog.blogspot.com/2015/09/designing-matchmaking-for-smaller.html", "published_at": "2015-09-06T12:32:00+00:00" }, { "id": "01a0bb5a-a38e-73ef-9b10-c25280763a5c", "title": "Opinions needed: which art style for Cello Fortress?", "url": "https://joostdevblog.blogspot.com/2015/08/opinions-needed-which-art-style-for.html", "published_at": "2015-08-30T13:13:00+00:00" }, { "id": "01a0bb5a-a38e-73ef-9b10-c25280af28f9", "title": "Cello Fortress micro vlog #1: Big Chord Attack", "url": "https://joostdevblog.blogspot.com/2015/08/ive-added-new-cello-attack-to-cello.html", "published_at": "2015-08-19T20:17:00+00:00" }, { "id": "01a0bb5a-a38e-73ef-9b10-c252816c7a14", "title": "3D printing Captain August", "url": "https://joostdevblog.blogspot.com/2015/08/3d-printing-captain-august.html", "published_at": "2015-08-16T13:33:00+00:00" }, { "id": "01a0bb5a-a38e-73ef-9b10-c25281b5f7c3", "title": "Why adding multiplayer makes game coding twice as much work", "url": "https://joostdevblog.blogspot.com/2015/08/why-adding-multiplayer-makes-game.html", "published_at": "2015-08-09T20:23:00+00:00" }, { "id": "01a0bb5a-a38e-73ef-9b10-c25281c11637", "title": "Using key poses to prototype character animations", "url": "https://joostdevblog.blogspot.com/2015/07/using-key-poses-to-prototype-character.html", "published_at": "2015-07-25T12:13:00+00:00" }, { "id": "01a0bb5a-a38e-73ef-9b10-c25281f1d6a4", "title": "Building your mental toolbox for solving coding problems", "url": "https://joostdevblog.blogspot.com/2015/07/building-your-mental-toolbox-for.html", "published_at": "2015-07-19T13:55:00+00:00" }, { "id": "01a0bb5a-a38e-73ef-9b10-c25281ffe91a", "title": "Swords & Soldiers II introduction trailer", "url": "https://joostdevblog.blogspot.com/2015/05/swords-soldiers-ii-introduction-trailer.html", "published_at": "2015-05-14T20:03:00+00:00" }, { "id": "01a0bb5a-a38e-73ef-9b10-c2528264d9b3", "title": "Making gameplay stand out against rich backgrounds", "url": "https://joostdevblog.blogspot.com/2015/05/making-gameplay-stand-out-against-rich.html", "published_at": "2015-05-02T12:54:00+00:00" }, { "id": "01a0bb5a-a38e-73ef-9b10-c252827a637d", "title": "Why indies should care less about financial independence", "url": "https://joostdevblog.blogspot.com/2015/04/why-indies-should-care-less-about.html", "published_at": "2015-04-26T10:36:00+00:00" }, { "id": "01a0bb62-b465-7128-ba2c-5aab3a8b25d8", "title": "The level art tools for Swords & Soldiers II", "url": "https://joostdevblog.blogspot.com/2015/04/the-level-art-tools-for-swords-soldiers.html", "published_at": "2015-04-19T13:36:00+00:00" }, { "id": "01a0bb62-b465-7128-ba2c-5aab3b300dd8", "title": "What many indies are doing wrong", "url": "https://joostdevblog.blogspot.com/2015/03/what-many-indies-are-doing-wrong.html", "published_at": "2015-03-15T16:06:00+00:00" }, { "id": "01a0bb62-b465-7128-ba2c-5aab3b93cad2", "title": "The downsides of gameplay variety", "url": "https://joostdevblog.blogspot.com/2015/03/the-downsides-of-gameplay-variation.html", "published_at": "2015-03-08T11:07:00+00:00" }, { "id": "01a0bb62-b465-7128-ba2c-5aab3bd21996", "title": "Luck and success in the indie business", "url": "https://joostdevblog.blogspot.com/2015/02/luck-and-success-in-indie-business.html", "published_at": "2015-02-28T12:36:00+00:00" }, { "id": "01a0bb62-b465-7128-ba2c-5aab3c89aac2", "title": "A tool for analysing colour schemes", "url": "https://joostdevblog.blogspot.com/2015/01/a-tool-for-analysing-colour-schemes.html", "published_at": "2015-01-11T15:03:00+00:00" }, { "id": "01a0bb62-b465-7128-ba2c-5aab3d39bae8", "title": "What most young programmers need to learn", "url": "https://joostdevblog.blogspot.com/2015/01/what-most-young-programmers-need-to.html", "published_at": "2015-01-04T19:28:00+00:00" }, { "id": "01a0bb62-b465-7128-ba2c-5aab3d8fe57d", "title": "Proun+ out now on iOS!", "url": "https://joostdevblog.blogspot.com/2014/11/proun-out-now-on-ios.html", "published_at": "2014-11-30T08:59:00+00:00" }, { "id": "01a0bb62-b465-7128-ba2c-5aab3de4f844", "title": "Why good matchmaking requires enormous player counts", "url": "https://joostdevblog.blogspot.com/2014/11/why-good-matchmaking-requires-enormous.html", "published_at": "2014-11-22T08:54:00+00:00" }, { "id": "01a0bb62-b465-7128-ba2c-5aab3ec2f766", "title": "Using 2D daylight assets to create a night level", "url": "https://joostdevblog.blogspot.com/2014/11/using-2d-daylight-assets-to-create.html", "published_at": "2014-11-08T12:21:00+00:00" }, { "id": "01a0bb62-b465-7128-ba2c-5aab3f1fa0be", "title": "Proun+ gets its first trailer!", "url": "https://joostdevblog.blogspot.com/2014/10/proun-gets-its-first-trailer.html", "published_at": "2014-10-25T09:05:00+00:00" }, { "id": "01a0bb62-b465-7128-ba2c-5aab3f5ffbb5", "title": "Area based depth of field blur", "url": "https://joostdevblog.blogspot.com/2014/10/area-based-depth-of-field-blur.html", "published_at": "2014-10-18T11:54:00+00:00" }, { "id": "01a0bb62-b465-7128-ba2c-5aab3fe1d911", "title": "Other developers on the ideal patching frequency", "url": "https://joostdevblog.blogspot.com/2014/10/other-developers-on-ideal-patching.html", "published_at": "2014-10-12T11:50:00+00:00" }, { "id": "01a0bb62-b465-7128-ba2c-5aab40417b5e", "title": "Why patching too often is a bad idea / The magic of the Vault", "url": "https://joostdevblog.blogspot.com/2014/10/why-patching-too-often-is-bad-idea.html", "published_at": "2014-10-05T11:20:00+00:00" }, { "id": "01a0bb62-b465-7128-ba2c-5aab41366fd1", "title": "Relay servers", "url": "https://joostdevblog.blogspot.com/2014/09/relay-servers.html", "published_at": "2014-09-21T09:28:00+00:00" }, { "id": "01a0bb62-b465-7128-ba2c-5aab41cb9b9e", "title": "Core network structures for games", "url": "https://joostdevblog.blogspot.com/2014/09/core-network-structures-for-games.html", "published_at": "2014-09-14T15:42:00+00:00" }, { "id": "01a0bb62-b465-7128-ba2c-5aab42827c90", "title": "The importance of packet count", "url": "https://joostdevblog.blogspot.com/2014/09/the-importance-of-packet-count.html", "published_at": "2014-09-06T12:52:00+00:00" }, { "id": "01a0bb62-b465-7128-ba2c-5aab4361fc13", "title": "A simple trick for fast high quality bokeh on lights in Cello Fortress", "url": "https://joostdevblog.blogspot.com/2014/08/a-simple-trick-for-fast-high-quality.html", "published_at": "2014-08-29T14:22:00+00:00" }, { "id": "01a0bb62-b465-7128-ba2c-5aab4397e5d2", "title": "Tips and tricks for a successful convention booth", "url": "https://joostdevblog.blogspot.com/2014/08/tips-and-tricks-for-successful.html", "published_at": "2014-08-24T13:03:00+00:00" }, { "id": "01a0bb62-b465-7128-ba2c-5aab43a0c6ee", "title": "The gross imperfections of tuning in music", "url": "https://joostdevblog.blogspot.com/2014/08/the-gross-imperfections-of-tuning-in.html", "published_at": "2014-08-10T11:51:00+00:00" }, { "id": "01a0bb62-b465-7128-ba2c-5aab43e6823f", "title": "Using throttling to reduce network errors", "url": "https://joostdevblog.blogspot.com/2014/07/using-throttling-to-reduce-network.html", "published_at": "2014-07-27T12:54:00+00:00" }, { "id": "01a0bb62-b465-7128-ba2c-5aab4450d266", "title": "Evolving level art from Swords & Soldiers 1 to 2", "url": "https://joostdevblog.blogspot.com/2014/07/evolving-level-art-from-swords-soldiers.html", "published_at": "2014-07-20T09:32:00+00:00" }, { "id": "01a0bb62-b465-7128-ba2c-5aab44ba785d", "title": "Why composition is often better than inheritance", "url": "https://joostdevblog.blogspot.com/2014/07/why-composition-is-often-better-than.html", "published_at": "2014-07-06T10:49:00+00:00" }, { "id": "01a0bb62-b465-7128-ba2c-5aab452aa279", "title": "Finding bugs through autotesting", "url": "https://joostdevblog.blogspot.com/2014/06/finding-bugs-through-autotesting.html", "published_at": "2014-06-28T13:05:00+00:00" }, { "id": "01a0bb62-b465-7128-ba2c-5aab4594ba81", "title": "Solving path finding and AI movement in a 2D platformer", "url": "https://joostdevblog.blogspot.com/2014/06/solving-path-finding-and-movement-in-2d.html", "published_at": "2014-06-14T09:30:00+00:00" }, { "id": "01a0bb62-b465-7128-ba2c-5aab4624443d", "title": "The AI tools for Awesomenauts", "url": "https://joostdevblog.blogspot.com/2014/06/the-ai-tools-for-awesomenauts.html", "published_at": "2014-06-01T13:53:00+00:00" } ] posts Claim your blog
Back to joostdevblog.blogspot.com
Blog · corpus.blog/blogs/joostdevblog.blogspot.com/posts

joostdevblog.blogspot.com

joostdevblog.blogspot.com

2024

2021

2020

2019

2018

2017

2016

2015

2014