[Released] Four In A Row (Counter matching game)

Now released, can be downloaded from the Play Store here.

We’ve spent a lot of time on the AI, which we’ve written in such a way as to make it play, as much as possible, like a human player. It also has a number of parameters that allow us to create AI opponents of varying skills and play styles.

It has 21 opponents ranging from very easy to beat to quite challenging, and the 2 different timed game variations can make it quite hard to beat even some of the lesser skilled opponents.

This is our first game using the GameSparks back end service, and the plan is to use their matchmaking service to implement online player vs player in an upcoming release, along with single player league and knockout tournament modes.

In the meantime we’d really appreciate any feedback or suggestions/criticisms, if anyone would be so kind :slight_smile:

Many thanks

Play Store description:-
Four in a row matching game, classic puzzle game where you have to connect 4 counters in a line to win.
Pit your wits against 21 AI opponents with varying skill levels and personalities, ranging from easy to beat to very challenging. The AI has been specifically designed to closely mimic how a human player would perform.
3 different modes of play:-
* No timer
* Timed turns ( 3 difficulty levels)
* Timed game ( 3 difficulty levels)
Features a full undo history during each game and records performance history (wins/losses/draws) separately for each AI opponent.
Features currently still in development:-
* Online play (player vs player)
* Knock out tournament mode (against AI opponents)
* League mode (against AI opponents)





Looking good Munchy2007!
If you need any help with matchmaking you can check our our written doc https://docs2.gamesparks.com/tutorials/multiplayer/matching-players.html
And if you have any questions our support team would be happy to assist. You can message them here: https://support.gamesparks.net
Clare

Hi Clare,

I’ve already worked my way through some of your tutorials for matchmaking and realtime, and it seems pretty straightforward so far, but I’ll be sure to be in touch should I encounter any problems once I come to add multiplayer to this.

Thanks for your interest :slight_smile:

I’ve released the game on the Play Store now, with the initial set of features. It took me a couple of days longer than I was hoping, because just prior to releasing it I realised that there wasn’t an automatic way to have the game connect to the closest region server, and connecting to the wrong server had quite an impact on the performance and reliability of the game.

So to cut a long story short, I ended up creating separate GameSparks game settings for each region (easy to do using the copy function), and then added multiple matching gamesparksettings assets to my game.

I also added a method that queries the GPS location and returns the related 2 digit country code. This is then used to select the correct gamesparkssettings, which means the user logs onto the correct server for their location.

There’s a region selector dialog for instances where the region can’t be auto selected, or if the user wishes to override the selection at any time.

The auto selection only runs the first time the game is played, and the result is saved to playerprefs for subsequent game launches.

The above was made more complicated by the discovery that using Unity’s input.location function causes a crash the first time the program is run after install, due to a bug introduced in version 5.5. So I spent another evening trying to fix that and eventually bought an asset from the store to handle the GPS function. Great asset and support from the author btw. Unity Asset Store - The Best Assets for Game Making

So anyway, finally got there and the game can be found here https://play.google.com/store/apps/details?id=com.doofah.FourInARow2017 if anyone would like to check it out.

All comments and suggestions are most welcome, and I’d especially welcome feedback on how well the region selection function works.

Thanks

Bit of an update on the first few days performance of the new release.

Day 1 retention has been between 25% and 50% so far, quite happy with that, haven’t got any day 7 retention figures yet.

Currently sitting at 12th place in the UK and 13th place in the US in the Top New Board Free rankings, and 345th in the US Board rankings.

Looking at the win loss statistics for games played it shows that approximately 1 in 3 games result in a win for the player, so I’m happy that the AI is proving to be challenging enough.

It appears that the server region selection system is working how I wanted, as the vast majority of players are logging into the correct server for their geo location.

Currently working on the league game mode, which I hope to have ready for release in around 3-4 weeks.

Congrats on the launch! I shared your game on our twitter - x.com I couldn’t find a twitter handle for you, but if you have one, feel free to pass it on to me and I’ll tweet again with the handle!

Gonna give this a go myself on my break :wink:

Hi Claire, that’s great thanks very much. I’m not very active on Twitter yet, but my handle is @Munchy2007 .

I hope you enjoy the game, and if you have any suggestions/criticisms (particularly with how I’ve integrated GameSparks) please let me know :slight_smile:

Hi Munchy!

Sorry I’m only responding now - I really like the game, but I have to admit it’s shown me how bad I am at Four in a Row… I’ve yet to win a match!

I’ve followed you on twitter so if I get a chance to tweet out your handle I will!
Clare

Hi Claire, that’s really appreciated!

I’m glad you liked it, and found it a challenge, after all it wouldn’t be good for it to be too easy. :slight_smile:

1 Like

League game mode is about 80% complete now.

There are 3 leagues to compete in, bronze, silver and gold. Each league will pit you against increasingly difficult opponents. All the leagues can be played in any combination of the single player game types and difficulties. Silver and gold level will be locked until you achieve a high enough final placing in the league below.

A league season comprises of each player playing two matches against every other player, once as the first player to move, and once as the second player to move. Each match is played over 3 games.

Points are awarded as follows, 6 points if you win a game where you moved second or 5 points if you moved first. Drawn games award either 2 or 3 points depending on if you went first or second and a loss awards zero points.

Season progress is saved to the GameSparks cloud so the whole season can be played out at a pace that suits you and there is no risk of losing the current progress.

Currently it uses device authentication only, but the intention is that eventually you will be able to login with your own username an password, which means you’ll be able to continue your progress on any device.

2990066--222573--Image3.png 2990066--222574--Image1.png 2990066--222575--Image2.png

1 Like

Released the next update for our game.

League season mode is now implemented, along with user selectable counters, which can also be bought for in game gold. All store items can be added, removed and edited (price, image, description) in the back end service and the changes will be seen immediately by the end users without requiring an update to the app. Later updates will add game board designs to this.

Also rewrote the GameSparks region selection code to make it faster and more reliable. We’re looking for some feedback on how this is working as mentioned here https://support.gamesparks.net/support/discussions/topics/1000083819

The next step will be to add the multiplayer aspect, which we are also intending to use GameSparks for.

1 Like