I teraz moje pytanie czy właśnie tak tworzy się profesjonalne gry?
Oczywiście, głównie w mniejszych studiach, ale tak, gotowe silniki są powszechnie wykorzystywane.
Czy naprawdę jest tam tak mało programowania?
Programowanie w gotowych silnikach prowadzi się głownie do definiowania zachowania gry. Reszta jest już zautomatyzowana i modyfikowalna przez przyjazny interfejs użytkownika. Później silnik tworzy z twojego kodu i swoich zasobów gotowy produkt, ograniczając ingerencję z zewnątrz do minimum. Dzięki temu nie trzeba tworzyć takich narzędzi samemu.
Jakie biblioteki do tworzenia aplikacji 3d i gier (C/C++ ewentualnie Java albo C#) możecie polecić?
Osobiście mógłbym polecić multiplatformowy OpenGL (jeśli chcesz mieć niskopoziomowy dostęp do karty graficznej), jest on dostępny chyba na wszystkich językach, które wymieniłeś. Poza tym jakaś biblioteka do zarządzania oknem i zdarzeniami oraz do dźwięku czy sieci (to wszystko oferuje SFML na C++).