Перш за все, розширіть основні теоретичні знання в тому, що ви ще не знаєте. Вивчіть теорію і напишіть кілька коротких прикладів.
Приклад базового теоретичного підгрунтя включає:
- Алгоритми та структури даних
- Дизайн програмного забезпечення (UML, моделі дизайну, OOP)
- Операційні системи та паралельне програмування
Потім подумайте про вивчення додаткової мови (наприклад, Java або C #). - Вивчення додаткових мов допомагає краще враховувати плюси та мінуси будь-якої мови, якою ви користуєтесь, і допомагає вивчати кращі практики, про які ви можете не знати.
Далі виберіть новий домен (веб-програмування, комп’ютерна графіка, обробка зображень, комп'ютерне бачення, доступ до даних, ...). Вивчіть теорію і напишіть кілька коротких прикладів.
Далі створіть великий приклад, який інкапсулював багатошарову програму, обробляючи доступ до даних, інтерфейс користувача та певний вибраний вами домен. Зробіть акцент на архітектурі програми (переконайтеся, що його частини максимально вільно з'єднані).
Сподіваємось, ви навчитеся вивчати нові підходи та технології та інтегрувати їх з хорошою архітектурою.
Спеціально для ігрового програмування рекомендую вибрати такі домени / технології:
- Основи обробки зображень
- Будь-яка конкретна технологія інтерфейсу користувача
- Основи комп'ютерної графіки
- Будь-який конкретний графічний движок (наприклад, DirectX, OpenGL, OGRE, ODG, Java3D, ...)
- Основи механічної фізики
- Будь-який конкретний двигун фізики (наприклад, PhysX, ...)
- Будь-який конкретний ігровий движок (наприклад, XNA, ...)
- Багатопотокове програмування
- Розподілене програмування
Редагувати:
Як навчитися:
- Прочитайте та запустіть приклади з CodeProject.
- Перегляньте кілька книг у бібліотеці книг / електронних книг чи зберігайте, поки не знайдете кілька книг, які вам подобаються (які відповідають вашому стилю читання + охоплюють теми, про які ви хочете прочитати).
- Читайте блоги.
- Спробуйте щось і запитайте на StackOverlow, коли ви застрягли.