18 Levels!

I know many of you have been at the edge of your seat awaiting more gem finding fun! Now there are 18 levels and a scrollable level map! Adding newer levels is going to be simple and I’m in a good place to add more meaningful progression into the game.

I’m going to spend a little time now figuring out what is going to be next and I imagine it’s going to involve getting some reward for beating levels and something to spend your reward on. I realize I should also make it a goal to keep adding levels at a specific interval. Maybe 18 new levels every month.

After that I’m going to think of additional twists in puzzle solving. I have a few ideas involving different kinds of bombs, but maybe mashing up other puzzle game elements will come into play.

As always, thanks for all the friendly support and feedback!

Unity TileMap Bug

I’ve run across a mildly infuriating issue that I finally resolved. If you look carefully at the roof of the windmill in my level selector, you’ll notice that it disappears when I scroll up and reappears when I scroll down.

I’ve done many a Google / StackOverflow / UnityForum searches to no avail and it wasn’t clear to me how to solve the problem. I originally though it was an issue with me using a ScrollRect with a TileMap, but I took the content out of the ScrollRect, manually moved the camera to still see the same artifact.

It seems the actual problem is the hidden bounding box/size of the TileMap. In the inspector view of the TileMap, you’ll see no properties allowing you to see or change the size.

However, I was finally able to identify the actual problem by sheer luck. I randomly inserted another object further from the original tile that I had drawn, delete that same new object and retested the scene. With that, the tile somehow correctly persisted and displayed.

Looking at the source diff in version control I then saw the hidden delta in the actual scene file. It turns out that the TileMaps have a size property, so when I added and deleted the test object, it changed the size to accommodate the tile that I added.

Tilemap:
  ...
  m_Tiles:
	... tile details ...
  ... more Tilemap properties ...
  // Here's the magic
  m_Size: {x: 1, y: 10, z: 1}
  // Above!
  ... even more Tilemap properties

Before I added and deleted the random object, the m_Size property was {x: 1, y: 1, z: 1}, notice now it’s {x: 1, y: 10, z:1}

My guess is that Unity has some definition of the TileMap size to be efficient about only rendering what’s on screen. I eventually report the issue, but I have a workaround for now. I hope this helps someone else chasing the same issue of disappearing tiles in TileMaps!

A tutorial feature!

I’ve finally wrapped up the tutorial feature to Diggem. It seems as though the best way to write a tutorial feature is to also write a “Minesweeper” solver. So due to all the complexity, plus my family duties during the holidays, the tutorial is about 10% of what it could be, but it’s a great start.

Now I’m going to address some lower hanging fruits like more levels and start the power ups soon! It’s time to build “Mo features!” I’m very appreciative for those of you who are still supporting me. Thanks for the patience!

Also, if you have any feedback or criticisms, I’m happy to take that input into account!

100 Active devices!

Another achievement! I’ve managed to make a game that at least 100 people are willing to keep on their phones!

So subtle humor aside, all of the amazing tools that are available, have really offered an instant gratification model to building games. I’ve recently implemented Unity analytics, which is super easy to implement and definitely helping me know if I’m making the right choices.

When I first released the game, I noticed that lots of people would play, lose, get an ad and then proceed to uninstall. That was likely due to the original logic that showed an ad in between each game. So I made a tweak of making ads show between games only if 60 seconds passed after the first win. This would give players enough time to warm up to the rules of the game and be rewarded before, presented with an opportunity for an ad.

I then saw the numbers of uninstalls drop and the number of games increased, but still about the same number of ads served. Now that I’ve reached 100 active installs, I ponder that this could just be a factor of laziness or forgetfulness for a user to uninstall. It took about 300 total installs to hit the 100 active install and while the slope of the graph is got better, I contemplated doing some A/B testing on optimizing when to show ads to further reduce uninstalls.

However, I decided that I would put time into new features that would make the game worth the player’s time and space on their phones. I’ve recently introduced an “Adventure” mode, where one could progress through levels with incrementing difficulties.

The next set of features are power ups, rewards and new “mines”. Some power ups that I’m thinking of would be random tile revealers/flaggers, more lives, fixed tile revealer and maybe a larger tile revealer. However, if you have suggestions I’m super open to hearing them!

Much appreciation to all of my friends and family supporting this adventure. The nights spent when the kids go down to 2am get pretty exhausting but I really do appreciate the feedback, the ears when I re-tell my stories, the cheering on, the high fives and hugs.

100 Installs!

I’m super excited to see that Diggem hit a milestone of reaching 100 installs.

Thanks to my family and friends that contributed to some of those installs. This is a truly awesome journey. I added a dedicated page to the game, which includes a change log for those curious on the engineering side what’s going on. There are also other really fun aspects of game development that I want to share.

First, while I’m very happy to reach my first 100 installs, I do recognize there are many other important metrics to track. Currently I’m watching data on retention and a few interactions. I believe that there are still a handful of features to implement to offer a better experience while playing and also more data to guide me.

Next, besides time, I’ve also put a small investment into visual assets and advertising. What shocked me is how effective the advertisement platforms are. I created a “easy button” campaign using Google Ads and from that I’m getting a steady flow of installs. Those installs are currently offering me the insight that “this game still not good enough”. While I know some could see this asĀ  discouraging, I love that I have a tool that will give me visibility on whether I’m moving in the right direction.

Finally, I hit a snafu, I lost the password to my keystore due to a series of unfortunate circumstances. Google does have a process to get you back and running but I won’t be able to submit another update until the 14th. I’m super thankful that this process exists, because it seems as though prior to 2017, people had to orphan their old app and create a duplicate.

Thanks for reading this, I’m super excited about this adventure! Let me know if you have any words of wisdom or ideas to share!