I was recently lucky enough to attend PAX East. During my time there, I got to play a unique hacker-coded roguelike bullet heaven game called Net.Attack(). The game deviates beyond the standard formulas for its genres, while respecting its hacking aesthetic, by allowing the player to code their own attacks.

There isn’t much of a story behind the game. You play a hacker’s virus that’s infiltrating someone’s computer system. So far, we only get glimpses into the characters' minds through short quotes in the selection menu. Currently, there are two playable hackers: Zu5al and Hop2a, and yes, those are numbers in their names. This game goes pretty hard with the hacker themes. Heck, just about every menu tab in the game comes up as a window complete with an X to click on in the top right corner to close it.

After you select a character, map, and difficulty level, it’s your standard bullet heaven fare. You’ll spawn into a large, flat map, get mobbed by enemies, and kill them for their XP to level up. In this case, the XP drops are called byte points, and level-ups are the standard pick one of three buff options. The overarching goal is to search around for glowing yellow chips on the ground, then walk around within their boundaries to capture them. Once you claim one, it bursts, pushing nearby enemies back and progressing the mission, which you can track via a bar in the top right corner of the screen. Chips come in various sizes, with larger ones taking longer to capture, but they progress the mission faster. Once you pass a certain progress threshold, a portal will open up to the next area, a process you’ll repeat 7 times in total. You don’t need to capture all of the chips to complete a level, just most of them. Though you might want to go the extra mile and claim them all anyway, as they also provide the resource to upgrade your character’s attacks.

Net.Attack() has one of the most unique and complicated upgrade systems I’ve seen in the genre. At any time, the player can open the upgrade menu, where they’ll see two things: their base “node” block, and a shop to buy more. The base node is essentially a timed ping that sets off a chain of other nodes. For example, Zu5al’s base node is a block that has four “do” outputs, one of which is linked to the “in” input of the attack he starts with, which fires off a laser, and marks the enemy hit as the new executor of the next node. In sum, every time the base node pings, it sets off the laser. However, the laser itself has its own output condition called “OnHit”, meaning that when an enemy is hit by that laser, whatever node you attach to it goes off. Since the enemy has been marked as the new executor, the laser will spawn from them instead of your character. Maybe you want to string another laser for a chained attack, or maybe you want to use a split node to cause two new attacks to go off simultaneously, or perhaps you want to send out four new commands one after the other with a sequence command. You have options, so long as you can afford them from the shop. You also get a couple of shop re-rolls to change what nodes are available for purchase.

There are plenty of ways to dish out damage. Lasers and AOE bursts are the only ways to attack, but it’s how you make them chain off of each other that makes it interesting. Some nodes can be placed in between attacks to change conditions, like targeting the weakest or healthiest enemies, or singling out enemies who are afflicted with certain status effects. As your node chain gets longer, proper organization becomes more important. Sure, you can just throw on damage effects, but that can end poorly for you. At one point, I accidentally nuked my own character because I designated myself as the executor, and one of my attacks directed itself at me.

Beyond the main game mode, there’s also an endless challenge run that takes place on the same map, but the objective is slightly different. Instead of destroying chips and moving on to the next area, the chips just regenerate over time. Think of it as an endless mode where you can test different builds for as long as you can survive. At the end, there’s a ranking to show you how well you did. Playing game modes is how you increase your hacker rank, thus giving you access to new characters with different starting node abilities. The aforementioned Hop2a character, for example, sends out a virus that infects enemies. Once the number of infected enemies passes a certain threshold, it activates another part of her starting node.

The game’s aesthetics are geared towards a minimalistic look, and the UI is especially sparse, which can make it hard to understand what’s happening with your nodes. I’m conflicted here, because the minimalism is the point, but the game would also massively benefit from better communication with the player. A legend showing which effects do what and defining all of the terms would go a long way to make the game more convenient.

On a graphical note, the game really nails the idea that you’re a virus invading a computer. While playing, you’re represented by the face of your chosen hacker within a small window. The art team could have taken the easy way out and left it there, but no, the hacker leans towards the direction they’re moving. The map itself is marked with traces and vias (the lines and indents you see on computer chips), as well as a few screws.

I’m quite interested to see where Net.Attack() goes from here. Giving players the ability to build their own attacks with near-endless complexity makes the game stand out. A strong hacker aesthetic is reinforced frequently, and it provides a strong identity and aesthetic. The early access release is planned for June, then the full game will hopefully be released around late 2025 or early 2026. For now, you can play the demo on Steam.

See also: Previews
Share this article
The link has been copied!
Affiliate Links