Circuitron

Circuitron is a simple puzzle created for the “Weekly Game Jam” hosted on itch. The theme is “Electricity”. There are a couple of days left so plenty of time for tinkering!

The aim of the game is to complete an electronic circuit by reorienting red connectors displayed in a grid form. The power source is on the left and a light bulb is over on the right.

As the levels are relatively small, I put them all in a single tilemap and copied the respective tiles to the playing area when that level is reached. This actually simplified things quite a bit so I’ll likely use that idea again in the future for single screen games.

The trickiest part of the code was probably the routine to trace through the connections to determine if a circuit had been completed. I wont detail how that was done in the end but it seems to work well.

Other than that it’s pretty simple stuff. There is a premade solution for each level and the remaining tiles are randomised so it’s likley that alternate solutions will also be possible.

Check out the HTML5 build here - https://www.defold.com/community/projects/129450/

15 Likes

The third puzzle was challenging. good work !

1 Like

Very cool. Love how you can start solving this in the other direction if you get stuck. I wasn’t convinced at first, but some of the later levels are surprisingly challenging, despite to clear and simple rules.

  • I’m missing cross pieces. They are always so satisfying to use in both directions in games like this!

  • Reminds me of some really old puzzle games. One thing some of them did was to give you a bonus round once every few stages with an alternative win condition. Say generate a random jumble and give the player a set amount of time to make as long path as possible, probably with no possibility of failure, except of missing on some sweet sweet score points.

  • The game needs to track score in some meaningless way. Goes well with the retro feel.

  • Perhaps add some hazards that you must never connect to power, to keep the player attentive. I understand you probably don’t want to reset the level as “punishment”, as it could easily highlight the correct solution, but docking some meaningless point could work well enough.

  • I seem to get too good at guessing which way the correct way goes the more I play. I think making some later solutions deceptively simple could throw me off a bit. Hard to say, but something you might consider.

  • Having finished the game as I’m writing this, there needs to be a tad more variety to the pieces. The trouble is that assuming you’re sure of the path so far, the straight ones have 100% chance to be rotated correctly once connected and the corners only present two possibilities, but too often one of those is obviously incorrect (leading directly into a wall), so once you realize that, the game becomes trivial. I think this could be improved by the design of the later levels - there’s too many interior “walls” which simplify the decisions on the corner pieces way too much.

  • Love that the first two levels are a tutorial without being a tutorial. Nicely done!

  • That music reminds me of System Shock somewhat. Where did you get it? Edit: Nevermind, I see it - Eric Matyas. I should keep that name in mind.

  • Edit: Another idea - how about having some blocks rotate on their own periodically (ignoring player clicks)? Solutions with two or more of these would be a bit less obvious and a tad harder to visualize, while possibly distracting the player with the blue path shifting as they rotate.

  • Another edit: Having two sources and two lightbulbs in a single level would definitely up the difficulty a notch - especially with cross tiles. It may require too big changes in your code to make it worth it, though.

  • And yet another one: have the lightbulb start right next to the source in some levels, while the solution takes the player all around the game board!

4 Likes

Thanks very much for the extensive feedback. I wasn’t expecting that for a little jam game. I’ll try to address some of your points:

  • Cross and ‘T’ pieces are a good idea, definitely. In conjunction with having multiple bulbs, that could really add some depth to the game.

  • I initally put little bombs dotted around some of the levels that would blow everything up if you connected to them by mistake. I actually found that quite annoying and it interrupted the flow of the game in my view.

  • Perhaps I should take out some of those solid blocks from the later levels. They were mostly there to add a bit of variety and stop the levels all looking alike.

  • I’ve used Eric Matyas’s music in a few games now. He has a website https://soundimage.org/ with hundreds of really good game tunes on. I think he posts here periodically too.

  • Having the bulb on the same side as the power was something I hadn’t thought of but definitely a good idea to add variety.

The main struggle I had designing levels was preventing short-cuts and I’m sure there are several solutions to some levels depending on how they’re randomised. I’m sure a much smarter person than me could write a program to design good levels without shortcuts. Given the limited 9x9 playing area, it’s quite limited in what can be done.

Thanks again for the input!

3 Likes

You should use some of those immovable blocks from level 2 in later levels. They may or may not be a part of the solution.

If you see this, hi Eric! I like your music =P

I can imagine. I don’t think multiple solutions existing is too big of a deal, though a shortcut that bypasses the whole path (or worse - allows you to win a level with two clicks) wouldn’t be great. I’m sure there are neat algorithms to figure level design out, but it’s not something I’m willing to think about right now.

BTW, there needs to be a level or two where the solution creates a picture or some message.

2 Likes

This is genious! At first I thought “well, this was easy. I’ll shoot through these like a breeze!”… And then I reached level 3 :slight_smile: Well done Ben!

4 Likes

Super fun, I played it all. :slight_smile:

If you want to continue working on here are some of my thoughts!

  1. Main my “issue” is that it was too easy.

  2. I found myself often clicking through the solution rather than thinking it through. Maybe add an incentive to think before clicking. (By tracking amount of clicks and using that for a high score maybe)

  3. Extra pieces could be nice.

    • As mentioned X and T pieces would be cool!
      • Two versions of the T piece, one also split the colors into two.
    • “Pre-made paths” go into A come out of B.
    • Some punishing block, like the bomb you already mentioned?
    • Change color of the light coming in (would work well with point 4)
    • T piece that combines the beams
  4. Two different light beams that can’t cross could maybe increase the challenge too.

  5. 1 Input 2 outputs, with a piece that splits the beams.

Great work Ben!

5 Likes

@benjames171 , you are such a creative developer ! I love all of your stuff ! Keep the good work ! I loved the golf game and now this ! The screenshot looks promising ! I will check the game in a minute … it will be good probably !

4 Likes

New build is up!

Thanks to everyone who played and made suggestions so far.

Three main additions this build are:

  • Multiple bulbs on later levels (all need to be lit simultaneously to complete level)
  • and pieces on some levels. These split the electricity into multiple streams
  • BOMBS. Don’t connect to the bombs.

Plus some tweaks and cosmetic improvements

Last day of development tomorrow as the game jam ends.

4 Likes

Awesome!

I do like the multiple steams! It did feel like it made it a bit trickier :smiley: Though if you had two (or more) long streams the performance took a big hit, the sound started to lag a lot.

The bombs completely changed my play-style, at first I am leading the streams along but as soon as the bombs showed up I started to go from the exit to the end thus making it impossible for me to bomb myself up (still happened though…)

Great job! Very fun little game :slight_smile:


Windows 10
Running Firefox Quantum 64.0 (should be up to date)

1 Like

Blast! I was wary of something like that happening. I’ll try spreading the recursive path-checking routine over several frames… that should help, though the blue will ‘snake’ round rather than instantly being there. Thanks for the feedback.

Had the same feeling :sweat_smile:

I was playing that way the second time I played through it on purpose - it’s much more satisfying to see the blue fully appear with the switch of the last tile.

Excellent update! I thought the need to split the beam would make the solution easier to find - couldn’t have been more wrong. And even though I’ve yet to set off a TNT (hint: take some time at the beginning to make sure no adjacent tiles connect to them!), the fact that it could explode never leaves the back of my head, which makes the whole thing more intense. Edit: I did set one off just now. Oops! =P

The tiles that can split the beam represent something like a minor goal - you know you’re going to have to go through one of them. Perhaps you could alter their graphics in some subtle way to make them stand out a tiny bit more? Searching for them at the beginning of a level sucks.

Level 9 took me a loooong time. Which is awesome.

It’s too late now so I won’t finish all the levels, so this might be already in place, but is there a level where a solution involves “wasting” splitter tiles to form circles? I feel like that should maybe be a thing.

I just noticed there’s no level counter during gameplay. Not a particularly important feature, but you know. If you need something to fill up your time before deadline for some reason (possibly witchcraft)…

3 Likes

Final (probably) version is done and up. Only the small addition of a level counter and timer, plus a couple of graphical tweaks.

Thanks again, everyone, for the helpful feedback - you helped me make a better game.

circ_timer

5 Likes

The timer seems to be ticking faster than once per second for me. Plus it doesn’t count minutes, only up to 00:59 and then back to 00:00.

You might also want to change the label’s pivot to west to prevent the word “TIME” from moving whenever a 1 shows up.

Hmm, that’s peculiar. Will investigate.

Edit: those are both fixed. Seems that the way numbers are rounded up or down is different between native and HTML5 buids:

(Windows) 1.7 rounds to 2.0
(HTML5) 1.7 rounds to 1.0

1 Like

Just finished it. I’m really happy with the way difficulty ended up. The last few levels required much thought, rather than just switching tiles randomly.

Good job!

1 Like

Circuitron is out now for Android on Google Play.

Merry Christmas, everyone!

8 Likes

Brilliant Idea. Really enjoyed playing it .(Although I’m not a puzzle type)
Keep the good work up…
And a belated Merry Christmas to you :christmas_tree:

2 Likes