Gear Switch, and OOO Monday(ish)

Hey Folks! I'm in a bit of a holding pattern with some of the tasks I've started, so I decided to switch gears today and spend a bit of time on the space game.

Namely, naming it! (pun intended)

I think I've got a name I'm going to stick with. After many a false start and unoriginal idea, I finally arrived at something that can be mine. Mine! And I think it might even suit the nature of the game a bit better than my previous ideas.

It's been sitting there on my list for over a month now, and I've been turning it over in my head from time to time to see if I grew tired of it. But it's still pretty interesting to me, and I still like it. So I think it's a go.

Plus, it's mine! Only mine! No other games use it yet!

Not posting it just yet, though. I'd like for the announcement to contain a bit more fanfare than some text buried in a Friday blog post :) Maybe coinciding with some art or other assets to make it more exciting. But it's a bit of a relief to finally have that figured out. Soon, I won't have to say "NEO Scavenger Space Game" :)

In other news, Monday is a stat holiday here. So I'll be taking the day off. And I'm likely to be scarce during the week as we prep for yet another move. This one might be the last for a while, though, as we're finally getting a house of our own! But as you might expect, that comes with a mountain of paperwork and running around. Perfect time for launching a game (not).

So I apologize if I "go dark" for a few days. I think I should be mostly back to normal after that, though. Maybe lower productivity here and there during the move, but hopefully, no major stretches of radio silence.

Anyway, hope everyone has a good weekend!

Trailer Research

Not a lot to report today, as it was mostly research and testing for trailers. But I did make progress on that front.

For one thing, it appears there is a way for me to record footage of the mobile build on PC without the cursor appearing. Which is good! Whatever I do for the trailer, I now have a way to insert footage of the actual game. But watching the cursor-less footage is a bit weird. Like watching a game haunted by a poltergeist :)

That got me thinking about whether I should approach the trailer differently. The PC one was kind of a neat mini-story, with lots of cursor-centric footage.

But for mobile, I could go mostly with footage of stuff that doesn't need the cursor as much. (E.g. dragging an item, encounter screens, walking the map). Or I could use more quotes from the press. I could go live-action with something like a scavenger sitting in rubble playing NEO Scavenger on their iSlab. Heck, I could even do a humorous narration of certain gameplay elements.

I have options, in other words. The trick will be figuring out which are worth doing. And which I can afford :)

...And Under-Achiever

Hey Folks! Not such a productive day today. I think I may have coded myself into a corner, so-to-speak. And when I searched for backup tasks to switch to, I think each has obstacles of its own.

The achievement stuff I worked on yesterday prompted me to ask Tiago about getting achievement info for the current user. And that reminded him of a task that was nearly forgotten to finish the achievement integration. So he's been focused on finishing the remaining components of that. And since a lot of what I was doing overlaps his work, it's best for me to step aside until he's done.

I figured a secondary tasks that needs doing might be to try and update the video trailer for mobile stores. The current trailer shows the cursor and some old UI, so it's already out of date. And there are some easy improvements I can see making to the old trailer to make it ever so slightly less boring.

Unfortunately, there are some obstacles here, too. For one thing, recording on a mobile device is a different prospect than PC. After some research and testing, I was able to use Google Play to record Android footage of the game, but it only came out in 360p despite choosing 720p. It might've been due to the upload process, but I'm not familiar enough yet to know. And since it's currently using a debug build, there's some debug text in the UI I won't want there. So that would best wait for a release build on the device, which isn't happening for a while.

Then I realized I could probably just build it on PC and record it there, since the UI is the same. I'd have to hide the cursor, though, which would make playing it hard. Hmph.

I've read about some folks who just film the screen using an external camera, like their smartphone. And that might not be a bad idea, since it shows a more physical experience with actual hands touching the UI. But that has its own issues with auto-focus and lighting, and they had to resort to a special app to bypass the occasional lighting/focus shifts due to their hands moving in and out of frame.

I don't know. This is really kind of annoying. Maybe I just have the cursor there and say screw it :)

Lastly, I looked over the remaining issues and saw mostly rare crash bugs on the list, so I decided to go for it and try to cause them. And 45 minutes of heavy melee, scavenging, and crafting later, no crashes. This is good, of course, but not when you're trying to find a rare crash to fix it!

I guess I'd be remiss in not also mentioning my personal productivity has taken a hit lately. I'm usually a pretty diligent worker. But I feel like diligent days are getting pretty far apart in recent months. It could be project fatigue. Could be baby-induced lack of sleep. Could be our upcoming move. Could be all of these things, and probably is.

Could be I need a vacation :)

But I'm almost there. Just get this thing launched, then hopefully that will lighten the financial anxiety once a new revenue stream starts. I'll pick-up a new anxiety source: product support on mobile, but it'll be comforting knowing Tiago has my back for a little while after launch.

Phew! When did being an indie become such a grind!


Hey Folks! Today felt a lot less productive than it actually was, but that's probably because it fizzled near the end.

Looking over the remaining issues, one of the higher priorities is finishing the store-related tasks. E.g. achievements, leaderboards, store text and images, etc. There are already a batch of achievements done, so I could technically call them done.

However, of the 20-30 in the list, only 2 are visible. The rest are hidden until discovered. And that kind of sits strangely with me. I fell like there should at least be a few more visible ones for people to peruse and pursue.

As it turns out, we had others listed that do just that. But we didn't add them yet because they are a bit trickier to implement. The require some custom coding instead of piggybacking on existing systems. So that's what I set about doing today. And I even got three done!

I ran into one, however, that needs to check the servers for a list of achievements, and I'm unsure if it's worth the bandwidth/processing it'd take (since it'd need to be checked frequently). Going to run that one by Tiago for suggestions.

In other news, I updated and paid my business's excise taxes for January. So that's done for another month. And Josh sent a revised ship construction track for the new space game, and it sounds very sweet :)

So in retrospect, not a bad day. But man, I feel pretty useless right now. I guess it's the dwindling progress towards the end of the day. That's fine though. I think tomorrow should start fresh enough, and I have some specific tasks I can tackle!

It's the (Almost) Final Countdown

Hey Folks! Hope everyone had a good weekend. Pretty tame here. Errands, yardwork, and some silly dancing with the little one.

I think we're approaching the end here, as Tiago and I discuss the last batch of issues and transitioning into support mode. We have a few more things to add/verify with achievements, in-app purchase to unlock full version, some other launch stuff, and bugs.

The list is shrinking. 22 open issues, 10 of which are critical/required before launch. Of those 10, the breakdown is:

  • 3 are fixed and awaiting verification
  • 2 are store/launch tasks
  • 3 are random crash bugs that we are having trouble finding
  • 2 are medium bugs

Not too shabby! Of course, any of these could inflate to a bigger deal upon investigation. And we could always discover more. But that's a manageable list. Possibly only a week of work, based on previous weeks!

That said, there is still going to be a lead-time until launch, as app stores do their reviews and approval of the game. There could be some back and forth here if they find things we didn't. But it's all coming together, and a bit scary :)

Unfortunately, I've already wasted one day without solving anything. And that may not be the last time, as we have to move out of this place in a few weeks. But I'm feeling optimistic. It's been a while since a bunch of new bugs were discovered, so we may be actually near the end!

New Help Pages, and Stack UI

Hey Folks! It was a GUI-centric day today, as I shored-up the new touch controls version of help, and decided to add a toggle for item stacks.

The new help screen looks pretty much like yesterday's layout. I moved a few things around for clarity, and tweaked the text a bit. But the idea is the same. The one addition is stacks, of which Tiago reminded me.

I've had a long-standing bug on my list to figure out some way to show whether the current cursor mode will work on a stack or a single item. On PC, this is just an icon on the cursor. But on touchscreens, there is no cursor. And the context menu is the only way to change whether the tap operates on a whole stack or not (and blindly, at that).

So I set about adding a new UI button for stacks. It looks similar to the cursor mode toggle button currently on PC, and sits right below it. This way, the user can change cursor modes and stack/single all in the same button cluster. And, they can see the current mode!

And for the heck of it, I spruced-up the design a bit to add LED indicators to each, so it was clearer which was active.

While I was in there, I also added mobile-specific tooltip text for buttons that mentioned hotkeys.

Overall, it was a busy and productive day! Lower priority stuff, but they were big tasks that mostly needed doing before launch anyway. And now the game is that much easier to use!

Mobile Help Screen 1.0

Hey Folks! I managed to get a first draft of the help screen done today, but not before Windows/nVidia decided to make my life difficult.

I spent the better part of my morning trying to understand why the game was suddenly running at 5-10fps instead of the usual 30-60fps. None of the relevant code had changed. I didn't update any library versions. The computer appeared to be working normally. Restarting, rebuilding, and release/debug didn't seem to make a difference. And it was only affecting me, not Tiago.

After several hours of scratching our collective heads, I decided to check the Windows Update History. It appears that Windows 10 tried to update my nVidia drivers the other day. Without asking me. And worse, it failed, without alerting me. I guess my PC was just using a software renderer after that, because manually updating the driver indicated I had no previous version installed.

It's nice of Windows to be updating drivers and all, but c'mon! Let me know if you nuke them out from under me!

Anyway, that's fixed.

And then, I was able to resume working on touchscreen help UI bits. Here's the current draft:


Not that anyone will ever see it :)

It's not exhaustive, by any means. But it's a sort of cheat sheet that quickly gets some info across, and hopefully those completely lost will find their way here. NEO Scavenger mobile isn't much of an improvement in intuitive usability, I'm afraid. But on the other hand, I think it maintains the same sort of "once you get it, it works well" utility.

Also, I have no idea what I'm in for with the mobile crowd. I barely knew what I was in for with the PC crowd, and I'm a member! Here's hoping the mobile users have at least a drop of patience with my clunky UI choices :)

Loose Ends: The Tightening

Continuing yesterday's efforts to take care of long-standing, non code issues, I decided to tackle some UI graphics today.

First, however, I had to finish up the achievement task. And that basically amounted to copy/pasting text and image links to each of the iTunes Game Center achievements. A bit tedious, but easy enough to do.

When that was done, however, the next issue to jump out at me was the help screen.

NEO Scavenger has a help screen linked from the title screen. It talks about how to move items around, scroll the map, and other useful controls. And judging by comments on the internet, few ever see it. But that's no reason not to make sure it's updated for mobile. After all, those few commendable souls who read the instructions shouldn't be left wondering where the WASD keys on their iPad are :)

So I began working on some new icons for touchscreen to replace the mouse and keyboard icons currently in use. I'll need a tap, tap+hold, swipe, pinch/spread, and possibly some others. And when that's done, I'll also need to rewrite some of the text to go with those icons, as many of the game's functions no longer have hotkeys and are context menu instead.

I'm a little worried users will still not see this page, and get frustrated moving things around. And typically, that's where a tutorial would come in. But tutorials are risky in themselves. A poor one interrupts flow and makes users quit from boredom, and good ones take a lot of work and refinement to make. I'm not sure I can come up with a good one in time.

So help screen icons for now, and I'll maybe tackle something additional if time allows.

Crashing Camps and Achievement Art

Hey Folks! Still plugging away at crash bugs today. Though, I also did a bit of housekeeping and finalizing for achievements:


If that doesn't say "achievement," then I don't know what does!

Android and iOS achievements require 512x512 art to go with each. And I've had this on the back burner a while because I don't know what the heck to do. With the list of remaining issues getting short, it's time to start tackling this stuff to get the launch in order.

So, behold the boot! I figure boots in NEO Scavenger are as much a big deal as anything. I guess I could've used the Urn item from the Hidden Lake house. But, this one sort of suits the scrappy, practical, off-brand humor of the game.

Crash bug-hunting is still ongoing. I managed to stumble upon one today after 45 minutes in a session.

It looks like a campsite was listed as socketed, but not actually socketed. This could be taken at face value, but it's also possible it was nullified before it tried to save data. But after loads of trying to make it happen again, setting up camps everywhere, with items of varying descriptions in each, no dice.

In the end, I noticed a lot of the rest of the game checks both the socketed flag and if the socket is null before doing anything, so I decided to follow suit and add a null check there. Even though it does stop the cause, it stops the symptom. And with the bug so hard to reproduce, combined with dwindling time left to fix it, this is a decent compromise.

(I also added some debug output in there, just in case it does happen again, so I can glean some more info.)

Only a moderately productive day. But I think I can close the achievement finalizing issue tomorrow now that I have that art!

Slowly but surely, we're getting there!

NEO Scavenger Mobile - The Final Week

Here, we use "Final" in the Hollywood sense :)

Seriously, though, Tiago nailed a bunch of bugs last week. And while I only killed a few, there were several major crash bugs among our combined lists. The good news is that our issue list is dwindling to the last handful, and most of them are the lowest pre-launch priority or near to it. I think we only have 2-3 crash bugs left open, and they are there only because they're hard to make happen. So maybe we're closer to done than I give credit for?

Today, I fixed another crash bug involving combat. It happened when the player and NPC both target the same creature in battle, and kill it. The battle removes the dead creature, and switches the player's target to one of the remaining combatants. And if that combatant was also targeting the dead creature, the UI crashes trying to show the sprite for that target. (I.e. null reference)

I started thinking about ways to cache the sprite for a target, say for an extra turn or two, so it would be there even after the target leaves battle. But the more I thought about it, I realized it would require a lot of extra code, and possibly introduce new errors or memory leaks.

Instead, what I've added is an "Escaped/Deceased" sprite that can be used if the target is missing from battle. It should be clear enough what happened, and if not, the message logs are there to help.

Next up: a bug Tiago found when NPCs try to equip their best weapon. And it's a null reference. Surprise! Looks like there's somewhere in the code that an NPC's item gets destroyed but the AI code still refers to it.

And what's worse, it's really hard to trigger. I spawned all kinds of DMC guards and Bad Muthas all over the place, and watched whole platoons cut each other down. And nada. I'm almost wondering if I should just blindly try to fix the error by adding a null handler where it happens.

We'll see tomorrow. But fingers are crossed that we're nearing the end!