Ich werde nicht alles aufzählen, was man braucht, um einen neuen NPC auf die eine oder andere Art zu erstellen. Wenn du wirklich einen ganz neuen NPC haben willst, kannst du ihn dir Coden. Dazu brauchst du C++.
Für ein Model brauchst du XSI (Modtool) oder ein anderes 3d-Programm mit Exporter. Ebenso benötigt wird für beide Dinge eine Menge Wissen, das ich hier nicht einfach so mal schnell hinschreiben kann, denn das ist ein ganzer Themenkomplex.
Vielleicht solltest du dich erstmal mit den Grundlagen der 3d-Modellierung und des Programmierens beschäftigen, bevor du versuchst, da gleich mit der Tür ins Haus zu fallen.
Anlaufstelle für Beginner ist im Moment wohl
http://developer.valvesoftware.com .