bei SharpDX handelt es sich meines Wissens um einen Wrapper, der "nur" die DirectX-Schnittstelle für .Net Anwendungen zur Verfügung stellt. Im Hintergrund muss natürlich noch ein wenig mehr gemacht werden, da Unmanaged in Managed verpackt werden muss, aber es ist immernoch verhältnismäßig wenig. Du solltest auch nicht unbedingt externe Bibliotheken ausschließen, nur weil du so wenig externes wie möglich nehmen willst, bzw. nur weil du alles selbst machen willst. Ich habe beispielsweise anfangs auch überlegt, ob ich für mein Spiel eine eigene "Scriptsprache" (in dem Fall einfach nur eine Ansammlung von Befehlen und keine komplexeren Strukturen) entwickle, allerdings bin ich davon abgewichen und habe Python verwendet. Würde ich mal die Notwendigkeit besitzen, etwas komplexere Physik zu benötigen, dann würde ich definitiv eine Bibliothek wie Box2D nehmen und gar nicht erst versuchen, es selbst zu implementieren.
Würde es dir nicht darum gehen, ein bestimmtes Spiel damit umzusetzen sondern du einfach nur ein wenig damit rumprobieren willst, dann wäre es durchaus verständlich, wenn du einen etwas schwierigereren Weg nimmst. Du hast allerdings selbst geschrieben, dass du dein Spiel damit entwickeln wollen würdest und deswegen solltest du eher bei dem bleiben, was du bereits verwenden kannst, als komplett neu mit Werzkeugen anzufangen, die du dir erst aneignen müsstest.