na Twoim miejscu nie zaczynał bym od C++. Zwyczajnie to trudny język, łatwo stracisz zapał. Zacząłbym od Pythona, który jest super do nauki (prosty, więc nie stracisz zapału), a potem przesiadł się na C++. Pamiętaj, że najtrudniej nauczyć się pierwszego języka, potem kiedy już rozumiesz samo programowanie to języki łatwo zmieniać.
No, i do Pythona masz PyGame, które jest niezłym wrapperem SDL i pozwoliło mi kiedyś w jeden weekend napisać klona bombermana
więc zacząć z gamedevem w Pythonie też się da.
Czy do programowania bardziej zaawansowanych programów wymagana jest znajomość większej ilości języków?
nie, prędzej dobra znajomość jednego języka. + narzędzia poboczne, w webdevie np bez SQL i choćby podstaw HTML/CSS może być ciężko. W programowaniu "zwykłym", desktopowym, na pewno podstawy basha się przydadzą, żeby sobie zautomatyzować pracę.
Programowanie na Linuxie również wymaga dodatkowych programów jak na Windowsie czy wystarczy pobrać odpowiednie paczki i można pisać na przykład w Gedit?
wymaga kompilatora/interpretera i dowolnego edytora. Gedit raczej to słaby wybór, chociaż oczywiście można
spróbuj Geany, podobnie lekki a dużo więcej Ci ułatwi (wbudowana konsola, możliwość przypięcia bardziej zaawansowanych skrótów... używałem przez parę lat kariery programisty i chwaliłem
)