Uniwersytet w Białymstoku - Centralny System Uwierzytelniania
Strona główna

Programowanie gier 3D

Informacje ogólne

Kod przedmiotu: 390-FG1-3PG3D
Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Programowanie gier 3D
Jednostka: Wydział Fizyki
Grupy:
Punkty ECTS i inne: (brak) Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.

zobacz reguły punktacji
Język prowadzenia: polski
Rodzaj przedmiotu:

obowiązkowe

Wymagania (lista przedmiotów):

Modelowanie 3D 390-FG1-2M3D
Programowanie obiektowe 0900-FG1-1PO
Systemy operacyjne 0900-FG1-1SO

Założenia (lista przedmiotów):

Grafika komputerowa 2D 0900-FG1-1GK2D
Lektorat języka angielskiego 2 0900-FG1-1LJA2
Programowanie skryptowe 0900-FG1-2PS

Założenia (opisowo):

Student powinien sprawnie posługiwać się komputerem w systemie operacyjnym Windows/Linux, gdyż narzędzie GODOT działa zarówno pod systemem operacyjnym Window jak i Linux. Oczekiwana jest także umiejętność kopiowania plików ze zdalnego serwera (uczelnianego, działającego pod kontrolą systemu Linuix) gdzie pobierane będą materiały przygotowane na zajęcia (oczekiwanie umiejętności scp lub WinScp). Poznawać będziemy język GDScript w praktyce, bazując na poznanym wcześniej języku C++/Pythonie (duże podobieństwo), więc wymagana jest znajomość C/C++/Pythona. Dobrze widziane jest umiejętność tworzenia prostych grafik wektorowych i rastrowych 2D (umiejętność posługiwania się programiami Gimp, Inkscape). Podczas zajęć będziemy wracać do programu Blender i tworzyć niezbędna obiekty, animacje (wymagana umiejętność posługiwania się programem Blender) . Opis biblioteki GODOT dostępny jest tylko w języku angielskim, dlatego oczekiwana jest komunikatywność w tym języku.

Skrócony opis:

Poznajemy narzędzie GODOT - zaawansowane środowisko do programowania gier 2D/3D - w tym przypadku skupiamy się na 3D (choć rozpoczynamy poznanie narzędzia od gry 2D). Omawiana będzie obsługa silnika fizycznego obiektów, tworzenie skryptów w języku GDScript, obsługa dźwięku oraz efektów graficznych (w szczególności system cząsteczek). Poznawać będziemy tworzenie animacji 2D/3D z gotowych modeli z bibliotek/internetu, jak też i przygotowanych animacji grafik 2D (Inkscape, Gimp) oraz obiektów 3D (z Blendera).

Pełny opis:

Profil studiów ogólnoakademicki

Forma studiów: stacjonarne

Rodzaj przedmiotu:obowiązkowy, moduł 4 Kształcenie praktyczne i specjalistyczne

Dziedzina i dyscyplina nauki: Dziedzina nauk ścisłych i przyrodniczych, Dyscyplina nauki fizyczne

Rok studiów/semestr: 3 rok, 1 semestr, studia I-go stopnia

Wymagania wstępne: wymagane zaliczenie następujących przedmiotów: Systemy operacyjne, Programowanie obiektowe, Modelowanie 3D

Liczba godzin dydaktycznych: laboratoria 45h

Metody dydaktyczne: praca laboratoryjna, dyskusja, konsultacje, praca własna studenta w domu

Punkty ECTS: 3.00

Bilans nakładu pracy studenta: udział w laboratoriach: 1,8 ECTS, praca własna w domu: 1,2 ECTS

Wskaźniki ilościowe: nakład pracy studenta związany z zajęciami wymagającymi bezpośredniego udziału nauczyciela: 1,8 ECTS, nakład pracy studenta związany z zajęciami o charakterze praktycznym: 1,8 ECTS

TEMATYKA ZAJĘĆ

1. Wprowadzenie do GODOT - na podstawie projektu 2D. Edytor: panel Project, Hierarchy, Inspector, Scene. Układy okien w środowisku - własne oraz predefiniowane. Poruszanie się po scenie (widok perspektywy, ortogonalny, widoki z różnych stron - obsługa pomocnika sceny. Układ współrzędnych - lokalne i globalne. Podstawowe obiekty sceny, modyfikacje (translacja, rotacja, skalowanie), obiekty zagnieżdżone (relacja ojca, zrywanie relacji). Zmiana cech obiektu i prefabrykanta. Obiekt Transform - parametry i metody. Dodawanie silnika fizycznego do obiektów - obiekt Rygitbody. Omówienie parametrów obiektu. Programowanie poruszania się bohatera na scenie - obsługa klawiatury, pierwsze skypty. Dodawanie obiektu wykrywania kolizji obiektów - Box Collider, Capsule Collider etc. Interakcja zderzeń bohatera ze sceny z elementami sceny. Detekcja obiektów przez Raycast. Pomocnicza wizualizacja raycastingu w GODOT (włączenie gizmosów dla Sceny).

3) Tworzenie obiektu zarządzającego całym projektem. Tworzenie interejsu użytkownika. Plansza kończąca poziomy gry. Dodawanie grafik, przycisków na ekranie gracza - obsługa zdarzenia wciśnięcia przycisku. Ekran powitalny i końcowy gry. Skalowanie interfejsu do proporcji ekranu. Efekty dźwiękowe w GODOT - muzyka 2D i 3D. Darmowe portale z gotowymi efektami dźwiękowymi. Parametry muzyki. System cząsteczek i tworzenie efektów wizualnych - ogień, dym, kula ognia. Tworzenie sztucznej inteligencji przeciwnika - poruszanie się po scenie, omijanie przeszkód.

4) Projekt gry 3D - FPS/TPS. Poruszanie bohaterem przy pomocy myszy i klawiszy WSAD. Animacje obiektów 3D w GODOT. Tworzenie planszy z poziomu edytora GODOT. Wczytywanie modeli z Blendera (w tym także animacji). Wykorzystanie MixAmo do animowania postaci i integracja ze środowieskiem GODOT.

5) Tworzenie terenu - parametry terenu (wielkość planszy, wysokość). Rzeźbienie mapy wysokości - narzędzia oferowane przez GODOT. Teksturowanie terenu - tworzenie świata z wysokimi górami, górkami, dolinami oraz równinami - teksturowanie dzięki dostępnym darmowym repozytoriom z grafikami.

6) Programowanie sztucznej inteligencji przeciwnika - tryby patrolu, rozglądania się, ataku. Detekcja gracza przez przeciwnika. Strzelanie do obiektów w trybie FPS i TPS. Określanie położenia myszy na ekranie i w wirtualnej grze. Strzelanie ognistymi kulami przez bohatera oraz przez przeciwników. Dodanie efektów losowych z systemu cząsteczek.

Literatura:

[1] Godot Engine Game Development in 24 Hours, Sams Teach Yourself, Ariel Manzur, George Marques

[2] Godot Engine Game Development Projects: Build five cross-platform 2D and 3D games with Godot 3.0, Chris Bradfield, Packt Publishing Ltd, 29 cze 2018

[3] https://docs.godotengine.org/en/3.1/ -- oficjalna strona dokumentacji, tutoriali

[4] http://kidscancode.org/blog/2017/06/godot_101_13/ strona Chrisa Bradfielda, wersja tekstora oraz filmy YT

[5] https://www.youtube.com/watch?v=6G3NP5O9VsQ filmy YT dotyczące tworzenia interfejsu UI

Uzupełniająca:

[1] Unity w akcji / Joseph Hocking ; wydawnictwo Helion

[2] Unity i C# : podstawy programowania gier / Ewa Ross, Jacek Ross, wydawnictwo Helion

[3] Unity : przewodnik projektanta gier : 24h do własnej gry! / Mike Geig, wydawnictwo Helion

[4] Praktyczne tworzenie gier Unity i Blender / Alan Thorn, wydawnictwo Helion

Efekty uczenia się:

[K W25] zna podstawy programowania w wybranym języku wyższego poziomu

[K U22] umie pracować w środowisku różnych systemów operacyjnych oraz korzystać z wybranych programów aplikacyjnych

[K U23] umie napisać prosty program komputerowy w wybranym języku

programowania, skompilować go i uruchomić

[K U25] umie wyszukiwać i wykorzystywać specjalistyczne oprogramowanie komputerowe w zasobach Internelu z poszanowaniem własności Intelektualnej oraz zasad użytkowania

[K KO1] zna ograniczenia swojej wiedzy i rozumie potrzebę dalszego

kształcenia, podnoszenia kompetencji zawodowych, osobistych i społecznych

[K KO3] rozumie znaczenie uczciwości intelektualnej w działaniach własnych i innych osób

[K KOs] potrafi samodzielnie wyszukiwać informacje w literaturze i zasobach Inlernetu, także w językach obcych

Metody i kryteria oceniania:

Studenci pracują na zajęciach i zdobywają punkty - 5 punktów za aktywność na zajęciach, ale nie każda aktywność jest punktowana (prowadzący określa zakres punktowanych zadań). Można zwiększyć swoją punktację samodzielnie rozbudowując projekty z zajęć w domu (dodatkowe 5 punktów). Na zakończenie zajęć należy przedstawić końcowy projekt (20 punktów). Projekt może być wykonany w grupie dwu, lub trzyosobowej (wielkość grupy ustala prowadzący). Zaliczenia nie otrzymuje student z trzema i więcej nieobecnościami.

Zaliczenie uzyskuje się na podstawie tabeli:

0..14 ocena ndst

15..18 ocena dst

19..21 ocena dst+

22..23 ocena db

24..26 ocena db+

27..30 ocena bdb

Przedmiot nie jest oferowany w żadnym z aktualnych cykli dydaktycznych.
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet w Białymstoku.
ul. Świerkowa 20B, 15-328 Białystok tel: +48 85 745 70 00 (Centrala) https://uwb.edu.pl kontakt deklaracja dostępności mapa serwisu USOSweb 7.0.4.0-1 (2024-05-13)