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ć
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
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
Hasła: English, Dictionary
- Nie zaniedbywać lekcji angielskiego
- Dodatkowe, płatne kursy językowe
- Słownik komputerowy
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]
Hasła: OOP, class, inheritance, polimorphism, encapsulation
Źródła te same co do nauki programowania.
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]
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]
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]
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]
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]
- Nie zaniedbywać lekcji matematyki
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]
Hasła: Physics, Simulation
- Fizyka dla programistów gier - David M. Bourg, wyd. Helion [książka]
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]
Hasła: XNA, Delphi, Symbian, Java, J2ME
Hasła: Windows API, Windows Forms, MFC, VCL, wxWidgets, Qt, GTK
- Programowanie Windows - Charles Petzold, wyd. RM [książka]
Hasła: SDL, Allegro, DirectDraw, Direct3D, GDI
Hasła: Thread, Multithreaded, Parallel
Hasła: OGRE, Irrlicht
Hasła: HTML, CSS, PHP, JavaScript, AJAX
Hasła: Genetic Algorithms, Fuzzy Logic, Neural Networks
Hasła: DirectAudio, FMOD, OpenAL
Hasła: GIMP, Photoshop, 3D Studio MAX, Blender, Maya, Lightwave