Przede wszystkim zwiększ swoje podstawy teoretyczne w czymkolwiek, czego jeszcze nie znasz. Przestudiuj teorię i napisz kilka krótkich przykładów.
Przykładowe podstawowe podstawy teoretyczne obejmują:
- Algorytmy i struktury danych
- Projektowanie oprogramowania (UML, wzorce projektowe, OOP)
- Systemy operacyjne i programowanie równoległe
Następnie rozważ naukę dodatkowego języka (na przykład Java lub C #). - Uczenie się dodatkowych języków pomaga lepiej wady i zalety każdego używanego języka i pomaga nauczyć się najlepszych praktyk, o których możesz nie wiedzieć.
Następnie wybierz nową domenę (programowanie internetowe, grafika komputerowa, przetwarzanie obrazu, widzenie komputerowe, dostęp do danych, ...). Przestudiuj teorię i napisz kilka krótkich przykładów.
Następnie utwórz duży przykład, który zawiera w sobie wielowarstwową aplikację, obsługującą dostęp do danych, interfejs użytkownika i określoną domenę, którą wybrałeś. Połóż nacisk na architekturę aplikacji (upewnij się, że jej części są możliwie luźno połączone).
Mamy nadzieję, że nauczysz się, jak uczyć się nowych podejść i technologii oraz integrować je z dobrą architekturą.
Specjalnie do programowania gier polecam wybranie następujących domen / technologii:
- Podstawy przetwarzania obrazu
- Dowolna konkretna technologia interfejsu użytkownika
- Podstawy grafiki komputerowej
- Dowolny konkretny silnik graficzny (np. DirectX, OpenGL, OGRE, ODG, Java3D, ...)
- Podstawy fizyki mechanicznej
- Dowolny konkretny silnik fizyki (np. PhysX, ...)
- Dowolny konkretny silnik gry (np. XNA, ...)
- Programowanie wielowątkowe
- Programowanie rozproszone
Edytować:
Jak się nauczyć:
- Przeczytaj i uruchom przykłady z CodeProject.
- Przejrzyj kilka książek w bibliotece książek / ebooków, aż znajdziesz kilka książek, które Ci się podobają (które pasują do Twojego stylu czytania + obejmują tematy, o których chcesz przeczytać).
- Czytaj blogi.
- Spróbuj rzeczy i zapytaj na StackOverlow, gdy utkniesz.