Posted August 17, 2022 by Unsighted
#Design #Programming #Art #Teamwork #Planning
The hacking minigame was possibly the most-changed feature from the start to the end of the project, and demonstrated how a task that seems trivial initially can grow into a major time sink.
The first iteration of the game was a simple console typing game, with an autocomplete dropdown added to save time & prevent boredom. The driving reason for this design was that a console would feel the most like actual hacking without requiring any technical knowledge, and this could be combined with the easy opportunities to throw around terms like 'backoffice,' 'codebreaker' and 'password.' However, the team called for this design to be scrapped on the grounds that it felt 'boring, and too much like actual coding.'
The next design was more traditionally game-like and familiar, with a point-and-click movement system involving a grid of nodes & connectors resembling a circuit board, a healthbar labelled 'detection countermeasures,' and enemies that guard a point and become alerted if you move adjacent to them. This design was accepted by the team, although there were concerns about the point-and-click attack system not requiring skill, so a timing-based quicktime event was added on attacks, adding a fail condition.
One challenge facing development of this minigame was the heavy reliance on spritesheet-animations (for the units, line-renderers, nodes and reticules), a relatively niche skillset, which was tightly coupled with the codebase, requiring most art to be done by the developer. For example, reticule itself had:
The integration of these moving parts, and which could be combined into a single animator or had to be their own independent component working in parallel, was unknown at the start of development and had to be figured out over time. This meant that art couldn't be commissioned ahead of time, and the communication and production delays required for a developer and artist to work in tandem were impractical, requiring one team member to perform both roles.