Virtua Game Engine

Virtua Game Engine (w skrócie: VGE) to rozwijana przez nas biblioteka wspomagająca proces wytwarzania nowoczesnych gier oraz aplikacji przeznaczonych na urządzenia mobilne w sposób niezależny od platformy.

VGE to oprogramowanie pośredniczące (ang. middleware), co oznacza że jest ono umieszczone pomiędzy kodem aplikacji, a systemem operacyjnym i docelową platformą sprzętową. Silnik VGE przykrywa specyficzne dla danej platformy interfejsy programistyczne własnym, niezależnym od platformy API, na którym opiera się kod budowanych na nim aplikacji. W rezultacie, kod ten można bez żadnych dodatkowych narzutów skompilować i uruchomić na każdej platformie wspieranej przez VGE, co z kolei pozwala w znaczący sposób zredukować koszt wytworzenia oraz utrzymywania oprogramowania. Na poniższym schemacie przedstawiona jest wysokopoziomowa struktura tego rozwiązania:

VGE: struktura

VGE: struktura

Część VGE oznaczona jako warstwa abstrakcji sprzętowej odpowiada za takie niskopoziomowe aspekty jak:

  • obsługa pętli aplikacji oraz zdarzeń systemowych,
  • obsługa kontrolerów,
  • dostęp do systemu plików,
  • sprzętowo wspomagane renderowanie grafiki 2D,
  • odtwarzanie dźwięku,
  • komunikacja sieciowa,
  • obsługa multimediów (kamera, mikrofon, itp.),
  • wątki.

Na tej warstwie opierają się pozostałe, wysokopoziomowe moduły VGE (komponenty niezależne od platformy), które odpowiadają między innymi za:

  • udogodnienia podstawowe (przetwarzanie tekstu, kontenery, inteligentne wskaźniki),
  • obsługę podstawowych formatów danych (XML, CSV, JSON),
  • zarządzanie zasobami,
  • zarządzanie stanem aplikacji,
  • obsługę fontów bitmapowych,
  • zaawansowane renderowania grafiki (graf sceny, efekty cząsteczkowe, mapy kafelków, itp.),
  • zaawansowane odtwarzanie dźwięku (obsługa formatów audio)
  • zarządzanie zachowaniem (hierarchia akcji, interpolacja, tweening, itp.)
  • odtwarzanie video,
  • obsługę mediów społecznościowych (Facebook, Twitter),
  • podstawową obsługę sztucznej inteligencji (maszyny stanów, grafy),
  • wykrywanie gestów na ekranie dotykowym,
  • graficzny interfejs użytkownika,
  • obsługę wielojęzyczności,
  • post-processing,
  • obsługę monetyzacji,
  • obsługę globalnych tabel wyników oraz osiągnięć.

Technologia VGE jest owocem ponad dziesięcioletniego doświadczenia w zakresie wytwarzaniem mobilnych gier oraz aplikacji biznesowych i ponad sześciu lat pracy związanej z projektowaniem i programowaniem wieloplatformowych silników wspomagających produkcję gier na takie platformy jak PC, OS X, Symbian, Windows Mobile, Android, iOS, Nintendo DS/DSi/3DS/Wii, Sony PSP, Blackberry OS oraz Samsung Smart TV.

Główne cechy VGE to prostotaklarowność oraz elastyczność interfejsu programistycznego (API), będąca efektem opisanych wyżej doświadczeń. Silnik VGE zaimplementowany jest w języku C++ i dostarczany w postaci statycznej biblioteki. Na dzień dzisiejszy VGE obsługuje następujące systemy:

  • Win32 (platforma referencyjna),
  • iOS,
  • Android,
  • OUYA.

W niedługim czasie przewidujemy dodanie wsparcia dla przenośnych konsoli:

  • Nintendo 3DS,
  • Sony PS Vita.

Implementacja obsługi kolejnych platform będzie dyktowana potrzebami biznesowymi. Potencjalni kandydaci to:

  • OS X,
  • Linux,
  • Oculus Rift,
  • Steam Box,
  • Sony Playstation 3
  • Sony Playstation 4
  • Xbox,
  • Xbox One,
  • Windows Phone,
  • BlackBerry 10 OS,
  • Samsung Tizen OS.

Główne zastosowania VGE to:

  • programowanie oraz porting gier na urządzenia mobilne,
  • programowanie mobilnych aplikacji multimedialnych oraz edukacyjnych,
  • programowanie rozwiązań biznesowych wymagających zapewnienia spójnych mechanizmów interakcji z użytkownikiem na szeregu docelowych platform (np. mobilna bankowość),
  • programowanie rozwiązań dotyczących wizualizacja danych.

powered_by_vge