Wiki / Technical

Documentacion Tecnica

Detalles profundos sobre arquitectura, compilacion y sistemas internos.

// Contenido

// Stack Tecnologico

Componente Tecnologia Proposito
Game Engine Godot 4.5+ Motor base del addon
Native Bindings GDExtension + godot-cpp Exponer C++ a GDScript/C#
LLM Inference llama.cpp Ejecutar modelos GGUF localmente
Text-to-Speech Piper TTS Sintesis de voz offline
Build System SCons Compilacion multiplataforma

// Estructura del Proyecto

πŸ“¦ addons/ohmydialog/
  • πŸ“„ plugin.cfg // Metadata del addon
  • πŸ“œ plugin.gd // EditorPlugin principal
  • βš™οΈ gdextension/ // C++ Nativo
    • πŸ“ godot-cpp/
    • πŸ“ thirdparty/ (llama.cpp, piper)
    • πŸ“ src/ (interfaces, register_types)
    • πŸ”§ SConstruct
  • πŸ’¬ core/ // Logic Core
    • πŸ“œ dialogue_manager.gd
    • πŸ“œ graph_runner.gd
    • πŸ“ node_executors/
  • πŸ“¦ resources/ // Custom Resources
    • πŸ‘€ character_identity.gd
    • 🌍 world_context.gd
    • πŸ”· dialogue_graph.gd
  • 🎨 editor/ // Visual Editor
    • πŸ“œ dialogue_graph_editor.gd
    • πŸ“ nodes/ (Graph Nodes)

// Principios de Diseno

1. Modularidad

Cada sistema (LLM, TTS, Memory) es independiente y puede usarse por separado.

2. Performance

  • Inferencia LLM en thread separado
  • Streaming de tokens para UI responsiva
  • Cache de audio TTS
  • Lazy loading de recursos

3. Extensibilidad

  • Nodos de dialogo custom via herencia
  • Templates de prompts configurables
  • Signals para integracion con sistemas del juego

4. Offline-First

Todo funciona sin conexion a internet. Sin APIs externas, sin telemetria.

// Dependencias

Submodulos

  • godot-cpp: 4.3+
  • llama.cpp: latest
  • piper: latest

Para instrucciones detalladas de compilacion, ver GDExtension Build Guide.

Volver a Home