Jump to content

  • Log In with Google      Sign In   
  • Create Account


Do I need to prevent deadlock for a game like this?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
4 replies to this topic

#1 R-type   Members   -  Reputation: 174

Like
0Likes
Like

Posted 03 October 2012 - 12:15 AM

Hi,

I would like to make a game like this: http://www.funnygame...pet-connect.htm, however I can not seem to wrap my head around if I need to prevent deadlocks and if so how.

Often the player has multiple other blocks to which he can connect a block. How can I guarantee there wont be a situation where no options are left no matter which block the player connects and no matter which sequence?

Also on a small 4x4 grid it is possible to generate a deadlocked seed:

1234
2413
3142
4321

Edited by R-type, 03 October 2012 - 12:17 AM.


Sponsor:

#2 RulerOfNothing   Members   -  Reputation: 1160

Like
0Likes
Like

Posted 03 October 2012 - 01:25 AM

Well it depends on how the game is actually played. Can you describe the rules determining which pairs are allowed to be selected at any time? I think that the example grid is not actually deadlocked, but it depends on the rules.

#3 Rld_   Members   -  Reputation: 1384

Like
0Likes
Like

Posted 03 October 2012 - 01:31 AM

I don't think you can without making all the solutions very obvious. I don't know japanese/chinese or whatever the language was, so I don't know if any helper functions exist, but also in this game you can get stuck eventually.

If you're only talking about seeds: you're the programmer so you're in control. You can make sure that every once in a while, when constructing your play field, that some pairs match up. You can do this in multiple ways I'd reckon. Perhaps first you add some randomly positioned pairs and fill the rest of the field up with whatever seed you want to use.

#4 R-type   Members   -  Reputation: 174

Like
0Likes
Like

Posted 03 October 2012 - 09:59 PM

Hi,

Sorry I was assuming the workings of this game was clear. With this game you can only connect blocks if they:

A: have the same image

and

B: there is a unobstructed line possible between them with a maximum of 2 turns in it.

I know for a fact this kind of game never gets deadlocked (my fiancee plays it very often and says it never gets stuck, which I believe)

#5 Rld_   Members   -  Reputation: 1384

Like
0Likes
Like

Posted 04 October 2012 - 10:16 AM

I understood how it was played :)

My point still stands though. It's also kind of up to you what you want to achieve. There are for example plenty of bejeweled like games and mahjong games that simply aren't able to be cleared, but that doesn't mean it ruins the game.

Now with a game like this, the more you clear, the more options you get in terms of space you can traverse. If I, for example, clear 2 blocks that are connected to each other from the side or top, I create a lot more options to connect blocks to and the larger this gap gets, the more options you will get, making it almost impossible to not be able to clear it if you have enough starting options, which is very controllable by you :) Of course situations can arise where you aren't able to finish it. It also depends on how many variations of blocks you are using. The more variations of blocks, the harder it gets to connect them.

I also find it hard to believe, that if a field is truly randomly generated, you will always be able to clear it. Very high chances sure, but not 100% as you can never anticipate the move a player is going to make next, unless the field is made up in such a way that only one way is possible.

I'm not saying this is end all, there might be a way to prevent deadlocks, but I personally think it's just a very high chance of clearing due to how the mechanics work :)




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS