2100 - Visualize broad-phase collision
Visualize a 16x16 grid to potentially use as a broad-phase collision. Think through possible some storage options of collision data:
Option 1: Store 1 bit per grid section. If there is a hit, check against all possible inputs. Given the counts are low, it’s not unreasonable.
Option 2: Store 1 byte per grid section. Store index of item at that grid section. If there is a hit, only compare against the indices that are indicated. If multiple items are on the same grid section, just overwrite. Given relative sizes, there’s not likely to be any noticeable issues.
Option 3: Store 16 bytes per row. 1 byte for count. 15 bytes for elements. For each row, a list of items overlapping the row. If there is a hit, walk the list of items indicated. Overlapping items are non-issue. 15 elements per line is a reasonable constraint.