Project 2 is a VIBES Lab research initiative investigating decision-making and behavioral patterns in simulated sports gambling and slot machine environments within VR. This study explores how different gambling modalities influence risk evaluation, reward sensitivity, and choice behavior through immersive virtual experiences.
Building on the VR infrastructure established in Project 1, this project introduces interactive gambling environments that enable precise measurement of:
- Risk evaluation patterns across gambling types
- Reward sensitivity and payout response
- Choice dynamics in betting scenarios
- Visual attention through eye-tracking during decision-making
- Pupillary response as a physiological indicator of arousal
- Sports Parlay Betting: Multi-leg parlay construction with realistic odds and detailed stat cards
- Slot Machine Gambling: Symbol-based slot mechanics with configurable multipliers
- Counterbalanced Design: Switchable order (Slots→Parlay or Parlay→Slots) for experimental control
The system captures trial-level data including:
- Outcome (Win/Loss)
- Gambling type (Sports/Slots)
- Bet amount and payout
- Real-time wallet tracking (separate for each modality)
- Trial-averaged pupil size (mean of all samples during trial)
- Combined eye pupil size (average of left and right pupils)
- Parlay specifics: Total odds, number of legs, individual team selections and odds (up to 5 legs)
- Ecologically valid UI designed to mirror real gambling interfaces
- Audio feedback system with UI sounds and time-pressure music
- Interactive stat cards for informed parlay decisions
- Comprehensive tutorials for participant onboarding
- Error prevention to ensure data integrity
| Component | Technology |
|---|---|
| Game Engine | Unity 2023.1.5f1 |
| VR Hardware | HTC VIVE Pro Eye |
| Eye Tracking | SRanipal SDK |
| Data Framework | SimpleOmnia |
| VR Platform | SteamVR |
| Programming | C# |
| Data Processing | Web-based CSV Processor |
- Within-subjects design: Each participant experiences both gambling types
- Counterbalanced order: Configurable Slots→Sports or Sports→Slots
- Trial-based: 15 gambling trials per condition (slot, parlay)
- Financial tracking: Separate wallet systems maintain realism for each modality
Behavioral:
- Bet amounts and frequency
- Parlay construction choices (leg count, odds selection, stat card usage)
- Win/loss outcomes
- Decision latency
Physiological:
- Combined pupil diameter (left + right average)
- Trial-averaged pupil size (arousal proxy)
- Gaze patterns during selection
- Head movement dynamics
Contextual:
- Gambling type
- Trial sequence
- Accumulated wins/losses
- Total parlay risk (odds calculation)
- Unity 2023.1.5f1
- HTC VIVE Pro Eye with eye-tracking calibration
- SteamVR runtime
- SRanipal SDK (v1.3.6.8 or higher)
git clone https://github.com/JohnBacho/VIBES-Lab-Project2.git
cd VIBES-Lab-Project2- Open the project in Unity 2023.1.5f1
- Install SRanipal runtime and SDK (see Project 1 documentation)
- Launch Program
- Auto starts eye calibration
- Data automatically saves to
Assets/Experiments/ProgramName/
Each session generates a CSV with the following columns:
| Column | Description |
|---|---|
ProgramName |
Unique participant identifier |
Outcome |
Win/Loss result |
GamblingType |
Sports/Slots |
Bet |
Amount wagered |
Payout |
Winnings (if applicable) |
Wallet |
Current balance |
TrialAveragePupilSize |
Mean pupil diameter across entire trial |
Total_Odds |
Combined parlay odds (risk metric) |
Total_Legs |
Number of parlay selections |
Parlay1-5_Team |
Team names for each leg |
Parlay1-5_Odds |
Individual odds per leg |
Raw CSV files can be processed using our companion web application:
- Repository: VIBES-Lab-Project2-CSV-Processor
- Web Interface: https://johnbacho.github.io/VIBES-Lab-Project2-CSV-Processor/
The processor automatically:
- Generates unique filenames using ProgramName, date, and time
- Removes the 16th trial (program termination marker)
- Cleans unnecessary columns
- Formats data for easy statistical analysis
| Name | Department |
|---|---|
| Dr. Brian Thomas | Psychology |
| John Bacho | Computer Science |
| Lauren Dunlap | Psychology |
| Albert Selby | Computer Science / Data Science |
| Marissa Brigger | Neuroscience |
| Alexa Gossett | Neuroscience / Psychology |
| Jace Lander | Software Engineering |
| Corey Schwarz | Computer Science / Data Science |
| Olivia Mullins | Neuroscience |
This platform enables investigation of:
- Comparative gambling psychology: Sports betting vs. chance-based gambling
- Decision-making under uncertainty: How odds complexity affects choices
- Arousal and risk-taking: Pupillometry during gambling decisions
- Loss-chasing behavior: Wallet dynamics and bet escalation
- Information seeking: Stat card usage patterns in sports betting
- Added switchable gambling context order (Slot→Parlay or Parlay→Slot)
- Implemented separate wallet systems for each gambling type
- Overhauled Sports Parlay UI for ecological validity
- Added interactive stat cards for each parlay leg with tutorial
- Converted slot reels from numbers to symbols
- Implemented per-trial slot payout multipliers
- Added selected parlay details (Team Names & Odds) to CSV output
- Implemented
Total_Oddscolumn for risk assessment - Implemented
Total_Legscolumn for parlay complexity tracking - Added
combinedEyePupilSize(left + right pupil average) - Added
TrialAveragePupilSize(temporal average across trial) - Renamed
currentbet→betand updated processors accordingly - Changed
subjectID→ProgramNamefor clarity
- Redesigned web interface with enhanced UI 🌻
- Implemented unique filename generation (ProgramName + timestamp)
- Automatic removal of 16th trial (termination marker)
- Column cleanup for streamlined analysis
- Support for new data fields (pupil metrics, parlay details)
- Revamped UI buttons for better interaction
- Added comprehensive audio feedback system
- Implemented time-pressure music after decision threshold
- Added safeguards preventing unintended interactions during startup
- Enhanced tutorial system for stat card usage
- Rewrote parlay loss logic for increased realism (weighted negative outcomes)
- Added program ending logic
- Implemented extensive error handling
- Multiple bug fixes for stability
- Justin Kasowski – SimpleOmnia framework development
- HTC Corporation – VIVE Pro Eye and SRanipal SDK
- Unity Asset Store – Environmental and UI assets
- Baldwin Wallace University – Institutional support
This project is licensed under Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0).
Includes SimpleOmnia framework components under the same license.
- Lead Developer: jbacho22@bw.edu
- Lab Inquiries: Dr. Brian Thomas
- Issues & Contributions: Use the GitHub Issues tab
- CSV Data Processor: VIBES-Lab-Project2-CSV-Processor
- Project 1 (Foundation): Link to Project 1 repository
Made with ❤️ by the VIBES Lab Team
