Controls Reference
Complete guide to controlling your spacecraft in R-Type J.A.M.E.S.
๐ฎ Input Devicesโ
R-Type J.A.M.E.S. supports multiple input devices:
- โ Keyboard (Primary, fully supported)
- โ Gamepad (Xbox, PlayStation, Generic USB controllers)
- ๐ง Mouse (Planned for menu navigation)
โจ๏ธ Keyboard Controlsโ
Default Keybindingsโ
| Action | Primary Key | Alternative Key | Description |
|---|---|---|---|
| Move Up | โ | W | Move ship upward |
| Move Down | โ | S | Move ship downward |
| Move Left | โ | A | Move ship left |
| Move Right | โ | D | Move ship right |
| Fire | Space | - | Fire primary weapon |
| Charge Shot | Hold Space | - | Charge and release for powerful shot |
| Pause/Menu | Esc | P | Pause game or open menu |
Movement Characteristicsโ
- Speed: Constant movement speed (no acceleration)
- Precision: Pixel-perfect control for dodging
- Diagonal Movement: Combine directional keys for diagonal movement
- Boundary Limits: Automatic screen edge prevention
Use WASD for movement if you're more comfortable with FPS-style controls. Both arrow keys and WASD work simultaneously!
Settingsโ
You can modify a lot of settings, like :
- bigger text
- input remapping
- gameplay changes (difficulty settings, rule changes...)
Planned Configuration Fileโ
Controls will be configurable via config/controls.json:
{
"keyboard": {
"move_up": ["Up", "W"],
"move_down": ["Down", "S"],
"move_left": ["Left", "A"],
"move_right": ["Right", "D"],
"fire": ["Space"],
"pause": ["Escape", "P"]
},
"gamepad": {
"move": "LeftStick",
"fire": "ButtonA",
"pause": "Start"
}
}
๐ฏ Movement Guideโ
Basic Movementโ
โ (Up)
|
โโโโโโโผโโโโโโ
(Left) (Right)
|
โ (Down)
Diagonal Movementโ
Combine two directional keys for diagonal movement:
โ (Up+Left) โ (Up+Right)
โ (Down+Left) โ (Down+Right)
Speed: Diagonal movement maintains the same speed as cardinal directions (normalized vectors).
Screen Boundariesโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ Playfield Boundary โ โ
โ โ
โ ๐ Your Ship โ
โ โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
- You cannot move outside the visible playfield
- Movement is automatically clamped to screen edges
- No "wrapping" around screen edges
๐ซ Firing Mechanicsโ
Rapid Fireโ
Press and release Space repeatedly for rapid fire:
- Fire Rate: Limited by weapon cooldown
- Projectile Speed: Fast, straight trajectory
- Damage: Standard damage per shot
Player: โโโถ Space Space Space
Output: ๐ โโ โโ โโ
Charge Shot (Planned Feature)โ
Hold Space to charge, release to fire:
- Press and Hold
Space - Visual Indicator: Ship glows/charges
- Release when fully charged
- Powerful Blast: Deals 3x damage
Player: โโโถ Hold Space (1s)
Charge: ๐ โงโฆโฆโฆ (charging)
Release: ๐ โโโโถ (powerful shot)
While charging, you cannot fire regular shots. Plan your charge timing carefully!
โธ๏ธ Pause Menuโ
Press Esc to pause the game:
Pause Menu Optionsโ
- Resume: Return to game
- Settings (Coming Soon): Adjust volume, graphics
- Quit to Menu: Return to main menu
- Quit Game: Exit application
In multiplayer, pausing only affects your local view. The server and other players continue running. Use this for brief breaks only.
๐๏ธ Advanced Control Techniquesโ
Dodgingโ
- Predictive Movement: Watch enemy bullet trajectories
- Perpendicular Dodging: Move perpendicular to incoming projectiles
- Safe Zones: Learn enemy spawn patterns to position optimally
Kitingโ
- Backward Fire: Fire while moving backward to maintain distance
- Circle Strafing: Move in circles around slow enemies
- Hit and Run: Attack, then retreat to safety
Precision Movementโ
For tight corridors and bullet hell sections:
- Use small, controlled taps on directional keys
- Avoid holding keys continuously
- Practice feathering inputs for micro-adjustments
๐ง Troubleshooting Controlsโ
Keyboard Not Respondingโ
- Check Focus: Click on the game window to ensure it has focus
- Test Keys: Try alternate keys (WASD if arrows don't work)
- Restart: Close and relaunch the client
Gamepad Not Detectedโ
- Connect First: Plug in controller before launching game
- Check USB: Try different USB port
- Driver Update: Ensure controller drivers are installed
- Test Tool: Use jstest-gtk (Linux) or joy.cpl (Windows) to verify controller works
Input Lagโ
If you experience input lag:
- V-Sync: Disable V-Sync if enabled
- Polling Rate: Ensure controller has standard polling rate
- CPU Load: Close background applications
- Network: In multiplayer, check network latency
Multiple Inputsโ
If multiple inputs register from one press:
- Sticky Keys: Disable OS sticky keys feature
- Controller Calibration: Recalibrate controller in OS settings
- Clean Keyboard: Physical debris may cause key bounce
๐ฑ Platform-Specific Notesโ
Linuxโ
- Controllers may require xboxdrv or SDL for proper detection
- Some keyboards may have key repeat enabled in OS - this is normal
- Use
evtestto verify controller input events
Windowsโ
- Xbox controllers work natively
- PlayStation controllers require DS4Windows or similar drivers
- Generic controllers require DirectInput drivers
macOS (Coming Soon)โ
- Support planned for future releases
- Will use native macOS input APIs
๐ Related Documentationโ
- How to Play - General gameplay guide
- Input Abstraction Layer - Technical input system architecture
๐ฎ Control Layout Visual Referenceโ
Keyboard Layoutโ
โโโโโโโฌโโโโโโฌโโโโโโ โโโโโโโ
โ W โ โ โ โ โ โ
โ โ โ โ โ OR โ โ
โโโโโโโผโโโโโโผโโโโโโค โโโโโโโค
โ A โ S โ D โ โโ โ โโ
โ โ โ โ โ โ โ โ โ
โโโโโโโดโโโโโโดโโโโโโ โโโโโโโ
โโโโโโโโโโโโโ
โ SPACE โ = Fire
โโโโโโโโโโโโโ
Gamepad Layoutโ
Start
[โธ]
[โ] โญโโโโโโฎ
[โ] [โ] [โ] โ ส โ = Left Stick
โฐโโโโโโฏ
[Y]
[X] [B]
[A] โ Fire
Last Updated: January 2026