Bitlife AI is an open-source, AI-driven life simulation game for Android built with modern Jetpack Compose and Material 3. It combines the deep sandbox mechanics of text-based life simulators with modern LLM intelligence for emergent storytelling, dynamic NPC relationships, open-ended action evaluation, and chapter-based narrative events inspired by Pax Historia.
- Modern Architecture: Pure native Android app built with Kotlin 2.1, Jetpack Compose, Material 3, Coroutines, StateFlow, and OkHttp.
- Warm Aesthetic: Clean Yellow and White design theme with high-contrast typography and minimalist layout.
- Multi-Provider AI Engine:
- OpenRouter
- Google AI Studio (Gemini)
- NVIDIA NIM
- Anthropic Claude
- DeepSeek
- OpenAI
- Google Cloud Vertex AI (Express Mode & Agent Platform API Key support)
- Intelligent Offline Simulation Engine (automatic fallback when no API key is provided)
- Dynamic Model Discovery: Fetch live model lists dynamically upon entering provider API credentials.
- Multilingual Support:
- Automatically resolves system language.
- Fully supports Turkish, English, Spanish, German, French, Russian, Japanese, Chinese, Arabic, Portuguese, Italian, and Korean.
- Pax Historia-Style Chapter Events: Multi-page sequential story chapters with chapter titles, narratives, and milestone progression.
- Dynamic Family & NPC System:
- Parents (Mother, Father) generated with distinct occupations and personalities.
- Siblings system dynamically decided by AI (count, genders, and age differences).
- Friends, colleagues, and acquaintances.
- Interactive NPC Chat: Freeform dialogue with any NPC, where responses are roleplayed according to personality traits and relationship metrics.
- Balanced Freeform Action Engine: Write any custom action you wish to attempt in life. The AI calculates realistic outcomes, risks, and consequences without automatic success.
- Life Advisor AI: Dedicated strategic advisor to consult for career planning, personal choices, and simulation guidance.
- Automated State Persistence: Real-time auto-saving with multi-slot management and restore capabilities.
- Reproducible Signing: Fixed release keystore configuration producing a deterministic SHA-256 fingerprint.
- Continuous Integration: Automated GitHub Actions pipeline building signed release APKs and publishing to GitHub Releases.
Bitlife_AI/
├── .github/
│ └── workflows/
│ └── build-release.yml # CI/CD pipeline for building and releasing signed APKs
├── app/
│ ├── build.gradle.kts # Android application build configuration
│ ├── proguard-rules.pro # ProGuard / R8 rules
│ └── src/
│ └── main/
│ ├── AndroidManifest.xml
│ ├── java/com/bitlifeai/game/
│ │ ├── MainActivity.kt
│ │ ├── data/
│ │ │ ├── api/
│ │ │ │ ├── AIEngineService.kt
│ │ │ │ └── LocalSimulationEngine.kt
│ │ │ ├── i18n/
│ │ │ │ └── StringResources.kt
│ │ │ ├── models/
│ │ │ │ ├── ActionRecord.kt
│ │ │ │ ├── AISettings.kt
│ │ │ │ ├── ChatMessage.kt
│ │ │ │ ├── GameState.kt
│ │ │ │ └── Language.kt
│ │ │ └── storage/
│ │ │ └── SaveManager.kt
│ │ └── ui/
│ │ ├── GameViewModel.kt
│ │ ├── components/
│ │ │ ├── ActionDialog.kt
│ │ │ ├── AdvisorDialog.kt
│ │ │ ├── ChatDialog.kt
│ │ │ ├── HistoryLogDialog.kt
│ │ │ ├── LoadingOverlay.kt
│ │ │ ├── PaxEventDialog.kt
│ │ │ └── TimeSkipDialog.kt
│ │ ├── screens/
│ │ │ ├── GameMainScreen.kt
│ │ │ ├── InitialInfoScreen.kt
│ │ │ ├── LifeCreationScreen.kt
│ │ │ ├── LifeListScreen.kt
│ │ │ ├── SettingsScreen.kt
│ │ │ └── SplashScreen.kt
│ │ └── theme/
│ │ ├── Color.kt
│ │ ├── Theme.kt
│ │ └── Type.kt
│ └── res/
├── keystore/
│ ├── generate-keystore.sh # Keystore generation script
│ └── release.keystore # Reproducible release keystore
├── gradle/
│ ├── libs.versions.toml # Gradle Version Catalog
│ └── wrapper/
├── build.gradle.kts
├── settings.gradle.kts
├── gradle.properties
└── README.md
- Java Development Kit (JDK) 21
- Android SDK (API Level 35)
To build the signed release APK:
./gradlew assembleReleaseThe generated APK will be located at:
app/build/outputs/apk/release/app-release.apk
The project uses a reproducible keystore configuration for consistent signing across environments:
- Key Algorithm: RSA 2048-bit
- Alias:
bitlifeai - Keystore Path:
keystore/release.keystore - SHA-256 Fingerprint:
36:4C:11:06:98:68:93:D7:5C:4E:C4:C5:1B:D2:5D:B8:1D:AC:33:84:42:1C:A7:75:B7:89:F7:99:EE:A4:BC:96
Every push to tags matching v* or manual triggers via GitHub Actions workflow_dispatch will automatically:
- Setup JDK 21 and Android SDK.
- Build the signed release APK.
- Compute SHA-256 checksums.
- Publish a new GitHub Release with
Bitlife-AI-Release.apkandBitlife-AI-Release.apk.sha256.
This project is licensed under the MIT License. See the LICENSE file for details.