まずは落ちているゲームのソースを拾ってきて改造だな
3Dレースゲームなら3Dシューティングぐらいなら改造できると思う。
そこからマップ管理の方法とか思考して3Dシミュレーションや
モデルのツリー構造を利用してのアニメーションさせて3Dアクションとかできると思う。

まずはそういう基本システムの雛形を作れば3Dアクションの次ぐらいにFPSとか出来るようになるよ

改造と並行してソースを解析してどういう処理してるか整理するのも忘れちゃいけない
これが出来ればソースコードのスリム化とか出来ると思うし・・・

あとはメモリ管理を自前で組む方法を探さないとねC#はそこがネック