Reducing Tiled Maps to Optimized Collision Rectangles with Greedy Merging
Explains a greedy algorithm to convert dense tile-based collision maps into optimized axis-aligned rectangles for efficient runtime collision detection.
Emanuele Feronato is an Italian game developer and programmer writing about HTML5 game development, Phaser, JavaScript, and TypeScript since 2006. His blog features practical tutorials, experiments, and game-dev fundamentals.
12 articles from this blog
Explains a greedy algorithm to convert dense tile-based collision maps into optimized axis-aligned rectangles for efficient runtime collision detection.
Explains the greedy rectangle merging algorithm for simplifying binary grids into non-overlapping rectangles, with a JavaScript implementation.
A tutorial on creating a planet gravity platformer prototype using Phaser 4, Arcade Physics, and TypeScript, focusing on dynamic gravity rotation.
Explains QuadTrees, a spatial data structure for optimizing 2D spatial queries in games, simulations, and interactive applications.
Explains how to use the Mulberry32 seeded pseudo-random number generator for deterministic randomness in JavaScript applications like games and simulations.
A step-by-step tutorial for installing and running the Chatterbox Turbo text-to-speech model locally on Windows, including setup and troubleshooting.
A JavaScript tutorial demonstrating input buffering and delayed keyboard event visualization for game development concepts.
A tutorial on building a 3D Wheel of Fortune game using only JavaScript and CSS, with a focus on 3D transforms and animations.
A tutorial on building an HTML5 math drawing game using a reusable TypeScript class, with a Phaser example for rendering.
Step 4 of a tutorial on building a Helix Jump game prototype using Three.js and TypeScript, covering scoring, CSS backgrounds, and platform animations.
Learn JavaScript and CSS fundamentals by building a simple reflex game in a single HTML file with no frameworks or dependencies.
Step-by-step tutorial on building a Helix Jump game prototype using Three.js, TypeScript, and GSAP for camera animations and spike collision.