Mountain – Menu UI

The HP numbers in the screenshot are a bit squished. I should fix that.

The menus in the game now feature 2 separate fonts:

Originally I went with this solution for technical reasons; resizing 1 font multiple times was either too ugly, or too costly in performance, depending on the implementation. So I chose different fonts for large and small text.

But it turned out to offer a better user experience as well. The separate fonts offer better visual separation. And using a font designed for small text gives it better clarity.


I also added pop-up tooltips when you mouse-over an icon.

The game only has 4 character stats, so it’s simplified compared to most RPGs that offer 6-10. But I haven’t been able to find a place to explain the benefits of each stat to the player, without dragging down the flow of the game. For now, tooltips are a good solution.

Mountain – Event Interaction

I now have a standard event interaction UI.

  • Description of the event in the bottom window.
  • Responses in the middle.
  • Tooltip for each response – with chance of success and costs – at the top.

The Mountain pre-Alpha 0.0.2a

Not much fun to play yet. But plenty of the technical underpinnings are complete.

  • Randomly shuffling maps. 36 maps are created for each area, but only 6 will be chosen per run.
  • 3 initial character classes: knight, archer, mage
  • You can walk through the game and get to the end (but only the bad ending is available since the goal item isn’t obtainable)

The major thing to work on now is content: giving you something to do on the maps. Enemy encounters, treasure, events to interact with that could give positive or negative outcomes depending on your stats, possibly traps that could either damage you or give you an advantage if you lead enemies into them.

A few other technical points:

  • The resolution is now 960 (20 tiles wide) x 528 (11 tiles high) – similar to modern indie games like Binding of Isaac Rebirth
  • For the web version, I’ve added a preloader service worker. It will download and cache all of the assets for the game in the background.
  • The engine is now my custom fork of the MV core scripts
    • Working on changes to text and gauges, which is why they currently look worse than the Battle Test

Play the Game

The Club 0.9.4a

This update is largely focused on the behind-the-scenes part of the game. I spent some time fiddling with the engine for other projects, so The Club gets a backport of that progress.

Play the Game

Content changes since 0.9.3

  • New title art
  • Some menus now have rotation applied – so swanky!
  • Incidental dialog added when you check background objects
  • New gradient-based transition between scenes
  • Now using a separate font for displaying numbers in “combat”
  • Volume lowered for most GUI sounds

Technical changes since 0.9.3

  • Added skip cutscene plugin
  • Now using WOFF-based fonts instead of TTF (smaller file size)
  • Added a toggle-able fullscreen button to the title scene
  • Title music now loops at the appropriate point
  • On-screen buttons can now be enabled or disabled in the menu
    • Enabled by default on mobile devices
  • Mouse mode can now be enabled or disabled in the menu
    • Enabled by default on desktop devices
  • The synchronize monitor FPS setting now attempts to guess if you have a monitor refresh rate over 60hz
  • There is now a preloader that shows progress as the game’s main engine files load
  • Switched from lz-string to pako (deflate) save game compression (faster and smaller)
  • Saving the game is now done on its own thread using a web worker
  • Text colours are now chosen from a list of static values instead of looking up colours in an image file – this fixes a Firefox bug that would scramble text colours
  • Using a new preloader script that attempts to download necessary files in advance
  • Upgrade PixiJS from 4.8.9 to 5.3.3

The Mountain Battle Test 1.0.0

My goal was to create a system with a little added tactical depth, without too much unnecessary complexity.

  • This combat system uses a 1-dimensional row system. You can be in the bottom row, the middle row, or the top row.
  • You have 4 action points per turn that you can use for movement (to transfer between the 3 rows) or battle skills.
  • Sword-users can only hit targets on the same row as them, but they’ve got the muscle to push targets into other rows, or pin them in place.
  • Bow-users benefit from the high ground, gaining a significant bonus to damage and accuracy from being above their targets.
  • Staff-users are your crowd-control specialists–their skills can hit entire rows. But watch out for friendly fire.
Swordsman pushes an enemy down with a short-ranged attack.
Archer moves an enemy with an arrow.
Wizard casts spell on row of enemies.

The demo takes around 5-10 minutes to experience. There’s 1 map with a tutorial battle. Then you exit to a field that has 4 battles with random opponents.

Graphics, music, sounds, animations, etc. are placeholders that will not be used in the final game. The only thing I’ll probably keep are the enemy battle sprites (courtesy of Vibrato).

Play the Game

The Club 0.9.3

Testing this game on my phone made me realize the default UI needs a lot of work. So the last few days of work was primarily spent on that.

Play the Game

Changes since 0.9.1

  • Much improved the mobile UI, with bigger line heights and a persistent menu/back button at the top-right
  • Added rotation to the menu animations – this sounds like a small change, but the personality it adds is huge
  • More fun version of the loading graphic
  • Added voice-like sound clip when you introduce a topic to an NPC; and to their response
  • “Quit game” command on the title screen is now hidden from the web version of the game
  • Gamepad options can now be configured on mobile devices (if the game detects a gamepad input)
  • You can swipe vertically to move up and down most lists
  • You can swipe horizontally on the equipment/skills menus to swap between characters
  • Followers are gathered up when you talk to NPCs much more quickly
  • Fixed incorrect map name showing up

I bit off more than I could chew

About a year ago, I realized this game project was unsustainable. I should have been aiming for a minimum viable product, so I could play through it and evaluate the ideas I was putting into the game. Instead, I kept changing the features on a whim, and re-balancing the minutiae despite not having an idea of the bigger picture. This game would never be finished.

So, I decided to make three games instead of one.

And then there were three

In a way, it’s more work – but it’s a necessary step to releasing a finished project. Each game concept is focused. By completing smaller projects and working my way up in complexity, I’ll be able to learn how to successfully complete a game without feature bloat.

Here are my concepts:

1. The Club

In this world, there are cliques and cliches.

The DJ at your local gay club is possessed by a demon!

… Or something like that.

The point is, he won’t accept your song suggestions.

Win as many people onto your side as possible and confront the DJ!


  • Comedic, irreverent
  • Neon colours
  • Chiptune dance music


  • Goal: Recruit as many party members as you can, and then challenge the boss
  • Start with a randomized party
    • 1 of each class
    • random character names
    • random equipment
  • Item descriptions are silly
  • Recruit new party members
    • By winning them over with a rock-paper-scissors dialog system
    • Or recruit them in battle (on the dance floor) by using moves that boost their Climax
  • Combat
    • Simple, turn-based
    • Recruit enemies by boosting their Climax
    • Or quickly send them home by chipping away at their Stamina
  • 4 character classes
    • Jock
    • Twink
    • Bear
    • Queen
  • Play time: 10~20 minutes

2. The Mountain

In this world, city states cling to the world’s peaks, and the lands below are swamped with choking miasma.

For short periods, storms sweep away the toxic air. At these times, scavengers from each kingdom must forage for supplies.

Gather 10 rations and 10 salvage. Then return to the mountain plateau before the miasma returns.

Battles with enemies and journeying between areas will each take 1 hour. You have 24 hours to complete your mission.


  • Light on story, heavy on mechanics
  • Bright, fantasy palette
    • Humanity will be run-down, but nature will be thriving
  • Music that evokes mystery


  • Focused on a tight time-limit, and meaningful mechanical choices
    • Every meaningful action takes 1 hour from your total 24 hour limit
    • The item economy is tight: you can use a Ration to heal your party, but you need to keep at least 10 rations to complete the game
  • Journey down a mountain through a small series of maps, making choices about whether to battle or avoid enemies
    • In future: Possibly expand into a rogue-lite style where you start from scratch at the beginning of the run after each failure – but with character EXP saved
    • In future: Possibly build more maps than absolutely required, so they can randomly shuffled at the beginning of each run, creating a more unique experience
  • On-map enemy encounters
    • Transfer to the battle scene when touched
    • Some sort of naturalistic behaviour, not exclusively rushing the player
    • You can hear them before you see them
      • In future: positional sound
  • On-map points of interest
    • Luck-based objectives, eg. you encounter a well and can’t tell if it’s dry or not; choose whether to spend 1 hour seeing if there’s anything useful in it
    • Treasure chests
      • Have a chance to be locked and require 1 hour to open
      • Have a chance to be a mimic monster
      • Have a chance to be a straight-up reward at no cost
      • Frequently surrounded by enemies
  • Item descriptions hint to a greater backstory of the world
  • Combat
    • Turn-based, Action Point (AP) system where characters can take multiple actions per turn
    • Battles will heavily utilize a vertically stacked row system
    • Players can change between rows at any time with a small AP cost
    • Some classes are close-ranged and need to be on the same row as an enemy, while other classes prefer not to be
  • 5 character classes
    • Knight – can defend allies on the same row (by drawing enemy aggro and passively reducing damage taken by allies), and knock enemies up or down to other rows
    • Archer – want to climb higher than foes because they get bonus damage from being higher than their targets
    • Mage – has situational spells, like lightning that strikes only the top row; possibility of friendly fire to units on those rows
    • Scholar – causes persistent debuffs to entire rows
    • Medic – heals and supports allies
  • Play time: 45~60 minutes

3. The Mines

(aka Silent Ashpit, formerly Four Corners Quest)

In this world…
criminals are used as forced labour.

Descend the mines.
Pay your debt.


  • Atmosphere of dread and futility
  • Ooky-spooky aesthetic – washed out with pops of red
  • Ambient soundtrack


  • Combat
    • Turn-based, Action Point (AP) system where characters can take multiple actions per turn
    • Can manipulate the stage: eg. spilling oil, then lighting it on fire
  • 4 characters, each with a back-story and narrative goal
    • Focused on money, loyalty, and a buried ancient evil
  • Character loyalty system for making choices that line up with the character’s motivations
    • With rewards for making characters loyal to you OR fear you, so it’s not too prescriptive
    • Possibly also an insanity system, so characters you’ve abused too much will have a more negative description of how their lives turned out at the end
  • Get to the end via a number of different routes
    • Individualist: Pay off your debt
    • Nihilist: Side with the cultists and unleash a great evil
    • Revolution: Defeat the guards and break out of the work camp
    • Traditionalist: defeat the great evil and lock it away for one more generation
  • 4 base character classes, which each have 2 specialized subclasses, for 12 total
    • Cultist (Glass-cannon magic class)
      • Dark Priest
      • Necromancer
    • Sellsword (Well-rounded physical class)
      • Iron Fist
      • Berserker
    • Sawbones (Healing/support class)
      • Mastermind
      • Puppetmaster
    • Thief (Debuffer and pickpocket)
      • Rogue
      • Assassin
  • Estus-like healing system
    • You can get 4 rations free each time you exit the dungeon and return to town
      • Can request any combination of healing potions or power-up potions until to 4 total
      • This creates a risk-reward system where players can either power themselves up or heal themselves
  • Money is your primary tool for advancement
    • Is used for unlocking plot on one particular path, but it will provide useful rewards even if you’re not perusing that ending
    • EXP may still be used for regular level-ups, but those will be weighted less important than equipment, which will be expensive
    • If you find weapons in the mines, you have to pay to have them identified before they can be used
  • Play time: 1~2 hours

Gallery: Maps

I roughed out 30 layers of the game’s central dungeon. The tileset changes every few floors as you break through to another layer of strata. It’s largely devoid of interesting landmarks as of yet.

Finally, a bonus test map with enemies trying out different patrol routes and behaviours.