Nie napisałeś nic o swoim aktualnym poziomie wiedzy, więc trudno coś doradzić...
Zakładając, że umiesz programować to zacznij od Unity i czytania tutoriali. Jeśli nie umiesz programować to niestety, ale musisz ogarnąć podstawy - najlepiej moim zdaniem pierwsze kroki stawiać w C++ i ćwiczyć się w różnych podstawowych algorytmach. Niestety nie wiem co jest teraz 'na topie' z książek, dawno żadnej nie czytałem ;)
W czym się pisze gry? We wszystkim, w czym komu wygodnie. Unity jest dobry na początek, ma dużą społeczność, nie zginiesz i będziesz w stanie coś małego napisać. Takie coś:
http://skullstonegame.com/media/ napisałem w JME, takim mało znanym silniku dla Javy, jest to z kolei silnik dla bardziej zaawansowanych.
Z grami 3D wiąże się jeszcze kilka innych rzeczy oprócz samego programowania: to renderowanie grafiki 3D i modelowanie. Obydwa to w sumie osobny, duży rozdział w pracach nad grą, sugeruję więc zacząć od czegoś prostszego, np gra 2D - do niej dużo łatwiej zrobić grafikę.