Unity Asset Review: Snakes & Ladders Complete Game Template

With Unity becoming an easy gateway for anyone to become a game developer we have decided to review select Unity Assets in what is going to be the first of many, an asset showcase and review along with a scoring system of a particular Unity Asset that is currently available now on the Unity Asset Store.

When we were deciding on which asset to start with needed to come up with metrics that would then apply and rank a variety of different points about which Unity Assets to review.   In the end, it finally came down to selecting from a pool of assets that were solid enough that anyone could essentially download Unity and purchase the asset, import and build ‘n’ play away.  They could also follow us on building that into a real, working android game APK that is ready to upload and play on a real device.  This would allow anyone with what it costs for pizza, a chance to see how they feel about becoming a game developer and creating something right away.

Snakes & Ladders Complete Game Template

To decide which assets to review, we used a variety of different scoring metrics on a pool of selected assets.  After the results were in, selected first and the winner of being our first review was the digitization of a board game classic.

If you guessed “Snakes & Ladders” you would be correct.   The first asset we are going to review the asset: Snakes & Ladders Complete Game Template by Finalboss.  We will provide the information you need to make an informed decision if this asset is right for you and show you simple approach to testing and building this asset right out of the Unity Asset Store.


Asset Scoring System

Here at AresTheDog Studio we have developed the following rating system on specific attributes.  Each asset we review will be judged on each attribute and have an opportunity to score points under each one.  We will review and provide factual information on why we provided each rating.  Each of these scoring attributes are designed to provide blanket coverage with each attribute to cover every area, including the grey ones.

When scoring the asset, each attribute can score a maximum of 5 paws (points).    The maximum total score for an asset is a perfect 50 out of 50.  At the end we will calculate each paw rank out of 5 scored for each attribute.  The total overall of the entire asset measured out of a maximum of 50 points will then be provided.

 

Getting Started

We decide to use the current public version of Unity available.   The versions listed were current and/or recommended at the at the time of writing this review.

  • OS: Microsoft Windows 10×64
  • Android: BuildTools v26.0.1 / SDK Tools 25.2.5
  • Java: JDK v1.8.0.191
  • Unity Download Link : 2018.2.14f1 Released Oct 26, 2018
  • Asset Download Link : Snakes & Ladders Complete Game Template v1.2.1 Released Apr 4, 2018

As we are sure you should have at least heard of this board game called “Snakes & Ladders”, if not also have played it at some point.   This should seem like a familar experience, only digitized.  If not, not to worry as this is quite a simple game, with simple rules and simple game mechanics that was directed pretty much at all ages.  It is a classic that still easily finds a place in this digital age and no doubt could becoming your next bit hit game.

The game play itself is all ready for you to decide how well it stands up to the physical shaking of the dice vs the no clean up required after your done.

Let’s take a look at the presentation of this asset:

So just what exactly is this asset all about?  We pretty much covered the basics already and when we take a look at the description from the Unity Asset store as follows:

“Snakes & Ladders gives you everything you need to build your own game, fast and easy. This project uses the universal rules of a famous board game and will let you customize every possible bit of codes & arts almost instantly. ” — FinalBoss

We have a pretty catchy and descriptive statement to give us an idea of what’s in store for when we use this asset and some claims right away about why you should choose this asset.

Key Claims:

    1. Everything we need to build our own game fast and easy?
    2. Everything is able to be customized almost instantly?

Now these are some pretty impressive claims are they not?  They sound like pretty boastful claims,  Is there such a thing as “Instant, Fast and Easy” about game development?  It claims to be a complete template that is will allow anyone to create their own “Snakes and Ladders” game fast and easy.  It claims that you can customize everything almost instantly is something that would appeal to first time users of Unity.   Sounds like a perfect asset to get started with creating your own take on the famous board game doesn’t it?  Let’s find out as we explore more about this asset.

What we are going to do is give you an in-depth look at this template and find out how complete and easy to customize it really is.  How close it resembles the original board game” Snakes & Ladders” and of course, how the code looks along with thoughts and ideas about potential features and changes.

If your looking for your next project or something simple to get started with, the Unity Asset store is full of great templates to help you reach your vision.  With the facts we uncover during our reviews you will add that to the information you can use to make the best choice regarding assets and if they are right for you before purchase.

Overall it looks great on the store and is presented with descriptions and demo’s to try before you buy.

Final Presentation Rating: 4 out of 5

Let’s take a look at all the features of this template:

  • Universal Design (Adapts to every screen sizes and resolutions)
  • Universal Architecture (Runs on Both Android and iOS)
  • Supports both Unity free & Unity Pro
  • Fully functional game project with Intro, Help, Credits, Options, Menu and Game scenes
  • Automatic or manual movement of characters
  • Single and 2-Player modes
  • Built-in Multi-Language system
  • AI for opponent
  • Live dialog box
  • Star fortune cells which give the game a new twist
  • Supports different backgrounds and objects formation
  • Full art and source code included!

This does sound like the perfect asset to get started with doesn’t it?
There are a lot of boastful features packed into this template to help you do exactly like it claims: “Build your own game, fast and easy”.
Lot’s of features to make ready to roll game.

Just add your own graphics and sound/visual FX and you have your own re-skinned version of the game.
It has language options built in to allow you to reach a larger audience.

Overall there are lots of features to keep you busy with but also a lot to learn how the asset functions.

Final Features Rating: 4 out of 5

Let’s take a look at how active the developer of this template is on new features and bug fixes:

  • Released: Apr 4, 2018   – Update v1.2.1: All UnityScript (js) files has been removed.
  • Released: UNDATED    – Update v1.2.0: Full compatibility with Unity 5.6+ & A few bugs has been fixed.
  • Released: Jul 10, 2016   – Update v1.1.2: Bug fixes & Compatible with Unity 5.3+.
  • Released: Nov 19, 2015  – Update v1.1.1: Project is now fully compatible with Unity 5+
  • Released: May 05, 2015 – Update v1.1.0: Project converted to C#.
  • Released: Feb 18, 2015   – Update V1.0.0: Initial Release

By looking at the updates on this asset, only bug fixes have been kept up.  There have been no new features in the almost 3 years of this assets release.  One would assume that if you purchase this asset, it comes as is and you should not expect anything new to the template unless your able to add it yourself.  With that comes some wise words of cautions

“Never buy an asset in hopes of a feature or option will be added in the future.  Only buy something you can use as it right now. ” — AresTheDog Studio

We did however find a forum post dating back to Feb 23, 2015 where the developer had asked about what new features people would like to see in future updates in which no one responded (Forum Link).  Perhaps after this you will find yourself developing this template and be the first to ask for something new and it will be implemented.

Overall there has been no feature updates, only bug fixes but that is worthy of a mention none the less.

Final Updates Rating: 3 out of 5

Let’s take a look at the Reviews of this asset:

There are 7 total reviews which offer no real substance on what to expect other then the basic one line statements that seem to be the normal case with a lot of assets.   Nothing there that really speaks to a potential buyer.  Even when there is you need to consider the review.  Reviews are a perspective and sometimes written to perceive as specific perspective of the particular asset you are considering.  Reviews should be considered at most exactly that, someones perspective.  You can find reviews from people complaining it does not work and rate it 1 star due to the fact they did not even read the manual that came with it about other assets that are needed to replicate the full experience.

Worth mentioning is that we were not provided a voucher nor had any contact with the developer of this asset.  We did attempt to reach out through support email but after weeks going by without any response we just moved on.  We selected this asset based on certain metrics and scoring system based on a handful of assets.

When you are reading or looking at a review from not only the Unity Asset Store but anywhere, look at the facts.” — AresTheDog Studio

A good review, like the one we are showing here with this asset cover everything from the good to the bad without any holding back on the facts but reserve emotional responses or comments.  It is inevitable and often difficult to avoid which is why you need to focus on the stats and facts, “the truth is in the numbers”.  Any opinions that are expressed in this review are our own and based on are experience.

Overall there really is not much to go on besides the forum and some posts that are trying to pass as reviews.

Final Reviews Rating: 3 out of 5

Let’s take a look at the Support of this asset:

There are two channels offered for support:

  1. On the Unity Asset Store the developer states “Have any questions? Please write me and I’ll get back to you as soon as possible.”
  2. On the forum the developer states “This package comes with full support, both here and with the email provided above. Rest assured that I will do my very best to help you with every single question regarding this project, be it a simple question about how to customize a things, or something about integrating a custom plug-in into it. Feel free to contact me at any time.”

A quick look at the forums and you can see the developer usually responds with in a day or two of the post.   Our personal experience with the email support to be status unknown.   We reached out back on November 3rd, 2018 and still have not had any response from the developer regarding anything.

Overall based the overall experience and channels available that we would suggest skipping the email contact and going right to the forums, and in any case, be prepared to wait for any support.  It’s been over a week and no response, we think that the sweet spot for developer replies is 3-5 business days.  Anything longer does not really show commitment but then its all perspective.

Do you own this asset? If so, what has been your experience?

Final Support Rating: 2 out of 5

Let’s take a look at what Unity versions are supported by this asset:

One of the things you should always do first when your considering any asset is to check what version of Unity the asset is for.  If you take a look at the Unity Forums you will often see a regular weekly post of someone having issues with something.  Whether that be Unity itself or another asset these posts always have one thing in common.  The are user errors.  Nothing to do with the software or the hardware.  It’s all because they are trying to use an asset in the wrong version of Unity or Unity with the wrong asset version.  All this because they skipped the fundamental steps by reading instructions and using the asset in the correct environment.  In the case of this asset, we noticed that it was released for Unity 5.6.0 or higher.  But does that mean any version after 5.6.0?

Ask yourself, how many times have you seen assets that claim to work in such and such version of Unity or higher only to fail and break in the higher versions of Unity.  Those assets tend to have less then appreciative reviews.

Come to think about it, Unity 5.6.0 is pretty far down the version list and very different from Unity 2017 and at the time of writing this article, Unity 2018.  We also wondered how it stood up to today’s unity as there was no actual mention of how this template would work for the newer versions, just a + sign.

Is this asset compatible with unity 2018?

We downloaded and then proceeded to open this asset in Unity.  Unity went through the usual importing process.  Once it was loaded we were greeted with warning message.

Warning: Platform WindowsStandaloneSupport does not support graphics device type

Since we knew our system that we are using for testing was fully compatible and supports even more then Unity currently even needs or requires, we simply closed and reopened the project without any warning or issue.  We continued on an opened up the Readme.pdf file which explains how to get started.

Located at the top of the file was this regarding versions of Unity: Requires Unity3D V4.5.2 or higher (Unity 5 Ready!).   So far, everything remains questionable as to the question “Will it work with Unity 2018?”  We proceeded to load the first scene as indicated and pressed play.

First thing we saw happen was the logo changed, so you can add your own logo right here when you get started on customization.  After the logo switched we saw some a print message to indicate that and made a mental note that need to be commented out.  Rather then tackle that right away we were greeted with an error.

Error: Scene ‘_menu-c#’ couldn’t be loaded because it has not been added to the build settings or the AssetBundle has not been loaded. To add a scene to the build settings use the menu File->Build Settings…

We checked the build settings and it appeared to be there but we removed all the scenes and re-added then all back using the ones from the scene directory.  Once we did that no more error and we loaded the next scene.   On the main menu scene every looks fine, you can see the animations working and we decided to test the ‘Single Player’ option.

First Play Through

We discovered no issues using the mouse to click the dice.  There were some nice animations to watch our dice number roll and then are player proceeded to move the correct amount of corresponding spaces.  We still needed to try the manual movement on the actual device as we were unable to use it for the 2nd player.  Automatic movement worked just fun so we just continued that way.

Next up was the AI.  We watched the familiar dice roll and movement.  Everything moved smoothly.  Each time we landed on an event, going up the ladder or down the snake, or the infamous “star” power-up, the overall animation and movements were spot on.   These game mechanics also resembled the familiar rules of the board game.

The game play was simple, you would roll the dice and move the amount of spaces and whenever you landed at the base of the ladder, you moved along the ladder to the top.  Then of course, whenever you landed one the head of the snake, the player was moved down along the snake to it’s base.  When it came to winning the game with the board game you could decide to either roll anything that gets you to the end or keep rolling until you achieve the correct amount to move.

There was not a whole lot to it besides clicking on the dice to roll again.  That’s where your customization skills will coming into play.  There is a “star” power-up that you could modify to become all sorts of things.   There was an error however that we encountered with the “star” power-up’s.

The error did not cause any problems within the game.  It continued along as if nothing had happened yet you could see that angry red warning glaring at you from the UnityEditor console.  We made another mental note to investigate that after we were done play testing within the UnityEditor.

 

Error: Material doesn’t have a color property ‘_Color’


We decided to continue playing and come back to this later since the error did not halt the game or cause any immediate issue.

The game play was fluent yet one could not help but notice the repetitive nature of the game play.  We were determined however to play until we had not only won a match but also lost.

In order to win the game, you must roll the dice exactly, so our first game seemed to go on for many turns as we were hindered from winning the game due to mechanics, rolling that illusive perfect roll for the amount of spaces we needed to move for  win.   When your in range of the finish spot you are required to roll the exact amount for the spaces you need to reach the finish square in order to win.

We rolled the number and won the game.   We were treated with some visual effects in the form of fireworks.  You then have the choice of replaying or going back to the main menu.  We played again until we lost, same options however no visual effects.

We decided we needed to try every button.  Each of the buttons opened a new scene except for the “Please rate us button”.  As we proceeded to try each of the button, the game development credits (currently empty), the game options and instruction scenes.  Each of those worked fine and it was a simple click navigating between them.

There is however a problem when you click the “Please rate us” button from within the UnityEditor.  It can cause a firestorm of flashing messages of trying to sheer brute force to open it.  This was something that needed to be addressed.   We made a mental note to look at the code behind this later.  As we continued to change the options and the languages everything seemed to work without any other problems.

We decided to try a game while using the “Manual” move mode. It was during this game we had issues with the second player.  The first player moved fine when you clicked the correct spot but player two would not work.  No matter where we clicked, the second player would not move.

According to the ReadMe:

 “The game can be tested and played on the editor, But the project is designed for Android & iOS, so be sure to change the platform to Android or iOS after importing the project. If you want to test the game in editor, be sure to use Unity-Remote. Otherwise some touch functions might not work properly.

This we suspect is one of those occasions as everything else seemed to work without any issues.  During our testing we saw a lot of print statements.

Overall after testing everything else it seems that we only need to clean up those print statements and then fix the material error and its ready to build.  Once it built we can retest the touch functions that were not working correctly.

Final Unity Compatibility Rating: 4 out of 5


Let’s take a closer look at the code:

Code Points to Mention

  1. Some print commands are commented out, others are not.
  2. Scene names are hard coded, Playername is hard-coded, so much of actual configuration is hard-coded.  We would have liked to have seen a ScriptableObject configuration or Inspector variables here rather then hard-coded values.   Our thoughts about hard-coded values are if they are subject to change based on who is using the project its best to have a configuration file that holds the values instead of hard-coded values.  Saves a lot of time and there is no actual code modification.
  3. The hard-coded language files are another example for ScriptableObject’s instead.
  4. The code can be considered easy to follow and easy to read however it does not pass our tests to be considered “clean code”.  It is still easy to read and follow.
  5. There is a lot of code duplication throughout that would have been better of in a static game tool function then multiple copy and paste of the same code in various scripts.
  6. There are comments in most of the right places and extra ones that really are not needed.  As an example, a function called PlaySFX (AudioClip SFX) really does not need a comment that says // Play audioclip.  Keep in mind that we are sure the developer of the asset intended this for complete beginners as well as veteran coders, which makes perfect business sense in that aspect, but again fails to pass for “clean code”
  7. Certain functions have no comments to explain what is going on and beginners may have a difficult time following along.
  8. Not really code related but the layout of everything is organized nicely.

Menu.cs Issue

In this script we found an unpleasant feature side effect.  When your using the Unity Editor and you happen to click the “Rate Application” button which is called “support” it will launch a barrage of attempts to do so and freeze up unity for a few minutes.  To avoid touching or clicking that during testing by accident we wrapped that in an IF statement.

Starting at like 150:

We wrapped the code with an IF statement:  if (!Application.isEditor) { Application.OpenURL("market://details?id=YOUR-APP-ID-HERE"); }
We also added an ELSE statement to debug: else { Debug.Log("Open URL not available in UnityEditor"); }

The issue here is that it will cause an infinite loop which you will notice by the debug logs.

Fixing Error: Material doesn’t have a color property ‘_Color’

This resolved  the “star” power-up error.   The approach we choose to resolve this error was  wrapping each of the responsible code statements in an IF statement to check for the property instead of just assuming it was there.

Starting at line 43:

We wrapped the code with an IF statement: if (GetComponent<Renderer>().material.HasProperty("_Color"))
We also proceeded to wrap the second part: if (child3DText.GetComponent<Renderer>().material.HasProperty("_Color"))

Last thoughts on code: Going through all the scripts of a new asset and looking for ways to clean it up all the while see how it all comes together will give you a better understanding of how the asset works and provide you a foundation to build your vision. Don’t forget to deal with printed comments and commented them out.

Overall the code is provided in a clear and concise manner that is easy enough on the eye and not too difficult to follow.  With only little coding skill you can jump right in and start making alterations and the more advanced can go about cleaning up the code.  However that said, keep in mind there are parts of the code that are lacking comments which may stump beginners.

 

Will this asset build to an Android .APK without issue? 

We were able to switch to the “Android” platform and build this into an android APK without any issues.  The base build was 32,810KB.  We also tried other versions of Unity from 5.6 up to 2018 and all were successful.  Coming in at 32MB is pretty good and with some tweaks that can likely get a lot lower.  However be sure you don’t forget to configure this for your release.

There was no issue with the build process, it was as simple as building.  T

Overall while the code does not pass for “clean code”, it is still easy to follow for anyone.  It is commented enough that most will have no issue and it’s ripe for a more advanced coder rewrite it.  The code is thoughtful and purposeful for the most part.

Final Code Readability Rating: 3 out of 5

Let’s take a look at the playability easy it is to customize this asset:

The game is really easy to play.  The touches are responsive and the movement is seamless.  The player will have no issue playing the game.  Everything makes sense and visually the graphics that come with the asset are very high quality.

While playing the asset is quite easy, it can seem repetitive after several games.  Everything has been seen, nothing really new happening.  No achievements or anything to encourage more playing.  That’s there the reply value really suffers.  It is up to you to build something that will encourage a player to keep playing the game.  Perhaps a simple multiplayer capability to play with friends?   The only limits are your imagination.

Once the game has ended you are presented with a menu to either go back to the main menu or replay the level.   Everything works here as you would expect.  There are visual effects when you win in the form of fireworks however nothing happens when you lose.

If you decide to retry the game its always the same level.   There is no random level selection or anything.  In fact, the only way you can change the level is by going back to the options and changing the background.

Each background is essentially like a game board.  Everything is already laid out and all you need to do is play.

This is where we would have liked to see some sort of randomization of the placement based on how many of each type randomly selected of course to provide the illusion of unlimited levels.  If everything was placed randomly it would provide an unlimited about of game boards.

This is definitely something that is easier said than done.  The math behind it and the checking of all the objects to prevent overlap and that they actually have a start and finish can be quite overwhelming.  That being said, we think that would be a major feature worth adding.

This was an area where the asset starts to lose it’s polish.

Overall the game was very easy to play and requires very little effort or interaction by the player to actually play the game.  If there was an auto-roll function there would really be no interaction whatsoever so that there was a pretty big play issue that players would only play this a few times before moving on.  That said, you will need to put your own spin on this game to be successful and engage a player base.

Final Playability Rating: 4 out of 5


Let’s take a look at how easy it is to customize this asset:

This is another area where the asset starts to lose a little bit of it’s polish so to speak.  This could be the major hurdle to overcome so your not just “flipping” the asset.   We do not recommend nor do we condone “asset flipping”.  Simply re-skinning this asset and doing nothing with it would still be classified as “flipping”.

In order to create new levels, you need to decipher the hard-coded values in the code for each of the potential positions based on the selected background. For a beginner who we feel this is the target audience of this asset would have a hard time understanding this.

There is no documentation about how to create your own levels, likewise no comments either to explain how or why these values are configured. This is one of the most important aspects of this asset, creating your own levels, however there is little coverage to assist the user of the asset.

After we walked through the code we discovered that the Vector2 variables of the ladder, stars and snakes were represented the numbered squares on the board, 1 to 100.  The new Vector3’s were the Unity Inspector positions of the ladders, stars and snakes.

As it stands, going about creating a new game board would take some careful plotting and understanding of how this particular section of code worked.

Once you grasp this concept you can begin to create your own. After reaching this point we understood that randomizing all the options would be quite the daunting mathematical algorithm which if this asset had it would no doubt increase it’s value tremendously.

Multiple language support customization.

The language localization is is done in a clever hash-table script.  Simple and easy enough to create new languages and takes little to understand how to began creating your new language script.  The asset comes in two languages, English and German.

While it’s easy to use and create your own we personally would prefer working unity “.assets” as opposed to creating a new script for every language.  We feel language localization is a perfect opportunity for a ScriptableObject  that held all the values. We for example, prefer to use ScriptableObject Language “.assets” that can be created for each new language.

These types of ‘all in one’ assets could benefit a lot from these types of approaches to keep the code for mechanics and “.assets” that change how the game works without having to change hard-coded values within the code.

The language selector allows players from all over the world to play just by creating new language scripts.  This is becoming a must have feature in any game if you want to maximize your games exposure to other markets.

We included a picture of the options Menu where the player can select the language, turn off the sound and control the visual effects and of course change the background.  The background however not old changes the background it also changes the entire game placement of the snakes, ladders and stars.

Create new game boards will be the toughest part of this asset.  Once you are able to master that however you will be able to create an unlimited amount of levels and perhaps even add in some modern effects.

All in all the language support and localization is well done and should not pose any difficulty adding new languages.

Final Customization Rating: 3 out of 5


Let’s consider the overall aesthetic and replayability of this asset in its current form:

 As we mentioned earlier on, a bit issue with this asset is replayability.

The artwork in the asset is very creative and well put together and everything fix in nicely though we wondered about the underwater effects but that could be due to the fact the players are underwater creatures.

All the levels look good and has that cartoon feel throughout the game right from the game options to the how to play instructions.  The hard part would be finding artwork that fit into what was already there so your really going to need to produce your own art.  You can of course use what is already there and with a little effort you can create new board game scenes for people to play.

The reply value is extremely lacking.  After you play a few matches you will quickly become bored.  There just is not enough to keep you focused and playing.  There is really no interaction or challenges for the player.  Everything could technically be fully automated with the player just watching what happens.  Sure you can play with a friend using the same device but that could be you both just staring at the screen.

This is a perfect opportunity for you to put your own spin on this game and create new interactions with the player or perhaps some sort of engagement with lucky draws or random effects like a cyclone going across a row randomly throwing the player onto a new row and position.  Again the possibilities are only limited by your imagination but it will definitely be required with this asset.

As you can see from the image we show the only real thing that happens are the star power-ups.  This asset screams for more features to engage the players.   Perhaps even some stat tracking and achievements built it to give the player to keep on playing.

It was basic enough to bring back memories of the board game from days of old but not enough to keep you wanting to play more and more.  After a few rounds you will have your fill.

Overall everything does look very well designed and high quality graphics which are pleasing to look at.   No one should have an issue with the artwork quality, perhaps the lack of more and need for more.   This leads into the repetitive nature of the game and due to the low engagement of the player we can see the attention fading rapidly.

Final Aesthetic and Replayability Rating: 3 out of 5

Snakes & Ladders Complete Game Template

Final Verdict

Overall this is a great asset for anyone who is looking to get started with a complete game.  It will show you how to manage your scenes and game mechanics with some language localization.  All it needs is some imagination and your creative touch.

Great job on the asset goes out to FinalBoss.

Score: 33 out 50

Image-Logo-AresTheDogStudio


Disclaimer: We have no relationship with the developer of this asset or anyone associated with FinalBoss.  We did not receive any voucher for this asset nor have we or will be receive any sort of compensation.  We purchased the asset directly from the Unity Asset Store.  This review is based on our experience using the tools described in the article.  We have the right to change and modify the review based on new versions and/or information.  This page contains Unity Affiliate Links.

Game DevelopmentReviewUncategorizedUnityUnity Asset Store

ReviewUASUnity

AresTheDogAuthor posts

AresTheDog Studio Administrator.

4 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *