English | 中文
This is the HarmonyOS (OpenHarmony) port of the Dora SSR open-source game engine (dora-ssr.net). This project adapts the Dora SSR engine to run natively on HarmonyOS devices, providing a different game development platform for the HarmonyOS ecosystem.
Dora SSR is a high-performance game engine that provides:
- Cross-platform rendering with BGFX graphics library
- Efficient sprite and animation system
- Built-in physics engine
- Audio and input management
- Modern C++ architecture
- Multi-language scripting support including Lua, YueScript, TypeScript, and more
- Built-in Web IDE for remote real-time coding and testing in browser
- Native HarmonyOS Support: Fully adapted for HarmonyOS 5.0+ devices
- BGFX Graphics Engine: High-performance cross-platform rendering
- SDL2 Integration: Adapted SDL2 for HarmonyOS input and window management
- Multi-architecture Support: ARM64 and x86_64 support
- DevEco Studio Integration: Seamless development experience
-
xmake Build System (https://xmake.io)
- Cross-platform build tool for C/C++ projects
- Handles dependency management and compilation
-
DevEco Studio
- Official HarmonyOS development IDE
- Download from HarmonyOS Developer Portal
-
HarmonyOS SDK
- API 19+ (HarmonyOS 5.0.0+)
- Configured in DevEco Studio
git clone https://github.com/IppClub/ohos_dora_ssr.git
cd ohos_dora_ssrNavigate to the 3rdParty directory and build the required libraries:
cd 3rdParty
make releaseThis command will:
- Build BGFX graphics library for HarmonyOS
- Build BIMG image processing library
- Build BX utility library
- Generate binaries for both ARM64 and x86_64 architectures
- Launch DevEco Studio
- Select "Open an existing project"
- Navigate to the
Doradirectory and open it - Wait for the project to sync and index
- Connect your HarmonyOS device or start the simulator
- Click the Run button in DevEco Studio
- Select your target device
- The app will build and install automatically
ohos_dora_ssr/
├── 3rdParty/ # Third-party dependencies
│ ├── bgfx/ # BGFX graphics library
│ ├── bimg/ # Image processing library
│ ├── bx/ # Utility library
│ ├── SDL2/ # SDL2 for HarmonyOS
│ └── makefile # Build script for dependencies
├── Dora/ # Main HarmonyOS application
│ ├── entry/ # Application entry point
│ ├── AppScope/ # App configuration
│ └── hvigor/ # Build configuration
└── README.md # This file
The project supports multiple build configurations:
- Debug: Development builds with debugging symbols
- Release: Optimized production builds
- ARM64-v8a: Primary target for HarmonyOS devices
- x86_64: Support for x86 emulators and devices
- Setup: Follow the installation steps above
- Development: Use DevEco Studio for coding and debugging
- Testing: Run on device or simulator
- Building: Use DevEco Studio's build system
- SDLAbility.ts: Main application entry point
- BGFX Integration: Graphics rendering system
- Input Handling: Touch input
- Audio System: Sound and music playback
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow HarmonyOS development best practices
- Maintain compatibility with the original Dora SSR engine
- Test on both ARM64 and x86_64 architectures
- Update documentation for new features
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenHarmony SIG: SDL2 HarmonyOS port (ohos_sdl2)
- BGFX Team: Cross-platform graphics library
- SDL2 Team: Multimedia library

