Difference between revisions of "Mobile Plan"

From Mudlet
Jump to navigation Jump to search
(Created page with "# Identify the key business logic components and extract them out into separate classes/modules: #* Game connection and communication (handles connecting to game server, sendi...")
 
Line 1: Line 1:
 +
Tentative plan for making Mudlet available on Android and iOS:
 
# 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 11: Line 12:
 
#* Scripting engine
 
#* Scripting engine
 
# Implement a minimal Qt Widgets UI that uses Mudlet Core to provide a desktop authoring environment for creating/testing scripts.
 
# 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. It would provide:
+
# 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
 
#* Simple UI for connecting to a MUD
 
#* Ability to select/run scripts created on desktop
 
#* Ability to select/run scripts created on desktop

Revision as of 12:22, 26 December 2023

Tentative plan for making Mudlet available on Android and iOS:

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