Building the Core Prototype — Devlog #1
First step in creating my game Clicker Hacker. Initial scope and core project architecture: stats, scripts, jobs, queue, selection system, and signal-based messaging. A humble starting point to build upon.
TL;DR
First devlog marking the beginning of the first prototype by a new indie dev. I literally don’t know why you’re reading this.
The game is a clicker where you play as a newbie hacker on their road to pro.
Below is the first formal attempt at a devlog to force myself into the indie-dev mindset publicly.
Goals
- Write down the scope of the game.
- Define the minimum playable loop.
- Program the base systems of the project.
Progress by Areas
Player Stats
- strength
- points_per_second
- money
- hacker_level
- hacker_experience
Core Mechanics
- Active points by typing.
- Passive points over time.
- Scripts: requirements + rewards, managed through a task queue.
- Jobs: same structure as scripts, but focused on money and designed to be hybrid (manual + procedural).
- Task queue: the player starts with only one slot.
- Global message bus via signals (processes started, failed, completed).
- Global Selection Manager for hover/selection and displaying each element’s info.
- Instant-delivery item market (no processing time).
UI
I focused on creating a basic structure with no design yet, mainly to learn Godot’s native UI system.
More Details on the Mechanics
Script System: Panel showing the scripts available for the player to create. Each script has requirements to start development and rewards once completed.
Queue: The player can’t perform unlimited actions at the same time. They have a task queue (initially with a single slot) to manage actions that require time to execute.
Message Bus: Any event (start process, failure, completion) is shown to the player through a notification. This is handled with a global bus using Godot signals.
Jobs System: Very similar to scripts but focused on earning money. The main difference will be in code: scripts will be hand-crafted trees, while jobs are intended to be a hybrid system between handcrafted and procedurally generated jobs.
Selection System: I created a global selection manager to handle both hover effects and selection of any element. When a player selects a script, job, or item, all relevant information is displayed on screen.
Item Market: Unlike scripts and jobs, items don’t require time, so they are acquired instantly.
Challenges and Solutions
- Updated to Godot 4.5 with no issues.
- First pass at global architecture (managers + signals + queues).
Immediate Roadmap
Release the first playable version with the most basic mechanics working.