A Raspberry Pi-based arcade retail game for kids with shopping simulation and timer modes, featuring barcode scanning and retro 16-bit arcade aesthetics.
Build a fun arcade retail game for a 4-year-old that combines hardware (Raspberry Pi, arcade controls, barcode scanner) with retro 16-bit arcade aesthetics. The game features two modes: Retail (shopping simulation) and Timer (speed scanning challenge).
Simulates shopping experience:
Speed challenge:
1. **Offline-First**: No API calls required for core functionality
2. **Simple SKU Management**: Parent-friendly interface (in-game or Bluetooth mobile app)
3. **Minimal Complexity**: No complex databases or security protocols needed
4. **Desktop Testing Mode**: Keyboard mappings for all arcade controls
5. **16-bit Arcade Aesthetic**: Early 1990s retro design with sound effects and visuals
```
arcade-retail-game/
├── main.py # Entry point, auto-starts game
├── game/
│ ├── __init__.py
│ ├── retail_mode.py # Shopping simulation logic
│ ├── timer_mode.py # Speed challenge logic
│ ├── menu.py # Main menu and mode selection
│ ├── sku_manager.py # Product database CRUD
│ └── controls.py # Input handling (arcade + keyboard)
├── assets/
│ ├── sprites/ # 16-bit product images
│ ├── sounds/ # Arcade sound effects
│ └── fonts/ # Retro pixel fonts
├── data/
│ └── products.json # SKU database
├── tests/
│ └── test_*.py # Unit tests
└── requirements.txt
```
#### 1. Input Handling (`controls.py`)
Map arcade controls to keyboard for testing:
#### 2. SKU Database (`products.json`)
Simple JSON structure:
```json
{
"123456789": {
"name": "Milk",
"price": 2.99,
"image": "milk.png",
"category": "dairy"
}
}
```
#### 3. Retail Mode (`retail_mode.py`)
#### 4. Timer Mode (`timer_mode.py`)
#### 5. Auto-Start Setup
Create systemd service `/etc/systemd/system/arcade-game.service`:
```ini
[Unit]
Description=Arcade Retail Game
After=graphical.target
[Service]
Type=simple
User=pi
Environment=DISPLAY=:0
ExecStart=/usr/bin/python3 /home/pi/arcade-retail-game/main.py
Restart=on-failure
[Install]
WantedBy=graphical.target
```
Enable: `sudo systemctl enable arcade-game.service`
#### Visuals
#### Sound Effects
#### UI Elements
Desktop testing checklist:
Simple React Native or Flutter app:
If implementing photo-to-arcade conversion:
1. **Start with Desktop Testing**
- Build game logic with keyboard controls
- Use dummy barcode data (simulated via text input)
- Test both modes thoroughly
2. **Add Hardware Support**
- Integrate GPIO for arcade buttons
- Add barcode scanner USB HID input
- Test on Raspberry Pi
3. **Polish and Assets**
- Create/import 16-bit sprites
- Add sound effects
- Tune animations and timing
4. **Setup Auto-Start**
- Configure systemd service
- Test boot-to-game flow
5. **Optional Mobile App**
- Build SKU manager app
- Implement Bluetooth sync
```python
import pygame
from game.menu import MainMenu
from game.retail_mode import RetailMode
from game.timer_mode import TimerMode
def main():
pygame.init()
screen = pygame.display.set_mode((640, 480))
clock = pygame.time.Clock()
current_scene = MainMenu()
running = True
while running:
dt = clock.tick(60) / 1000.0 # 60 FPS
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
current_scene.handle_event(event)
next_scene = current_scene.update(dt)
if next_scene:
current_scene = next_scene
current_scene.render(screen)
pygame.display.flip()
pygame.quit()
if __name__ == "__main__":
main()
```
Leave a review
No reviews yet. Be the first to review this skill!
# Download SKILL.md from killerskills.ai/api/skills/arcade-retail-store-game/raw