Womit anfangen:
Da scheiden sich die Geister. Viele "eingefleischte Programmierer" raten konsequent dazu, außerhalb einer jeden Engine (oder gar gänzlich außerhalb der Spieleentwicklung), damit man "alles richtig versteht". Ich will nicht sagen, dass solche Aussagen grundsätzlich falsch sind, sie sind aber auch nicht grundsätzlich richtig. Man kann auch mit einer Engine anfangen, über das Scripting dort mit der Programmierung anfangen und dabei sich das Programmieren aneignen, nur sollte man sich nicht auf seinen "ersten Ergolgen" ausruhen, weil man etwas zum Laufen gebracht hat, sondern weiter gucken, ob die Implementierung verbessert werden kann. (Mal ganz abgesehen von der Annahme, man würde auf jeden Fall etwas lernen, wenn man so grundlegend wie möglich anfängt...)
Genauso versteht man ggf. erst durch das Verwenden einer Engine, was diese grundsätzlich machen sollen und wie die Strukturierung vorgenommen werden kann.
Solltest du unbedingt in die Spieleentwicklung, dann ist es wichtiger, eine bestimmte Engine sehr gut zu kennen, statt seine eigene implementiert zu haben.
Unterscheiden muss man aber auch noch zwischen "Frontend" (bzw. Standalone-Spiele) und "Backend". Während man im Frontend Bereich mit der Visualisierung des Spielgeschehens und den Spielmechaniken zu tun hat, verhält sich das Backend wesentlich stärker vergleichbar mit normale Software Entwicklung. Abhängig vom Spiel kommen auch da oft genug die entsprechenden Engines zum Einsatz, damit ein konsistentes physikalisches Verhalten sichergestellt werden kann, allerdings gibt es genug Spiele, die das im Backend-Bereich nicht benötigen.
BlueCobold hat bereits angesprochen, dass man in der Spieleentwicklung grundsätzlich weniger als in anderen Branchen verdient. Das deckt sich soweit auch mit dem was ich bisher immer wieder gehört habe, zusätzlich dazu, dass Überstunden kurz vor Release (Crunchtime) sehr verbreitet sein sollen. Du solltest dir dieser Dinge auf jeden Fall bewusst sein, bevor du eine Entscheidung triffst.
Abschließend zusammengefasst:
Es ist relativ egal, womit du anfängst. Willst du ein Spiel fertigstellen, solltest du dir unnötige Arbeit eher ersparen und eine Engine nehmen. Solltest du einfach nur experimentieren und lernen wollen, kannst du auch so low level wie dir lieb ist anfangen.
Und da du wohl noch nicht sehr entschieden bist, ob du beruflich Spiele entwickeln willst, solltest du dir aber auch genug Zeug außerhalb der Spieleentwicklung ansehen. (Nicht unbedingt direkt am Anfang, aber lieber noch bevor du in der Softwareentwicklung einen Job suchen gehst.)