Tuesday, July 10, 2018

Items!

Each time a match-4 or greater is made, an item is created in place. These are intended to speed the game up. Skills need to be placed on marked cells at the expense of harvested gem elements, so an explosive for instance, effectively clears cells while harvesting resources in one go. Even better, an item can trigger others as a chain reaction if lined up properly.


The type of item created is determined randomly. All unlocked items can be added to the range of possibilities. Perhaps for strategy, opting only for one particular item would be suitable. It all depends.

Thursday, June 21, 2018

Ancient Artifacts

Here we go, ancient artifacts for long-term playability. These are permanent bonuses for successive runs, in order to progress a tad further each play-through. By entering the portal, all progress is lost except ancient artifacts and energy to further upgrade them. For example, one ancient artifact can increase all red damage, and another one reduces the cost of upgrading items for all successive play-throughs.

Holding the staff button on the bottom upgrades the selected ancient artifact.

The numbers take into consideration the targeted language. In English we use commas to separate thousands and a period for decimal places. Some languages interchange these two symbols. Other languages use apostrophes too. This was fairly trivial to handle because C# allows this change through the CultureInfo class.

Upgrading an ancient artifact.

A feature like ancient artifacts and language localization are two critical features missing in Zombie Guard. That app will get some updates soon, after I am finished with this one.

I started debugging the app through my Android phone and the SDK. It is really motivating to hold the game in my hand, rather than poke at my laptop screen within the Unity application.

The game being debugged, connected to my laptop

I feel like I've doubled my skills with Unity during this month in Canggu. After I reach beta, I want to invest some time researching some open source Unity games and script packages in the asset store. There are so many little tricks in this engine and C# that I have accrued from here and there.

Sunday, June 17, 2018

Time to cool off...

I went ahead and started the third zone, a frigid mountain populated by strong defensive creatures. For now, an icy golem with strong armor, a spear wielding skeleton that pierces all three heroes in one attack, a frost mage that deals cold damage over time, and a mystical cloud that has low life but very strong physical and cold armor.


I still need one or two more zones and many more enemies to populate them. Additional heroes are a priority because there are only three. Hats and armor need to be added; the runes section too.

Today is June 15th. I am halfway through my stay in Canggu, so I ought to take advantage of my location! I'll be exploring a bit more these next few days, as I did in Ubud and Kuta.

Kuta, near Canggu

Kuta is a crowded beach area filled with shopping malls and restaurants. It is where I began my journey in Bali, since it is beside the airport. Canggu is along the shore too, but further northwest, away from the busy parts of Kuta. Ubud is centralized in Bali so it has picturesque rice terraces and a dense downtown area of shops and restaurants, commonly compared to the old city of Chiang Mai.

Rice terraces in Ubud

Sunset in Canggu


It is tough to choose a favorite between Canggu and Ubud. This Airbnb swings marks slightly in favor of Canggu, because of the incredible desk and proximity to a wider range of restaurants. I've raided some nearby fruit vendors and finally suspended my immersion of culture by eating western food like pizza and burgers. Coffee shops are everywhere and there is always something new around each corner.

I depart to Da Nang in less than two weeks and I am eager to return to such a wonderful country - Vietnam. Fragrant pho beef soup with endless herbs, rooftop craft brew pubs, rivers of motorbikes, scenic farms, and cities that have retained charming traditional qualities of the old way of life - floating markets and roadside street vendors. Despite the relatively recent decimation inflicted on that country, it is thriving and illustrative of the strength and willpower of the people of that nation.

Tuesday, June 12, 2018

The Cloister

I added a new zone called "The Cloister". It lingers with arcane and cold magic. It is populated by the undead and supernatural creatures.

Arcane magic (purple) is pure and it is the only elemental type that cannot be resisted through armor. It can even deduct a percentage of life, so it can be rare but rather destructive. Meanwhile the apparitions wielding lanterns can temporarily blind heroes, preventing basic attacks and skill activation. This is a dangerous zone, so a strong offense to kill swiftly will be a viable strategy.

The Cloister (the path will be fixed)



Each of the three current heroes now have a third skill. The frog with his/her "Cold Vine" skill can now bring any enemy to the front while inflicting nature and cold damage.


Yellow topaz gems used to represent pure physical damage. It never looked right and would clash with the orange coins. I replaced them with white gems, which makes a lot more sense given the purity of physical damage.

Monday, May 28, 2018

Monkeys and rewards

Lettin' it rain...

Rewards given at the end of a battle

I used the monkey art from Gassy Goat, by animating him in Spine and exporting for Unity. He delivers all the goods at the end of a successful battle. These rewards are predetermined, and include the in-game currencies of coins and fruit, and different keys for unlocking loot.

Reward chests with keys. I just noticed that I need to change the color of the explosions.

Loot is unlocked by using keys of the five elements. Certain heroes, skills, and equipment can only be unlocked by a particular elemental key. For example, the frog and all of his weapons and skills are found exclusively in green chests.

Hmm, so eventually, players will accumulate all weapons, skills, and heroes, leaving nothing left to unlock, correct? Yes. But, there is a hard cap on the maximum upgradeable ranks of each of these (currently 12). The enemies however, have no cap on their maximum rank; the game eventually gets too difficult to continue. At that point, there will be an option to "ascend" by resetting the game for permanent reward points to invest into bonuses for the next playthrough. If I do this correctly, then it should allow unlimited playability and a competitive leaderboard.

Speaking of monkeys, recently I explored the private monkey park here in Ubud, on the Indonesian island of Bali.

A macaque deeply contemplating his metaphysical existence and the meaning of life.
Or, how to jump onto my shoulders to conspicuously steal snacks out of my backpack.

I am completely nomadic now, renting different Airbnb accommodation each month from here on out. Ubud for one month, Canggu for the next on an extended visa. I have noticed many other digital nomads here in Ubud, typically found in some of the incredible cafes scattered downtown. The food here is healthy and the scenery is gorgeous. I will write more in my next entry.

Thursday, May 10, 2018

Map Loadout

I found and purchased some vertical maps and more background art from a Korean company on the Unity asset store. These are a great fit for the map loadout screen, where battles and minigame stages can be selected.

Vertical maps (21+)

Backgrounds pack (20+)

The vertical maps are seamlessly tiled vertically. At first I was looking to work out a license for some dungeon-crawler maps, but that fell through; I'm glad though, the vertical scrolling maps have more variety. Based on these assets, I can intentionally design and create appropriate enemies to go with them.

Map Loadout

The difficulty of a battle can be voluntarily increased for additional risk and rewards. I went back and forth between the editor and Clip Studio Paint, splotching down rough doodles on top of the empty game screen and then finalizing them. Overnight I decided I was satisfied with it, so I exported everything and then spent the day scripting it.

Monday, April 30, 2018

Loadout screenshots

The "loadout" is underway, which contains the higher level features to purchase and upgrade equipment, skills, open reward chests, etc. I wanted to have multiple currencies in addition to the usual coins. Well, shiny gems were not a wise option, because those are abundantly matched for temporary resources to activate skills. Instead I chose cherries, peaches, and radishes to barter with the bunny merchants. The food can be grown and harvested over multiple play sessions, which makes more sense than random chests and coins in this freemium game. Bunnies favor food over gemstones, so it's a twist on the value of objects in this fictional universe akin to Defend Your Nuts and Demons Down Under.

Once this is complete, then I am that much closer to a beta release on Google Play.

Weapons Loadout

Skills Loadout.

The weapons are used automatically when gems of the hero's color are matched. Skills are used by placing its respective pattern on the battle board. The three red dots connected by lines in the skills loadout depict that all three enemies are targeted by toxic rain. If there is no connecting line, then only one enemy is targeted. There are still some missing features, like the gem cost of the skills and its pattern. Plus the weapons loadout is a bit of a mess, so I might just make it look more like the skills loadout by reusing most of the same code.

Update:


Here is the improved skills loadout with gem costs and pattern. The cost is exaggerated for sake of illustration.

Updated Skills Loadout.

I threw in a new skill for the panda too, because most of the work is just filling out some data that specifies it; the systems in place take care of most of the work. It is not entirely data-driven because I have to specify what the computed gamma value does based on skill level, and, reflect it in the skill description as well.

Most of the code of a new hero skill that applies a beneficial buff.