{"id":15099182,"url":"https://github.com/budd9442/midnight-dash","last_synced_at":"2026-02-07T23:34:31.935Z","repository":{"id":254573527,"uuid":"846895927","full_name":"budd9442/midnight-dash","owner":"budd9442","description":"A raylib based endless runner game","archived":false,"fork":false,"pushed_at":"2025-10-25T14:22:03.000Z","size":33861,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-25T21:36:03.772Z","etag":null,"topics":["cpp","endless-runner","libcurl","raylib-cpp"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/budd9442.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-24T08:56:37.000Z","updated_at":"2026-01-24T05:08:17.000Z","dependencies_parsed_at":"2024-08-27T13:57:07.676Z","dependency_job_id":null,"html_url":"https://github.com/budd9442/midnight-dash","commit_stats":null,"previous_names":["budd9442/midnight-dash"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/budd9442/midnight-dash","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/budd9442%2Fmidnight-dash","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/budd9442%2Fmidnight-dash/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/budd9442%2Fmidnight-dash/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/budd9442%2Fmidnight-dash/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/budd9442","download_url":"https://codeload.github.com/budd9442/midnight-dash/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/budd9442%2Fmidnight-dash/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29212725,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-07T23:14:30.912Z","status":"ssl_error","status_checked_at":"2026-02-07T23:14:17.253Z","response_time":63,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","endless-runner","libcurl","raylib-cpp"],"created_at":"2024-09-25T17:07:17.162Z","updated_at":"2026-02-07T23:34:31.930Z","avatar_url":"https://github.com/budd9442.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Midnight Dash 🏃‍♀️\n\nA fast-paced endless runner game built with C++ and Raylib, featuring multiple characters, online leaderboards, and dynamic gameplay mechanics.\n\n![Midnight Dash Gameplay](sample.gif)\n\n## 🎮 Game Features\n\n- **5 Unique Characters**: Choose from different avatars with unique abilities\n  - Random Girl #1, #2, #3 (Classy, Demure, Mindful)\n  - Intern Witch (Terrible at driving - special flying mechanics)\n  - Unidentified Blue Dog (Doesn't talk)\n- **Dynamic Gameplay**: \n  - Jump over obstacles to avoid losing lives\n  - Collect coins to increase your score\n  - Game speed increases over time for added challenge\n- **Life System**: Start with 3 lives, lose one when hitting obstacles\n- **Online Leaderboards**: Compete with players worldwide via Firebase integration\n- **Local Score Tracking**: Personal best scores saved locally\n- **Smooth Animations**: 6-frame character animations and coin effects\n\n## 🎯 How to Play\n\n### Controls\n- **Space**: Jump (for ground characters)\n- **W/S**: Move up/down (for flying character - Intern Witch)\n- **A/D**: Move left/right\n- **Mouse**: Navigate menus\n\n### Objective\n- Avoid obstacles to preserve your lives\n- Collect coins to increase your score\n- Survive as long as possible as the game speed increases\n- Compete for the highest score on the global leaderboard\n\n## 🛠️ Building and Running\n\n### Prerequisites\n- C++ compiler (GCC, Clang, or MSVC)\n- [Raylib](https://www.raylib.com/) graphics library\n- Windows (tested on Windows 10)\n\n### Compilation\n```bash\n# Compile the main game\ng++ -o main.exe main.cpp -lraylib -lopengl32 -lgdi32 -lwinmm\n\n# Compile score upload utility\ng++ -o uploadScore.exe uploadScore.cpp -lcurl\n\n# Compile score download utility  \ng++ -o getScores.exe getScores.cpp -lcurl\n```\n\n### Running\n```bash\n./main.exe\n```\n\n## 📁 Project Structure\n\n```\nmidnight-dash/\n├── main.cpp              # Main game logic and rendering\n├── uploadScore.cpp       # Firebase score upload utility\n├── getScores.cpp         # Firebase score download utility\n├── json.hpp              # JSON library for Firebase communication\n├── assets/               # Game assets\n│   ├── background.png    # Scrolling background\n│   ├── menus/           # UI backgrounds\n│   ├── players/         # Character sprites (5 characters × 6 frames)\n│   ├── obstacles/       # Obstacle sprites\n│   └── other/           # Coins, hearts, etc.\n├── scores               # Local score storage\n├── highScores           # Downloaded leaderboard data\n└── sample.gif           # Gameplay demonstration\n```\n\n## 🎨 Game Mechanics\n\n### Character Abilities\n- **Ground Characters**: Standard jump mechanics with space bar\n- **Intern Witch**: Unique flying ability using W/S keys with reduced gravity\n- **All Characters**: Horizontal movement with A/D keys\n\n### Scoring System\n- **Coins**: +10 points each\n- **Obstacles**: Reduce lives by 1\n- **Speed**: Increases by 5 FPS every obstacle spawn\n- **Lives**: Start with 3, game over when reaching 0\n\n### Online Features\n- Real-time leaderboard updates via Firebase\n- Score upload/download in background threads\n- Top 5 global scores displayed\n\n## 🔧 Technical Details\n\n- **Engine**: Raylib (C graphics library)\n- **Language**: C++17\n- **Platform**: Windows (with potential for cross-platform)\n- **Networking**: libcurl for Firebase API calls\n- **Graphics**: 1024×768 resolution, 120+ FPS\n- **Threading**: Background score synchronization\n\n## 🎮 Game States\n\n1. **Menu**: Main menu with play, instructions, credits, exit\n2. **Character Selection**: Choose your avatar\n3. **Gameplay**: Main game loop\n4. **Instructions**: Control guide\n5. **Credits**: Game credits\n6. **Game Over**: Score display and restart option\n\n\n## 📝 License\n\nThis project is open source. Feel free to contribute, modify, and distribute.\n\n---\n\n**Enjoy running through the midnight!** 🌙✨\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbudd9442%2Fmidnight-dash","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbudd9442%2Fmidnight-dash","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbudd9442%2Fmidnight-dash/lists"}