"Usion" doesn't seem like a space station name, does it?

“Usion” doesn’t seem like a space station name, does it?

Having trouble finding an art deco-y font that has readable numbers at this size...

Having trouble finding an art deco-y font that has readable numbers at this size…

The 'Dig' button is flashing here - really need to get some animated gifs together.

The ‘Dig’ button is flashing here – really need to get some animated gifs together.

The bulk of the fun work this week went into the Starmap, though there were changes all over the place.

Starmap Changes

  • Slow parallax scrolling of the stars in the background
  • Space stations don’t generate all willy-nilly anymore
  • Gesture-based scrolling finally in
  • All celestial bodies are actually named now, though I’ll be polishing the name generation for a long time to come

Related to this was a change to how planets generate that provides the first bit of reason for exploring different planets: They can actually generate very different amounts of each mineral, now.

And related to that, behold! Seeing your spoils is prettier than ever! Pretty, and unsorted!

Lastly, the basic Tutorial is getting closer to complete every week. Most of the text (first draft at least) is written, dialogs are all created, but still need a bit of underlying plumbing to make them useful.

Next week I finally tackle my nemesis: How the hell do you make a mobile-native interface for a game that was historically precise, twitchy, frantic?
And my other nemesis: Making Unity UI both resolution-responsive and and and pixel perfect.
And my other other nemesis: Finishing the Tutorial sequence. I think this is the week.

Stay tuned!

I wonder if anyone's actually shipped a game named "Placeholder"...

I wonder if anyone’s actually shipped a game named “Placeholder”…

This week, I focused on implementing Tutorials. If you’re not interested in behind-the-scenes stuff, this might be one to skip.

Even for devs tutorials are a relatively dry “feature”, but I believe they are a critical one nevertheless. This goes double when you’re trying to pull off an artsy-mobile-minimalist game.

I found this tutorial system kind of weird/fun to implement: It needs to intercept/prevent input, toggle effects on and off, change numbers around, and even provide interactive dialogs. These actions are each ordered in a script, with specific conditions required to transition to the next action.

For the time being, the BIS gameplay is straightforward enough that I think I could do a purely graphical tutorial, but soon that won’t be true. Some of the gameplay modes are considerably less intuitive, and it seems likely that I’ll need text dialogs to explain hem. So I made some, and you can see an initial example on the right.

Each dialog is an instantiated prefab where the script is filled in manually. They could easily pull text from a file at run time (obviously necessary for localization), but I’m still not comfortable with how Unity UI elements resize and reposition themselves. For now, I feel it will be necessary to tweak them manually.

The code behind the tutorials is essentially a finite state machine (FSM). Any given step in a tutorial is a ‘state’. User actions change the values of variables that are watched by the tutorial FSM, which in turn trigger various effects. The effects are quite versatile, including transitions between states; toggling on/off dialogs, media, or any given part of the UI; modifying the watched variables arbitrarily; and soon, directly adjusting the player’s data.

This is likely unnecessarily powerful for the tutorials BIS will need, but once the right abstraction was in place, the extra functionality was almost free. Yay for that.

Next week, the march towards F&FA/”minimum shippable game” continues with some polish to space travel and the mining UI. Wee!