Katedra Inżynierii Wiedzy, Uniwersytet Ekonomiczny w Katowicach Wykład 1
e-mail: przemyslaw.juszczuk@ue.katowice.pl pjuszczuk.pl
Warunki zaliczenia Test z części teoretycznej (materiały z wykładów); Projekt realizowany podczas ćwiczeń (możliwa praca w grupie 2-osobowej); Szczegóły projektu podane będą z wyprzedzeniem wraz z dokładnym opisem wymagań. Termin zdania projektu ustalany będzie na zajęciach. Materiały z wykładów oraz ćwiczeń wraz z opisem projektów dostępne będą online.
Zakres przedmiotu Wprowadzenie - gry i narzędzia Interfejsy użytkownika Użytkownik a interfejs Diagramy UML i diagramy Windows Navigation Diagram Prototypowanie Tyfloinformatyka Unity Android Studio
Gry i narzędzia Narzędzia narzędzia graficzne - przygotowanie elementów graficznych (np. tekstury), np. GIMP do obróbki grafiki rastrowej (Adobe Photoshop), InkScape do obróbki grafiki wektorowej (Adobe Illustrator), Tiled - edytor do tworzenia poziomów (tzw. kafelki), MakeHuman - darmowe narzędzie do generowania siatek humanoidalnych (animacja postaci w połączeniu ze szkieletem i modelem RigidBody). oprawa dźwiękowa - edytory dźwięku takie jak Audacity, generowanie dźwięków akcji (atak, uderzenie w ścianę) - SFXR, lub mikrofon + nagrywanie.
Unreal Engine pierwsza wersja (mechanizm renderowania, system wykrywania kolizji, system sztucznej inteligencji) - 1998 rok (gra Unreal); Unreal Tournament - wersja 1.5 (1999r.); Aktualna wersja 4, a od 2015 roku silnik jest darmowy (oprócz produkcji komercyjnych, które zarobią powyżej 3 tys dolarów).
Doom Engine pierwsza wersja stworzona przez Id Software na potrzeby gry Doom (1993 rok); od 1999 roku kod silnika opublikowany został na licencji darmowej; silnik doczekał się wielu modyfikacji dotyczących np. obsługi OpenGL. Quake Engine silnik opracowany w 1996 roku (na potrzeby gry Quake); jeden z pierwszych silników posiadających grafikę 3D przygotowany przez Johna Carmacka (ten sam, który napisał silnik Doom Engine).
Narzędzia graficzne - Blender Blender jako darmowa alternatywa dla Photoshopa; Wsparcie dla obliczeń GPU; modelowanie; przygotowanie modelu i przekształcenie w postać (szkielet i poruszanie się); rzeźbienie w materiałach; symulacje (woda, dym, włosy, ubranie); efekty cząsteczkowe jak deszcz, czy iskry; kamera i śledzenie obiektów; zestawy dodatkowych bibliotek; gotowe projekty, matriały, modele.
Rysunek: Blender (źródło: oficjalna strona Blender)
Rysunek: Blender (źródło: oficjalna strona Blendera)
Rysunek: SFXR
Da się przygotować coś bez złożonej grafiki? gry niezależne (indie games, indyki) - tworzone przez mały zespół/ jedną osobę bez wsparcia finansowego; ze względu na ograniczone koszty - często brak fizycznego nośnika; Podstawowym atutem jest innowacyjność (Minecraft).
Rysunek: Minecraft
Gry retro a grafika retro gry nieco starsze - najczęściej z lat 1980; gry w stylu retro - (Hotline miami, Fez, Super meatboy) - nowe gry, w których stosowana jest grafika w stylu retro; ograniczona paleta kolorów; skalowanie pikseli (w celu wyraźnego zaznaczenia poszczególnych pikseli): jeden piksel to np. siatka 10 na 10 pikseli;
Rysunek: Piksele i sztuczne zwiększenie wielkości piksela w wyższej rozdzielczości
Unity 3D - gry Pillars of Eternity; Deus Ex; Might and Magic X; Slender; Unity 3D - ogólnie zintegrowane środowisko do tworzenia gier 2D, 3D oraz materiałów interaktywnych; wieloplatformowość - Windows, Linux, Mac, apki mobilne, konsole; możliwość pisania skryptów w trzech językach: C#, UnityScript (JavaScript), Boo (inspirowany Pythonem).
Interfejsy użytkownika Rysunek: System informatyczny
Rysunek: Pięciowarstwowy model logicznego rozdzielania zadań (wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.)
Rysunek: MS-DOS
Rysunek: Xerox Star 1981
Rysunek: Apple Lisa 1983
Rysunek: Macintosh 1984
Rysunek: Windows 1.0 1985
Rysunek: Windows 2.0 1987
Rysunek: Windows 3.0 1990
Rysunek: System 7 na Macintosha 1991
Rysunek: Windows 95 1995
Rysunek: Mac OS 8 1997
Rysunek: Windows XP 2001
Rysunek: Mac OS X 10.2 Jaguar 2002
Rysunek: Ikony kosza na śmieci
Rysunek: Photoshop CS3
Interfejs użytkownika dobry projekt interfejsu jest warunkiem niezbędnym powodzenia systemu; interfejs trudny w użyciu/posiadający liczne błędy w najlepszym wypadku doprowadzi do wielu pomyłek; w najgorszym wypadku użytkownicy mogą odmówić jego używania pomimo jego dobrej funkcjonalności; użytkownicy mogą mieć problemy z użytkowaniem systemu, jeżeli przestawine w nim informacje są błędne/niespójne.
Właściwości graficznego interfejsu okna - umożliwiają wyświetlanie informacji; ikony - reprezentują różnego rodzaju informacje; menu - obiekty umożliwiające wybranie określonej funkcji systemu; wskazywanie - możliwość wyboru konkretnego elementu z menu; grafika - elementy graficzne mogą zostać połączone z informacjami tekstowymi.
Rysunek: Proces projektowania interfejsu
Ogólna charakterystyka użytkownika Dane podstawowe: wiek, poziom wykształcenia; Klasyfikacja: przynależność organizacyjna, doświadczenie i umiejętności; Preferencje i uprzedzenia użytkownika; Cel korzystania z systemu; Podział na role w systemie; Scenariusze zadań dostępne dla każdej roli w systemie.
Rodzaje interakcji z użytkownikiem działanie bezpośrednie - użytkownik porozumiewa się bezpośrednio z obiektami - np. przeciągnięcie pliku do kosza; wybór z menu - wybór jednej z opcji dostępnych w obiekcie menu; wypełnienie formularza - wypełnienie pól/odpowiedź na pytania prowadzi do pewnej akcji; język poleceń - wydawanie specjalnych poleceń (wraz z parametrami) umożliwiających podjęcie akcji systemu; język naturalny - wydawanie poleceń w języku naturalnym.
Rysunek: Podstawowy podział interfejsów
Podstawowe zasady projektowania interfejsu Wygląd - interfejs powinien być podzielony na obszary przeznaczone do różnych celów; Uświadamianie zawartości - interfejs powinien uświadamiać użytkownika, w którym miejscu się znajdują i co oznaczają poszczególne elementy; Estetyka - równowaga pomiędzy funkcjonalnością a czytelnością; Doświadczenie użytkownika - uwzględnienie możliwości obsługi przez początkującego oraz zaawansowanego użytkownika; Spójność - interfejs powinien umożliwiać użytkownikowi przewidywanie skutków podejmowanych działań; Minimalizacja wysiłku - ograniczenie liczby kroków wiodących do celu do minimum.
Zasady projektowania interfejsu II zasada zbliżenia do użytkownika - użytkownik nie powinien być zmuszony do adaptowania się do systemu; potwierdzanie akcji destrukcyjnych; zapewnienie możliwości anulowania - czyli przywrócenia stanu systemu sprzed wykonania polecenia;
Czynniki określające funkcjonalność - projektowanie czynniki ludzkie - wpływ stresu, zmysły człowieka, proces zapamiętywania i zapominania; interakcjaa HCI - Human Computer Interaction - zagadnienia związane z logiką i funkcjonalnością parametrów, korzystanie z operacji we/wy, ergonomia korzystania z komputera; Projektowanie zorientowane na użytkownika - nie opiera się na zasadzie klient ma zawsze rację.
Rysunek: MVC dla interakcji z użytkownikiem
Dziękuję za uwagę