Как делать fps игры?

Я так понял, что FPS - это шутер от первого лица (First Person Shooter). Один из вариантов - это научиться использовать какой-нибудь бесплатный игровой движок: Unity, Godot, Unreal Engine, CryEngine и т.д. Из них я думаю, лучше всего взять Unity. Программирование на C#. Есть раздел для Unity:

https://www.cyberforum.ru/unity/

Начать можно с этой книги:

Unity в действии. Мультиплатформенная разработка на C#

. В ней как раз с самого начала книги показывают пошагово, как создавать FPS. Показывают простые базовые вещи.