Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Gry FPP, sterowanie poprzez podanie współrzędnych gracza z zew. aplikacji

22 Lip 2011 16:00 904 3
  • Poziom 12  
    Witam, chciałbym dowiedzieć się czy istnieją gry pokroju quake III, CS które pozwalają na ingerowanie w zmienne za pośrednictwem zewnętrznych źródeł. Jedyny przykład jaki znam to FLIGHT SIMULATOR 2004 wraz z interfejstem FSUIPC. Można dzięki temu zmieniać stany różnych zmiennych w grze za pomocą zew. aplikacji która może być swego rodzaju mostem między grą a sprzętem. Przykładowo zbudowany własnoręcznie pulpit z przyciskami, służy do włączania lub wyłączania mechanizmów w wirtualnym samolocie. Domyślam że takie coś to właśnie API. Jestem ciekaw czy innego typu gry też pozwalają na takie coś.

    Chciałbym dla przykładu użyć tableta graficznego jako urządzenia wejścia. Aplikacja odczytywałaby położenie rysika na tablecie i przekazywała by te współrzędne do gry jako położenie gracza. Wtedy gdzie nie postawie rysik tam się pojawi gracz. Jak przesuwam rysikiem, postać porusza się z taką prędkością jak moja ręka.

    Oczywiście użyłbym mapy testowej, bez ścian i przeszkód żeby miało to sens.

    Docelowo chciałbym ustalać położenie na podstawie czegoś w rodzaju motion capture. Jak bym się nie poruszał po pokoju, tak samo reaguje postać w grze. Nie chodzi mi o ruszanie kończynami ale jedynie o położenie w przestrzeni.

    Czy jest właśnie możliwa taka wymiana danych z programem gry? I jaka gra pozwalałaby na to? Nie umiem programować w takim stopniu żeby napisać własną aplikację w powiedzmy direct3d i tam przenosić dane o położeniu.
  • Poziom 25  
    Jeżeli aplikacja (gra) nie udostępnia jakiegoś API to pozostaje trochę (dużo) reverse engineeringu + Read/WriteProcessMemory, inline hooks, DLL injection lub coś podobnego. Im bardziej skomplikowana aplikacja tym trudniej znaleźć to co nas interesuje, do tego mogą dojść różne zabezpieczenia utrudniające sprawę. W każdym razie nie ma rzeczy niemożliwych. :)
  • Poziom 20  
    No jest jeszcze inna opcja działania na grach typu opensource wtedy ewentualny interface można sobie wyprowadzić albo obsłużyć zewnętrzne wejście w samym kodzie gry.
  • Poziom 14  
    mafioso_corleone napisał:
    Docelowo chciałbym ustalać położenie na podstawie czegoś w rodzaju motion capture. Jak bym się nie poruszał po pokoju, tak samo reaguje postać w grze. Nie chodzi mi o ruszanie kończynami ale jedynie o położenie w przestrzeni.

    Czy jest właśnie możliwa taka wymiana danych z programem gry? I jaka gra pozwalałaby na to? Nie umiem programować w takim stopniu żeby napisać własną aplikację w powiedzmy direct3d i tam przenosić dane o położeniu.


    Skoro kolega chce coś takiego zrobić, to zapewne choć trochę programować potrafi. Gotowych rozwiązań nie znam, ale jeśli grafika nie musi być zbyt rozbudowana, to naprawdę można się pokusić o stworzenie własnej prostej aplikacji. Kiedyś programowałem w C++ program z grafiką 3D używając engine Ogre3D. Program, który miałby przesuwać w przestrzeni jakiś obiekt byłby naprawdę prostą przeróbką któregoś z podstawowych tutoriali, na przykład drugiego z brzegu: http://www.ogre3d.org/tikiwiki/Basic+Tutorial+2&structure=Tutorials