This is the devlog for Viper Piper, the illegitimate lovechild of Snake, Pipe Mania and Pac-Man.

After becoming somewhat burnt out working on my previous puzzle game Deduction, I wanted to take a break and prototype a (hopefully) simpler idea I've had swimming around in my head for years. This is that idea.

The game will play in a similar style to Pipe Mania (or Pipe Dream for our American friends), with the player placing down pipe tiles onto a (mostly) empty board, but rather than guiding water or goo through the pipes you'll be guiding a snake.

As the snake travels through previously untouched pipes, it will eat food pellets, with each one consumed very slightly increasing its speed. At regular intervals, as in the game Snake, a large food pellet will appear in a random position on the board. When this is consumed, the snake will grow by one unit. Points will be accumulated through eating, with your current speed and length factoring into the number of points you gain.

If the snake comes to a dead end, or collides with its own tail, it's game over.

There will also be special food which triggers effects such as freezing the snake in place for a short time, giving you more time to build pipes ahead.

I'm currently making good progress and am trying to get the look and feel of things how I want. I'm aiming for a retro look, but all graphics are created with high-resolution vectors.

I'm hoping to have this in a playable state within a few weeks, and hopefully this will be a fun side project which will encourage me to go back to my previous work on completion.

Just a quick progress update this time. So far I have pipe placement, food and viper movement all working:

This is all still pretty rough though, and although the viper speeds up slightly with each piece of food he eats, he doesn't yet grow when he eats a yellow "superfood" and doesn't die when you fail to make a pathway for him. It's all coming together a lot quicker than previous games I've worked on though, so I'm pretty excited to see where this goes!

Are you considering mobile ports? Looks like something that would work well with a touch screen

Yes, this will primarily be a mobile game. As I'm using OpenFL and HaxeFlixel to develop though it's pretty trivial to create versions for web, desktop and potentially consoles too, so I'm building in mouse, keyboard and controller support too.

Still making good progress, with things like a clearly marked pipe ending, working "portals" at the edges and the start of pipe degrading to prevent the player just setting up an infinite loop while they build the rest of the pipes.

I still need to get the animation for the degrading done, so for now tiles just disappear suddenly! The system works by looking for any pipes through which you have travelled and which aren't part of the upcoming path and starting a despawn timer on them. If the player has constructed a closed loop however the path check is ignored.

The next thing I want to work on is the various "superfood" effects. You might have noticed that they're a range of colours currently. I have a number of effects in mind, including things like freeze, bonus points, etc.

Some more good progress tonight. I now have the first pass at the different superfood effects working, along with a countdown until the viper is released at the start. Here's a GIF dump of each of these additions:

Countdown

You no longer need to guess when the viper is coming, as you'll see a countdown of the last five seconds before release.

Freeze Mode

Eating an ice blue superfood freezes the viper in place for a short time. This is especially useful if you need extra time to build ahead.

Slow Mode

Eating a green superfood puts the viper into slow mode. While in this mode the viper moves at half speed, giving you extra time to build while still gaining points.

Bonus Mode

When the viper eats a red superfood, it goes into bonus mode. In this mode the viper moves much faster, but will greatly increase the score you get from it eating any food until the effect wears off. You should always make sure that you have a good amount of pipe laid out before eating this!

It's still early days with this stuff, and I need to work out how to make these modes an integral part of building strategy. I'm considering spawning more than one superfood to give the player a choice of which to go for next. I also want things like score multipliers and combos to play a part, and have these superfoods factor into how those work.

I'm really pleased with the progress I'm making so far, and it's already pretty fun to play. Mobile and desktop versions are both working well and I'll look into adding controller support soon to give more ways to play. There's already keyboard support, so this should be trivial to add.

Just thought I should add a quick post to show how things are going. Progress has been slow, as just as with previous projects I've been struggling to find the motivation to continue. I have however spent a little bit of time outside of fixing bugs to give the visuals an overhaul. I wasn't happy with how flat and dull the placeholder graphics were, and I think that was feeding into my reluctance to work on the game. This is how things are looking now:

It's obviously not a massive departure from what I had before, but I feel that the improved contrast, subtle hue shifts of shadows and highlights, and added "shininess" gives everything a brighter, more dynamic feel. All blue elements now come from a single palette, but there's hopefully a clear distinction between the various elements, including between fixed and player-placed tiles.

I'm now going to focus on improving the code to give everything proper state and make transitions a little easier to manage. I have a solid idea of how tiles will visually indicate time to despawn now, so I might tackle that once things are tidier on the code front. Hopefully I'll start posting more regular updates again too!