Gra inwestycyjna "Pierwszy Milion"

W ramach stałej współpracy z Fundacją Kronenberga CITI Handlowy zakończyliśmy  prace nad kolejnym wspólnym projektem. Tym razem stworzyliśmy innowacyjną na skalę kraju internetową grę edukacyjną pt. "Pierwszy Milion".

Podczas kilkugodzinnej rozgrywki gracz wciela się w jedną z dostępnych w grze ośmiu postaci i staje przed zadaniem zdobycia tytułowego pierwszego miliona złotych. Gra ma charakter turowy i stanowi symulacje życia, podczas którego gracz będzie podejmował różnorodne decyzje inwestycyjne. Oprócz inwestowania zarobionych środków gra uwzględnia inne aspekty takie jak: utrzymanie odpowiedniego standardu życia, kariery zawodowej, zdarzeń losowych itd.

Rozbudowany scenariusz gry pozwala  na symulację prawdziwego życia z uwzględnieniem takich aspektów jak:

  • rosnące koszty utrzymania (mieszkanie, koszty jedzenia, możliwość kupowania coraz to nowych przedmiotów),
  • ścieżka rozwoju zawodowego (praca zarobkowa połączona z systemem szkoleń i możliwością awansu zawodowego),
  • konsumpcyjny charakter (gracz rozpoczyna grę mając 18 lat w małym i pustym mieszkaniu a podczas gry może osiągnąć wysoki status zawodowy i imponujący majątek),
  • losowość zdarzeń -  podczas swojego życia gracz napotyka szereg losowych zdarzeń, nieprzewidzianych wydatków, zaskakujących okazji do inwestycji i zmian rynkowych.


Edukacyjny charakter gry:
Zaawansowany algorytm gry symuluje zmienne zachowanie rynku. Gra pozwala inwestować w akcje i surowce, kupować i sprzedawać nieruchomości. Z każdą kolejna turą, gracz otrzymuje informacje o aktualnych notowaniach spółek, aktualnej wartości surowców czy funduszy inwestycyjnych oraz zapowiedzi przyszłych działań jakie podejmować będą spółki. Uważne obserwowanie zmian pozwala przewidzieć trendy i koniunkturę, a tym samym podjąć najbardziej trafne decyzje inwestycyjne. Bardziej ostrożni gracze mogą oszczędzać na lokatach i inwestować w obligacje.

Dzięki merytorycznej wiedzy specjalistów z Fundacji Kronenberga,  w grze udostępnione zostały:

  • profile 6 spółek giełdowych
  • dwa surowce
  • obligacje dwu- i dziesięcioletnie
  • 3 fundusze inwestycyjne
  • konta oszczędnościowe
  • kredyty gotówkowe i hipoteczne
  • symulację rynku nieruchomości (kilkanaście dostępnych nieruchomości)

Aspekty funkcjonalne:
Od strony funkcjonalnej gra bazuje na 3e Application Framework i udostępnia następujące moduły / funkcjonalności:

  • zaawansowany silnik gry uwzględniający szereg zmiennych  opisujących koniunkturę (takich jak: aktualne stopy zwrotu, inflacje, prowizje bankowe)
  • aktualizowany co turę portfel inwestycyjny gracza
  • moduł losowania i prezentowania kart akcji
  • zaawansowany ranking graczy (uwzględniający kilka parterów dotyczących rozgrywki)
  • atrakcyjna grafika (postacie, przedmioty)
  • moduł raportów i analiz (zawierający wykresy prezentujące notowania poszczególnych produktów inwestycyjnych)
  • system pytań testowych sprawdzający zdobytą podczas rozgrywki wiedzę

Dodatkowo w ramach rosnącej popularności pojęcia grywalizacji, do gry wprowadziliśmy ponad 20 unikalnych osiągnięć.

Elementy produkcji
Przystępując do projektu zdawaliśmy sobie sprawę z wysokiego poziomu skomplikowania świata gry. Ilość operacji dostępnych zarówno dla gracza jak i wykonywana automatycznie przez system jest bardzo wysoka. Prace postanowiliśmy rozpocząć od szczegółowej analizy i zebrania wymagań. Stworzyliśmy w tym celu dokument specyfikacji liczący około 70 stron, który opisywał wszelkie możliwe przypadki użycia. Dodatkowo, celem zmaksymalizowania przejrzystości wykonaliśmy szczegółowe makiety stron, obrazujące wszystkie możliwości interfejsu użytkownika.

Implementację poprzedziło zaprojektowanie silnika gry. Jednym z podstawowych założeń architektury projektu było całkowite odseparowanie klas silnika od elementów interfejsu. Silnik jako część najbardziej złożona został wykonany na początku. Dopiero w późniejszym etapie zaczęliśmy łączyć go z interfejsem użytkownika i elementami graficznymi. Zdawaliśmy sobie sprawę z faktu, że w miarę rozwoju projekt będzie stawał się coraz bardziej skomplikowany i wzajemnie powiązany co stwarza ryzyko nawarstwiania się niewykrytych w porę błędów. Dlatego kod został pokryty testami jednostkowymi, które gwarantowały prawidłowe działanie wszystkich elementów świata gry (np. liczenie odsetek, rat kredytów, wykonywanie przelewów). Repozytorium kodu (SVN) zostało zintegrowane w serwerze ciągłej integracji Hudson.  Ponadto projekt przeszedł tradycyjne manualne testy funkcjonalne.