Вам точно нужен именно движок? Сейчас, как минимум, есть Unity, Unreal Engine - на последнем, в том числе и AAA игры делают. Если вы хотите именно создать игру, то лучше начните изучать один из существующих движков. Больше того, у них есть и магазины скриптов и ресурсов, где вы можете либо за бесплатно (редко), либо за денежку взять готовые механики, модели, текстуры, звуки и т.д.
Движок свой вам нужно разрабатывать только в 2-х случаях:
1) у вас какая то совершенно уникальная концепция игры, которая не ложится на современные движки (что вряд ли)
2) Вы хотите понять, как это устроено, как ведётся разработка игровых движков, встать миллион раз на грабли и понять, как их обходить. В этом случае, вы просто должны принять как факт, что с 99.99999% вероятности вы до создания игры на нем никогда не дойдете.
Просто примите как данность, что игровой 3d движок, тем более для шутера (небось ещё и онлайн хочется?) - это ОЧЕНЬ сложно и это задача не для одного человека. Точнее можно конечно и одному... Но пока вы будете его писать, используемые вами технологии уже устареют).
Но если все же решитесь, то сразу говорю, SFML - это точно не основа для 3D движка. Да, там есть работа с мышью, клавиатурой и пр. Но реализовано это явно не для поддержки разработки 3D игр типа шутеров. Изучайте WinAPI (создание окна, обработка оконных событий), OpenGL (3D графика), всякие там XInput и RawInput - ввод. И вообще, по максимуму используйте готовые библиотеки (к примеру, есть Assimp, FMOD) - это сильно ускорит разработку.
Если хочется прям совсем хардкора,то изучайте DirectX 12, Vulkan и тому подобные низкоуровневые абстракции железа