surfaces - do not allow feet to be underground at all! or inside a tree, etc. could be based on tile-type and known geometry - whole tile - diagonals - half / top-half - harmful tiles based on collision pixmaps - generate text files from normal images (or from the strip?), then edit - reaction bits - encodes what direction impulse is given from contact with that point - damage bits - encode how much damage is given from the point - do bitfield collision first? check tile vs tile with offset, just 32-bit ints, bitshift and 'and'. Very cheap. - depends on animation frame too! main cases: - flat ground - push up, damage - sloping ground - push diag, damage - vertical walls - push back, damage - roof - push down - enemy - fight / damage - spikes - damage - boulder - damage / impact / smush - diamond - collect / impact / damage / smush - water - resistance / some impact damage at high speeds / drowning - trees - pass through / climb - TODO wobbly ladders, swinging ropes, rope bridges... - a curved rope bridge would have a variably sloped reaction, that's doable For all these common cases, a simple appoach will work: bitmap collision detection + rection code [for each object pair] basd on a model of the tiles / objects, it's good enough for a simple game. To bounce two rocks for example, can use exact shape for detection and a sphere model for the physics / bouncing. 1. object <-> scenery collisions. just check neighboring tiles 2. object <-> object collisions. bin objects into a tile-grid (each object typically occupies 4 tiles), and check for collisions as we go. How to handle complex bounce problems with fast-moving objects? I don't want the objects getting stuck inside walls or anything! Shouldn't be able to get stuck in the landscape, if no other objects about. Re damage, sudden hard shock can cause unconsciousness, major injury or death. Player gains experience? initially jumping is weak, cannot survive a long fall. But many jumps and landings close to the limit gives extra ability and can survive a longer fall, etc. Experience only goes so far - can't jump tall buildings in a single bound nor fall from the moon! Do we want general 'bouncing off' other moving objects? climb trees / ropes / ladders / etc? based on vector models - could 'trace' pixmaps and smooth to get a vector model - precise vector collision detection may be even harder - could get good reaction forces mass-model of pixmaps? too complex