PhasmoBot
Python alapú AI bot, ami automatizálja a Phasmophobia játékmenetét képfelismerés segítségével.
A Kihívás (The Challenge)
A Phasmophobia egy időigényes játék, és érdekelt, hogy képes lennék-e egy olyan botot írni, ami emberi beavatkozás nélkül képes játszani, navigálni a menükben, és végrehajtani a játék alapvető feladatait, mint a szellem kiválasztása.
A Megoldásom (My Solution)
Egy Python szkriptet fejlesztettem, ami az OpenCV könyvtárat használja a játék képernyőjének elemzésére. A bot egy állapotgép (state machine) alapján működik, és előre definiált képminták (template matching) segítségével azonosítja a gombokat és menüpontokat. A `pydirectinput` könyvtárral szimulálja az egérmozgásokat és kattintásokat, hogy végrehajtsa a szükséges lépéseket a játékban, a főmenütől a szellem kiválasztásáig.
Felhasznált Technológiák (Tech Stack)
- Python: Ideális választás volt a gyors prototípus készítéshez és a rendelkezésre álló képfeldolgozó könyvtárak miatt.
 - OpenCV: A projekt kulcseleme, ez a könyvtár biztosította a valós idejű képfelismerési képességeket, amivel a bot 'látja' a játékot.
 - pydirectinput: Alacsony szintű input szimulációt tett lehetővé, ami megbízhatóbban működött a játékokkal, mint a hagyományos `pyautogui`.
 
Technikai Mélymerülés (Technical Deep-Dive)
A legizgalmasabb rész a bot 'szemének' finomhangolása volt. A sima template matching nem mindig volt elég robusztus a változó fényviszonyok vagy a játék apró grafikai frissítései miatt. Ezért egy olyan funkciót implementáltam, ami több, kissé eltérő méretű és szürkeárnyalatos változatban is keresi a template-eket, és a legmagasabb egyezési pontszámot adó találatot fogadja el. Ez jelentősen növelte a bot pontosságát és megbízhatóságát a UI elemek felismerésében.