Getting Started
Requirements
| OS | iOS 16+ on a physical device (BLE) |
| Tools | Xcode 15+, Apple developer signing |
| Hardware | BLE cap-style controller (see BLE integration) or mock bytes in DEV |
| Expectations | Unofficial stack — you debug packet layout yourself if hardware differs |
1. Clone and open
git clone https://github.com/koderhack/veltokit.git
cd veltokit
cd app && open gametriki.xcodeproj
Select the gametriki scheme and your iPhone (not Simulator for real BLE).
2. First run
- Launch the app → Connect screen.
- Power on your BLE controller; wait for scan results.
- Tap the device → wait for connected + packet stream.
- Calibrate when prompted (hold level, center).
- Main menu → pick Pong, Dart, Bowling, or Quiz.
3. What you are running
app/ gametriki.xcodeproj + sample sources
├── Platform/ TrikiInputAdapter (UI calibration)
├── Engine/ GameEngine, sessions
└── Games/ Game logic + rendering
VeltoKit/ MotionSDK.connect() + pollInput() → GameInput
Games never import CoreBluetooth — they read GameInput via TrikiInputAdapter or MotionSDK directly.
4. DEV mode
From the menu, open DEV (if enabled in your build) to:
- Inspect raw BLE bytes and
MotionDebug - Tune
MotionConfiglive - Probe packet headers (
0x22, button onbytes[1])
5. Documentation site locally
cd website
npm install
npm run start # dev (one locale at a time)
npm run build && npm run serve # EN + PL like production
Next steps
| Goal | Doc |
|---|---|
| Integrate SDK only | Installation · Quick start |
| Understand API | SDK overview |
| Watch UI previews | Demo |
| Per-game mapping | Examples |