Difference between revisions of "Mobile Plan"
Jump to navigation
Jump to search
Line 1: | Line 1: | ||
Tentative plan for making Mudlet available on Android and iOS: | Tentative plan for making Mudlet available on Android and iOS: | ||
+ | # Do research on similar Qt Widgets applications that have mobile versions to learn from their experience. | ||
# Identify the key business logic components and extract them out into separate classes/modules: | # Identify the key business logic components and extract them out into separate classes/modules: | ||
#* Game connection and communication (handles connecting to game server, sending/receiving data) | #* Game connection and communication (handles connecting to game server, sending/receiving data) | ||
Line 22: | Line 23: | ||
This allows creating a full-featured desktop app for authoring, while still having a lightweight mobile app that can leverage the scripts. The key is the reusable Mudlet Core module that encapsulates the scripting logic. | This allows creating a full-featured desktop app for authoring, while still having a lightweight mobile app that can leverage the scripts. The key is the reusable Mudlet Core module that encapsulates the scripting logic. | ||
+ | |||
+ | === Prior art === | ||
+ | |||
+ | * VLC: uses a libVLC as a core, Qt Widget for desktop and a native Kotlin interface on Android | ||
+ | * Krita: ? |
Latest revision as of 12:25, 26 December 2023
Tentative plan for making Mudlet available on Android and iOS:
- Do research on similar Qt Widgets applications that have mobile versions to learn from their experience.
- Identify the key business logic components and extract them out into separate classes/modules:
- Game connection and communication (handles connecting to game server, sending/receiving data)
- User input processing (handles keyboard/mouse input)
- Game display/rendering (handles displaying game text and maps)
- Scripting engine (runs Lua scripts)
- Settings/configuration
- Create a "Mudlet Core" module that contains just the essential functionality needed for scripting:
- Game communication
- Input processing
- Display rendering
- Scripting engine
- Implement a minimal Qt Widgets UI that uses Mudlet Core to provide a desktop authoring environment for creating/testing scripts.
- Create a stripped down "Mudlet Mobile" app that links only to Mudlet Core using QML. It would provide:
- Simple UI for connecting to a MUD
- Ability to select/run scripts created on desktop
- Basic input buttons on screen
- Text display
- Allow exporting scripts from desktop UI to a shared script repository.
- Mobile app can download scripts from repository to run them.
- Both apps share the same Mudlet Core component for running scripts.
This allows creating a full-featured desktop app for authoring, while still having a lightweight mobile app that can leverage the scripts. The key is the reusable Mudlet Core module that encapsulates the scripting logic.
Prior art
- VLC: uses a libVLC as a core, Qt Widget for desktop and a native Kotlin interface on Android
- Krita: ?