Bernard Hwang

Level Designer

DevBlog

Dev blog - MechDog - Systems

Solo Project, DevBlogBernard HwangComment

MechDog has three systems associated with the core game.

Everything you see in this post is work in progress.

Systems

Currency

In the game the player can earn currency. These are the ways the player can receive currency:

  1. Points-Earning Actions
    The player can complete actions to give them points. A percentage of these points are converted into currency at the end of a run. The player can also find pick-ups during a run that increase the conversion rate to receive more currency.
  2. Currency Pick-Ups
    The player can find currency pick-ups that directly add to the player's currency at the end of the game. These pick-ups are not effected by conversion.

Upgrades

The player can use currency to purchase upgrades that enhance MechDog's abilities. The upgrades system categorizes upgrades by functionality (Jump, Slam, Token). The categories are tiered and require the player to invest into a category to unlock better upgrades.

Draining Health

On every run, the player has a gauge that counts down to the player's death. When the player hits an obstacle, a portion of the gauge will deplete immediately. The player can extend this life gauge by clearing obstacles and taking out enemies.

Design

Why have a Currency System?

A core design principle with this project was to pursue exciting moment-to-moment gameplay above all else. The currency system allows me to highlight specific actions with extrinsic motivation. The system gives me the tools to draw the player to certain actions.

Why have an Upgrades System?

The upgrade system was added after the addition of the currency system. They work in tandem to create a gameplay loop.

The player earns currency -> Spends the currency on Upgrades -> the upgrades help the player earn more currency.

Why have a Draining Health System?

Many endless runners share a one-hit death mechanic and a level generation system that ramps difficulty. The combination of these two work together to cause the player to increase their skill gradually. As the difficulty ramps up, the player faces new dangers that are likely to kill them. The one-hit death mechanic resets a player's progress, leading them to replay so that they can incrementally learn how to get better at the game. This method works if the goal is to stretch the amount of content and keep the player invested for a long period of time.

My goal with this project isn't to have a long running game service, so I decided to try a health system that allows for longer play. With draining health, the emphasis of the game becomes about being taking action rather than about trying to survive.

Dev Blog - MechDog - One

Solo Project, DevBlogBernard Hwang1 Comment

Overview

What is Mechdog?

MechDog is an Endless Runner project that is planned as my first Android release. You take control of MechDog, a dog in mechanical battle suit that races across the desert to escape his pursuers who you have stolen the mech suit from. 

Everything you see in this post is work in progress.

Abilities

MechDog's suit has three abilities:

  1. Jump
    The suit has the ability to launch itself into the air allowing the wearer to leap over hazards without losing speed. The suit can also land on enemies after a jump to destroy them.

  2. Thrust
    When in the air, the suit can use its ion thrusters built into the arms to keep the suit from losing altitude.

  3. Slam
    Also when in the air, the suit can reverse its arm thrusters to thrust itself down to avoid above-ground hazards and damage enemies directly below.

Prototyping Abilities

Design

Why for Mobile?

I wanted to develop an Android release to follow up my internship at Gameloft, a mobile games studio. I had created two experimental mobile games in my senior year at school in which I found tackling touch controls to be an interesting design challenge. Making a mobile game allows me to continue exploring this challenge.

Why an Endless runner?

The Endless Runner genre is a matches well with the constraints of touch controls. With forward movement being automated, the player can focus on executing other actions and abilities. This in theory allows me to design for more exciting moment-to-moment gameplay without worrying about overburdening the player with information.

How did I decide on the abilities?

This project got its start after I read a design article about how add more nuance to jump mechanics. Feeling inspired, I launched unity and messed around with a jump mechanic that had more force the longer your pressed the jump button. This is where the 'Thrust' mechanic evolved from; having more air control tested better within my small test group. Thrusting seemed like a good way to compensate for the lack of lateral control.

The 'Slam' mechanic was initially meant to just be a band-aid solution. After implementing a jump and some test enemies, there were instances where the player missed landing on enemies to take them out. I added a slam instead of tweaking player physics as a quick solution. Again this option appears to work because it gives more control to the player. In addition I assigned the slam to a swipe down gesture to exploit natural mappings with touch controls.

Dev Blog - Mashball

DevBlogBernard HwangComment

Mashball is a multiplayer arena combat game that pits up to four contestants in to a deadly game of hot potato. From it's initial prototype, the game has had a list of feature implemented so far.

While the tech team gets the engine into a workable state, I've been responsible for creating a working version of the game in Unity.

Using Unity to build a precursor version of the game has allowed me to hit the ground running. I've been able to playtest, create levels, and iterate on mechanics far before the team's engine is ready.

As the tech team gets closer to reaching a point where the engine is in a state that allows for geo building and gameplay scripting, I expect to be tackling the difficulties of transferring mechanics from one engine to another.

Here is some footage from our latest playtest session.