WYŻSZA SZKOŁA INFORMATYKI I ZARZĄDZANIA Z SIEDZIBĄ W RZESZOWIE. Projekt zespołowy. Temat: Reewendale. Dokumentacja końcowa



Podobne dokumenty
D O K U M E N T A C J A

INTELIGENTNY ŻOŁNIERZ

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Dokumentacja aplikacji Szachy online

Topór Światowida Plan testów

Dokumentacja projektu QUAIKE Założenia ogólne

Dodatkowo planowane jest przeprowadzenie oceny algorytmów w praktycznym wykorzystaniu przez kilku niezależnych użytkowników ukończonej aplikacji.

System zarządzania bazą danych lecznicy dla zwierząt

Tytuł projektu. WYŻSZA SZKOŁA INFORMATYKI I ZARZĄDZANIA z siedzibą w Rzeszowie WYDZIAŁ INFORMATYKI STOSOWANEJ

Programowanie aplikacji biznesowych

Referat Pracy Dyplomowej

Gry Komputerowe Laboratorium 1. Zajęcia organizacyjne Animacja z uwzględnieniem czasu. mgr inż. Michał Chwesiuk 1/22. Szczecin,

Koło zainteresowań Teleinformatyk XXI wieku

Plan Testów Systemu SOS

Wykaz osób pełniących funkcję opiekunów Warsztatów

Mikołaj Kania Waldemar Korłub Jakub Krajewski

Zespół: Agata Chrobak Kornel Jakubczyk Tomek Klukowski Przemek Kosiak. Projekt SZOP Plan testów

Praktyczne zastosowanie grafiki komputerowej

Sieciowe Technologie Mobilne. Laboratorium 4

PROGRAM MICROSOFT DEVELOPER NETWORK ACADEMIC ALLIANCE MSDN AA

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

GUI - projektowanie interfejsów

Gry społecznościowe. wykład 0. Joanna Kołodziejczyk. 24 lutego Joanna Kołodziejczyk Gry społecznościowe 24 lutego / 11

PRZYJĘTE ZASADY GRY...3 ZAŁOŻENIA PROJEKTU...4 CZYM JEST I DLACZEGO QT?...5 DIAGRAM KLAS...7 DIAGRAM GRY SINGLE PLAYER...8 DIAGRAM MULTIPLAYERA...

Problemy programowania gier. mgr Mateusz Rynk

Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego

Szkolenie: Testowanie wydajności (Performance Testing)

System zarządzający grami programistycznymi Meridius

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

Compact Open Remote Nao

DESIGNER APPLICATION. powered by

PRZEWODNIK PO PRZEDMIOCIE

OFERTA SZKOLENIOWA PROGRESS SOFTWARE

Dokumentacja projektu QUAIKE Architektura oprogramowania

Narzędzia CASE dla.net. Łukasz Popiel

Zastosowania Robotów Mobilnych

<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0>

PRZEWODNIK PO PRZEDMIOCIE

Spis treści. Strona 1 z 20

Procesowa specyfikacja systemów IT

Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor

INSTRUKCJA INSTALACJI SYSTEMU NA SERWERZE KROK PO KROKU

Programowanie genetyczne - gra SNAKE

PROGRAM PRAKTYKI ZAWODOWEJ. Technikum Zawód: technik informatyk

SKRYPT KODOWANIE. Nauczycieli

IO - Plan przedsięwzięcia

Grupa kursów: Wykład Ćwiczenia Laboratorium Projekt Seminarium 15 30

Wymagania edukacyjne na ocenę z informatyki klasa 3

Modelowanie i Programowanie Obiektowe

PRZEWODNIK PO PRZEDMIOCIE

Przykładowe sprawozdanie. Jan Pustelnik

Projekt i implementacja filtra dzeń Pocket PC

Straszyński Kołodziejczyk, Paweł Straszyński. Wszelkie prawa zastrzeżone. FoamPro. Instrukcja obsługi

E-Podręcznik w edukacji. Marlena Plebańska

DOTACJE NA INNOWACJE

AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE. QuIDE Quantum IDE PODRĘCZNIK UŻYTKOWNIKA

Aplikacje w środowisku VBA. Visual Basic for Aplications

Jak powstawał Wielki Mistrz

Przedmiotowy system oceniania z informatyki

CZAS NA PROGRAMOWANIE

IO - Plan testów. M.Jałmużna T.Jurkiewicz P.Kasprzyk M.Robak. 5 czerwca 2006

KURSY PROGRAMOWANIA DLA DZIECI

Tworzenie cross-platformowych aplikacji w Xamarin.Forms

I. Raport wykonywalności projektu

NAZWA PRZEDMIOTU/MODUŁU KSZTAŁCENIA: Podstawy animacji i interakcji

Załącznik nr 2. Zasady pracy aplikacji InteGrRej.

Wymagania techniczne

SZKOLENIE TWORZENIE SYSTEMÓW

NAZWA PRZEDMIOTU/MODUŁU KSZTAŁCENIA: Podstawy animacji i interakcji

Zacznij Tu! Poznaj Microsoft Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska

Moc płynąca z kart graficznych

SZKOLENIE: METODYKA E-LEARNINGU (50h) Tematyka zajęć: PROGRAM EXE NARZĘDZIE DO TWORZENIA ELEKTRONICZNYCH MATERIAŁÓW DYDAKTYCZNYCH (10h)

WSTĘP. 1. Pierwsza część zawiera informacje związane z opisem dostępnych modułów, wymaganiami oraz instalacją programu.

KARTA PRZEDMIOTU. 1. NAZWA PRZEDMIOTU: Zespołowy projekt informatyczny. 2. KIERUNEK: Matematyka. 3. POZIOM STUDIÓW: I stopnia

Wymagania edukacyjne zajęcia komputerowe klasa pierwsza

Instrukcja instalacji oprogramowania dla środowiska Windows

Dokumentacja projektu Makao karciana gra sieciowa

Grafika 3D na przykładzie XNA 3.1

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Projekt zaliczeniowy. Mateusz Hołenko Andrzej Stroiński Piotr Zierhoffer 21 grudnia 2015

Przebieg i organizacja kursu

Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki. Paweł Parys. Nr albumu: Aukcjomat

REFERAT PRACY DYPLOMOWEJ

Rozkład materiału do zajęć z informatyki. realizowanych według podręcznika

Referat pracy dyplomowej

KARTA PRZEDMIOTU. Projekt zespołowy D1_10

BIURO USŁUG INFORMATYCZNYCH "T-SOFT"

Piotr Bubacz Cloud Computing

Rozdział II. Praca z systemem operacyjnym

MonoGame. Wieloplatformowe gry w C# Mateusz Cicheński

Nazwa kwalifikacji: Montaż i eksploatacja komputerów osobistych oraz urządzeń peryferyjnych Oznaczenie kwalifikacji: E.12 Numer zadania: 01

WPF 4.5 : księga eksperta / Adam Nathan. Gliwice, cop Spis treści

Rozkład materiału nauczania. Zajęcia komputerowe z pomysłem. Szkoła podstawowa. Klasa 4

SYSTEM OPERACYJNY. Monika Słomian

Transkrypt:

WYŻSZA SZKOŁA INFORMATYKI I ZARZĄDZANIA Z SIEDZIBĄ W RZESZOWIE Projekt zespołowy Temat: Reewendale Dokumentacja końcowa Prowadzący: Wykonawcy: prof. nadzw. dr hab. Janusz Starzyk Karol Grudzień 36387 Krzysztof Kubaj 32875 Klient: Dominik Piwiński 36371 mgr Daniel Jachyra Michał Rodzik 36272 Jakub Krystek 37946 2UID

Spis treści 1. Koncept ogólny... 3 1.1. Fabuła świata... 3 1.2. Motywacja i opis działania botów... 3 2. Zadania do wykonania... 4 2.1. Cel projektu i forma realizacji... 4 2.2. Wymagania klienta... 5 3. Rozwój Projektu i jego znaczenie... 6 4. Wymagania sprzętowo programowe... 6 5. Software... 6 6. Trudności występujące w trakcie realizacji projektu... 7 7. Trudności materiałowe i techniczne... 7 8. Posumowanie i zalecenia na przyszłość... 7 8.1. Najważniejsze elementy kod Programu... 7 8.2. Co udało się zrealizować... 9 Początkowy etap prac nad światem... 9 Końcowy wygląd świata... 10 Zastosowane modele... 10 8.3. Przebieg symulacji... 14 8.4. Plany na przyszłość... 14 8.5. Ogólna realizacja projektu... 14 8.6. Podsumowanie... 15 9. Zespół podział zadań... 16 Bibliografia... 17 2

1. Koncept ogólny 1.1. Fabuła świata W zamierzchłych czasach mieszkańcy wioski Reewendale wiedli spokojny żywot. Mieli pod dostatkiem surowców i niczym się nie przejmowali. Aż pewnego dnia nadeszli jednak najeźdźcy z odległych krain, chcący zaburzyć ład utopijnej krainy. Mieszkańcy zostali zmuszeni do walki z najeźdźcami oraz pozyskiwania surowców potrzebnych do przeżycia w tych ciężkich czasach. Z pomocą dla tychże nieszczęśników nadeszli bohaterowie, którzy chcą przywrócić dawny ład w tej nieszczęsnej krainie. Zaoferowali oni swą pomoc, jednakże mieszkańcy cały czas byli skazani na zapuszczanie się w niebezpieczne strony w celu pozyskiwania jedzenia oraz innych materiałów potrzebnych do przeżycia. 1.2. Motywacja i opis działania botów Główną motywacją botów jest zaspokojenie pierwotnych potrzeb, takich jak głód, pragnienie oraz sen. Pomagają im w tym odnawialne surowce (krzewy, drzewa, itp.). Po krainie poruszają się także wrogie jednostki. Boty w celu przetrwania muszą gromadzić informacje o otaczającym ich świecie, miejscach w których znajdują się surowce oraz miejscu składowania tychże elementów. Druga klasa botów to boty obrońcy, których celem jest walka z wrogimi jednostkami. Boty uczą się poprzez metodę prób i błędów, jak pozyskiwać surowce oraz unikać wrogich jednostek, korzystając przy tym ze złóż surowców oraz botów wojowników. 3

2. Zadania do wykonania 2.1. Cel projektu i forma realizacji Celem projektu było przedstawienie życia mieszkańców przedstawionej w fabule wioski oraz broniących jej przed najeźdźcami rycerzy. Świat został stworzony przy wykorzystaniu Microsoft Visual Studio i silnika XNA. Aplikacja działa bez potrzeby ingerencji ze strony użytkownika. Uogólnione cele: o Stworzyć grę o Opanować krainę o Kontrolować boty o Budować budynki 4

2.2. Wymagania klienta Wymagania parametryczne Podział botów: swoi / wrogowie Sposób eksploatacji planety: budynki surowce mapa losowe rozmieszczenie zasobów środowiska i botów Zwrotna informacja o stanie środowiska i botów Wymagania eksploatacyjne Stany botów: pracują, walczą, głodują, odpoczywają ustanowienie hierarchii celów informacja o akcjach botów zarówno tych dobrych jak i złych generowanie statystyk dotyczących nauki botów 5

3. Rozwój Projektu i jego znaczenie W trakcie działania programu boty pobierają z środowiska znalezione zasoby co skutkuję ich zmniejszaniu. Gdy dojdzie do kontaktu pomiędzy wrogim botem (agresorem), a obrońcą następuję wzajemna eliminacja. Bot który ma więcej życia oraz jest silniejszy (dominujący) wygrywa potyczkę. Taka sytuacja nie występuje gdy wrogi bot spotka bota robotnika (potencjalna ofiara), w takiej sytuacji robotnik zmuszony jest do ucieczki, natomiast wrogi nie zostaje uszkodzony. Różnice pomiędzy projektem końcowym a założeniami polegały min. na: Braku zaimplementowania animacji, Środowisko działania pozbawione jest kolorów, tzn. mała ilość tekstur, Boty nie potrafią budować budynków, Większa ilość rodzajów botów 4. Wymagania sprzętowo programowe Projekt został oparty o silnik XNA, będący głównym elementem definiującym minimalne wymagania sprzętowo-programowe: Windows XP bądź nowszy, Karta graficzna wspierająca Shader Model 1.1 oraz DirectX 9.0c, Procesor 2.0 GHz lub wyższy, 2GB RAM, XNA 3.0 5. Software Kod został napisany za pomocą języka C# z wykorzystaniem Microsoft Visual Studio oraz silnika XNA, ponieważ te technologie idealnie współpracują ze sobą. Przez zastosowanie powyższych technologii program działa tylko w OS Windows, ewentualnie po dalszych przeróbkach można go przystosować dla Xboxa. Silnik XNA obecnie wspierany przez Microsoft okazał się dosyć dobrym wyborem do realizacji tego typu projektu. Przy tworzeniu grafiki wykorzystany został Blender darmowy program do tworzenia grafiki trójwymiarowej, renderingu oraz animacji. 6

6. Trudności występujące w trakcie realizacji projektu Spięcia związane z różnymi pomysłami na realizację konkretnych zagadnień, Początkowe problemy z doborem terminów spotkań dogodnych dla wszystkich członków grupy, Opóźnienia z dostarczaniem modułów programu wynikające z różnego podejścia programistów do danych zagadnień, oraz odmiennych stylów programowania. 7. Trudności materiałowe i techniczne Początkowy brak wiedzy do realizacji pewnych elementów projektu, konieczność douczenia się odnośnie pewnych zagadnień związanych z wykorzystywanym językiem programowania oraz narzędziami Rozbieżność z posiadaną platformą sprzętowo-programową Nie wszyscy członkowie grupy posiadają wystarczająco wydajne komputery do udźwignięcia zaawansowanych funkcji graficznych, nie wszyscy również korzystają na co dzień z systemu Microsoft Windows Problemy z animacją modeli oraz implementacją właściwych animacji do określonych akcji 8. Posumowanie i zalecenia na przyszłość 8.1. Najważniejsze elementy kod Programu Projekt podzielony jest na pakiety z których najważniejsze to: WorldModule zawiera opis oraz sposób działania poszczególnych elementuów z gry GraphicsEngine buduje świat możliwe rodzaje modeli według id: 1 100 modele statyczne takie jak np. budeynek 101 200 modele statyczne z automatycznei dołączanymi teksturami 201 300 modele anonimowane np. rycerz rysowanie modeli odbywa się w następujący sposób: obj = AddObject(ObjectType.Worker, new Vector3(10.0f + losowe, 0.0f, 20.0f)); Objects.Add(obj);//dodawanie do głównej listy obiektów która zostanie narysowana obj = AddObject(ObjectType.Worker, new Vector3(40.0f + losowe, 0.0f, 20.0f)); Objects.Add(obj); obj = AddObject(ObjectType.Worker, new Vector3(35.0f + losowe, 0.0f, 60.0f)); 7

Objects.Add(obj); obj = AddObject(ObjectType.House, new Vector3(100.0f+losowe, 0.0f, 50.0f)); obj.rotation = 90.0f; obj.obruc = 100.0f; Objects.Add(obj); obj = AddObject(ObjectType.Mineral, new Vector3(40.0f + mineral, 0.0f, 100.0f)); Objects.Add(obj); obj = AddObject(ObjectType.Warrior, new Vector3(35.0f+losowe, 0.0f, 6.0f)); obj.rotation = 90.0f; Objects.Add(obj); Następnie przy pomocy metody DrawModel z klasy DrawableModels są rysowane wszystkie obiekty z listy obj Reewendale paket uruchomieniowy SkinnedModelWindows klasa obsługująca animacje 8

8.2. Co udało się zrealizować Zaimplementowano silnik graficzny (nie udało się ukończyć animacji botów) Wstępnie zdefiniowane modele Tabela 1 Wstępnie zdefiniowane rodzaje modeli Postacie Budynki Mapa Detale Akcje Robotnicy Wojownicy Najeźdźcy Zwierzęta Baza Magazyn Domki Teren Woda Góry Surowce Mgła Narzędzia pracy Narzędzia walki Praca (zbieranie surowców) Walka (z najeźdźcami) Odpoczynek Początkowy etap prac nad światem 9

Końcowy wygląd świata Zastosowane modele 10

Rysunek 8 1 Wojownik Rysunek 8 2 Najeźdźca 11

Rysunek 8 3 Zamek Rysunek 8 4 Spichlerz 12

Rysunek 8 5 Drzewo Każdy element na planszy jest generowany w losowej pozycji przez co po każdym włączeniu gry boty znajdują się w innym środowisku początkowym, Boty funkcjonują zgodnie z początkowymi założeniami (pozyskiwanie surowców, obrona przed najeźdźcami) Zaimplementowano hierarchię celów (atak wrogiego bota przerywa pozyskiwanie surowca i powoduje ucieczkę robotnika) Po zaznaczeniu obiektu/bota wyświetlane są informacje o jego stanie i aktualnych działaniach Program generuje statystyki, zawierają one: czas w sekundach od początku gry nazwę obiektów ich stany bieżąca wartość życia (hp) pozycja w jakiej bot przebywał w danej chwili. Boty: stany/akcje botów bot robotnik: - szukam - szuka zasobów (stan) - znalazłem - zasoby zostały odnalezione (stan) 13

- naprawiam - naprawa budynków (stan) - zbieram - zbiera znalezione zasoby (akcja) - do magazynu - zanosi uzbierane zasoby do magazynu (akcja) - praca- praca na rzecz budynków np. ich budowa/naprawa - brak materiałów szukam- brak materiałów uniemożliwia pracę na rzecz budynków bot wojownik/przeciwnik: - szukam przeciwnika - gdy brak w okolicy przeciwnika boty szukają ich (stan) - znalazłem - przeciwnik został odnaleziony (stan) - atakuje- atak pomiędzy dwoma botami (akcja) 8.3. Przebieg symulacji Po uruchomieniu aplikacji następuje losowe rozmieszczenie wszystkich obiektów na mapie (boty, budynki, surowce). Boty zaczynają krążyć w celu poznania świata (określenia pozycji zasobów oraz budynków). Boty robotnicy, gdy napotkają na jakiś surowiec, rozpoczynają jego zbieranie. Następnie jest on zanoszony do magazynu, lub, jeśli pozycja magazynu jest nieznana, następuje poszukiwanie magazynu. Gdy znane są pozycje zarówno magazynu jak i surowców, robotnicy przemierzają ścieżkę pomiędzy tymi obiektami w celu magazynowania surowców. Jeśli napotkany zostanie wrogi bot najeźdźca, robotnik przerywa swoją pracę i zaczyna uciekać, aby znaleźć się jak najdalej od atakującego przeciwnika. Boty najeźdźcy krążą po krainie poszukując innych jednostek (robotników, bądź wojowników). Jeśli napotkają na te jednostki, rozpoczynają atak. Wojownicy zachowują się analogicznie do najeźdźców. W przypadku walki wojownika oraz najeźdźcy, walkę wygrywa ten, który ma w danym momencie więcej punktów życia. 8.4. Plany na przyszłość Animacja modeli Implementacja dźwięków Zwiększenie złożoności świata Dodanie większej różnorodności botów Dodanie większej ilości akcji możliwych do wykonania przez boty 8.5. Ogólna realizacja projektu 14 Przebieg prac odbywał się terminowo Współpraca między członkami grupy układała się dobrze (bezkonfliktowo) Obowiązki zostały rozdzielone zgodnie z umiejętnościami poszczególnych osób Krótki czas na wykonanie projektu uniemożliwił wykonanie wszystkich założonych celów

W trakcie prac nad projektem pojawiły się nowe pomysły, jak można by udoskonalić projekt w przyszłości 8.6. Podsumowanie W celu zwiększenia szybkości oraz wydajności tworzenia projektu wszyscy zajmowali się testowaniem modułów programu. Dzięki temu, że w zespole znajdowało się 2 programistów znacznie skrócił się czas pisania aplikacji. 15

9. Zespół podział zadań Karol Grudzień - tester, tworzenie dokumentacji, twórca fabuły; Krzysztof Kubaj- tester, project manager, tworzenie dokumentacji; Michał Rodzik tester, grafik, dźwiękowiec; Dominik Piwiński tester, programista, moduł środowiskowy; Jakub Krystek tester, główny programista, moduł uczący; 16

Bibliografia C#: XNA: Blender: http://forum.4programmers.net/viewtopic.php?id=140344 http://forum.di.com.pl/archive/index.php/t-2185.html http://creators.xna.com/en-us/ http://blenderart.org/issues/ http://www.blender.org/ http://wiki.blender.org/index.php/pl/main_page http://www.blender.pl/ 17