TKesse —
First of all... thanks for saying Geemer. I was starting to wonder if anyone out here was a former 80's gamer or not.
Honestly, for how simple of an enemy that guy was, he was pretty difficult to figure out. Essentially though I have it move 16 pixels in it's current direction, trigger a check which looks for barriers in front and below him using overlapping at offset, which will set the flags for 'front' and 'below' either on or off. at that point, depending on which flags are on or off (a combination of them), they will move in the appropriate direction. I also have them averaging out to the nearest 16x16 grid so that they never really move out of bounds.
I originally had separate objects for checking those collisions, but when I converted this guy over to the crawler family (so I could reproduce the behaviors more efficiently) I ran into problems. checking at offset made things much smoother, and it also cut down on some processing power since each Geemer didn't have it's own forward and bottom checker following them around all the time.
Also I really appreciate the interest you guys have in this project. Here's a new build with some new simple features:
1. Some simple 8bit sounds I made
2. 4 directional aiming
3. A new enemy
4. Teleporters
5. Super basic level select, mostly for my own debugging at this point
6. Addressed the level design issue mentioned by regisRquoi by making it more obvious where jump points were
Everything is still way rough and I haven't spent much time on sprucing up the third level, (I took out level 2 because it was really rough) but enjoy!
http://threesevenhosting.com/builds/11-19-2014/