Agent-based modeling for a complex world