Programista gier

Ta strona przedstawia moją osobistą wizję typowej ścieżki rozwoju kogoś, kto chce się zająć programowaniem gier. Powstała w oparciu o przemyślenia zebrane w ciągu lat mojego przebywania na forum.gamedev.pl, jego moderacji i ogólnie na podstawie obserwacji ludzi.

Kliknij na wybraną ikonkę z lewej strony, aby zobaczyć jej opis.

 

Komputer i Internet
Poziom: 0

- Obsługa komputera - podstawowych programów
- Korzystanie z zasobów i usług Internetu
- System operacyjny - konfiguracja, rozwiązywanie problemów
- Sprzęt - rozeznanie, rozwiązywanie problemów

Kliknij aby się nauczyć

 

Netykieta
Poziom: 1
Wymaga: Komputer i Internet

- Myślenie, kreatywność, rozwiązywanie problemów
- Google - umiejętność wyszukiwania informacji
- Unikanie zachowań lamerskich
- Kultura zachowania
- Język polski - ortografia, gramatyka, interpunkcja

Kliknij aby się nauczyć

 

Angielski
Poziom: 2

- Znajomość terminów informatycznych
- Wyszukiwanie informacji po angielsku
- Czytanie tekstu po angielsku

Kliknij aby się nauczyć

 

Programowanie
Poziom: 1
Wymaga: Komputer i Internet

- Podstawy programowania
- Język C++
- Wskaźniki
- Obsługa IDE

Kliknij aby się nauczyć

 

Programowanie obiektowe
Poziom: 2
Wymaga: Programowanie

- Znajomość składni obiektowej C++
- Zrozumienie idei OOP - enkapsulacja, dziedziczenie, polimorfizm

Kliknij aby się nauczyć

 

Struktury danych
Poziom: 2
Wymaga: Programowanie, Matematyka

- Zrozumienie podstawowe struktur danych - wektor, lista, drzewo
- Biblioteka standardowa C++ (kontenery)
- Używanie plików tekstowych i binarnych
- Elementarne algorytmy

Kliknij aby się nauczyć

 

Grafika 3D
Poziom: 2
Wymaga: Programowanie, Geometria

- DirectX lub OpenGL
- Grafika komputerowa
- Programowanie gier

Kliknij aby się nauczyć

 

Projektowanie
Poziom: 3
Wymaga: Programowanie obiektowe

- Projektowanie i dokumentacja
- Inżynieria oprogramowania
- Organizacja kodu
- Wzorce projetkowe

Kliknij aby się nauczyć

 

Algorytmy
Poziom: 3
Wymaga: Struktury danych

- Algorytmika

Kliknij aby się nauczyć

 

Zaawansowana grafika 3D
Poziom: 3
Wymaga: Grafika 3D, Angielski

- Potok karty graficznej
- Język shaderów
- Wczytywanie i przetwarzanie siatek
- Oświetlenie, cienie i efekty
- Programowanie silnika

Kliknij aby się nauczyć

 

Matematyka
Poziom: 1

- Podstawy algebry
- Podstawy logiki
- Funkcje

Kliknij aby się nauczyć

 

Geometria
Poziom: 2
Wymaga: Matematyka

- Wyobraźnia przestrzenna
- Funkcje trygonometryczne
- Wektory
- Macierze
- Kwaterniony
- Kolizje między obiektami

Kliknij aby się nauczyć

 

Fizyka
Poziom: 3
Wymaga: Geometria

- Analiza matematyczna
- Metody całkowania numerycznego
- Kolizje między poruszającymi się obiektami
- Fizyka ciała sztywnego

Kliknij aby się nauczyć

 

Umiejętności główne

Komputer i Internet

Hasła: Windows, Linux, Registry, WWW, E-mail, FTP, IRC, P2P, RSS, Community, Hardware

- Magazyny komputerowe - np. CHIP, PC World Komputer
- Książki do nauki obsługi poszczególnych programów
- Książki wprowadzające do tematów takich jak sprzęt, korzystanie z Internetu, konfiguracja i zaawansowane korzystanie z systemu Windows czy Linux

Netykieta

Hasła: Ortografia, Interpunkcja, Google, Netykieta, Lamer, Troll

- Jak nie lamić [online]
- Jak mądrze zadawać pytania, Eric S. Raymond [online]
- Nie zaniedbywać lekcji polskiego

Angielski

Hasła: English, Dictionary

- Nie zaniedbywać lekcji angielskiego
- Dodatkowe, płatne kursy językowe
- Słownik komputerowy

Programowanie

Hasła: Programming, C++, Pointers

- Megatutorial "Od zera do gier kodera" - Karol Kuczmarski [online]
- Symfonia C++, Pasja C++ - Jerzy Grębosz, Oficyna Kallimach [książka]
- Podstawy języka C++ - Lippman, wyd. WNT [książka]

Programowanie obiektowe

Hasła: OOP, class, inheritance, polimorphism, encapsulation

Źródła te same co do nauki programowania.

Struktury danych

Hasła: Data Structures, Containers, C++ Standard Library

- C++. Biblioteka standardowa. Podręcznik programisty - Nicolai M. Josuttis, wyd. Helion [książka]
- Struktury danych i formaty plików [online]

Grafika 3D

Hasła: DirectX, OpenGL, 3D

- Grafika 3D - Robal & Domino [online]
- NeHe [online]
- Programowanie gier w DirectX - Mason McCuskey, wyd. Mikom [książka]
- OpenGL. Programowanie gier - Kevin Hawkins, Dave Astle, wyd. Helion [książka]
- OpenGL. Księga eksperta - Richard S. Wright Jr., Benjamin Lipchak, wyd. Helion [książka]

Projektowanie

Hasła: Software Engineering, Design Patterns

- Wzorce projektowe - Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, wyd. WNT [książka]
- Inżynieria oprogramowania, Andrzej Jaszkiewicz, wyd. Helion [książka]

Algorytmy

Hasła: Algorithms

- Wprowadzenie do algorytmów, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, wyd. WNT [książka]
- Algorytmy w C++, Robert Sedgewick, wyd. RM [książka]
- Sztuka programowania, Donald Knuth, wyd. WNT [książka]

Zaawansowana grafika 3D

Hasła: Shader, Lighting, Shadow Volume, Shadow Mapping, Mesh, Engine

- HLSL Introduction - Chang Li [online]
- Perełki programowania gier (Game Programming Gems) - wyd. Helion [książka]
- GPU Gems [książka]

Matematyka

- Nie zaniedbywać lekcji matematyki

Geometria

Hasła: Vector, Matrix, Quaternion, Geometry, Collision, 3D

- Dowolna książka o podstawach programowania gier w DirectX lub OpenGL
- Geometria obliczeniowa. Wprowadzenie - Franco P. Preparata, Michael Ian Shamos, wyd. Helion [książka]

Fizyka

Hasła: Physics, Simulation

- Fizyka dla programistów gier - David M. Bourg, wyd. Helion [książka]

Umiejętności dodatkowe

Mistrzostwo C++

Hasła: C++, Templates

- C++. 50 efektywnych sposobów na udoskonalenie Twoich programów - Scott Meyers, wyd. Helion [książka]
- Język C++ bardziej efektywny - Scott Meyers, wyd. WNT [książka]
- STL w praktyce. 50 sposobów efektywnego wykorzystania - Scott Meyers, wyd. Helion [książka]
- Nowoczesne projektowanie w C++ - Andrei Alexandrescu, wyd. WNT [książka]
- Język C++ - Bjarne Stroustrup, wyd. WNT [książka]

Inne języki i platformy

Hasła: XNA, Delphi, Symbian, Java, J2ME

Biblioteki GUI i inne API

Hasła: Windows API, Windows Forms, MFC, VCL, wxWidgets, Qt, GTK

- Programowanie Windows - Charles Petzold, wyd. RM [książka]

Grafika 2D

Hasła: SDL, Allegro, DirectDraw, Direct3D, GDI

Programowanie sieciowe

Hasła: Networking, Socket

- Beej's Guide to Network Programming [online]

Programowanie równoległe

Hasła: Thread, Multithreaded, Parallel

Gotowe silniki

Hasła: OGRE, Irrlicht

Tworzenie stron WWW

Hasła: HTML, CSS, PHP, JavaScript, AJAX

Sztuczna inteligencja

Hasła: Genetic Algorithms, Fuzzy Logic, Neural Networks

Programowanie dźwięku

Hasła: DirectAudio, FMOD, OpenAL

Grafika

Hasła: GIMP, Photoshop, 3D Studio MAX, Blender, Maya, Lightwave