I spent too much time trying implement grid-based movement, until the last day where i abandonned the idea and just used normal navigation, but i had fun experimenting with different techniques, using astar, flow fields, crowd simulation.. etc
Good thing, I once implemented A* Pathfinding for my hex grid, I recommend everyone to survive this (no)