System zarządzający grami programistycznymi Meridius

Podobne dokumenty
Dokumentacja projektu QUAIKE Architektura oprogramowania

Dokumentacja aplikacji Szachy online

Konspekt pracy inżynierskiej

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

Tworzenie i obsługa wirtualnego laboratorium komputerowego

Architektura systemu e-schola

Wykład Ćwiczenia Laboratorium Projekt Seminarium

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Aplikacje internetowe - opis przedmiotu

UNIWERSYTET KAZIMIERZA WIELKIEGO WYDZIAŁ MATEMATYKI, FIZYKI I TECHNIKI INSTYTUT TECHNIKI

REFERAT PRACY DYPLOMOWEJ Temat pracy: SUDOKU - Algorytmy tworzenia i rozwiązywania

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

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

LABORATORIUM WIRTUALNE W DYDAKTYCE I BADANIACH NAUKOWYCH

REFERAT PRACY DYPLOMOWEJ

ActiveXperts SMS Messaging Server

Komentarz. Sesja letnia zawód: technik teleinformatyk 312[02]

PRZEWODNIK PO PRZEDMIOCIE

Dokument Detaliczny Projektu

Nadzorowanie stanu serwerów i ich wykorzystania przez użytkowników

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych

Tworzenie oprogramowania

PRZEWODNIK PO PRZEDMIOCIE

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Wspomaganie pracy w terenie za pomocą technologii BlackBerry MDS. (c) 2008 Grupa SPOT SJ

EXSO-CORE - specyfikacja

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2014/2015

Referat pracy dyplomowej

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Instrukcja obsługi/instalacji platformy Krok w Przedsiębiorczość Administrator platformy

Język Java część 2 (przykładowa aplikacja)

L.dz.: WETI /16/2014 Gdańsk, dn

Zaawansowane aplikacje internetowe - laboratorium

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

Dokumentacja projektu QUAIKE Założenia ogólne

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

Program szkolenia KURS SPD i PD Administrator szkolnej pracowni internetowej Kurs MD1 Kurs MD2 Kurs MD3 (dla szkół ponadgimnazjalnych)

NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI

Praca Magisterska "System zdalnego składania ofert kupna i sprzedaży za pośrednictwem Internetu" AUTOR PROMOTOR

System wspomagania harmonogramowania przedsięwzięć budowlanych

Zdalne monitorowanie i zarządzanie urządzeniami sieciowymi

Szkolenie. IBM Lotus - Podstawy projektowania aplikacji w Domino Designer 8.5. Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje

Wprowadzenie. Dariusz Wawrzyniak 1

SPINACZ.edu.pl platforma współpracy nauki z biznesem w zakresie innowacyjnych rozwiązań informatycznych

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

PRACA DYPLOMOWA INŻYNIERSKA. Mobilny system wspomagający pracę. terminala kontenerowego

Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ. Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer

Aplikacja serwerowa Platformy Prezentacyjnej Opis produktu

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 3

Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4

OPIS i SPECYFIKACJA TECHNICZNA

Zapytanie ofertowe. Niespełnienie któregokolwiek wymagania może skutkować odrzuceniem oferty bez jej rozpatrzenia

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

Uniwersytet Mikołaja Kopernika w Toruniu. Profilowanie ruchu sieciowego w systemie GNU/Linux

Katedra Inżynierii Oprogramowania Tematy prac dyplomowych inżynierskich STUDIA NIESTACJONARNE (ZAOCZNE)

Skanowanie podsieci oraz wykrywanie terminali ABA-X3

PRZEWODNIK PO PRZEDMIOCIE

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

Załącznik Nr 1. Istotne warunki zamówienia do przetargu nieograniczonego na wykonanie pakietu usług programistycznych

Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej. Wstęp. Programowanie w Javie 2. mgr inż.

Egzamin / zaliczenie na ocenę*

Programowanie obiektowe

Wizualizacja pogody dla windsurferów

Piotr Bubacz Cloud Computing

Instrukcja użytkownika Platforma transakcyjna mforex Trader dla systemu MacOS

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Programowanie MorphX Ax

MAREK NIEZGÓDKA ICM, UNIWERSYTET WARSZAWSKI

HP Service Anywhere Uproszczenie zarządzania usługami IT

Referat pracy dyplomowej

Czym jest jpalio? jpalio jpalio jpalio jpalio jpalio jpalio jpalio jpalio

Innowacja pedagogiczna na zajęciach komputerowych w klasach 4e, 4f, 4g. Nazwa innowacji Programowy Zawrót Głowy

edycja 1 opracowany zgodnie z Zarządzeniami Wewnętrznymi PWr. nr 14/2012 i 15/2012 i 34/2012

INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx

Sage Symfonia 2.0 e-dokumenty Zakładanie nowej firmy

Zarządzenie nr 115/R/WSTI/2014 Rektora WSTI w sprawie przygotowania i obrony pracy dyplomowej.

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

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

SiR_13 Systemy SCADA: sterowanie nadrzędne; wizualizacja procesów. MES - Manufacturing Execution System System Realizacji Produkcji

Rozwiązanie GIS dla mniejszego. miasta: model Miasta Stalowa Wola. Janusz JEśAK. Jacek SOBOTKA. Instytut Rozwoju Miast. ESRI Polska Sp. z o. o.

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

Opracowanie dodatkowego rodzaju pytań dla systemu Moodle

Specjalnościowy Obowiązkowy Polski Semestr 5

Investing f or Growth

Instrukcja użytkownika

REFERAT O PRACY DYPLOMOWEJ

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

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Załącznik nr 1 do Zapytania ofertowego: Opis przedmiotu zamówienia

BAZY DANYCH MAKRA I PRZYCISKI. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

Zapytanie ofertowe nr 1/IAP/2013 ( dotyczy modułu nr 1/IAP )

Transkrypt:

System zarządzający grami programistycznymi Meridius Instytut Informatyki, Uniwersytet Wrocławski 20 września 2011 Promotor: prof. Krzysztof Loryś

Gry komputerowe a programistyczne Gry komputerowe Z punktu widzenia gracza polegają na przekazywaniu programowi (grze) poleceń za pośrednictwem pewnego interfejsu. Gry programistyczne Umożliwiają zapisanie strategii do gry w postaci algorytmu, programu komputerowego (tzw. bota) implementującego tę strategię i jego późniejsze uruchamianie.

Specyfika gier programistycznych Gracze są równocześnie użytkownikami i deweloperami. Rozgrywka wymaga poznania interfejsu służącego do programowania botów. Różnorodność stosowanych interfejsów programistycznych. Często konieczność dodatkowej, skomplikowanej konfiguracji środowiska.

Cel powstania Meridiusa (1) Stworzenie przyjaznej dla graczy platformy, obsługującej wiele gier programistycznych. Udostępnienie graczom spójnego interfejsu programistycznego do wszystkich umieszczonych w systemie gier. Obsługa dużej liczby komercyjnych języków programowania. Umożliwienie rozgrywki bez instalacji dodatkowego oprogramowania. Umożliwienie tzw. gry manualnej, nie wymagającej pisania programu bota.

Tworzenie gier programistycznych Tworząc grę programistyczną trzeba zaprojektować i zaprogramować pewne, wspólne dla większości gier, elementy systemu. 1 Mechanizm określający zasady gry, tzw. logika. 2 Zasady pisania botów, ich bezpiecznego uruchamiania i komunikacji z grą. 3 Metody testowania botów. 4 Zarządzanie społecznością graczy i wymianą oraz udostępnianiem botów. 5 System wizualizacji rozgrywek i oglądania powtórek. 6 Mechanizm służący do gry manualnej.

Cel powstania Meridiusa (2) Zapewnienie twórcom gier mechanizmów wspomagających ich tworzenie. Gra programistyczna jako modyfikowalny element większego systemu. Automatyczne udostępnianie przez system funkcjonalności charakterystycznych dla gier programistycznych, zarządzanie rozgrywką i obsługa błędów. Znalezienie kompromisu pomiędzy uniwersalizmem środowiska a prostotą jego wykorzystania. Minimalizacja nakładu pracy twórców gier, pozwalająca się skupić na określeniu jej zasad.

Architektura systemu Meridius Centralny serwer udostępniający usługi przez różne interfejsy użytkownika (np. WWW). Testowa strona internetowa stworzona w technologii ASP.NET z wykorzystaniem JavaScript, udostępniana przez serwer IIS. Jądro systemu napisane w języku C# i oparte na platformie Microsoft.NET 4.0. Baza danych obsługiwana za pomocą Microsoft SQL Express 2008. Pomocniczy serwer linuksowy, komunikacja przez TCP/IP i protokół SSH. Odtwarzanie wizualizacji, umieszczony na testowej stronie plugin Flash. Organizacja modułowa pozwalająca na alternatywne implementacje poszczególnych komponentów.

Zarządzanie grami programistycznymi 1 Mechanizm określający zasady gry. Biblioteka zawierająca klasę, dziedzicząca po bazowej klasie logiki. Ograniczona lecz szeroka klasa implementowanych gier. Mechanizm Refleksji, zdalne wywoływanie metod. 2 Zasady pisania botów, ich bezpiecznego uruchamiania i komunikacji z grą. Schemat komunikacji przez I/O, ustalona składnia poleceń. Zdalne wywoływanie metod logiki, podział na zapytania i komendy. Wykorzystanie VSS, obsługa wielu językach programowania. Wysyłanie plików źródłowych na serwer, kompilacja przez SSH. Aplikacja Proxy, obsługa VSS i komunikacja TCP/IP. 3 Metody testowania botów Możliwość wysyłania przez bota dowolnego komunikatu tekstowego, który będzie widoczny w trakcie wizualizacji.

Zarządzanie grami programistycznymi cd. 1 Zarządzanie społecznością graczy i wymianą oraz udostępnianiem botów. Centralna, publicznie dostępna baza zawodników. Określenie widoczności bota, wgląd w statystyki. 2 System wizualizacji rozgrywek i oglądania powtórek. Logika zwraca opis tury (tzw. ramkę) w formie tekstu. Zewnętrzny moduł tworzy z ramek animację. Aplikacja Turnip, plugin Flash osadzony na stronie. 3 Mechanizm służący do gry manualnej. System profilów użytkowników odpowiadających botom. Logika zwraca ramki, opisujące sytuację z punktu widzenia danego gracza. Wykorzystanie Turnipa, komunikacja przez HTTP. Okno do wprowadzania poleceń, przypisanie poleceń przyciskom.

Zasady gry Skarb Labiryntu Poszukiwacz przygód Stara się jak najszybciej dotrzeć do skarbu. Może wykonać krok w dowolnym kierunku. Architekt Spowalnia poszukiwacza stawiając przeszkody Nie może całkowicie zablokować drogi, ani stawiać przeszkód bezpośrednio obok skarbu lub poszukiwacza. Parametryzacja rozgrywek Modyfikowalna wielkość labiryntu (dowolna liczba ze zbioru {5,..., 20}). Wybór alternatywnych zasad (poszukiwacz ma ograniczony zasięg widoczności).

Tworzenie Meridiusa Kalendarium wrzesień 2009 skrystalizowany pomysł i pierwsze plany systemu, marzec 2010 rozpoczącie regularnych prac koncepcyjnych, październik 2010 rozpoczącie regularnych prac programistycznych. Skala pracy rdzeń systemu (ręcznie pisany kod, bez komentarzy): ok. 6 300 linii, cały system: ok. 17 000 linii (cały kod ponad 33 tys. linii), 6 gier testowych, 134 boty testowe, 10 obsługiwanych języków programowania.

Podsumowanie Cechy Meridiusa: innowacyjność i uniwersalizm, prostota i bezpieczeństwo rozgrywki z punktu widzenia użytkownika, uproszczenie procesu tworzenia gier programistycznych, obsługa szerokiej klasy gier, możliwość gry manualnej, modułowa architektura, z myślą o alternatywnych implementacjach. Perspektywy rozwoju i wykorzystania: współpraca z Wrocławskim Portalem Informatycznym, organizacja zawodów programistycznych, pomoc dydaktyczna do lekcji informatyki i zajęć akademickich,...