Violet Cycle is an offbeat mix of Hyper Light Drifter and Transistor

This month, people signed up to the PC Gamer Club's Legendary tier get a Violet Cycle Steam keysent to their inbox. The game launched in December on Early Access, and if you enjoyed the likes Hyper Light Drifter, it's likely to be your sort of thing—check out the trailer above. 

Violet Cycle is a hack-and-slash game with a dashing element, but with a restriction on how many actions you can perform before you begin to overheat. You can find new weapons and rigs that give you passive abilities throughout the game's levels, so it's a fusion of a bunch of elements from different games. The enemies are procedurally generated from various components, too, so each run feels different from the last. 

If you've grabbed the game in the PC Gamer Club, developer Weckr Industries is keenly looking for feedback here to refine the game. Below, creator Marek Budik tells us about its creation. 

Violet Cycle feels like an interesting fusion of different games—an action game, a roguelike, it takes place on an isometric grid. What were your influences on the game?

In a way, I started on the 2D precursor to VC after playing Super Crate Box, which prompted me to finally download GameMaker. Sometime after that, I fell in love with the first videos of Supergiant's Transistor and enjoyed Bastion. Finally, Hyper Light Drifter remains one of my favourite games, it matches my taste in visuals/audio/game design almost perfectly, I guess it does for a lot of people. Around that time Nuclear Throne was out too, a pinnacle of the roguelite genre for me so far, I think. 

Can you talk about the tile-based environments in Violet Cycle? What are the different effects of tiles on the player?

There are four different tile sets, and each has a special tile type. The starting tile set has water tiles that tie into the game's heat system. Then there are obligatory slippery ice tiles. The last two are self-explanatory—conveyor belt tiles and speed-boost tiles. With the exception of the water ones, all the tile types mess with movement, which really is what most of the game is about.

How do you keep the enemy types interesting in the game? You've got a procedurally generated element to them—how do you balance this, and how does this alter the challenge presented to the player?

They are generated from different pre-made parts, and they mostly provide different behaviours to the enemy. The leg parts define how the enemy moves around idly i.e. ones walk in straight line over the ground, others float around the edge.

On top of that goes a head, and that defines the attack path that an enemy takes. Every enemy has the ability to attack the player by bumping into him, going with the whole game's focus on melee and movement. So one head will charge you directly, another goes at you from the side making an arc, another will jump at you and so on.

In addition to this, enemies can wield a melee or ranged weapon that has its own independent attack. Or it can have a big ol' spike sticking out its side, so you'll want to attack it from another direction.

The final layer is the enemy colour, which adds perks such as giving an enemy a dodge move, enabling it to reflect projectiles, immunity to knockback, stuff like that.

I scale this for the player just by using basic leg/head combinations at first, then I add weapons, then colours, then weapons and colours at the same time—you get the idea.

How did you settle on the game's art style? 

If I needed to concept something before modelling it, it was mostly ballpoint on paper. I haven't really done any serious concept pieces or mock-ups. I just drew/modelled the first thing that came naturally and then iterated on that. 

Although, some things stem from practical stuff. I have a little experience with 2D animation, and I learned to hate redrawing the same stuff quickly. So the game had to be 3D, sprites weren't an option. Second thing was, I had no experience in lighting real-time 3D scenes, had zero interest in learning to do so, and it would be another thing to worry about. Also, doing elaborate texturing—and especially unwrapping—was something I wanted to avoid. Hence the flat colours look without lighting.

You've developed this game almost completely by yourself, right? Can you talk about the challenges of doing that?

I have had good help from my publisher, Digerati, Quentin Leonetti for audio and Dubmood for music work. But yeah, the code, visuals and design is me. The challenges. Well…

From technical things, such as when stuff suddenly breaks before deadline and you have no idea why, to learning how to work by yourself in your room for two years without going insane and actually being productive. Or when you can't get the game to be fun for months and are totally lost, and you still take it to an event with hopes of being inspired and people are nice but you can see it's a train wreck.

Honestly, I took on way more than I could chew fresh from college. I don't regret it for a second, but as is now well known and understood, making videogames is kinda hard. Like just putting out a reasonably functional product is now an achievement for me, let alone making it any kind of success.

Can you talk about the different headrigs in the game, how they work, and what effect they have on the game?

Oh yes, the hats. They don't like it when I call them hats. Well they have a passive effect. There's one for speed, for damage, and so on. But, once you unlock the gun ability, the hat you have defines how you shoot. Like shotgun hat, machine gun hat, and so on.

You're in Early Access right now—how useful is that to your creative process? What are you working on right now?

I've been lucky enough to have a few nice people give really good feedback, and that's always very useful. So I've already managed to make some pretty significant changes, like adding a very simple inventory/consumable system. Of course, I've made some bug fixes too. And added a Vsync option. People love to Sync their V's. It also pushes you a lot to know people paid for your game. You want to make the purchase worth it for them.

Right now, I think the most pressing things have been addressed. I'm at a crossroad of polishing and testing further, or trying to add a major thing or two. Adding things is always scary and you don't even know if it will benefit the game as a whole—and during development I've thrown away so much work that didn't do that. I really want to keep the EA period as short as possible. Also, Violet Cycle feels mostly complete to me, there is nothing extra sticking out, it’s nice and tight right now.

As an indie developer, what are the challenges of launching a game right now? 

In a commercial sense, basically it seems to me that if you have one or some combination of these: a cult hit on your hands (you don't really know this in advance), following from previous successes, a reasonable marketing budget, or maybe you serve a very specific niche, and a good game (hard in itself) as a baseline, then you can do well with some certainty I guess. Otherwise, you can just do your best and pray to eldritch gods, no guarantees. So much to play, and more coming in every day. But you know that.

In a technical sense, you need to do many of those annoying little things such as go over menu functionality, Steam integration, achievements, controls remapping, things like that. I was surprised that I actually enjoyed some of that work, after the super nebulous and vague art of game design programming, solving simple coding problems which have clear "it works now" results was nice.

As a personal experience, I feel like I am so detached now by working and failing on this thing for a few years, I don't really feel much. Maybe after the full release? I don't know, the full weight of life events happening always comes at me slowly and delayed. Right now I'm just looking forward to wrap this up in the best way possible. Then maybe try to live The Reasonable Life(TM) for a change. I give it a few months before it utterly bores the shit out of me and I get onto project two. There already are some files in that directory.