Prima di tutto, aumenta il tuo background teorico di base in tutto ciò che non conosci ancora. Studia la teoria e scrivi alcuni brevi esempi.
Esempio di base teorica di base include:
- Algoritmi e datastrutture
- Progettazione software (UML, modelli di progettazione, OOP)
- Sistemi operativi e programmazione parallela
Quindi, considera l'apprendimento di una lingua aggiuntiva (ad esempio Java o C #). - Studiare altre lingue aiuta meglio sotto i pro ei contro di qualunque lingua tu stia usando e ti aiuta a imparare le migliori pratiche di cui potresti non essere a conoscenza.
Quindi scegli un nuovo dominio (programmazione web, computer grafica, elaborazione delle immagini, visione artificiale, accesso ai dati, ...). Studia la teoria e scrivi alcuni brevi esempi.
Successivamente, crea un grande esempio, che incapsula un'applicazione a più livelli, gestendo l'accesso ai dati, l'interfaccia utente e un dominio specifico che hai scelto. Metti l'accento sull'architettura dell'applicazione (assicurati che le sue parti siano accoppiate il più liberamente possibile).
Spero che imparerai come apprendere nuovi approcci e tecnologie e integrarli con una buona architettura.
In particolare per la programmazione di giochi, consiglio di scegliere i seguenti domini / tecnologie:
- Nozioni di base sull'elaborazione delle immagini
- Qualsiasi tecnologia dell'interfaccia utente specifica
- Nozioni di base sulla computer grafica
- Qualsiasi motore grafico specifico (ad es. DirectX, OpenGL, OGRE, ODG, Java3D, ...)
- Nozioni di base di fisica meccanica
- Qualsiasi motore fisico specifico (ad esempio PhysX, ...)
- Qualsiasi motore di gioco specifico (ad es. XNA, ...)
- Programmazione multi-thread
- Programmazione distribuita
Modificare:
Come imparare:
- Leggi ed esegui esempi da CodeProject.
- Sfoglia alcuni libri in una libreria di libri / ebook o negozi fino a trovare un paio di libri che ti piacciono (che corrispondono al tuo stile di lettura + coprono gli argomenti di cui vuoi leggere).
- Leggi i blog.
- Prova le cose e chiedi su StackOverlow quando rimani bloccato.