iPhone Woes, Tutorials Done!

Hey Folks! Another busy day today, so that's cause to celebrate. Though a good chunk of that work was puzzling through iPhone weirdness.

Just when we thought we had the new iPhone high-DPI screens figured, they're wonky on two of our testers' devices. The screen the game engine sees is different size than the actual screen. Like, we're scaling up 2x when we should be 3x. None of this is helped by point sizes, render sizes, physical sizes, and the various scaling voodoo that goes on.

I am really starting to dislike Apple again :)

In better news, I think the tutorials are done! Well, the first stab at them, anyway. I even had some time to add quality-of-life enhancements such as a timer to prevent one firing directly after the other, and shielding the user from clicking through the tutorial and moving accidentally on the map.

It's actually fairly context-sensitive, too! If you end a turn with a bleeding wound, it hints at the conditions screen. If you get a usable item, it tells you how to access that menu. Etc.

And what's more, it'll remember to only tell you these things once. Which leads me to the piece that's missing: resetting tutorials in case you want to see them again. It's a fairly simple task, but the tricky part is where to put it in the UI. I started down the path of restructuring things on the Options screen before I realized it'd make more sense on the Help screen.

Even so, some of the changes to the Options screen are kind of necessary now that we have a music mute button. So I have a bit of UI work ahead of me. Still, though, this was a large and complicated task that is (for the most part) done!

iPhone Testing, Tutorial Making

Hey Folks! iPhone testing is in full stride today, and tutorials are making progress.

The recent batch of iPhone testers are sending in results now, and we're already finding issues. Worse than the scaling we feared, some are completely unable to start the game due to unresponsive buttons.

So far, the culprit might be a UI resizing event missing from the various game states. But at least one user seems to have the patch for that with no effect. We're scratching our heads as to why, particularly since the emulator shows different results. More testing needed.

In better news, Tiago was able to close a whack of bugs in our tracker last week, so we made lots of progress on that front!

I've also got close to 3/4 of the tutorials implemented, and so far, so good. I was about to add the next, but I've run into a weird null pointer issue during item screen tutorial checks. I think it's just a matter of postponing the checks until the game officially starts (i.e. after skill selection), but I'm a bit confused as to why it ever worked before and not now. The programmer's curse!

The web team is ready to do a DNS overhaul for the site, which is slated for tomorrow. We're not expecting any downtime as it's supposed to be a seamless DNS propagation, but you never know.

The good news is, once done, the DNS will be managed by a dedicated CloudFlare service, instead of my old clunky webhost CPanel. In layman's terms, this means better resiliency to traffic spikes and bogus visitors. And if recent setup process is any indication, way easier UI for managing settings.

Quite a busy day! It seems like whenever I have a productive day like this, I usually say something like "hopefully the momentum continues tomorrow!" And then tomorrow ends up being a bust. So I won't jinx myself this time :)

BBG Office Setup, 2nd Attempt

Hey Folks! Hope everyone had a good weekend. Ours was not the most relaxing, as we spent it scrubbing, scraping, painting, cleaning, and generally continuing our move-in. I've been trying to leave business hours for work, so that leaves evenings (ha! as if I have the energy) and weekends to continue unpacking and arranging.

I'm sore all over from what amounts to Cinderella-esque janitorial duties and moving boxes around like low-poly CG dudes in a Dire Straits video. But I am rewarded for my effort!


The Return of the Home Office

Probably the most impressive thing about that photo is how clean the desk is. But the pile of crap behind is is there to remind me I have a lot more to do. Shelves are en route, and off-screen are some music-y toys I've had in storage for far too long. This might be a fun little workshop once I'm done!

In terms of actual work work, it was more a management day than anything else today. The website folks needed some more DNS changes, as my efforts seem to have been ignored by my webhost. I've decided to turn the controls over to them, since having them to handle stuff is kinda why I contracted them in the first place. (Note to self: keep reminding yourself of this!)

I also started revisiting the disease stats and discussing more with Kaaven and Tiago. I think this is a case where, technically, the system is working as designed. But the design may need fixing.

After number-crunching cholera, and then testing it in the live game, it appears cholera is only 86% deadly. It brings a healthy character close to death, but a careful player can avoid dying. Since cholera has a 50-60% mortality rate when untreated, this might be too low. But then again, nobody's noticed nor complained since 2014, when this change happened (in the PC version). But then again then again, who's going to complain cholera is too easy to survive?

Well, apart from Kaaven ;)

I'm going to run some more numbers and tests tomorrow, particularly in the other diseases. Maybe we need to amp-up some of these diseases by 20-30%, to bring them more in-line with reality and restore their former glory!

Visitor Yesterday, and Tutorials

Hey Folks! I apologize for the radio silence yesterday. An old friend was in town and came by to visit, so we were catching-up and ogling over retro consoles and Japanese stationery downtown :)

Back at the desk today, I resumed work on the tutorial. So far, it's going well. I have the overall system working. It covers the screen and halts input to the UI behind it, and will disappear if the user taps or does any input event. It saves data to a file so they only show once per-user. (Malacodor reminded me I'll need to allow users to reset this.) And each tutorial will have a priority so only the highest unseen one will appear first.

Pinch zoom was the first test, and is now hooked-up to appear the first time the user opens the item screen and a tiny item is on the ground. And I started to add one for precision dragging, triggered when the user has swapped an item on the grid at least 3 times since starting the game.

However, it's not showing up. Or rather, it's showing up and disappearing before I can see it. My gut feeling is that it's being opened as the result of an item being released, and the same command that releases the item is registering in the tutorial and closing that, too. There are ways to avoid this, but I haven't had a chance to try them yet.

So far, I'm fairly optimistic this'll work. We shall see next week when the rest get added :)

Have a good weekend, all!

UI Fixes, and Tutorials

Hey Folks! Back to gamedev today, thankfully. I managed to clear several UI fixes and improvements, confer with Tiago on some more, and get started on a tutorial.

The UI fixes were largely things Kaaven recommended after spending some time with the app. As someone who helped shaped the original UI with his suggestions, I was keen to see what he thought. And so far, some really good (if sobering) feedback!

The earlier sprite padding changes were part of this list, and today included some changes to recipes to take advantage of some quality-of-life changes Kaaven made in his mod. Namely, making "fire" a separate quick-recipe category, removing the talisman as a potential ingredient, as well as brightening the blue highlight when dragging items on the UI.

Tiago's also working on some changes suggested by Kaaven, including swipe support for some UI elements (toggling target in battle, attack modes, etc.) and some harder-to-hit buttons. He's also chasing down the last issues we're having on retina iOS devices (which we found thanks to video-Josh). We may have to go with anti-aliasing on said devices since the screen size looks illegible or has letterboxes from hell without it.

Finally, I've also started work on a tutorial system after resisting for many years. I think Kaaven is right that mobile users probably won't be as forgiving with unintuitive UI as PC users were, particularly since they won't be alt-tabbing to a wiki for help as much.

The current plan is to pop-up some tooltips at strategic moments to remind the user of certain UI features that can help. E.g. the first time they get a usable item as loot, the game will let them know how to open the context menu by showing a message and image about tap-and-hold to open the menu. The tutorial is dismissed with any user input at all. And after that, it will never show that tutorial again.

The list of events is currently 6 items strong:

  • Pinch zoom info first time small object received as loot.
  • Precision drag info first time items create a small empty grid space in a container.
  • Crafting output selector info first time recipe can produce more than one output.
  • Bandaging info first time turn ends with un-dressed wounds.
  • Sleeping bag info first time player ends turn with sleeping bag owned but not equipped in ground/camp.
  • Info on using items first time player receives usable item in inventory.

We may add more, or we may remove some. A lot will depend on how this feels in practice. We don't want them to interrupt whatever the user is doing, and we want them spaced-out enough over time not to be obtrusive. It'll be a difficult balance, but hopefully worth it!

Meatworld Interruptions

Hey Folks! As the title suggests, today was full of interruptions, resulting in a lower productivity. The good news, however, is that I think my plate is mostly clear again to resume gamedev now!

I won't bore you with the details, but most of the stuff involved updating accounts, paying bills, and signing docs. Stuff we had put on hold starting the day we packed up our stuff until now, when we're mostly operational again.

However, there was one interruption worth noting: a new network card!

Yes, I believe I may have my internet back. It's wireless now. It cost a pretty penny for both the router and adapter upgrades. And it took a heckuva lot of messing around to get right (unit positioning, rewiring, mobo slot-swapping). However, early tests show down/up speeds faster than the hardwired setup in the old house, partially thanks to a new router.

I won't be live-streaming HD footage of my gamedev, nor will I be winning any FPS tournaments. But I can at least upload builds painlessly and get answers on the internet without waiting for text pages to load :)

Feels good to stretch my (internet) legs again!

Back In Business

Hey Folks! Looks like I'm finally unpacked enough to get back to work. Still getting caught-up on all I missed last week, but it feels good to at least be addressing things again.

First on the list was getting Tiago unblocked. He made some serious headway last week on the issues I triaged. Most importantly, I think he was able to solve a resolution issue on certain iOS Retina screens. That, and he's been working on various other UI polish/fixes. However, he needed some more info from me to proceed on some tasks, so that was priority one. (Someone's gotta be making progress on this thing while I'm being useless :)

Second up was settlingup with video-Josh. His latest draft of the trailer is the one! It includes the latest game footage where I matched the player's outfit with the veteran's in the live action, so now we see both the newbie and veteran characters aligning better with the actors. That, and some polish and tweaks to effects, text call-outs, and "where to buy" info at the end, and we now have a super professional trailer. I certainly am blown away with how it came out, so I'm hoping you'll all enjoy it when you see it!

I had a whack of emails to sift through, as well. I'm not finished with those yet, but it's coming along.

And before I fall too far behind the repository, I wanted to finish up the sprite padding changes I started two weeks ago. I think I've got that done now, and it presented a problem in the sprite atlas for the game: too big to fit! All that padding added up to enough that 3 images no longer fit the atlas.

So I detoured briefly to scour the sprites for anything I could delete, and found a handful. Mostly old GUI options that no longer apply, a flash save cookie warning sprite, and some laser rifle sprites. None of these are hooked-up in the game anyway, and without modding support on mobile, I don't think anyone will miss the laser rifle, either :)

Anyway, quite a busy day! But as I said above, it feels good to be "live" again. I always get stressed when I go too long without dealing with work stuff, and this was no exception. See you all tomorrow!

Still Alive! Just Unpacking

Hey Folks! I'm typing this in front of an impressive stack of boxes from the new Blue Bottle Games, LLC headquarters: the basement of our new house!

Unfortunately, I literally only have the PC's basics hooked-up so far, and plenty of unpacking yet to do. Also, I am as far from the cable outlet as humanly possible in this house, meaning I'm on a tenuous wifi connection. Quite the step down from the old hard-wired connection. Might be time to upgrade to a better wifi router and adapter.

Anyway, not much to report since the last update, since it was literally all move-related shenanigans. I guess I did do some urgent tax review and signing, plus some feedback on the trailer. But certainly nothing akin to actual coding, drawing, writing, or other fun stuff :)

The good news is, however, I should be gradually more at work, and less packing/moving as time goes on from here. And with any luck, that'll be the last major interruption for a long time!

Item Padding, Trailer Preview, and OOO Early Next Week

Hey Folks! Spent a good chunk of the day working on updated sprites for mobile items, as well as checking out video-Josh's first draft of the trailer!

Even though it's just a first draft, the trailer is already impressive. I was surprised at how intense it was. One of the goals we were hoping to hit in the piece was a sense of gravity, and man, we hit it. I'm even a little concerned it might be too strong!

But the more I review it, I think it could be one of those things that starts out shocking, and gets better with time/review. Provided it moves in that direction, even very slowly, we may have struck just the right balance.

Most of the rest of the day was spent reworking certain item sprites to have a faint (10% alpha) padding around them, so touchscreen selection is easier. Certain items, like lockpicks, bows, and other "wiry" items had holes in them or were too slim to hit with a touch input. At least, whenever they were slotted. (Grid is fine as it uses a different method to hit-test.)

I'm about half done now, with a large chunk of the time used to re-export the wound images. (So many wound images!) I think I should be able to get those integrated next week.

Which segues into my next point nicely: I'll be OOO early next week since we're moving!

Usually, there's a day or two as we get necessities unpacked and setup, and I'm expecting that to be the case here. And one never knows if internet will be up and running in the new place on time. So if it gets quiet here, you know why. I'm here, just disconnected or without a desk :)

Have a good weekend, and talk to you soon!

Hardware Install, Bug Triage, Trailer Footage

Hey Folks! More loose ends tying-up today, plus a hardware upgrade!

The hardware maybe isn't too exciting to anyone but me. It's a 1TB solid-state drive (SSD) for my work PC. But since my old 500GB SSD was 90% full, space was getting tight. And recording game footage was making this painfully obvious!

So I spent about an hour with a dissected PC on the floor today as I installed and configured the new SSD. And I'm now in the process of copying the largest blocks of data I can over to that one, so I can free up the 500GB SSD for OS use and frequent work files.

The bug list got a huge triage today, with a lump of new user-experience (UX) tasks bumped to the top. I'm going to see if we can add some more swipe input support for certain UIs, better hit registering on UI elements, and some context-specific tutorials. Not the most glamorous work, but it'll hopefully make a big difference. Especially to new users!

Finally, I recorded one more in-game scene of crafting some specific items. This covers all our basic needs, except for maybe getting ambushed in sleep by a dogman. "Video-Josh" (thanks, Malacodor!) says he has what he needs for now, and will keep me apprised of progress.

It feels like things are in order and nobody's blocked by me for now, which is a nice change!