Návrh softwarového projektu FlightWorld

Pavel Machek

e-mail: pavel@ucw.cz

8. 9. 2003

Cíl projektu

Cílem projektu je upravit letecký simulátor FlightGear tak, aby umožňoval hraní velkému množství hráčů najednou. Hráči se dělí do dvou skupin: piloti, kteří ovládají svá letadla, a řídící letového provozu, kteří rádiem dávají pokyny pilotům.

Jednotliví piloti by se měli navzájem vidět a systém by měl detekovat kolize mezi letadly. Dále by mělo být simulováno rádiové spojení mezi piloty navzájem a mezi piloty a řízením letového provozu. Pro hráče s dostatečným hardwarem by komunikace měla probíhat hlasem; pro systémy bez zvukové karty by měl být možný fallback na řádkovou komunikaci.

Řídící letového provozu by měli mít k dispozici simulaci pracoviště určeného k řízení letového provozu; ideální by bylo simulovat nějaký skutečný systém.

Celá simulace by měla být schopna běžet po internetu a měla by umožňovat připojení i uživatelům používajícím modem. Protokol běžící po síti by měl umožňovat kontrolu toho, že klientské stanice "nepodvádí" (kontrola nemusí být na serveru implementována) a měl by umožňovat šifrování. Server by měl zvládnout stovky současně připojených hráčů.

Server by měl poskytovat klientům informace o počasí, nejlépe přebírané v reálném čase ze systému METAR. Server by měl umožňovat svou správu přes příkazovou řádku (určeno pro ovládání skripty) a přes webové rozhraní (určeno pro lidi).

Platforma

Serverová část projektu by měla běžet na libovolném systému unixového typu, klientská část by měla běžet na Linuxu a alespoň jednom dalším OS. Projekt by měl být napsán v jazyce C/C++.

Řešitele

Projekt je určen pro tým 4-6 studentů, předpokládá se znalost C/C++ a základních vývojových nástrojů. Vítány jsou zkušenosti se zpracováním signálu a s létáním.