Joost's Dev Blog
- Posts
- 235 from 29 Aug 2010 to 19 Dec 2024
- Posting
- now and then
- Kind
- personal blog
- Feed
- https://joostdevblog.blogspot.com/feeds/posts/default
2024 2
2021 9
- Neat tricks for modelling the Robo Maestro robot
- Robo Maestro is coming to Steam!
- Where to get original ideas
- I’m leaving Ronimo, here’s why and what’s next
- The Ageless Gate is OUT NOW!
- Super flexible 2D animations through the Blightbound Skin Editor
- New song: The Remains of the Mountain
- Finding a suitable toolchain for animating Blightbound’s 2D characters
- Blightbound's approach to individual storytelling in a coop game
2020 15
- Softening polygon intersections in Blightbound
- Arcane Glamour LIVE NOW! Blightbound's biggest update yet!
- 5 years below minimum wage: the financial history of Ronimo
- Combining 2D and 3D in Blightbound's VFX
- Bending Blightbound's world to lower the horizon
- Screen Space Reflections in Blightbound
- The games that inspired me most
- Three nasty netcode bugs we fixed around Blightbound's launch
- Blightbound OUT NOW! Early Access on Steam!
- Blightbound gameplay revealed!
- 5 tips for reducing stress as a game company owner
- Then the Halls Were Empty... and I Turned It On!
- How we made particles twice as fast through cache optimisation
- New song: Approach of the Derelict Research Station
- Five important realisations about game balance
2019 6
2018 8
- Interior Mapping: rendering real rooms without geometry
- The Awesomenauts matchmaking algorithm
- New song: Tensor
- The challenge of finding enough playtesters
- Here's how I made my computer write music
- Entertaining players while waiting for matchmaking
- Sandrider
- The limitations of matchmaking without server logic
2017 14
- New song: Grom
- The Daysailer and the Night Cave
- Lament
- The Master Waits
- The Light Deep Down
- Never be ashamed of your process if the result is good
- Working with generic room-based matchmaking
- Taking live soundtrack improvisation to the next level
- The requirements of good matchmaking
- What we learned improvising a live game soundtrack
- The Ronimo coding style guide
- The Ronimo coding methodology
- The many meanings of the confusing word 'lag'
- Adding more depth to 2D levels using scissor rectangles
2016 5
2015 22
- New Awesomenauts expansion announced: Overdrive!
- Texture formats for 2D games, part 4: Overview
- Texture formats for 2D games, part 3: DXT and PVRTC
- Texture formats for 2D games, part 2: Palettes
- Texture formats for 2D games, part 1
- The future of indie is amateur
- Designing matchmaking for non-gigantic communities
- Opinions needed: which art style for Cello Fortress?
- Cello Fortress micro vlog #1: Big Chord Attack
- 3D printing Captain August
- Why adding multiplayer makes game coding twice as much work
- Using key poses to prototype character animations
- Building your mental toolbox for solving coding problems
- Swords & Soldiers II introduction trailer
- Making gameplay stand out against rich backgrounds
- Why indies should care less about financial independence
- The level art tools for Swords & Soldiers II
- What many indies are doing wrong
- The downsides of gameplay variety
- Luck and success in the indie business
- A tool for analysing colour schemes
- What most young programmers need to learn
2014 34
- Proun+ out now on iOS!
- Why good matchmaking requires enormous player counts
- Using 2D daylight assets to create a night level
- Proun+ gets its first trailer!
- Area based depth of field blur
- Other developers on the ideal patching frequency
- Why patching too often is a bad idea / The magic of the Vault
- Relay servers
- Core network structures for games
- The importance of packet count
- A simple trick for fast high quality bokeh on lights in Cello Fortress
- Tips and tricks for a successful convention booth
- The gross imperfections of tuning in music
- Using throttling to reduce network errors
- Evolving level art from Swords & Soldiers 1 to 2
- Why composition is often better than inheritance
- Finding bugs through autotesting
- Solving path finding and AI movement in a 2D platformer
- The AI tools for Awesomenauts
- Proun cloning controversy: why indies should complain less about clones
- Why free to play games are inherently less fun
- How we solved the infamous sliding bug
- Guys With Guns: concept art for a cancelled Ronimo project, or: Being asked to pitch for a publisher's project
- Why Scrum is fundamentally broken (but we still use it)
- Revealing Swords & Soldiers II
- Coding structures that cause bugs
- The final series of Proun+ music sketches
- So much awesome news in the week Ronimo turns 7!
- Proun+ music sketches: which do you like?
- The Maarten Principle: a golden rule of planning
- Concept art can be raw: early designs for AI Station
- How chance in games is rarely just a roll of the dice
- The surprisingly many subtleties of designing crits
- Bitcrunching numbers for bandwidth optimisation
2013 24
- Camera mapping a comic: the Ward trailer
- First steps towards massive replays and spectators in Awesomenauts
- The statistics of our games, part 3: Code
- Extreme transformation of Nauts during development
- Visuals that make ideas much more awesome
- The statistics of our games, part 2: Assets and audio
- The statistics of our games, part 1: General, files and textures
- Eliminating ghost notes in Cello Fortress
- Awesomenauts in the Humble Bundle!
- Detecting notes from a live cello: the core technology of Cello Fortress
- How the cello controls the game in Cello Fortress
- Style exploration for Cello Fortress
- Making everything animatable
- From melee to ranged: the most difficult design decision in Awesomenauts
- Announcing Awesomenauts The Movie with a trailer!
- The evolution of Sheriff Lonestar
- Hardcore C++: why "this" sometimes doesn't equal "this"
- The character animation workflow for Awesomenauts
- Optimising special effects in Awesomenauts
- The craziest bugs, part 2
- The craziest bugs, part 1
- Why Cello Fortress is a twin stick shooter
- Cello Fortress trailer revealed!
- What would you like me to write about?
2012 43
- Dynamically melting snow
- Snowball Earth's melting effects
- Wacky marketing thingies
- The indie marketing plan
- Introducing the editors of the Ronitech
- Shining a light on how pitching to publishers works
- Drooling dogs and weird boys for Snowball Earth
- The history of Snowball Earth - now playable!
- Cancelled game Snowball Earth playable at Indigo
- Awesomenauts skins out now!
- Announcing Cello Fortress: a unique mix of live concert and game
- A name and a logo
- Shooting animations in Awesomenauts
- Making 2D characters aim in all directions
- Our experience with crowdsourcing translations
- The craziness that is joysticks on PC
- Awesomenauts out now on PC on Steam!
- Optimisation lessons learned (part 3)
- Awesomenauts is coming to Steam!
- Optimisation lessons learned (part 2)
- Optimisation lessons learned (part 1)
- A bad kind of competition
- How to really involve a larger team in the creative process
- The Epic Shoes Of Awesome Winning
- What Awesomenauts almost looked like
- The beautiful alternative Awesomenauts art styles
- Awesomenauts early concept art
- Programming with pasta
- The lasagne theory of game design
- How Awesomenauts' water effect was made
- A fun Bokeh experiment in Proun
- Depth of field blur: the Swiss army knife that improved even the framerate of Awesomenauts
- We've announced our next game: Day of the Awesomenauts: Monkey Throttle
- Awesomenauts release date announced!
- Question: how to synchronise between the game and render thread?
- How we made the Awesomenauts level art
- The weird cause of Swords & Soldiers network errors
- Awesomenauts audio dev diary
- Proun's sales statistics after removing the free version
- An easy solution to the safe frame problem
- Follow your heart, not your wallet!
- The code of Awesomenauts' upgrade system
- Building hundreds of upgrades for Awesomenauts
2011 34
- The skill design system in Awesomenauts
- The lamest bug we ever encountered
- Qqq
- Monster Truck VS Zombies - A cancelled Ronimo project
- Making an HD 2D game look good on an SD television
- How a lack of art influences prototyping results
- The Bouncy Stick Problem
- What no one told you about the videocard: lagging 1 frame behind
- Matisse, Malevich, Warhol, Lichtenstein, Mondriaan, van Dongen
- Proun sales data revealed: Proun is a big success! Pay What You Want is not!
- One million races played! Proun's gameplay statistics
- Proun patch v108 released!
- Overview of Proun user tracks
- Awesomenauts intro cinematic released
- Solid Motion
- Proun highscore system patched
- Meet the Awesomenauts: Sheriff Lonestar
- Games as expression / Proun as me
- Proun server back online!
- Can anyone help me find new hosting?
- Proun website temporary move
- Proun OUT NOW for PC! And: the long history of Proun
- Proun's game design
- Proun will be "Pay What You Want!" Here's why
- Awesomenauts trailer released!
- Awesomenauts announced!
- Why I made a graphics-only trailer of Proun
- Pause
- Meta-shapes emerging from perspective
- 10 Tips for the lonely programmer
- Resetting versus re-creating
- The role of the game designer
- The many faces of balance in an RTS
- AI in Swords & Soldiers (part 2)
2010 19
- AI in Swords & Soldiers (part 1)
- The endless possibilities of art styles
- Designing levels without tools
- All the settings
- The horror that is PC development
- Coloured light in Proun
- Lighting in Proun
- Sun rays
- Stereoscopic 3D
- Designing against motion sickness in Proun
- Dirty collision detection trickery in Proun
- Camera mapping tips and tricks
- Captain August got camera mapped!
- Camera mapping the Evil Pope
- Abstract art!
- Overbright colours, blur and faking it
- Depth of field blur in Proun
- Failed/fixed leashing in Proun
- Opening speech