TIPPGK

Spis projektów

idNumer projektuNazwaZajęcia
11Mapa hexagonalna 1: 2016-10-06
22Własny format pliku graficznego2: 2016-10-13
33Prosta "gra" (istotne: spritey, podwójne buforowanie)4: 2016-10-27
44AI: wyszukiwanie ścieżki5: 2016-11-03
55Kolizje9: 2016-12-01
66Transformacje 2D10: 2016-12-08
77Widok 3D11: 2016-12-15
88AI: automat sterujący zachowaniem postaci13: 2017-01-05
9Gra w HTML-u7: 2016-11-17
10Unity 3Dcały semestr
11Unity 2Dcały semestr

Opis zajęć

  1. Tydzień 1:
  2. Tydzień 2:
  3. Tydzień 3:
  4. Tydzień 4:
    • 2016-10-27 2D Graphics: double buffering and sprites
      • Materiały uzupełniające
        • Rozdział 2 z [Mad, 2014]: 2D Graphics
      • Zadania (jedno do wyboru)
        1. Zadanie 3 Napisać prostą grę według poniższych założen (lub podobnych, ale równoważnych) nie korzystając z żadnych dodatkowych bibliotek animujących i zarządzających upływem czasu w grze.
          1. Na ekranie widoczny jest pojazd kosmiczny.
          2. Pojazd kosmiczny ma widczny pracujący silnik (animacja pracy silnika w postaci wydobywających się z dyszy wylotowej płomieni).
          3. Pojazd kosmiczny posiada możliwość wystrzeliwania rakiet.
          4. Ilość rakiet możliwych do wystrzelenia i widocznych w tym samym czasie musi być większa od 1.
          5. Wystrzelona rakieta po osiągnięciu brzegu ekranu ulega rozbiciu (animacja ekspolzji).
          6. Dwa przesuwające się tła.
          Termin oddania: do końca semestru.
      • Po tych zajęciach powinno się znać / wiedzieć / umieć
        • Podstawy powstawanie obrazu na monitorze, zagadnienie synchronizacji pionowej, możliwe problemy.
        • Zagadnienie podwójnego buforowania.
    • 2016-10-27 Unity - wprowadzenie, część 3 (pierwsze skrypty)
    • 2016-10-28 Unity - wprowadzenie, część 4 (skrypty - ciąg dalszy)
  5. Tydzień 5:
    • 2016-11-03 Artificial intelligens in games: pathfinding
      • Materiały uzupełniające
        • Różne algorytmy wyszukiwania ścieżki
        • Mój przykładowy program działający dla poniższej planszy
          Plik z opisem planszy (bfs_citi_01.txt) jej wygląd

          oraz proponowany koszt wejścia na pola
          Symbol Nazwa pola Koszt wejścia
          na pole
          Numer pola
          w pliku z danymi
          Droga główna
          (teren nizinny)
          0.25 40
          Droga drugorzędna
          (teren nizinny)
          0.5 30
          Ścieżka
          (teren nizinny)
          1 20
          Ścieżka
          (wzniesienia)
          1.5 21
          Ścieżka
          (teren pagórkowaty)
          2 22
          Ścieżka
          (góry)
          2.5 23
          Ścieżka
          (most)
          1 24
          Teren nizinny 1.5 10
          Wzniesienia 2 11
          Teren pagórkowaty 3 12
          Góry 4 13
          Rzeka Infinity
          Przekraczanie zabronione
          (tylko po drodze)
          0
          Las
          (teren nizinny)
          2.5 1
          Miasto 1 2
      • Zadania (jedno do wyboru)
        1. Zadanie 4 Napisać prostą grę według poniższych założen (lub podobnych, ale równoważnych) nie korzystając z żadnych dodatkowych bibliotek animujących i zarządzających upływem czasu w grze.
          1. Ekran podzielony jest na kwadratowe pola.
          2. Kolor pola odpowiada wysokości obszaru odwzorowywanego przez to pole.
          3. Wypełnienie planszy losowe, ewentualnie z możliwością zapisu i ponownego odczytu wygenerowanej planszy.
          4. Naturalny przebieg rzeźby terenu.
          5. Koszt przejścia przez pole zależny jego wysokości.
          6. Możliwość wprowadzenie dodatkowych ,,obiektów'' wpływających na przemieszczanie, np.: rzeka, jezioro, las, droga itp.
          7. Generowanie najkrótszej ścieżki pomiędzy dwoma, dowolnie wybranymi, polami na planszy.
          Termin oddania: do końca semestru.
          Zasadniczo dobrze by było aby każdy spróbował sam zmierzyć się z zagadnieniem automatycznego generowania obszarów, ale można też skorzystać z podpowiedzi
      • Po tych zajęciach powinno się znać / wiedzieć / umieć
        • Umieć wyjaśnić działanie algorytmu A* na konkretnym przykładzie.
    • 2016-11-03 Unity - wprowadzenie, część 4 (skrypty - ciąg dalszy)
    • 2016-11-04 Unity - wprowadzenie, część 5 (modelowanie środowiska)
  6. Tydzień 6:
  7. Tydzień 7:
    • 2016-11-17 Podstawy programowania gier w HTML
      • Materiały uzupełniające
      • Po tych zajęciach powinno się znać / wiedzieć / umieć
    • 2016-11-17 Unity - praca z prezentacjami
    • 2016-11-18 Unity - praca z prezentacjami
  8. Tydzień 8:
    • 2016-11-24 Basics of 2D and 3D graphics: Linear algebra
      • Materiały uzupełniające
      • Po tych zajęciach powinno się znać / wiedzieć / umieć
    • 2016-11-24 Piszemy grę w HTML-u
    • 2016-11-25 Piszemy grę w HTML-u
  9. Tydzień 9:
  10. Tydzień 10:
    • 2016-12-08 Basics of 2D and 3D graphics: Transformations
      • Materiały uzupełniające
      • Zadania (jedno do wyboru)
        1. Zadanie 6 Napisać aplikację animującą obiekty według podanego rysunku

          • Obiekt S1 (kwadrat) jest umieszczony w środku układu.
          • Obiekt S1 obraca się wokół środka układu.
          • Obiekt S2 krąży wokół obiektu S1 zachowując swoją orientację względem S1 (cały czas zwrócony jest do S1 tym samym bokiem).
          • Obiekt S3 krąży wokół obiektu S2 zachowując swoją orientację względem S2 (cały czas zwrócony jest do S2 tym samym bokiem).
          Ewentualne transformajce muszą być wykonane za pomocą macierzy transformacji.
      • Po tych zajęciach powinno się znać / wiedzieć / umieć
        • Umieć podać macierz dla elementarnych transformacji.
        • Podać i scharakteryzować możliwe sposoby opisu obrotów w przestrzeni 3D.
    • 2016-12-08 Piszemy grę w HTML-u
    • 2016-12-09 Piszemy grę w HTML-u
  11. Tydzień 11:
  12. Tydzień 12:
    • 2016-12-22 Unity - część 6: Basic Keyframe animation in Unity 3d
  13. Tydzień 13:
    • 2017-01-05 Artificial intelligens in games: Rozdział 11: Automaty oraz 12: Symulacja zachowania
      • Materiały uzupełniające
      • Zadania (jedno do wyboru)
        1. Zadanie 8 Treść zadania przedstawia rozdział 12: Symulacja zachowania z ai.pdf
      • Po tych zajęciach powinno się znać / wiedzieć / umieć
        • Czym jest ostrosłup widzenia.
        • Jakie transformacje są wykorzystywane przy przejściu od świata gry (3D) do prezentacji go na ekranie (2D).
    • 2017-01-05 Unity - część 7: Simple 2D space game, part I
  14. Tydzień 14:
    • 2017-01-12 Problemy współczesnych gier (Jakub Choróbski)
      • Materiały uzupełniające
      • Zadania (jedno do wyboru)
      • Po tych zajęciach powinno się znać / wiedzieć / umieć
    • 2017-01-12 Unity - część 7: Simple 2D space game, part I
      • Materiały uzupełniające
      • Zadania (jedno do wyboru)
    • 2017-01-13 Unity - część 7: Simple 2D space game, part I
  15. Tydzień 15:
    • 2017-01-19 Podsumowanie
      • Materiały uzupełniające
      • Zadania (jedno do wyboru)
      • Po tych zajęciach powinno się znać / wiedzieć / umieć
    • 2017-01-19 Sprawdzanie projektów
      • Materiały uzupełniające
      • Zadania (jedno do wyboru)
    • 2017-01-20 Sprawdzanie projektów

Materiały

Materiały uzupełniające, dodatkowe, obejmujące wiecej niż jeden temat (dlatego ,,niepodpięte'' pod konkretne zajęcia), mniej lub bardziej związane z przedmiotem itd.