Laying the Foundation
Hey everyone, and welcome to the very first dev-log for CTS (working title?)! This is a project I'm really excited about – a PC repair shop simulator where you'll diagnose mysterious issues, swap out components, manage your shop, and hopefully turn a profit!
Since this is the first update, I wanted to share the foundational systems I've been putting together over the past two weeks. It's been a lot of setting up the core structure, which is crucial before getting into the really fun hands-on repair stuff.
Getting Jobs - The Job Board
Job System.
- Job Cards: Incoming work orders are represented by "Job Cards". I'm using ScriptableObjects (JobCardData) for these, which makes it super easy to define different jobs later on. Each card holds info like a job ID, what the customer says is wrong (the "Reported Issue" - like "My PC won't start!" or "Getting weird colors on screen!"), and how much you get paid.
- Players will find work on a dynamic Job Board. I've set up a basic UI with a scrollable list. Using a prefab for each job listing (JobCardUIEntry), the board can automatically populate itself with a random selection of available jobs from a larger pool. Right now, it even refreshes periodically (currently every 20 minutes, but that's adjustable!).
- Accepting/Declining: Clicking a job card brings up simple "Accept" and "Decline" buttons. Declining just removes the card from the current view (it might show up again later!), while accepting... well, that's where things get interesting!
To the Workbench! - Scene Transition & PC Spawning
Once you accept a job, you need to actually get the PC!
- State Management: I implemented a basic GameManager to handle switching between the main "Shop View" (where the Job Board is) and the focused "Workbench View".
- Camera & UI Shift: Accepting a job triggers this state change. The main player camera switches off, and a fixed camera focused on the workbench activates. The Job Board UI disappears, and any workbench-specific UI (like a reminder of the reported issue) appears. It creates a nice focused workspace.
- This was a key part! Each Job Card links to a PCConfiguration asset. This asset defines exactly what components are inside the customer's PC and importantly, what state they're in (e.g., Working, Faulty_NoBoot). When the workbench scene loads, the GameManager reads this configuration and tells a DeviceManager script (which lives on the PC prefab) to:
- Instantiate the correct component prefabs (CPU, RAM, etc.).
- Place them visually in the right sockets (using defined "Snap Points").
- Set their internal state according to the job's configuration – so if the job is for faulty RAM, the RAM stick that spawns knows it's faulty!
Diagnosis Foundation - What's Next?
So right now, we have a system where:
- You can get jobs with specific reported problems.
- Accepting a job brings the correctly configured PC (with hidden faults!) to your workbench.
>strong class="ng-star-inserted">Diagnosis Phase. The PC is there, the problem description is known, but the actual diagnosis gameplay isn't quite implemented yet.
My immediate next steps are focused on bringing that diagnosis to life:
- Power On Test: Implement the logic for the PC's power button. Pressing it will run a basic boot simulation check (DeviceManager.SimulateBoot).
- Feedback! Crucially, add visual and audio feedback. If the boot fails because of that faulty RAM, the player needs to see a "No Signal" message or hear error beeps, not just check a debug log!
- Basic Disassembly: Get the screwdriver working! Implement the logic for interacting with screws (InteractableScrew) to allow the player to start taking the case panels off. You can't diagnose what you can't see!
Conclusion
It feels great to have these core systems connected and working together! Getting the job flow and the dynamic PC spawning felt like a big milestone. Although there's no deep diagnosis yet, the foundation is solid, and I'm really looking forward to adding the boot sequence simulation and disassembly mechanics next.
Thanks for reading the first devlog! Let me know if you have any questions or suggestions in the comments below. Stay tuned for the next update!
Computer Technician Simulator
A computer technician's dream
Status | Released |
Author | Da-Code |
Genre | Role Playing, Simulation |
Tags | Singleplayer |
More posts
- Posting progress every week54 minutes ago
Leave a comment
Log in with itch.io to leave a comment.