I managed to overcome a few more obstacles with hacking today.
First of all, I decided to move forward with the encounter-based hacking system. The player can "use" a powered, unlocked laptop to start doing things with it. The encounter will then show available software. Choosing hacking software then shows all available, locked, powered laptops, and choosing said laptop results in an unlocked laptop. Charges are deducted from the host laptop when software is chosen, and the target laptop when the target is chosen.
Despite yesterday's Greenlight excitement, I actually still got a bit of work done on hacking tools.
As mentioned previously, I've been struggling with a few obstacles for handling the many modes of computers, their software, and the way one can be used to affect the other. After doing some thinking aloud, and reviewing comments and suggestions from players, I decided to use the right-click context menu for switching item modes:
Good news, everyone! NEO Scavenger was greenlit today!
I was going about my usual morning routine, when I see an email pop up in my inbox: "you just got greenlit." I stopped whatever I was typing, and immediately checked the link. Seeing that green banner across the top sent chills down my spine.
Last week's work on hacking tools and treasures continues.
As mentioned last week, I've been working on ways to flesh-out the hacking skill in NEO Scavenger, to make it a more worthwhile skill. There are places in the game where it can be used, and plans for more in the future, so it'd be nice if the skill wasn't dead weight in between those instances.
Adding to the iSlab and laptop artwork from Friday, I drew some item artwork for smartphones and cellphones. I also added a battery for the laptop.
Since Ludum Dare is launching today, and the indie press is likely to be busy with the contest's activities, I decided to put off the PR push until after the weekend. I've certainly got plenty to work on yet, and I don't want to get lost in the blast radius.
Yesterday's build seems to be doing well so far. The reports have been pretty positive, so that's good news! I was waiting to see if any major issues came up, because if not, I think it's time for me to do a little bit of hawking wares.
I continued work on yesterday's optimizations, and I just about have them working as intended now. Once I fixed a few issues with the way items have their sprites created and destroyed, I was able to make the game only load the necessary item sprites while the player was mucking around in the items screen. Otherwise, item sprites are unloaded to save memory.
I decided to take a look at performance and memory again today. A few tech support forum posts suggest that the game is still suffering from memory leaks and crashes, among other things. So I wanted to see if there was anything else I could do to improve stability.
I've just finished uploading beta test build 0.975t, which consists of some significant gameplay balances and bug fixes. This test build is a prelude to a full suite of beta and demo updates, assuming no major errors are found.
One of the bigger changes in this test build is the way creature spawns happen. When scavenging, attracted creatures will no longer appear in the same hex as the player. Instead, the game will alert any nearby creatures to the player's presence, and those creatures will approach/flee accordingly.
I've posted a question on /r/AskReddit which is related to NEO Scavenger. It asks what you would do if certain reality-altering powers were available to you. I have some answers of my own in mind, but I'm betting I haven't thought of everything, and I'm interested to see what people come up with. The creativity and wisdom of a large group could completely blow my assumptions out of the water, in other words :)
I managed to fix quite a few things today, but it was pretty boring. "Weeding a garden" was the first thing that came to mind when summarizing my day: lots of small, unexciting-but-necessary changes and fixes.
As mentioned yesterday, I'm looking into ways of adjusting how primitive missiles are retrieved. Right now, when one fires a bow, sling, or other primitive missile weapon, they can simply pick up the fired missile after using it, even while still in combat. In practice, ranged attackers can just keep their distance from targets while firing, and never run out of missiles. It's not only unrealistic, it represents a balance issue.
It was back to bugs today. After several days of exploring alternative technologies, it seems Flash/AS3 is probably still the safest way to proceed. It's not ideal, and it cuts short some possible features, but existing customers won't lose anything, there's no down time, and no extra risk. My imaginary project manager is breathing a sigh of relief :)
Just a heads-up, we have house guests this week, and we're taking them out around town today. So there won't be a usual update this evening. I'll definitely be back to normal on Monday, but I may sneak in some work tomorrow to make up for lost time.
Yesterday, I mentioned that I was considering moving forward with AIR packaging for NEO Scavenger. This move was to address a few of the limitations I was encountering in Flash, without having to commit to the significant downtime and risk of changing technologies mid-project (i.e. HaxeFlixel).
We returned from our camping trip last night, and it was back to business this morning.
Over the long weekend, I spent a lot of time thinking about whether NEO Scavenger should go forward using AS3 (current language), AIR (Adobe's preferred way of porting Flash to desktop), or HaxeFlixel (an AS3-like language that builds native apps for most platforms). This image roughly summarizes my feelings on the options:
Well, two more big steps forward today. I was able to get the HaxeFlixel port of NEO Scavenger's main menu compiled and running on both Mac and Linux!
Most of the work, surprisingly, was just getting both Mac and Linux OSes setup with the required libraries, compilers, and other such software. That, and me getting better acquainted with command-line usage in OSX and Lubuntu. It's been a while since I needed to manage files in a Unix-like environment, and definitely a while since I've had to fire up vi.