A dating sim where you can say anything — powered by real-time AI video generation.
Honarable mention at Odyssey-2 Pro Hackathon
Live Demo: https://say-anything-dxwn.vercel.app/
Unlike traditional dating sims with fixed dialogue options, Say Anything lets you type whatever you want. Your custom responses are evaluated by AI and rendered as real-time video reactions using Odyssey's world model.
Want to give your date flowers? Just type "I got you some flowers" and watch them react in real-time video.
- 5 Preset Characters - Mina, Kai, Luna, Alex, and River (each with unique personalities and appearances)
- Custom Character Creation - Create your own date character
- Real-time AI Video - Powered by Odyssey's world model for live video generation
- Say Anything - Type custom responses that get evaluated by OpenAI and rendered visually
- Action Support - Actions like giving flowers, ordering drinks, etc. are rendered in the video
- Relationship Meters - Trust, Chemistry, and Affection tracked throughout the date
- Multiple Locations - Cozy cafe or rooftop overlook
- 4 Mood Tones - Cozy, Comedy, Romantic, or Dramatic
- Hide UI Toggle - Press H to hide the UI and watch reactions unobstructed
- Next.js 16 - React framework
- Odyssey SDK - Real-time AI video generation
- OpenAI API - Custom response evaluation (gpt-4o-mini)
- Tailwind CSS - Styling
- TypeScript - Type safety
- Node.js 18+
- Odyssey API key (get one here)
- OpenAI API key (get one here)
-
Clone the repository:
git clone https://github.com/wuyuwenj/Say_Anything.git cd Say_Anything -
Install dependencies:
npm install
-
Create a
.envfile based on.env.example:cp .env.example .env
-
Add your API keys to
.env:NEXT_PUBLIC_ODYSSEY_API_KEY=ody_your_api_key_here OPENAI_API_KEY=sk-your_api_key_here -
Run the development server:
npm run dev
-
Open http://localhost:3000 in your browser.
- Setup - Choose your character, select a date partner, pick a location and mood
- Date - Watch the AI-generated video of your date and respond to their dialogue
- Choose or Type - Select from preset options OR click "Say something else..." to type anything
- Watch Reactions - Your date reacts in real-time video based on what you say
- Build Connection - Your responses affect Trust, Chemistry, and Affection meters
- See Results - At the end, see how your date went based on your choices
123- Select dialogue optionsH- Hide/show the conversation UI
src/
├── app/
│ ├── api/evaluate/ # OpenAI evaluation endpoint
│ ├── play/ # Main game page
│ ├── setup/ # Character & scene setup
│ └── results/ # End-of-date results
├── components/
│ ├── game/ # VideoPanel (Odyssey integration)
│ └── ui/ # Reusable UI components
├── content/
│ ├── characters.ts # Character definitions
│ ├── episode1.ts # Dialogue and choices
│ └── setupOptions.ts # Locations and tones
└── lib/
├── promptBuilder.ts # Odyssey prompt generation
├── types.ts # TypeScript types
└── useGameEngine.ts # Game state management
MIT