Programowanie gier & Biofeedback

Pod koniec zeszłego semestru musiałem wybrać specjalizację kierunku który studiuję (Informatyka na PJWSTK). Do wyboru miałem

  • Bazy danych
  • Programowanie aplikacji biznesowych
  • Sieci komputerowe
  • Multimedia
  • Robotyka
  • Multimedia – programowanie gier

W zasadzie tematyka każdej specjalizacji jakoś bardziej lub mniej mnie interesuje i miałem spory dylemat którą wybrać, w rachubę wchodziło też wybranie dwóch specjalizacji i realizowanie pracy inżynierskiej pod kątem obu. Po długim namyśle wybrałem jakże egzotyczną jak na polskie realia (chociaż ostatnio sytuacja się poprawia) specjalizację “programowanie gier”, gdyż ta bezpośrednio umożliwia mi realizację jednego z pomysłów które siedzą mi w głowie od dawna.

Pomysł

Chcę wykonać grę która będzie wykorzystywała specjalny “kontroler” służący do pomiaru aktywności umysłu, której celem będzie osiąganie stanu relaksu przez grającego. Pomysłów na realizację mam kilka, jeden (podrzucony przez jednego z prowadzących) uwzględnia dwóch graczy gdzie wygrywa ten który szybciej się zrelaksuje, inne pomysły to mini gry w których grający będzie musiał osiągnąć oczekiwany efekt audio-wizualny poprzez relaksację. Taka technika nosi nazwę Biofeedback’u, czyli sprzężenia zwrotnego utworzonego na podstawie odczytu i interpretowania jakiegoś sygnału generowanego przez człowieka i podawania informacji zwrotnych do jakiegoś zmysłu/zmysłów ludzkiego z komputera. Do pomiaru aktywności umysłu chcę wykorzystać metodę pomiaru rezystancji naskórka (galvanic skin response) która jest związana z opornością układu nerwowego, który z kolei pośrednio odpowiada aktywności umysłu.

Biofeedback służący do relaksacji ma poważne zastosowanie w np. w psychoterapii przy leczeniu między innymi ADHD. Może być też wykorzystywany przez ludzi żyjących w ciągłym stresie. W zasadzie zastosowań jest wiele, także mogę coś zrobić co się być może przyda innym.

Wstępna realizacja części sprzętowej

Jako, że do metody którą wybrałem potrzebne jest mi urządzenie komunikujące się z komputerem, a na czas testów nie chciałem projektować własnego układu opartego o mikrokontroler. Między innymi w związku z małym doświadczeniem na tym polu. To wpadłem na pomysł przerobienia analogowego joypada na moje potrzeby. Sposób był prosty, gałki analogowe działają na podstawie odczytanej rezystancji z potencjometru połączonego z gałką sterującą. To jak już pewnie wiecie zamiast potencjometru mechanicznego wystarczy podłączyć rezystancję “ludzką”, oczywiście wbudowane potencjometry mają o wiele mniejszą rezystancję niż skóra i wymagało to drobnych przeróbek, jednak wstępnie się udało. Elektrody na palce wykonałem z rzepów do których wszyłem splotkę przewodzącą prąd (to było najlepsze co mogłem zmontować z materiałów znalezionych w domu), które sprawdzają się całkiem nieźle. W ten oto sposób otrzymałem proste, działające jako tako urządzenie, które po wstępnych testach zachowuje się zgodnie z moimi przewidywaniami, czyli jest

  • nie dokładne – w związku małą rozdzielczość pomiaru, joypad przewidywał tylko 256 próbek, które do gier oczywiście w zupełności wystarczają, jednak tutaj przydało by się przynajmniej tą dwójkę podnieść dwie potęgi wyżej :)
  • nie stabilny odczyt – potrzeba kilka minut na stabilizację układu. To raczej w związku z moją przeróbką
  • Wymagana kalibracja dodatkowym potencjometrem wykonana pod użytkownika

W każdym bądź razie się nie zrażam bo jak na jeden dzień pracy wyniki są zadowalające. W oknie kalibracji joypada da się zaobserwować zmiany rezystancji układu nerwowego. Nawet nie wiedzialem jak bardzo potrafi organizm zareagować na pewne bodźce, np. plasknięcie się po twarzy powoduje gwałtowne przesunięcie wskaźnika kontrolera :) a słuchanie relaksującej muzyki powoduje powolny powrót wskaźnika na dawne miejsce. Kontynuacja relaksacji powoduje jeszcze większe przesunięcie wskaźnika co oznacza, że osiągnąłem większy spokój niż przed zastosowaniem wspomnianego bodźca. Wracając do samego urządzenia to finalnie postaram się zrobić własne na USB typu HID wykorzystujące jakiś mikrokontroler.

Wynik przeróbki joypada:
usb joypad modified to be a biofeedback device

Co dalej?

Pozostaje mi między innymi wymyśleć co dokładnie będzie tematem pracy inżynierskiej i zacząć powoli ją robić (o ile zostanie zaakceptowany :P ).

Sam pomysł biofeedbacku można rozwinąć i połączyć z wspomaganiem samej relaksacji poprzez w pewnym sensie wymuszanie odpowiedniej aktywności umysłowej poprzez pewne bodźce fizyczne, np. poprzez tzw. szumy dudnieniowe służące do synchronizacji półkul mózgowych do pracy w odpowiedniej częstotliwości.

Zainteresowanych odsyłam do poszukania w internecie informacji pod hasłami: biofeedback, gsr, hemi-sync. Swego czasu powstał komercyjny produkt, który w zasadzie odpowiada prawie 1 do 1 temu co chcę zrobić, można o nim poczytać na: www.relaksacja.pl. Do hemi-sync polecam programik Gnuaural. To chwilowo na tyle.

2 Comments

  1. Daniel says:

    some serious tight shit :]

Leave a Reply