尚未收集儲存庫資訊。
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
Terminal-based investigation thriller in your browser. No install, no account. Follow the evidence, not the label.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗A single-player browser investigation game played through a simulated Linux-style terminal. Choose your terminal username, then pick one of five scenarios. Each has its own story, characters, network, evidence, save and three endings. All people, companies and systems are fictional simulations.
Live: https://orgito1015.github.io/ProfessorGito/ (GitHub Pages serves the main branch root as-is; there is no build step on Pages).
Start or Continue opens the scenario screen. Each scenario saves separately; your username, theme and settings carry across.
Stories are told in the game world: mail and chat arrive in the terminal ([MAIL] and <Name> lines) as you read files, preserve evidence, respond, or take too long. Read them with mail or in the Inbox tab. Scenarios open with an intro sequence; each chapter opens with a title card. Earlier choices change later files, messages, available responses, ending availability and the epilogue.
This release completes the seven-case story implemented here. It is not a 20–25-hour game and does not include every optional mode from the original concept. Duration has not been measured with players. The architecture remains dependency-free browser JavaScript and Node built-ins.
Install Node.js 20 or newer, extract the ZIP, and open a terminal in the professor-gito folder containing package.json:
npm start
Open http://127.0.0.1:4173. No npm install, API key, account, or database service is needed. Stop with Ctrl+C. Serve the app over HTTP; do not double-click index.html.
Windows PowerShell:
cd "$HOME\Downloads\professor-gito"
npm.cmd start
If port 4173 is occupied, set PORT before starting. In PowerShell: $env:PORT = "4300". Changing origin changes browser-local storage; export before switching.
The first-launch dialog asks for a username such as gito, Nova_42, or Orgito. Use 2 to 20 characters, starting with a letter. Letters, numbers, underscores, and hyphens are allowed. It appears as username@host:/path$ in the terminal and in your case records.
Change it through Settings > Change username. The profile is saved with progress, exported saves, case retries, and chapter transitions. New Campaign keeps your username and display preferences. No login service or password is involved.
Open Settings > Color theme to choose Cinder Green, Crimson, Arctic Blue, Violet, Amber, or Paper Light. The whole interface changes immediately, including terminal, sidebar, reports, dialogs, and controls. High contrast works with every palette. Your choice is saved automatically and included in exports, case changes, retries, and New Campaign. Old saves default to Cinder Green without resetting progress.
report automatically opens the full workspace.Focus mode is remembered on this browser separately from campaign saves. Draft commands and reading positions last for the current page session; they are not exported. Existing save formats and game progress remain compatible.
After the final report, choose Disclosure, The Offer, or Null Route. Earlier report quality and service disruptions affect the epilogue. You can replay the finale to explore other endings. The Record panel shows prior results and can export a plain-text campaign summary.
The shell behaves like a small, read-only Linux toolset: ssh [user@]host, exit, nmap [-sn] [host], ls -la, cd, cat/less, head/tail -n, grep -rin, find -name -type, wc, sha256sum, ps aux, netstat -tnp, history, date, uname -a, id, mail, man <command>, xxd -r -p. Errors read like real tools (No such file or directory, command not found, Read-only file system); outbound tools such as curl are disabled. Tab completes commands, hosts, response IDs, evidence IDs and paths. All original commands still work.
Use help, scope, scan, and connect <host> to begin. ls lists evidence paths; cat <path> reads a record; collect <id> preserves it. actions lists response options, respond <id> applies one, and verify checks the outcome. Submit the finding through the Report panel.
Later cases add solve <answer> for evidence-backed deductions and decode <id> for hexadecimal text. brief states the current investigation question. whoami shows your username. hint provides progressive assistance with no score penalty.
Up/Down recalls commands. Tab completes a uniquely matching command name. Tabs support Left/Right/Home/End. Help/Scope/Scan/Hint buttons run the same engine actions. Settings provide saved text sizing and high contrast. Gameplay does not require sound or animation; an optional sound cue is off by default in Settings.
The case panel has three additional tabs. Map shows the mission's hosts as a clickable network diagram; authorized hosts connect the terminal. Board lets you link preserved evidence records together and attach personal notes, both saved with your progress. Messages shows an in-game inbox drawn from the client's brief, scope approvals, and case outcomes as you reach them.
Difficulty (Settings > Difficulty) has three modes: Guided adds a "Next step" tip and extra terminal shortcut buttons; Standard is the default; Expert hides the shortcut row and shows generic objective labels for a harder read. It only changes how much is shown, not scoring.
See docs/WALKTHROUGH.md for all routes and answers.
Progress autosaves in IndexedDB, with a previous-valid-write fallback. Export JSON for portable backups. Imports are size-limited and validated before replacement. Original 0.1.0 saves migrate automatically: the current report's score is retained, but older completed cases whose scores were not stored are marked as legacy, not assigned invented scores. Migrated profiles ask you to choose a username.
Use one active tab per campaign. Multi-tab conflict resolution, cloud sync, and future save migrations are not included. Retry restarts a case from the beginning while retaining campaign history until you submit a replacement result. A new campaign clears case results after confirmation. Browser storage can be cleared or blocked; export important progress.
The Checkpoints button (top bar) saves a labeled snapshot of the current case so you can come back to it before a decision. Up to 12 are kept per browser; the oldest is dropped first. Loading a checkpoint replaces your current game, so export first if you want to keep the attempt you're leaving.
This version builds on the features in your uploaded ZIP. Your board, checkpoint slots, map, three difficulty modes, messages, themes, and optional cue are retained and extended.
Existing saves from your upload retain username, theme, board notes/links, difficulty, sound preference, and progress. New fields default safely. See docs/PROGRESS-REVIEW.md for findings and validation limits.
npm test
npm run validate
npm run build
npm run preview
dist/ is generated by the build (git-ignored). Build validates mission references and copies the static app without bundling. Preview serves dist on localhost. The local server exposes runtime paths only. No site has been deployed by this package.
src/engine/: parser, simulation, profile, progression, reports, endings gate.src/content/: mission definitions, scenario files in src/content/scenarios/, endings and epilogues.src/engine/story.js: story conditions, event triggers and choice-dependent visibility. src/engine/shell.js: shell formatting, man pages, digests.src/storage/: save validation, original-save migration, IndexedDB adapter.src/ui/: text-safe DOM helper and responsive styles.src/main.js: application controller, username onboarding, panels, preferences.tests/: gameplay, full campaign, save compatibility, identity, and punctuation checks.scripts/: development server, content validation, static build.docs/: walkthrough, architecture, authoring, verification, and historical planning documents.Automated tests cover all seven cases, three endings, alternate response consequences, save validation, and username persistence. See docs/VERIFICATION.md for exact results. A real-browser visual/interaction audit was unavailable in the delivery environment, so cross-browser UI behavior is not certified. The game has not been externally playtested.
The terminal is a controlled simulation, not Linux. Files are authored read-only records, network events are fixed scenario data, and response effects are discrete states. There are no real exploit tools, live targets, telemetry, remote assets, paid services, or AI grading. Public mods, multiplayer, daily challenges, a skill tree, and a timed industrial simulation are outside this short campaign release.
No third-party runtime packages or assets are bundled. Public code/content licensing and name clearance remain owner decisions; see docs/OWNERSHIP.md.