Zespołowy projekt na Inżynierię Oprogramowania MIMUW 2020. C++ z biblioteką SFML.
- Rafał Czarnecki
- Kajetan Husiatyński
- Michał Szczęśniak
- Anita Śledź
Gra 2D hotseat w której gracz steruje flotą statków kosmicznych, a jego celem jest zestrzelenie wrogich flot. W przestrzeni kosmicznej istnieją obiekty, które wpływają na tor lotu pocisku.
Gracz w trakcie swojej tury ma wyznaczony czas. Podczas niego może przesuwać swoje statki indywidualnie rozdzielając dany mu limit. Turę kończy po wystrzeleniu z JEDNEGO ze swoich statków. Jeśli w momencie wystrzelenia gracz miałby jeszcze czas do wydania to zostaje on przeznaczony na początkowy ruch pocisku.
Pocisk porusza się w kwantach czasu w których oblicza zmianę swojego położenia oraz swojej prędkości. Na początku pocisk ma określoną prędkość i kierunek. Pocisk kończy swój ruch po uderzeniu w inny obiekt.
Na planszy znajdują obiekty posiadające różne właściwości:
Statki kontrolowane przez gracza. Potrafią się przemieszczać i po kolizji z pociskiem otrzymują obrażenia.
Pociski mogą kolidować ze sobą nawzajem. Działa na nie grawitacja.
Kolizja z czarną dziurą powoduje zniszczenie obiektu (lub jego części). Moc czarnej dziury jest definiowany przez masę.
Po najechaniu kursorem na pocisk możemy zobaczyć jego aktualny wektor prędkości.
Jeśli gracz trafi w bonus może otrzymać bonus w postaci np, przewidywania toru lotu pocisku, odkrycia wektorów, rozdwojenie pocisku, więcej czasu, pociski do broni, itp.
Obiekt cząsteczkowy pojawiający się za lecącym pociskiem. Stopniowo zanika po upływie czasu in-game.
Obiekty które nie oddziałowują grawitacyjnie na pociski, ale kolidują z nimi. Niszczą się częściowo?
Punkty połączone, wlot w jedne miejsce powoduje wylot drugim.
Obiekty odwrotne do czarnych dziur. Odpychają.
Ruchome dziury, asteroidy, bonusy. Asteroidy, tunele oddziałowujące grawitacyjnie.
Gracz będzie miał do dostępnu wiele broni różniącymi się szybkością, wzorem, siłą i dostępnością.
- Edytor poziomów
- Strzelnica treningowa / wyzwaniowa
Każdą nasze zadanie tworzymy na oddzielnym branchu, aby domergować go do mastera musimy mieć review od co najmniej dwóch osób. Zmiany które wykraczają poza obecny sprint mergujemy do brancha "future<numer następnego sprintu>"
Wcięcia wielkości dwa. W edytorze jeśli można to ustawić aby taby zostały zamieniane na spacje.
- Nazwy funkcji camelCase.
- Nazwy klas CameCase.
- Nazwy zmiennych snake_case.