Jump to content
rllmuk
Sign in to follow this  
Paulando

Puzzle Games

Recommended Posts

I've been thinking of making a thread for puzzle games for a while, as they seem to be one of the few genres I get really into these days. By puzzle game, I don't really mean Tetris and the like - I love Tetris, but it's more of an arcade game to me - what I mean is a game made of multiple, pre-designed stages, like Portal or The Witness.

 

For me, they're the ultimate type of game to chill out too. They rarely have any kind of urgency, so you can sit there and ponder for as long as you need, and there's no feeling like cracking a really good puzzle.

 

Mark Brown made a really good video a couple of years ago, explaining what he thinks makes a good puzzle: 

 

 

Portal for me, marked the origin of the modern-day 3D puzzler, and it's had a huge influence on the genre. It's still a phenomenal game, and I'll happily play through it every couple of years. It has a very clear set of rules that gradually build over time, well-designed puzzles, it isn't too awkward or fiddly, and the challenge is pitched perfectly.

 

Others I love include The Witness, Lara Croft: Go, The Talos Principle, Return of the Obra Dinn, Baba is You, The Swapper, and probably a bunch of others I can't remember. 

 

Puzzle games do require an exceptional level of design, so really good ones tend to be fairly thin on the ground. There's an endless choice of puzzlers on the mobile app stores, for example, but very few are any good - you can't just chuck some stuff on the screen, expect the player to get to the end with trial and error, then call it a puzzle game; the best ones follow the ruleset in the above video, and are filled with "a-ha!" moments.

 

Some are also mis-labelled as something else, making them tough to come across (Into the Breach is generally regarded as a strategy game, but I'd say it's most definitely a puzzle game, and a bloody good one too), so it would be great to have somewhere to share what people like, what's new, and what's on the way.

 

What puzzle game are you playing right now?

  • Upvote 4

Share this post


Link to post
Share on other sites

When a new The Room or Rusty Lake/Cube Escape game comes out, that's a guaranteed compelling 2-3 hour session poking around at The Room's eldritch physical devices and figuring out Rusty Lake's creepy logic.

 

The escalating nature of the puzzles in each section I played in The Witness just stressed me out for some reason, like I just wanted the section to be over after a while once I'd got the idea instead of having to figure out new ways the designer was trying to go "gotcha!" with the next variant or the next interaction with the surrounding environment in some cases. I can't really explain why.

  • Upvote 1

Share this post


Link to post
Share on other sites

Picross is all I'll ever need, I think. I am not a smart man so games like The Witness and Fez make me feel stupid. Picross demands a very limited set of thinking abilities so if you've played one you've played them all, but there's still an enormous sense of satisfaction from completing all the puzzles without hint roulette and other hint tools.

  • Upvote 4

Share this post


Link to post
Share on other sites

Lately I’ve been a fan of “one line puzzle games” such as Streak:

 

https://apps.apple.com/gb/app/streak-one-line-puzzle-game/id1487640963


It’s a fairly simple format and there are a billion other apps that do the same thing - move along a grid of squares making sure you touch each one without crossing over your own path. @pixelcult and I used to have a C64 game called Sensitive that was basically the same concept, so I guess I’ve been keen to find a modern equivalent. :wub: 

 

That said, if anyone has any particular recommendations for this type of puzzle game I’m happy to try others, as I haven’t thoroughly browsed the alternatives yet and I’m sure there are tons of them out there...

Share this post


Link to post
Share on other sites
2 minutes ago, Qazimod said:

Lately I’ve been a fan of “one line puzzle games” such as Streak:

 

https://apps.apple.com/gb/app/streak-one-line-puzzle-game/id1487640963


This reminds me of something like Piczle Lines, which I also enjoy a lot: https://apps.apple.com/gb/app/piczle-lines-dx/id1015862103

 

Polarium for DS/GBA was another puzzler in a similar vein. I loved this!:

 

 

  • Upvote 2

Share this post


Link to post
Share on other sites

I've recently been enjoying Inbento. Came out recently on Switch, but has been out for a while on phones.

 

  • Upvote 1

Share this post


Link to post
Share on other sites

Also, there's a bunch of recommendations and discussion in this thread

 

Share this post


Link to post
Share on other sites

That Slitherlink game needs to be bought. I love a bit of Slitherlink, cheers.

 

Hexcells Infinite would be my recommendation - a cracker. A bit on the Minesweeper-y side, but with added rules, and all the puzzles have been hand-crafted (to the extent you might think some are impossible until you can think sideways enough).

 

https://store.steampowered.com/app/304410/Hexcells_Infinite/

 

Edit: Oh, and that Picross game I made obvs. That's quite good too: https://store.steampowered.com/app/799110/Picrastination/

  • Upvote 1

Share this post


Link to post
Share on other sites
7 minutes ago, Wroth said:

Also, there's a bunch of recommendations and discussion in this thread

 


I forgot this existed! I actually wouldn’t count most of the games listed in the first post as the same kind of puzzle games that I’m talking about here, I guess. Games like Tetris and Puyo Puyo are more ‘arcade puzzlers’: they’re random by nature, fast-paced, and generally offer a single, continuous level.

 

I love Tetris, but what it offers is completely different to the likes of The Witness and Baba is You. They’re essentially two different genres.

Share this post


Link to post
Share on other sites

haha, yeah I said something similar further down that thread. However I think "puzzle games" does cover a broad array of diverse subgenres, that are wholly unlike each other yet unmistakably involve "puzzle" gameplay.

 

I'm absolutely loving, for example, the "information game" genre that's becoming popular. Games like Her Story, Obra Dinn, and to a degree, Outer Wilds, where the puzzle is the acquisiton and use of in-world knowledge to progress further.

  • Upvote 1

Share this post


Link to post
Share on other sites

Are there any picross games that involve massive grids? Like 50+ cells wide or perhaps more? Most of the ones I've played have rarely ever gone over 20. Perhaps they start to become impossible to solve logically beyond that size?

Share this post


Link to post
Share on other sites
4 minutes ago, Wroth said:

I'm absolutely loving, for example, the "information game" genre that's becoming popular. Games like Her Story, Obra Dinn, and to a degree, Outer Wilds, where the puzzle is the acquisiton and use of in-world knowledge to progress further.


Yep, I loved Obra Dinn and The Outer Wilds was my favourite game of last year. I agree that they scratch that ‘puzzle game’ itch, and the design of both of those games is staggeringly good.

 

I haven’t played Her Story :)

Share this post


Link to post
Share on other sites
7 minutes ago, Wroth said:

haha, yeah I said something similar further down that thread. However I think "puzzle games" does cover a broad array of diverse subgenres, that are wholly unlike each other yet unmistakably involve "puzzle" gameplay.


It would be good to get some decent sub-genre categories so you know what you’re getting. RPGs have many sub-genres, but anything remotely puzzle-y just gets slapped with the ‘puzzle game’ banner, making it hard to find what you’re after.

Share this post


Link to post
Share on other sites

Agreed. The "puzzle games" categories in mobile storefronts makes me despair.

Share this post


Link to post
Share on other sites
2 minutes ago, Wroth said:

Are there any picross games that involve massive grids? Like 50+ cells wide or perhaps more? Most of the ones I've played have rarely ever gone over 20. Perhaps they start to become impossible to solve logically beyond that size?

Having written one myself I'd say computationally it would get a bit intensive. When I started making my game I thought it would be easy - it was actually incredibly hard. The logic behind making the cells behave to let you know if what you've just changed suddenly makes the line invalid is actually really bastard hard. I originally tried to do it on the fly as the player was messing with the grid, but after a lot of faffing realised this wasn't a smart move.

 

So what I ended up doing was pre-calculating all the solutions to every row and column in each puzzle during the intro to the level. Then when the player makes a change the game spins through all the possible solutions to see if any match, and adjust the clues accordingly. Once I first implemented this I thought I'd nailed it, but then it started failing when I tested on some of the 25 by 25 grids. What had happened was I'd put in a fail-safe that meant one of the loops of code dropped out if it came up with more than 10,000 results for any given row or column (something I thought was more than generous). So I increased it to 20,000, and it still failed. Some puzzles were getting nearly 25, 000 possible solutions for any given row or column. 

 

If you think about it this makes sense. A row could be empty. Or it could have a filled space first then 24 empty ones. Or a gap then a filled space, then 23 empty ones, and so on. Or a filled space then a gap then a filled space then 22 empty ones. Or 25, 000 other possibilities. Increase the grid size to 50 and the numbers would become mind-boggling.

  • Upvote 4

Share this post


Link to post
Share on other sites

Yeah I guess it'll be similar to binary right? Each extra bit doubles the number of possible values.

 

Anyway that's really fascinating to know, thankyou!

  • Upvote 1

Share this post


Link to post
Share on other sites
2 hours ago, Nobuo's Organ said:

I've just noticed someone's released a very affordable version of Slitherlink on Steam: https://store.steampowered.com/app/931090/Slither_Link/

 

I loved the DS version, wonder how I'll get on without its handy built-in reminders of some of the rules.

 

Edit: turns out mouse controls are great for Slitherlink

 

 

 

This looks great, but makes me yearn for a Switch version. I finished the DS one twice over. Such a great game. 

Share this post


Link to post
Share on other sites

@MarkN That's super interesting, thanks for sharing!

 

1 hour ago, MarkN said:

Having written one myself I'd say computationally it would get a bit intensive. When I started making my game I thought it would be easy - it was actually incredibly hard. The logic behind making the cells behave to let you know if what you've just changed suddenly makes the line invalid is actually really bastard hard. I originally tried to do it on the fly as the player was messing with the grid, but after a lot of faffing realised this wasn't a smart move.

 

Can you explain what you mean by making the line invalid? I do love Picross, but it's been a while.

 

There is a history of great handheld puzzle games too - I was addicted to Mario's Picross once upon a time, and then Picture Puzzle on the Neo Geo Pocket Color (which is probably my favourite ever Picross).

Share this post


Link to post
Share on other sites
1 hour ago, Wroth said:

I've recently been enjoying Inbento. Came out recently on Switch, but has been out for a while on phones.

 

 

This looks lovely, thanks! It's also out on iOS and Google Play, I noticed.

 

EDIT: Oh, you said that :ph34r:

Share this post


Link to post
Share on other sites
1 hour ago, MarkN said:

Having written one myself I'd say computationally it would get a bit intensive. When I started making my game I thought it would be easy - it was actually incredibly hard. The logic behind making the cells behave to let you know if what you've just changed suddenly makes the line invalid is actually really bastard hard. I originally tried to do it on the fly as the player was messing with the grid, but after a lot of faffing realised this wasn't a smart move.

 

So what I ended up doing was pre-calculating all the solutions to every row and column in each puzzle during the intro to the level. Then when the player makes a change the game spins through all the possible solutions to see if any match, and adjust the clues accordingly. Once I first implemented this I thought I'd nailed it, but then it started failing when I tested on some of the 25 by 25 grids. What had happened was I'd put in a fail-safe that meant one of the loops of code dropped out if it came up with more than 10,000 results for any given row or column (something I thought was more than generous). So I increased it to 20,000, and it still failed. Some puzzles were getting nearly 25, 000 possible solutions for any given row or column. 

 

If you think about it this makes sense. A row could be empty. Or it could have a filled space first then 24 empty ones. Or a gap then a filled space, then 23 empty ones, and so on. Or a filled space then a gap then a filled space then 22 empty ones. Or 25, 000 other possibilities. Increase the grid size to 50 and the numbers would become mind-boggling.

 

Damnit, I'm supposed to be working and now I can't stop thinking about this instead. I haven't written a line of code but I'm already on to my 4th5th iteration of how I'd set up the data structures for this :lol:

 

I was thinking that if the puzzle is stored in the form of its solution then at startup you generate a list of clues (which have a start index, length and completed status) for each row and column from that. When the player tries to fill in a square, you use its co-ordinates to look up the lists of clues for the affected row and column and loop through them, using the square's x or y co-ordinate to see if the user got a hit somewhere between their start and end, otherwise it's a miss - if it's hit you then just need to check if the user has hit every square covered by the clues which were hit in each direction and update the completion state of just those clues. Then checking for completion of a row, column or even the entire puzzle is just checking if all the relevant clues have been completed.

 

I've just realised that if you're going to allow wrong squares to stay filled in instead of penalising you in terms of score or time and marking them with an X instead (Super Mario Picross style) you need to account for multiple misses being present, so your list of clues could also contain negative clues representing the gaps, which when hit check if there are any squares checked within them, so completion is now "are all my clues completed and all my misses empty?" The maximum possible number of clues/misses (a checkerboard pattern) is… 2n * n? for a square board (so 5000 for a 50 x 50) but you still only have to check a maximum (bottom right square) of 2n clues on each change… or instead of a new item for each gap you could just keep a simple list of numbers which correspond to incorrectly filled-in squares in that row/column and update that every time there's a miss or an incorrectly filled-in square is cleared - "are all my clues completed and the list of incorrect squares empty?"… can you imagine how boring what I'm supposed to be doing must be?

  • Upvote 1

Share this post


Link to post
Share on other sites
2 hours ago, Paulando said:

@MarkN That's super interesting, thanks for sharing!

 

 

Can you explain what you mean by making the line invalid? I do love Picross, but it's been a while.

 

One of the things I'd assumed with Picross when I started was that the number clues that tell you what needs to be filled reacted to tell you if you were right - that they'd grey out when it was correct. What they actually do is subtly different. They change to tell you that what you've got is possibly correct. So if a row has a single "1" clue you can fill any one of the cells in that row, and the clue will grey out to show you that potentially that's a correct solution (it's only by cross-referencing with all the columns that you know which one would be the right one). If you fill a second cell though - it will un-grey itself because now you're very definitely wrong - this is what I was referring to as an invalid line.

 

That's obviously the simplest example. If you can imagine a 25 cell row with the clues 4, 4, 8, 4 there are so many ways you can fill squares (or leave them empty) that make it so that it can't possibly be correct, but it's a really tough problem to solve. So my approach was to store all the possible valid solutions and check against them. If a filled square exists in a spot where no valid solutions have one then it can't be right and all the clues un-grey themselves (same if there's an empty square where no solution has one).

 

Edit: fixed the last line where I originally said the clues would grey out. They un-grey themselves instead to show they're not potentially correct.

  • Upvote 1

Share this post


Link to post
Share on other sites
3 hours ago, Paulando said:

This reminds me of something like Piczle Lines, which I also enjoy a lot: https://apps.apple.com/gb/app/piczle-lines-dx/id1015862103

 

I think I've played something like that too - the screenshots look familiar. :) They're a little more challenging since you can make a wrong assumption with one line and not know until several moves later :D but that's all part of the fun...

Share this post


Link to post
Share on other sites

Picked up inBento not sure how it passed me by. 

 

Also Piczle Lines is brilliant too. You can get that on Switch as well as mobile.

 

Ken Ken is another I really enjoy. 

Share this post


Link to post
Share on other sites
22 hours ago, Nobuo's Organ said:

 

Damnit, I'm supposed to be working and now I can't stop thinking about this instead. I haven't written a line of code but I'm already on to my 4th5th iteration of how I'd set up the data structures for this :lol:

 

I was thinking that if the puzzle is stored in the form of its solution then at startup you generate a list of clues (which have a start index, length and completed status) for each row and column from that. When the player tries to fill in a square, you use its co-ordinates to look up the lists of clues for the affected row and column and loop through them, using the square's x or y co-ordinate to see if the user got a hit somewhere between their start and end, otherwise it's a miss - if it's hit you then just need to check if the user has hit every square covered by the clues which were hit in each direction and update the completion state of just those clues. Then checking for completion of a row, column or even the entire puzzle is just checking if all the relevant clues have been completed.

 

I've just realised that if you're going to allow wrong squares to stay filled in instead of penalising you in terms of score or time and marking them with an X instead (Super Mario Picross style) you need to account for multiple misses being present, so your list of clues could also contain negative clues representing the gaps, which when hit check if there are any squares checked within them, so completion is now "are all my clues completed and all my misses empty?" The maximum possible number of clues/misses (a checkerboard pattern) is… 2n * n? for a square board (so 5000 for a 50 x 50) but you still only have to check a maximum (bottom right square) of 2n clues on each change… or instead of a new item for each gap you could just keep a simple list of numbers which correspond to incorrectly filled-in squares in that row/column and update that every time there's a miss or an incorrectly filled-in square is cleared - "are all my clues completed and the list of incorrect squares empty?"… can you imagine how boring what I'm supposed to be doing must be?

Sorry - meant to get back to you on this one.

 

The puzzle is stored as a black and white bitmap (BMP format). It's kind of ironic because one of the things I'm proudest about the game is that (after the obligatory Unity splash screen) it never displays a single bitmap. No textures, no fonts nothing - everything is made of cubes, or quads or slightly-modified cubes. (Nobody cares about this other than me.) So this is the image for the puzzle captioned "D is for Dogging" (from my favourite set of puzzles that I made - an alphabet's worth of words that have never featured in other Picross games "A is for Anthrax, B is for Bedwetting... It was so much fun I'm still tempted to do another pack (and this time maybe S will actually be for Stranglewank)).

 

alpha_dogging01.png.905b14d4396ade5738de9a8d43d154bd.png

 

When the player selects a puzzle the code does an audit of the bitmap and creates a list based on the clues for both the horizontal and the vertical lines. My memory is dreadful, but I think it still stores the info as number of empty cells, number of filled cells, number of empty cells and so on - which is partially redundant, because in the long term it only needs to know about the size of the blocks of filled cells (but I hadn't realised that at the time). So if a 10 cell line had the info 0, 3, 3, 1, 2, 1 it would have no empty squares at the start, 3 filled squares, a gap of 3, 1 filled square, a gap of 2 then 1 last filled square. Then it works out every combination of answers that fit the pattern of filled squares, because the clues will allow you to get the gaps wrong if everything else is right. It stores these as single hexadecimal numbers, and then checks the bits when the player makes an edit. So the player could have all the filled squares correctly but an empty square at the start and only a gap of 2 in 3rd place and the clues would show it as a valid solution.

 

As you surmised - the design of the puzzles has to be so that there is only one valid solution - so whilst the game will let you get individual rows and columns incorrect but still mark them as possibly correct, it's only when all rows and columns are actually correct that they will all be marked as possibly correct (now that's an awkward sentence). This feels so loose and woolly,  when coding is usually nice and tidy...

 

I didn't penalise mistakes. I instead opted for putting a timer on the game (so if you made a mistake you'd be slower). Oh boy! Do some people not like a timer on a Picross game? Especially a nice big chunky one that's right in your grill. (One that in some modes starts ticking louder and louder as a time limit expires). Cue lots of people telling me what my game should be? (Make your own fucking Picross game if you want it your way!)

  • Upvote 2

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Use of this website is subject to our Privacy Policy, Terms of Use, and Guidelines.