SenseiSoloDev
🇪🇸 🇬🇧
Clicker Hacker Ascii Art

Construyendo el prototipo base -- Devlog #1

Primer paso en la creación de mi juego Clicker Hacker. Alcance inicial y arquitectura base del proyecto: stats, scripts,jobs,queue,sistema de selección y mensajes por signals. Un arranque humilde para construir sobre él.

TL;DR

  • Primer devlog del inicio del primer prototipo de un nuevo indie dev. Literalmente no sé qué haces leyendo esto.
  • El juego es un clicker donde encarnas la piel de un hacker noob en su road to pro.
  • A continuación el primer intento formal de devlog para auto forzarme a estar en el bucle mental de indie dev de forma pública.

Objetivos

  • Scope del juego por escrito.
  • Definir el bucle jugable mínimo.
  • Programar los sistemas base del proyecto.

Progreso por áreas

Stats del jugador:

  • strength
  • points_per_second
  • money
  • hacker_level
  • hacker_experience

Mecánicas básicas:

— Puntos activos mediante typing.

— Puntos pasivos con el tiempo.

— Scripts: requisitos + rewards, gestionados con cola de tareas.

— Jobs: igual que scripts, pero enfocados a dinero y con intención de ser híbridos (manual + procedural).

— Cola de tareas: el jugador empieza solo con un hueco.

— Bus global de mensajes vía signals (procesos iniciados, fallidos, completados).

— Selection Manager global para hover/selección y mostrar la ficha de cada elemento.

— Market de objetos instantáneo (sin tiempos de ejecución).

UI:

Me he centrado en crear una estructura básica sin diseño alguno para aprender el funcionamiento nativo del sistema de godot.

Más explicación de las mecánicas:

Sistema de scripts: panel con scripts disponibles a crear por el jugador. Cada script tiene unos requisitos para poder ser desarrollado y también unos rewards al completarse.

Queue: el jugador no puede realizar indefinidas acciones al mismo tiempo, para ello cuenta con una cola (inicial de un solo hueco) para gestionar las tareas que requieran de tiempo para ser ejecutadas.

Bus de mensajes: Cualquier evento (iniciar proceso, no poder iniciar, proceso completado) es notificado al jugador mediante un cartel. Esto lo gestiono con un sistema de bus global mediante signals de godot.

Sistema de jobs: muy similar al de scripts pero centrado en la obtención de dinero para el jugador. El cambio principal va a ser a nivel código a la hora de creación, ya que los scripts serán unos árboles creados a mano y los jobs pretendo que sea un sistema híbrido entre jobs manuales y una creación procedural.

Sistema de selección: he creado un selection manager global en el proyecto para gestionar tanto los efectos hover como la selección de cualquier elemento. Cuando el jugador selecciona un script, job u objeto se muestra en pantalla la toda la info correspondiente del elemento.

Market de objetos: a diferencia de los scripts y jobs los objetos no requieren de tiempo, por lo que es un sistema de obtención de recursos instantáneo.

Retos y soluciones

— Actualización a Godot 4.5 sin incidencias.

— Primer enfoque a arquitectura global (managers + signals + colas).

Roadmap inmediato

Publicar primera versión jugable con las mecánicas más básicas funcionando.