Skip to content
1st Place

food-fight-robots

This game transforms food from your photo folder into robots and fights.

Core trick

Converts a food photo into a robot concept image with Gemini, then generates a GLB 3D model via Meshy for battle.

Tags

Description

This game transforms food from your photo folder into robots and fights.
SuzukiDaishi/food-fight-robots★ 00 forksHTMLMITCreated Feb 21, 2026 · last push Mar 18, 2026

README excerpt

# Food Fight Robots

Food image in, battle robot out. This project uses `Next.js 16 + React 19` for the UI and `Tauri v2 + Rust` for desktop-side orchestration, storage, and API access.

## What It Does

- Upload a food image in the Construction screen
- Normalize the input to PNG on the frontend for stable cross-platform behavior
- Generate robot stats and lore with Gemini
- Generate a concept image and 3D model with Gemini + Meshy
- Save images, GLB files, and SQLite data under the Tauri app data directory
- Browse generated robots in Encyclopedia and use them in Battle

## Stack

- Frontend: Next.js, React, TypeScript, Tailwind CSS
- 3D: three.js, `@react-three/fiber`, `@react-three/drei`
- Desktop backend: Tauri v2, Rust
- Storage: SQLite via `rusqlite`
- External APIs: Gemini API, Meshy API

## Prerequisites

### Common

- Node.js 20+
- npm
- Rust stable

### Windows

- Microsoft C++ Build Tools
- Microsoft Edge WebView2

Tauri prerequisites:
https://v2.tauri.app/ja/start/prerequisites/

### macOS

- Xcode Command Line Tools

Tauri prerequisites:
https://v2.tauri.app/ja/start/prerequisites/

## Setup

1. Install dependencies:

```bash
npm install
```

2. Create `.env` from `.env.example` and set your API keys:

```env
GEMINI_API_KEY=your_gemini_api_key
MESHY_AI_API_KEY=your_meshy_ai_api_key
```

## Development

Tauri is the primary runtime target for this app.

```bash
npm run tauri:dev
```

If you only want to inspect the frontend shell:

```bash
npm run dev
```

Note: 

Team