Scrolling Backgrounds and Subcameras

Hey Folks! Still trudging through mobile UI here. Finally fixed the scrolling title screen silhouettes, and started work on a message window.

The scrolling background silhouettes turned out to be really tricky to figure out, but not too hard to fix once I did. Sort of the story of my (and Tiago's) life on this project. Ultimately, it was a series of small typos and wrong assumptions which were making it really hard to understand the output I was seeing based on the input I was writing. Eventually, I found the width that should've been a height, the sprite origin setting, and a few other "small" things that helped me correct the scrollers. Now, correct scrolling backgrounds on multiple title screen resolutions!

Once that was done, I turned my attention to the title screen footer, which will now include a news message area. This is where I'll have messages such as "new update available" and "important news at," etc. Also, the hard-coded "Try Project Zomboid" will probably get rolled into this, and I might start expanding the list of recommendations to other games that NEO Scavenger fans have enjoyed.

Unfortunately, my first idea for a scrolling marquee was hobbled by uncooperative FlxCameras. After hours of trying to get the camera to appear in the correct place/size, I still wasn't seeing the thing I wanted inside the camera. I realized I could be facing even more hours of fixing this simple thing, when I could really get the same point across with a fixed-size text area and fade-in/out.

You know, like I'm already doing with the save/load messages on the title screen.

So I've ditched the camera approach, and I'm starting a fade-in/out message for the footer. Probably an improvement anyway, as scrolling marquees usually aren't very fun to read. They force the reader to pay attention and read at a certain pace, instead of showing all text at once in a more self-serve kind of way.

Anyway, that'll be next.

Tiago, meanwhile, is still nailing those bugs. And he's got a working prototype of the map-scrolling via touch+slide on mobile. We're trying to figure out how map panning works when already zoomed-in in the game, as the screen can also pan the full UI when zoomed. We have some ideas and theories on how it should work, but it'll ultimately depend on how it feels.

More on that next week. For now, have a good weekend, all!

Mobile UI Work

Still plowing through mobile UI changes. I managed to fix the confirm "family" of buttons on both widescreen and 4:3 UI modes. And while I was in there, I decided to fix up a few UI placement things to make it look nicer and be easier to use. I also noticed a few minor bugs that were introduced in the engine port, such as fonts being the wrong size.

Once that was done, I turned my attention to the title screen. There's been a bug in the scrolling swamp silhouette for a while now, and I decided to finally look into it. I think it's down to position being messed up by sprite scaling, since we now have a different engine. Flash used to have a weird offscreen repositioning hack that I used, while Haxe is cleaner. And as a result, the positioning of certain things needs adjusting. In this case, I think I'll need to dynamically offset certain sprites depending on screen size.

It's not the most important feature. But then, it's the first thing a player will see when the game loads, so it should at least not look bad :)

Anyway, more UI work likely on the way!

More Confirm! Bigger Random! Also, Date Stinks.

Hey Folks! Today was another full-on mobile dev day. Mostly bug fixing, with a bit of new UI work.

The bug was a problem with encounter triggers always failing if they relied on a date range. As it turned out, Haxe's Date() class seems to be bizarrely broken in almost every way. When trying to initialize the date, it seemed I had something like a 5-10% success rate. In almost every other case, the Date defaulted to 1900/00/00 00:00:00. Basically a non-existent zero date/time in the year 1900. (Seriously, the documentation says that the day/date is 1-based, so the 00th day should not even be possible according to the class's specifications.)

After trying (and failing) to massage the input values to avoid this error, I eventually gave up and just changed the EncounterTrigger's dates to simple arrays. Since the trigger only checks greater/less than against the various date fields, this is all I needed anyway. Still, frustrating!

After that, I resumed work on the larger buttons for mobile UI. Namely, the Confirm "family" of buttons that includes "Clear," "Random" (skills), and arrows (prev/next crafting output). I have new versions of the button art done, and I'm in the process of updating the UI positions. I'll probably keep these for the PC version in future updates, as it doesn't hurt anything and makes them easier to target/see.

Tiago nailed several bugs today, as well, so it was a productive day. Here's hoping that momentum continues!

Deep Debugging On Mobile

Still digging into bugs on mobile today. Been spending most of my time tracking down a weird demo bug which spawned feral dogs and King Elias in the demo, instead of the player.

As it turns out, this was a tiny bug in the code with big implications. A missed closing quote caused all creaturesources (i.e. spawn rules) to be added to the list of creatures (i.e. actual creature stats), so we ended up having our creature list IDs mixed up. Adding that quote into the code seems to have fixed the issue, and I'm checking for any others.

I'm also trying to figure out why the hypothermic car/sleeping bag encounter doesn't trigger in the Haxe version. And so far, signs point to a limitation in the Date() class on Haxe. Flash supported years up to 9999, which was my default "Max date" for encounter triggers. In Haxe, however, that gets changed to 1900, probably due to some overflow causing a default value. As a result, almost all date-based encounter triggers are failing.

Again, simple fix, but tricky to find. A NEO Scavenger specialty!

More like this to come, I suspect!

Finally, I've been chatting with Josh on his latest track. As usual, it sounds awesome. I'm checking with him to see if we can make it shorter, as it's closer to 7 minutes, and that might feel a bit long in-game. But it sounds quite good, so I don't want to break it by being picky. We'll see what he says about the difficulty of shortening it.

That's all for today. Have a good one, all!

Mobile Work Continues

Hey Folks! Hope everyone enjoyed their weekend. Our family trip was a success, and we also survived the "Stormpocalypse" that was being predicted. So I call that a win! Interestingly, the biggest storm we received over the weekend was a spam forum poster that was pretty prolific across the net, but not hard to remove. Hopefully, they've moved on to greener pastures.

I spent most of today getting caught up on the recent mobile updates, as well as emails and other business stuff. I played NEO Scavenger on my smartphone for about 45 minutes before lunch, and it's actually pretty playable, even on the small screen. Certainly a bit trickier to place tiny objects, but with the zoom feature, I was able to overcome that issue without trouble. We may be able to play on handsets after all!

I've also collected a slew of smaller bugs to add to our polish list, so I've been adding those to our project tracker. And once that's done, I'll probably be resuming the UI improvements and fixes that I can manage while Tiago works on Demo mode fixes.

Anxious to get back into the groove after being away for four whole days away :)

Have a good one, all!

Mobile Title Screen Work, and OOO

Hey Folks! Been plugging away at the new mobile title screen. I have all the new UI assets made, and just finished the 3 UI mode layouts this afternoon. I think it's looking much nicer, and cleaner.

I still haven't finished the scrolling marquee/message box at the bottom, so that'll be the next step. The pieces are in place, but I need to make it fetch and display the text, and probably load an optional URL for some messages. (E.g. click here for the contest, or try the demo at this link, etc.)

I've also finished updating the "Confirm" button to be a little wider, and over twice as tall, so it's basically a big square now. This is the first step towards making it easier to use on mobile, since it's such a commonly used UI button. We're adjusting the layout in many places, too, so it should be reachable with the thumb for easier encounter/scavenging/crafting.

All of these changes may get carried over to PC if the build works well enough there. But first things first!

Also, just a heads-up that I'll be OOO tomorrow and Friday. I'll be wrangling the baby for a few days to free up Rochelle for her test, and to visit with family before they leave. I'll still check-in periodically, but I'll likely be slow to respond.

Also also, the mother of all storms is coming to Seattle. So I'm rather hoping our house isn't blown away :)

Anyway, have a good week/end, and I'll see you all Monday!

Want To Win a Steam Copy of NEO Scavenger? Put Your Naming Hats On!

Hey Folks!

Do you want to win a free Steam copy of NEO Scavenger? Well, you're in luck! Until October 21st, Herblin is hosting a giveaway of 5 Steam keys on his YouTube channel, and it includes a chance for you to leave your mark on the upcoming space prototype!

Check out the video for complete rules and explanation:


All this could be yours...

Good luck, and I can't wait to see some of your entries!

Space Music and Mobile Work

Hey Folks! Bit of a slower day today. Most of it was spent on administrative tasks. Unfortunate, as I was hoping to get cracking on some mobile UI improvements :)

Even so, I had a chance to review one of Josh's new tracks for the space prototype, and it's good as usual. Strong ambient piece for use during the main game loop (interplanetary transit). He still has some work he wants to do on it, but I think it's off to a strong start!

I also spent some time reading up on marketing strategies, as a discussion on one of my gamedev forums had some really useful chatter this morning. Logged a few of those tips for when it comes time to do early access and/or release next time.

Finally, I've been trying to help Tiago with some demo-related bugs he's seeing, but I'm not having much luck. King Elias is spawning instead of a Player in the demo, which is all kinds of wrong. (And also eerily familiar to a bug I've never been able to solve with random creature spawns in the full version.) Still looking into that!

Anyway, I'll be pretty quiet on the internet this weekend in order to give Rochelle a chance to study for her board exams. Gotta wrangle the little one for a few days. Hope to see y'all Monday!

Mobile Upgrades

Hey folks! Took the day to plug away at mobile stuff today, and Tiago and I are really on a roll.

One of the major improvements Tiago recently added was pinch zoom and panning. And on top of that, a better placement algorithm that makes placing items in inventory spaces more forgiving. It basically tried a bunch of spots around where the user touched and fits the item if it can. Saves a lot of trial and error and guesswork!


Now with "actually playable" feature!

As a result, I was able to play it a lot more than endure it. it's really starting to come together.

We're also starting to discuss some other UI improvements. Things like better placement of "Confirm" button, and making it bigger so it's easier to tap. As well as enlarging or somehow expanding the colored action buttons on the main UI so fat fingers can still use them.

The title screen is getting a mini overhaul, too. New links at the bottom, and I'm going to move forward on the dynamic message at the bottom for news.

Should be a pretty exciting spruce-up!

Mobile and New Title Screen

Hey Folks! Hope everyone had a good Tuesday. Family trip for me yesterday. It was fun watching the little one gawk at fish and other kids. We gotta let her out more :)

Back at the office, I had a few administrative things to do in the morning, then it was straight into NEO Scavenger mobile.

First, Tiago had a new build with pinch zoom panning fixed, so we're now able to zoom into an area, pick up an item, pan the screen to the destination, then place the item. This feels pretty good, and I might have to try it on a few guinea pigs to see how normal people feel. Hmm, my parents are visiting...

I also fixed a pretty big null-pointer bug Tiago found, which is unfortunately also in the current Flash v1.14 build. I'm still holding out hope the Haxe version will supplant it soon, though, so I only made the fix to the new codebase for now.

Furthermore, Tiago found a bug in the demo that I introduced a few weeks ago. Turns out I missed some treasure data. That was causing some null pointer bugs in the new mobile demo, so I had to fix that.

Once that was done, I decided to turn my attention to the aging title screen. I'd like to rework the footer of the screen to have better links to the website, a full/demo toggle button users can click to unlock the demo, and possibly a message area to alert users to relevant news. (E.g. new build available, contests, etc.) I worry a bit that some users won't like the game "phoning home" to get this message, but maybe since it's just a text message and not DRM that'll be fine. I think it should be a non-intrusive feature that benefits users. But we'll see.

Anyway, the title screen could use a few things spruced-up. Hopefully, I can make it both more useful and interesting!