Difference between revisions of "Mobile Plan"

From Mudlet
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:

  1. Do research on similar Qt Widgets applications that have mobile versions to learn from their experience.
  2. 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
  3. Create a "Mudlet Core" module that contains just the essential functionality needed for scripting:
    • Game communication
    • Input processing
    • Display rendering
    • Scripting engine
  4. Implement a minimal Qt Widgets UI that uses Mudlet Core to provide a desktop authoring environment for creating/testing scripts.
  5. 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
  6. Allow exporting scripts from desktop UI to a shared script repository.
  7. Mobile app can download scripts from repository to run them.
  8. 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: ?