Posted on 12/06/2013 - 17:35
There's been a pretty constant flurry of internet activity in the past 24 hours, since the game launched. I've been scrambling to keep up with emails, tweets, chats, forums, and all manner of communication. So far, things seem to be a "qualified" good.
The biggest issue so far seems to be with customers not wanting to create accounts on Desura and/or here to claim their Steam key. To those users, let me apologize for the cumbersome key request process. It was an outgrowth of my old system for letting Desura and bluebottlegames.com customers have equal access to the other platform. When Steam keys finally became available, I piggybacked on the same key request system. Obviously, there were some use cases that I hadn't considered, and I'll probably have to come up with a new system next time.
Fortunately, most folks seem to understand the "why" when I explain it, and I'm working on getting them access to the keys they want in a way they're comfortable with.
Apart from that, people seem to really be enjoying the game. Chatter so far has been quite positive and supportive, so I'm pretty psyched about that.
And I feel I've gotten off on the right foot in the Steam forums, too. I'm trying to maintain a similar presence there as I do here, to ensure players that I'm listening and trying to resolve their issues. So far, I think people are seeing that to be true. Also good!
And how about sales? How has the first 24h been? No idea! Unfortunately, my access to sales data is borked at the moment, so I'm as in the dark as you guys. Valve is looking into it.
However, they did say that I have a mixed performance with viewers. People who see the NEO Scavenger badge in Steam are very likely to click on it, which is great! Unfortunately, too few people then decide to buy it, which means I'm not yet eligible for big-image, front-page promotion.
It could be the "early access" stigma, the niche nature of the game, a bad store page, or it might be that the demo is off-site. I'm working on getting a demo onto Steam, too, to see if that might help.
Anyway, it's been a blitz of a day, and I'm still pretty wired. I'm off to a staff dinner at Rochelle's school, though, so maybe I'll get a few hours to rest the brain :)
Thanks again to everyone for helping make NEO Scavenger the success it is so far, and for being a supportive community to the new folks. Have a good weekend, and see you Monday!
(Note: I'll still pop in a few times over the weekend, in case any more order/key issues occur. So I won't be totally radio silent. Just FYI!)
Posted on 12/05/2013 - 15:35
So there was a bit of a hiccup this morning, and the launch was delayed by a few hours. However, after panicking a bit, and Lars helping me ping Valve and holding my hand for comfort, voila:
I believe "woohoo" is an appropriate caption here.
And now, the rollercoaster starts. Site concurrent visitor count is already 20x normal traffic and climbing. Messages are starting to appear in Steam forums, via Twitter, email accounts, and who knows where else.
Looks like I have some work to do!
If you're an existing customer, you should now have access to your Steam key in the same place you previously retrieved your Desura key: the bottom right corner of this page. You should see a Steam button at the bottom.
If there are any issues accessing it, please post in the website tech support forum!
And thanks again to everyone who helped make this possible! Players, indie dev colleagues, Greenlight voters, friends, and family, you all helped make this a reality!
Posted on 12/04/2013 - 18:41
Assuming I haven't screwed anything up, Valve is scheduled to release NEO Scavenger tomorrow morning at 10:34am PST. I'm a bit in the dark about this process, so I'm not sure if it just happens silently or what. So far, this is what I'm looking at:
Date to Release on Steam: 12/05/13 10:34 PST Ready for review by Valve: Check Reviewed and ready for release: Check "Your game is ready for release! We will attempt to publish your game on your requested release date."
Sounds good! (I hope.) And getting more nervous by the minute :)
By the way, we're likely to have an influx of new users with questions about how the game works, bugs, etc. I've done my best to pre-seed the forums on Steam with info they might need, in case they look there first (same subforums, stickies, etc.).
If you're interested in swinging by to help some newbies out, this is where it'll be once it goes live:
Do be gentle with the fresh meat. They're likely cold, confused, barefoot, and only wearing hospital smocks :)
I made some changes to combat today, to address some of the complaints I've seen in various forum posts and videos. Namely, some people get confused by weapon damages and effects in the combat logs. I've described what I think to be part of the problem in the forums.
In my test build, I've adjusted the messaging for cut and blunt wounds to have a wider range of descriptors. And in particular, I've tried to push really violent sounding words into the high end of the scale, and milder words at the low end.
As a result, I'm hoping the wounds will sound a bit closer in the logs to what they actually are in the game logic.
Endless Turns Bug!
Also, while doing some testing, I think I finally figured out the endless turn bug! I found it by standing on a hilltop with a long field of view, and spawned 20 creatures into the surrounding hexes. Then, after watching them battle and fighting some of them directly, I was able to trigger the bug.
It turns out that it was due to creatures being deleted before the game was done accessing them. So if an NPC died in battle, and the battle needed to access that creature for something, it would crash. Crashing meant either turns advanced endlessly on the map, or the combat screen gets stuck with no way to continue.
The good news is that I think I can reproduce the issue reliably now. The bad news is that it's a hairy problem, and I may have to restructure turn-ordering. That kind of change is dangerous, and could cause other bugs. But at least we're making progress!
I also made a few other changes and fixes during the day. One issue was a dead-end outcome in Zom Zom's that needed plugging. Another was editing the flow of clues in a new encounter to only reward some paths. And finally, there was a bug introduced in the way the game stocked the junk store, from when I added the convenience store to the game.
Many of these bugs and updates were helped by watching Mathas's Twitch stream yesterday and today. I learn a lot by watching others play the game, and in this case, I get both verbal and written commentary on everything that happens. I also get to see bugs happen in real time, and what caused them. Very useful! I kinda wish I had discovered this sooner.
Anyway, that's today's progress report. I'll likely continue work on the endless turns bug tomorrow, and probably get clobbered by the Steam launch shortly thereafter. Tomorrow is likely to be an interesting day!
Posted on 12/03/2013 - 18:37
I finished up the encounter item art I mentioned yesterday. Behold, baskets of greasy food!
Not pictured: fried grease over a bed of pan gristle.
These are the food options at a new urban location, with a slightly different vibe than The Red Gnome. Whereas The Red Gnome is one of the few places left that serves real soul food in the DMC, this location specializes in easier-to-obtain foods. Things that grow easily in vertical farms via hydroponics/aeroponics, like cabbage, soy, and sprouts. Or things which can be manufactured without farmland, like donair meat.
There may also be a "special" on the menu :)
With those items done, I went about hooking them and other encounter choices up to the editor. Branching conversations, bypassing obstacles, and making decisions all require items be provided to choose from.
I've started testing the various paths, bug fixing along the way. But I'm going to need more time to test all the permutations.
While I was at it, though, I also did some reorganizing on the starting encounter. I cleaned up the structure to be easier to maintain in the editor (using a hub and spoke structure to allow the player to examine each clue, rather than many-to-many connectors). I also found a few instances where the image or text didn't match what happened (e.g. showing/mentioning the dogman when the door was closed before Philip saw it)
And I also noticed and fixed a bug in the cryo facility when revisiting it, which prevents visiting the bank later.
Apart from encounter work, I also stumbled across a new YouTuber/Twitch streamer today. Mathas did a YouTube video this morning, and as always, it was very educational to watch. Hard to believe that I considered myself a UI expert once :O
While I was watching that, I noticed that he subsequently started a NEO Scavenger Twitch.tv stream, so I popped by for a while. And also as usual, it was good to interact with both the host(s) and players. Kind of like a chance for visitors to read developer commentary and "ask-me-anything" while the host plays.
Also, I say "host(s)" because his channel was brimming with colleagues of his, including several other big streamers. In fact, even Lemmy from Project Zomboid stopped by! Quite the post-apocalyptic party going on in there :)
I've been getting pretty lucky lately, with PR ramping up despite my feeble efforts. I'm very thankful for the positive reception and spreading popularity, as awareness is usually the biggest barrier for indies.
Plus, with Steam Early Access looming near (t-minus 40 hours?), we may be in for some interesting days ahead. I'll have to set aside some "offline time" each day to make sure development momentum doesn't get clobbered.
Again, though, I don't think I could've asked for better results so far. I seem to have hit a niche that was underserved at just the right time. Despite NEO Scavenger's clunky UI, bugs, and other shortcomings, it's something many say they've been waiting for.
With any luck, there are many more players like us on Steam, and enough to help me continue making games like this for a long time to come!
Posted on 12/02/2013 - 18:15
Hey folks! Hope you had a good weekend. It's snowshoveling central around here, with 5.5 hours of cumulative snow clearing in the past 36 hours. One of the down sides to living in the mountains with a long driveway.
Some of you might have noticed the site was down for maintenance today. There were some security patches that needed to be applied, but those were pretty smooth.
More interesting, however, is a new feature on the game page: instant Desura key requests!
Now with 100% automation!
Sure, it might look the same, but the stuff going on behind the scenes is much different now. Previously, when a user requested their Desura key, it logged a request, and I had to manually process those at the end of each day. This usually meant that Desura key requests took a day to process, and sometimes a whole weekend. It was inefficient, slow, and tedious.
Now, when a user clicks that Desura request button, the website shows them their key immediately! No more waiting for me to do anything, it just picks a key and plops it on the screen for you. And if you forget later, you can click the button again, and it will show you the same key.
So why the change? Well, it's starting to look like Steam Early Release is a "go." In fact, NEO Scavenger may be available on Steam Early Release as soon as Thursday the 5th! And without a doubt, once that goes live, folks are gonna start asking where their Steam keys are :)
This new system should handle those requests, too, and I'll likely put a similar Steam button next to the Desura button at the bottom of the beta page. Then, users can click either or both as they desire, to obtain their other copies.
With that upgrade out of the way, hopefully I'll have more time to manage any teething issues that come up with a Steam launch. And if the Steam launch is smooth, all the better! That means I can get back to the grindstone sooner.
Speaking of grindstones, the last bit of the day was spent working on item artwork for some of the encounter-specific items related to the work I've been doing lately. Tomorrow, I'll finish up those illustrations, create the item data for them, and start hooking them up to the encounter.
Hope everyone has a good night!
Posted on 11/29/2013 - 18:09
I had to run a few errands in town today, so part of the day was disrupted for that. I did manage to get a few hours of quality time in cafes and the library, though. And it was fruitful for connecting some plot points and generating ideas for factions, their motives, and quest ideas. We'll have to see if I can add any or all of them, but I like where they're going.
I also did some more encounter work when I got home. This was largely angry dialogue writing, and I managed to have a bit of fun with it. I hope you'll agree when you run across it!
I think I've finally closed the open loops in this encounter, and can start moving onto new things. I still have some game variables to hook up for the encounter branches, but the meat of it should be done. Looking forward to a new task!
That's for next week, though. For now, I think a beer and some relaxation is in order. Time to start the weekend.
Hope everyone has a good weekend, and happy Thanksgiving weekend to those celebrating!
Posted on 11/28/2013 - 17:49
Today, I connected a lot of loose ends in the encounter I've been working on. I also thought of a couple interesting conversation branches to try, which might add more interactivity. And doing so also gave me an interesting idea for player rewards.
I also managed to fix a pretty major bug today. While streaming NEO Scavenger on Twitch.tv, SirTwiggy ran into an issue loading a save file where he had explored a large portion of the map. In his travels, the game spawned at least 84 creatures that were all walking around at the time of saving.
When it came time to load that save game, it ran out of memory while processing the creatures. He was able to send me a copy of the save file, and it turns out there was a simple optimization missing from creature inventory slots. Making that optimization changed his save game from using 1.7GB of memory after loading to only 800MB. And it was able to load okay, to boot!
This optimization should be available in 0.981. Glad he was able to catch it when he did!
Finally, I'll likely be out of the office tomorrow for a big chunk of the day. I need to run into town for a few errands. I should be around in the morning and late afternoon, though. So I'll try to help with any major issues that come up then.
Have a good night, all!
Posted on 11/27/2013 - 18:14
This encounter might be one of the largest yet. In part, this is probably due to the way it branches, with some of the branches offering optional, unrelated experiences. But still, lots of nodes.
Most of the work today involved an inner branch, after bypassing some obstacles early on. I was struggling for a bit with making this section not-too-difficult, since getting here was already a test of skill. Basically, making a skill test required after another skill test might limit the outcome to only a fraction of players. I wanted everyone to get at least something out of it.
So my eventual solution was to make certain branches accessible to everyone, regardless of skill, and offer some alternative outcomes for the skills. I'm hoping this strikes a nice balance between problem-solving and fairness.
I also spent a bit more time this morning looking into performance. I've narrowed down the cause of the CPU usage to Flixel's camera-locking and draw routines. Namely, the copypixels calls, which blit bitmaps to a screen buffer and then send that buffer to the display.
Unfortunately, there might not be much I can do about that, as we need to see graphics, and graphics are blitted in Flixel. Changing that technique is possible, but would mean rewriting the graphics engine, which is probably beyond my skill, and definitely beyond my timeline.
I still think the 30 fps limit will help, though. It reduces the number of full-screen draws per second, which means the CPU needs to spend less time drawing redundant screens. NEO Scavenger has little in the way of fluid animation that would require 60 fps. (Especially since the cursor is hardware-driven, so not locked to framerate.)
Anyway, tomorrow will be, you guessed it, more encounter writing. I think I'm nearing the end of this one, though. And then, it'll be a decision about what to do next. There are two encounters this one unlocks, so those are possibilities. Or I could take a break and work on bugs and such. Not sure yet.
Hope everyone has a good night!
Posted on 11/26/2013 - 18:14
More work on encounters today. I spent most of the time writing dialog for one of the NPCs, and trying to figure out which clues to reveal vs. not, and how to make it sound natural. Like a lot of my writing, I find that large, structural stuff tends to be harder than low-level detail. I'm comfortable writing sentences and descriptions, but I have a hard time deciding on major events and plot direction.
I think I noticed this in dialogue, today. NPCs tend to have one thing to say, and there aren't many parallel nor diverging conversational paths. I'll have to see if I can improve that skill.
For now, though, NPCs establishing setting and backstory are a noticeable improvement over absence of any information at all :)
I also spent a bit more time looking into performance this morning. One thing I was able to test was capping the framerate at 30 instead of 60 fps. And doing so seems to reduce CPU load by almost half. I'm thinking it might be worth leaving it at 30, given how little animation there is in the game. With the hardware cursor, one barely notices framerate, so it might be a good compromise between smoothness and CPU load.
Finally, I dropped by SirTwiggy's stream today, as he was doing another NEO Scavenger run. Looks like he's finally hitting his scavenger stride, as this run has survived multiple streams, and he's starting to farm the more end-game loot. As always, it was both entertaining and educational to be there!
That's about all for today. Hope everyone has a good night, and see you tomorrow!
Posted on 11/25/2013 - 18:21
Hey Folks! Hope everyone had a good weekend. Ours was a bit busier than usual, as we had to do a supply run into town for some hardware. We did get some frozen pizza, though, so it wasn't a complete chore. I still miss real pizza (and if we're being picky, this pizza in particular), but frozen isn't bad after months of doing without!
Today, I spent a lot of time working on the conversational part of the most recent encounter. I had some rough sketch ideas for the character, the things that could be said/learned, and some outcomes. However, today, I detailed that a bit more. I made some lists of possible outcomes, possible starting points, and figured out some ways to make different paths produce different (but equally valuable) outcomes.
I also did a short character study on the person Philip talks to. It helped to get some motive in there, fears and desires, habits and backstory. Now, I think I have a rough idea for where things can go, and how.
I started writing the conversation, and I'm picking up momentum. I'm also seeing some branching opportunities which I hadn't though of, so I'll see if I can make those satisfying, too.
Apart from that, I also spent a little time looking into performance. I was recently contacted by a player who's CPU gets savaged by NEO Scavenger, and wasn't sure why. So far, I'm not sure either.
I've done some selective disabling of whole chunks of the game, and initial indications are pointing to rendering calls. This might be due to the way flixel does bitmap copying/blitting, which might circumvent GPU acceleration. I haven't confirmed that yet, though. I'll have to keep looking.
Have a good night, all. And see you tomorrow!