How kipla1/bitwaveascend works
Bitwave Ascend is a C++ 2D game project, but the README says this checkout is repository initialization only: gameplay, authentication, payments, and persistence are not implemented. The intended user journey is frontend interaction through the shared GameAPI into backend game and account services, with progression and economy backed by persistence. The graph preserves those documented capabilities as planned subsystems; source excerpts confirm selected auth and payment dependencies, but do not establish full runtime wiring.
Main entry points: GameAPIImpl.cpp Game API implementation · PaymentServiceImpl.cpp Purchase service · persistence Data repositories · GameManager.h Game manager
Components 22
App boundary
- SFML frontend
frontend/src/main.cpp - Shared contracts
shared/include/shared/Contracts.h - Game API
shared/include/shared/GameAPI.h - Game API implementation
backend/src/core/GameAPIImpl.cpp
Game systems
- Game core
backend/include/core - Game manager
backend/include/core/GameManager.h - Fighting mode
backend/include/gameplay/FightingMode.h - Endless runner
backend/include/gameplay/RunningMode.h - Flappy mode
backend/include/gameplay/FlappyMode.h - Gameplay systems
backend/include/gameplay - Game entities
backend/include/entities
Identity and progression
- Authentication
backend/src/auth/AuthServiceImpl.cpp - Login session
backend/include/auth/Session.h - Alias service
backend/src/auth/AliasServiceImpl.cpp - Player profile
backend/src/player/PlayerProfileServiceImpl.cpp
Virtual economy
- Purchase service
backend/src/payment/PaymentServiceImpl.cpp - Store
backend/src/payment/StoreImpl.cpp - Wallet
backend/src/payment/WalletImpl.cpp - Inventory
backend/src/player/Inventory.cpp
Persistence
- SQLite database
backend/src/persistence/Database.cpp - Data repositories
backend/src/persistence
Other components
- Player
Connections 23
- Player → SFML frontend: interacts with
README.md - SFML frontend → Game API: uses
README.md - Game API → Shared contracts: shares types
shared/include/shared/GameAPI.h - Game API → Game API implementation: implemented by
- Game API implementation → Game core: dispatches to
- Game core → Game manager: manages
- Game manager → Fighting mode: selects mode
- Game manager → Endless runner: selects mode
- Game manager → Flappy mode: selects mode
- Game core → Gameplay systems: uses systems
- Gameplay systems → Game entities: updates entities
- Game API implementation → Authentication: handles account flow
- Authentication → Login session: starts or ends
backend/src/auth/AuthServiceImpl.cpp - Authentication → Data repositories: creates and looks up
backend/src/auth/AuthServiceImpl.cpp - Alias service → Data repositories: updates aliases
- Game API implementation → Player profile: reports progression
- Player profile → Data repositories: reads and updates
- Game API implementation → Purchase service: handles purchases
- Purchase service → Store: uses
- Purchase service → Wallet: uses
- Purchase service → Inventory: uses
- Purchase service → Data repositories: records transactions
- Data repositories → SQLite database: persists through