Nie, nie musisz, ale programowanie obiektowe ułatwia sprawę (wtedy możesz skorzystać z takich bibliotek jak SFML [C++], czy bardziej zaawansowanych silników [odradzam jeżeli dopiero zaczynasz]: Unity [C#], czy UE4 [C++]).
Jeżeli nie chcesz pisać obiektowo, to możesz w przypadku C++ skorzystać z SDL lub Allegro, ale chcę cię uświadomić że musisz lubić wskaźniki i pisać dużo kodu.