Верно, но у нас с тобой разные уровни абстракции, мы о разном думаем. Я как человек этим всем занимается смотрю на логичности кода. Тут GetAsyncKeyState не нужен, есть события окна, си касты ужасны и не понятны, перебор адресов вместо пула. 3D вектор для 2D координат и прочее
А ты не понимаешь че в происходит, ты смотришь на «правильность» кода и отказоустойчивость
Да и у тебя опыта работы в целом больше намного чем у меня :)