Netzwerkprogrammierung ist nicht unbedingt das leichteste, was man sich für den Anfang raussuchen kann und gerade First Person Shooter, bei denen jede minimale Verzögerung sofort auffällt, sind sehr anspruchsvoll. Am besten wäre es auch hier sich langsam an die Materie heran zu tasten. Erst mal einen kleinen Chat programmieren, anschließend evtl. ein Rundenstrategie-Spiel(Schiffe Versenken oder so was) und dann langsam in Richtung Real-Time gehen.
Tutorials habe ich zu diesme Thema auch noch nicht wirklich gefunden(klar Netzwerk-Grundlagen findet man, aber detaillierte Tutorials zur Spieleprogrammierung findet man egtl. kaum).
Einige Artikel und Seiten, die ich dir auf jeden Fall ans Herz legen kann:
Wie funktioniert es in den Unreal-Spielen?
Wie macht es die Source-Engine?
Networking for Game Programmers
Alles in allem wirst du feststellen(auch wenn du dann mal deine ersten eigenen Tests schreibst), dass die Materie alles andere als Trivial ist. Mein Rat ist nicht, dass das erste 3D-Game kein FPS sein sollte, sondern dass du möglicherweise das "Online" nochmal überdenken solltest
. Denn letztlich ist Netzwerk-Programmierung nichts, was man mal eben so nebenbei mitnehmen kann. Zumindest nicht, wenn es gleich ein FPS werden soll. Dazu kommen dann noch Späße, wie bspw. Cheating, um das du dich kümmern musst. Also leicht wird es definitiv nicht
.