Dir scheinen die Grundlagen zu fehlen. Das hat noch lange nichts mit "professionell" zu tun.
Kollisionen können zwischen Formen auftreten. Die Formen in einem Spiel (z.B. Baum) sind häufig so komplex, dass eine präzise Kollisionserkennung in Echtzeit nicht möglich ist. Daher werden näherungsweise Formen benutzt. In 2D sind das häufig Kreise oder Boxen um die Objekte.
Für eine gerichtete Bewegung brauchst du also erstmal eine Richtung und eine der vereinfachten Formen. Wie du berechnen kannst, ob sich die Formen schneiden, findest du im Internet. Was man im Fall eines Schneidens tut, bleibt deine Hausaufgabe - auch, wie ein Baum, der dann gefällt wird, nicht mehr da ist.
Ich vermute du meinst "NPCs" (Non-Player-Characters) statt NCPs.
Wie Nacho schon sagte, kann ich dir auch nur den Tipp geben: Fang klein an. Hör auf an einer "Engine" zu schrauben, wenn du noch nichtmal wirklich weißt, was das ist.
Setz dir kleinere Ziele, sonst wirst du nie zu etwas kommen.
EnvisionGame(); EnableGame(); AchieveGame(); - Visionen kann man viele haben. Sie umzusetzen und auf das Ergebnis stolz zu sein ist die eigentliche Kunst.