Sorting still a bit screwy

Sorting still a bit screwy

xxBlazeGuy420xx is a fine name - what could go wrong?

xxBlazeGuy420xx is a fine name – what could go wrong?

Switching these weekly posts to Sunday, rather than try to squeeze them in when I’m trying to close out the sprint on Saturday.

So this week marks a new milestone, one I’ve been looking forward to for quite awhile:

The BIS MVP is done!

Which means what? Well, “minimum viable product” (MVP) means different things to different folks, depending on what it is that’s being developed. In this case, the ‘folk’ is me, an indie game developer working towards shipping his first product.

For that guy, the single most important thing is to have a game that is on my phone and playable. This serves two purposes:

  1. I can start the critical process of gathering feedback from people around me, and
  2. It serves as tangible proof of progress

The first is self-explanatory. The second is a consequence of how I’m building this: as a side-project while I work a full-time job. Significant sacrifices are being made each week to move this project forward, and I need to feel I have something to show for it.

Finalizing what I’ve been calling “the phone demo” meant spending most of this week working on cleaning up the UI for phone use. I think I’ve finally got a handle on how to build a proper resolution-agnostic app in Unity, so yay for that.

It also meant fixing some critical bugs and adding a few important “I’m a real game!” UX/quality of life aspects. I’ll just bullet list these:

  • You can enter a name for your character.
  • You can change the active character without forcing the game to close.
  • You now earn a little bit of money for clearing your own blocks, a sort of “recycling” bonus.
  • When exiting mining mode, you now get a more complete list of results, including “grassy dirt” and your own blocks.

I decided towards the end of the sprint that finishing the tutorial is really not that critical, just yet. The game right now is fairly straightforward, except for how multi-clear leaves blocks behind. I expect that will become more intuitive with additional visual cues.

OK, enough about last week. What does the future hold?

This week, I’ll be spending a fair bit of time nailing down which high-impact, high-fun features I want to get in place for the F&FA (Friends and Family Alpha). I have two main goals, here:

  1. Try to capture the first real “spark of fun”, and
  2. Start getting some feedback on whether I’m on the right path

New Feature: Block Inventory
“Spark of Fun” work this week will primarily be the “block inventory”.

Right now, each round, you get a random piece from a list of 1- to 7-square blocks. I will replace this with something similar to deck building in a CCG.

The high-level explanation is roughly as so: You start with a set of blocks in your inventory. While on your ship, you create/customize a set of blocks. Then while mining, each round your next block is selected from that set. Each block has its own traits, for now Color and Power. You can tweak the frequencies of each block a little bit (the big 7-square ‘U’ shape is brutal), but for the most part you have to make do with what luck hands you.

As you play, you can acquire new blocks, using them to change your set of blocks, and make gameplay fit your style more.

For the time being, there’s little reason to use the larger blocks – they’re mostly a pain in the ass, a hurdle to overcome. In a later sprint, I hope to introduce some sweeping changes to the core gameplay that will give the large, opinionated blocks a place in some players’ arsenal.

This week was 2 steps forward, 3 steps back.

The general theme was to have a solid, playable phone demo.

To that end, I spent a couple days polishing the touch UI for mining. Previously, I had been using a downward swipe gesture to do the “land” action – throws the block down to wherever its shadow is and immediately locks it in.

Thus far I’ve been unable to get that feeling right, so I decided I’d remove it for now and introduce a clunky “place block here” button.

In general I don’t think touch UI + gravity + precision gameplay works well. So, first, I removed gravity while mining. You can move blocks upwards at will, and the game won’t automatically lock-in or land your blocks.

In short, timer-style mechanics like block gravity make the imprecise nature of dragging blocks around feel dramatically worse than it is. Without gravity, the UI feels fine, if a little tedious.

It’s of course a risk to stop using a mechanic that’s quite common across the genre, but I feel it actually matches the flow of the game quite well.

Some reasoning in favor of this:

  1. Strategy, Not Twitch-y: Twitchy gameplay works well on PC, less well with mobile-native touch input. It also requires small decisions: “How do I place this block on this playfield to get a solid line?”
  2. Digging is a Marathon, Not a Sprint: Players will dig regularly, since it’s the means to most other ends. Players will want to mine as quickly as possible – there’s already time pressure, adding more is redundant.
  3. Multi-Clear Obscures Outcomes: The simple multi-clear mechanic I added early last month makes it hard to anticipate the exact outcomes of placing blocks. There will be more complexity added to this soon, and taken together, players will find it prohibitively difficult to make optimal snap-second decisions. Being asked to will just cause frustration.
  4. Depth Matters: Mine depth affects resource types and frequency. Players may want to return to the same mine repeatedly, to make progress. Being kicked out of the mine because of regular gravity-based failure is just an annoyance.

Time will tell whether playtesting feedback agrees with this.

Otherwise, I spent literally every other minute of work this week contending with the fact that my UI turns out to not be properly “responsive”, in the web design sense. Sadly, this translates to “no screenshots this week”.

Unity provided a fairly powerful GUI layout engine starting in release 4.6, and though I thought I was using it correctly, reality disagrees.

At the core of this is that it’s tricky to get the editor and phone to behave identically. I set my editor view to match the phone’s resolution, but most modern phones have more vertical screen real estate (in pixels, in portrait mode) than a desktop/laptop. So even maximized, it’s still being shrunk some, and this seems to have a real impact on the end result.

This will be the main ticket next week as well, unfortunately. But hey, once it’s done, the game is pretty much phone-ready!

I’ll also try to get a web-based demo up, though that will likely come with its own challenges.