Gameplay Guide
Relevant source files
The following files were used as context for generating this wiki page:Skid-Inc is a hacking-themed idle game where players interact with the game primarily through a terminal interface. The core objective is to progress by executing scripts, earning resources like money and experience, and purchasing upgrades to enhance efficiency. The gameplay revolves around a command-line system, where players type commands to perform actions, manage resources, and advance through levels.
The game begins with a tutorial that introduces basic commands and mechanics. As players progress, they unlock more complex features such as automated scripts, server upgrades for multiplier boosts, a battery micro-management system, and a prestige mechanic involving "botnets" for long-term gains. All player progress is stored in a structured game state object, which is periodically saved.
The Terminal Interface
The entire game is presented within a simulated terminal. This interface is divided into two main areas: the logs and the input.
- Logs (
#logs): This is the main display area where all command outputs, game events, and tutorial text are printed. - Input (
#command-input): This is where the player types commands. It is prefixed with a session-style prompt (e.g.,skidinc@skid:~$).
The terminal supports several keyboard shortcuts to improve the user experience, such as command history navigation and autocompletion.
Sources: index.html:70-71, 260-263, app/js/console.js:1-10
Keyboard Shortcuts
The following keyboard shortcuts are available for terminal interaction:
| Controls | Effect |
|---|---|
TAB | Autocomplete command and gain input focus. |
UP/DOWN | Navigate through the command history. |
CTRL+L | Clear the terminal logs. |
CTRL+Q | Clear all text from the input. |
Sources: index.html:286-301, [app/js/console.js:233-264, 266-297]
Tutorial
The game starts with a mandatory tutorial to familiarize the player with the basic mechanics. The tutorial guides the player through a series of steps, disabling input when necessary to deliver instructions.
Sources: [app/js/tutorial.js:1-17]
The tutorial flow is as follows:
This diagram shows the step-by-step progression of the initial game tutorial.
Sources: [app/js/tutorial.js:19-86]
Tutorial Steps
- Step 0: Introduces the game and the terminal interface. It prompts the player to set a username using the
username [yourUsername]command. - Step 1: After setting a username, the tutorial instructs the player to use the
helpcommand to see a list of available commands. - Step 2: The player is introduced to the
scriptcommand, which is the primary way to earn money and experience. - Step 3: Upon successful execution of a script, the tutorial concludes, and the player is free to play the main game.
Sources: [app/js/tutorial.js:50-86]
Core Gameplay Loop
The central gameplay loop involves executing scripts to earn resources, which are then used to purchase upgrades that improve the rate of resource generation.
This diagram illustrates the primary cycle of executing scripts, earning resources, and purchasing upgrades.
Sources: app/js/console.js:50-55, 62-67, [index.html:105-132, 381-389]
Player Progression
Player progression is tracked through several key statistics.
| Stat | Description | UI Element |
|---|---|---|
Level | The player's current level, which increases by gaining experience. | #player #level |
Experience | Gained from executing scripts. Fills an experience bar to level up. | #player #exp |
Money | The primary currency, used to buy upgrades. | #player #money |
Botnet | Prestige currency. Each botnet increases money and EXP multipliers by 2%. | #prestige #botnet |
Sources: index.html:105-115, 172-175, [src/renderer/save-manager.js:338-347]
Game Mechanics
Scripts
Executing scripts is the main action in the game. The script command is used to start a script, which takes a certain amount of time to complete and rewards the player with money and experience. New scripts can be purchased.
Sources: app/js/console.js:50-55, [index.html:120-126]
Servers
Players can buy two types of servers to boost their earnings:
- Web Servers: Increase money and experience multipliers.
- Telnet Servers: Increase the time multiplier, which affects how quickly scripts execute.
Sources: [index.html:133-156]
Battery System
The battery is a micro-management feature.
- Charging: Hovering the mouse over the battery icon charges it.
- Effect: A charged battery provides a temporary boost to money, EXP, and time multipliers.
- Upgrading: The battery can be upgraded to increase its capacity, charge power, and the effect of its multipliers.
Sources: [index.html:202-231]
Prestige (Botnets)
Prestige is a system that allows players to reset their progress in exchange for permanent bonuses.
- Botnets: By prestiging, players earn "botnets."
- Bonus: Each botnet grants a permanent 2% increase to both money and experience multipliers.
- Requirement: Players must reach a certain point in the game to be able to earn botnets on reset.
Sources: [index.html:172-185, 233-238]
Commands
The game is controlled via a set of commands entered into the terminal.
| Command | Description | Arguments |
|---|---|---|
help | Shows a list of available commands. | None |
clear | Removes all logs from the terminal. | None |
username | Sets the player's username during the tutorial. | [username] |
script | Executes a script. | [script_name], -l/-list |
buy | Buys new scripts, auto-scripts, and servers. | [item], -q [amount/max] |
option | Changes in-game options. | [option_name] [value] |
achievements | Displays the player's achievements. | None |
Sources: [app/js/console.js:28-92]
Game State Structure
The player's entire progress is encapsulated in a game state object. This object is what gets saved and loaded. The structure is defined and validated to ensure data integrity.
This diagram shows the main components of the game state.
Sources: src/renderer/save-manager.js:333-393, [src/data-validator.js:9-85]
The following table details the key properties within the game state.
| Object | Property | Type | Description |
|---|---|---|---|
player | money | number | Current amount of money. |
player | exp | number | Current experience points. |
player | level | number | Current player level. |
player | botnet | number | Amount of prestige currency. |
script | unlocked | array | List of scripts the player can execute. |
script | current | object | The script currently being executed. |
server | owned | array | List of servers owned by the player. |
battery | level | number | The current level of the battery upgrade. |
tutorial | finish | boolean | Whether the tutorial has been completed. |
Sources: src/renderer/save-manager.js:333-393, [src/data-validator.js:9-85]
Conclusion
The gameplay of Skid-Inc is a blend of classic idle-game mechanics with a unique, text-based terminal interface. Players engage in a core loop of executing commands to run scripts, earning resources, and strategically investing in various upgrades to boost their multipliers and automate tasks. The addition of mechanics like the battery system and a prestige feature provides layers of strategy for both short-term and long-term progression. The entire experience is driven by a command-line interface, making it a distinctive entry in the idle-game genre.