Posted on 09/18/2014 - 16:23
Today was a pretty productive day for encounter work. I nearly spent every minute hooking game data up. I had to create a new encounter item "Move Back" as a counter to "Down Hall/Move Forward" in one case, but the rest of the work was attaching items to encounters and making new conditions.
The threshold stuff is now officially attached to at least one encounter, and I'm interested to see if it holds up. Unfortunately, it's an abstract approximation of how painful burns would escalate over time, rather than simulated using game systems. I could've gone down the path of building a new system for it, but we're already way overdue on plot work, so I slapped my own wrist :)
As-is, it should still provide impetus to move fast and not dally, preventing players from revisiting sections without a good reason. And with every move counting against this build-up, players should feel a bit of tension.
Tomorrow, work continues on the game data. I have at least two more major encounter branches to hook up. And after that, I need to rewire some old encounters to flow into this one smoothly, so that may take a few days. Still plenty to do!
Have a good night, all!
Posted on 09/17/2014 - 16:56
Work continued today on the finale-related items mentioned yesterday. I finished artwork for four new items in their various states, then created their stats. I also created recipes for said items, and was able to test them to make sure they work.
So far, so good. Now that they're integrated into the game and loot tables, I think I can finally start to wire-in all the game data to the final encounter. No doubt, there will be new loot tables and conditions needed. But most of the big prep work should be done.
In addition to the new items, I reprioritized the battle moves this morning. There were a few bugs in the way AI prioritized moves, and since the priority data was cobbled together over a long period, it was in need of review. So I went over all the values, and made them a bit more consistent. And while I was in there, I fixed some bugs where priorities were completely wrong.
Finally, I found a bug which was causing forest shack hexes to always start with no scavenge locale. It turns out this was probably a debug setting I applied and forgot to remove later. It should be better next build.
That's all for today. Finale work continues tomorrow. Hope everyone has a good night!
Posted on 09/16/2014 - 16:35
I decided to do some revising and pruning on the ending today. There was one point where the player was offered a choice, and the majority of outcomes were death. Now, that might be okay if the player had any idea what they were choosing, but in this case, I felt it was too random. It was basically a crap-shoot for no reason, so I axed it. Instead, now all players pass that choice alive.
Leading up to that point, however, still offers plenty of chances to die :)
I also did some trimming of extraneous stuff in the final encounter. There was one point where two corpses were found, but I think they seemed out of place, and actually created more questions than they answered. I spent several hours yesterday mulling this over, but I couldn't fit them in such that they made sense.
I think this was the right move, as once those bits were trimmed, it felt more solid. I was more inspired to work again. I guess they were the source of a mental block.
I even thought of another way to end the game. But like the other alternative ending I mentioned a while back, it'll have to sit on the back burner until I finish more critical stuff. If I can do it, though, it makes for three very distinct outcomes in the game, and I kinda like that.
I did some work on a new encounter illustration today, as well as graphics for some new items. Now that the finale is mostly drafted and mapped in the editor, I need to start hooking it up to game variables. And that means some new items, treasures, conditions, etc. Tedious stuff, but at least it's a welcome break from nebulous plot hand-waving :)
Have a good night, all!
Posted on 09/15/2014 - 16:39
Hope everyone had a good weekend! Mine was good. I ended up playing a lot of "Warlock" after picking it up for free via Humble Bundle last week. Scratches that "Civ" itch while having new toys/setting to play with. That, and I also decided to pick up White Wolf's "World of Darkness" core book. I've been in the mood for more dark storytelling and X-Files-y stuff, and that seems to be reviewed well. I'm particularly interested in their storytelling tips. You know. "Research" for work :)
Today, I went hard on the writing, and managed to get a decent amount done. Some things have been bothering me about the ending. There are some loose threads, and my biggest concern was if the player would have enough info to continue meaningfully in future games. Do they have a clear goal? Clues to go on? The current ending made me feel like some of those clues might be a bit too obscure, or easily missed. That, and some details seemed unrealistic.
So today, I decided to rewrite some sections. The overall ending is still pretty much the same, I just made adjustments here and there. I changed some names around for clarity, moved critical clues up to paths where they're more likely to be seen, removed dead bodies where they didn't make sense, etc. I tried to avoid spelling things out, as usual. But it was getting to the point where I wasn't even sure what I'd do next, and I'm writing the damned game :)
I still have a minor change or two to make, but I'm feeling more confident now. At the very least, I think the start of the next game can definitely work with the threads this game ends on. And ideally, the player has a new goal in mind when they get there.
Apart from the above plot stuff, I also fixed a couple bugs. Still not sure if I'll do a new upload just yet, but each new fix pushes me closer.
More ending work tomorrow. Have a good night, all!
Posted on 09/12/2014 - 17:09
Today was a mixed bag of work, including stuff for both the ending and general fixes.
One of the main things today was figuring out how I want the ending to work. I know roughly where the game will end, geographically. And I know the situation in which the player will be left. Some details surrounding it are still being developed, though.
More importantly, I need to figure out how the presentation and UI for the end will work. In many old games, one just showed an epilogue (image and/or text), played some music, and rolled credits. Or alternately, some cutscene or animation would play.
The good news is that I actually have one of Josh's pieces set aside for the ending. The bad news? I don't really have much in the way of artwork or animation ready to go, and creating those can take a while.
As an alternative, I've considered whether I might try making a more interactive ending where the player could still move around. I could put together a new mini map for the player to wander for a few turns as a sort of, "well, here I am" moment. Like they've escaped one area and have to deal with the next.
So far, I like that latter idea more, since it's more interesting (and achievable). I just need to think on it a bit more, to make sure it doesn't promise more than it delivers.
And speaking of map stuff, it's been a while since the last art snippet, so here's a morsel for the weekend:
Hm. The lights are on...
In other news, I fixed some more modding bugs having to do with ChainCondition and SetImmunity. It turns out that those two condition effects were not remapping their IDs correctly, so I had to fix those.
I also decided to demote the melonheads' reinforcements battle move to be lower priority. It won't stop them from using it, but perhaps they'll use it less now, making it more reasonable.
And finally, I spent some time looking into Mac context menus. One player was reporting difficulty getting the context menus to work via the command-click, which is Mac's way of allowing right-click on one-button mice. I never noticed this before, since my MacBook has a trackpad that uses two-finger tapping for right-clicks. That, and my USB mouse has two buttons.
So far, I'm unsure if I can fix this. I may be able to hotwire the left-click event in Flash to fire a right-click if ctrl or command are pressed, but I'm worried the event will trigger in between a left "mouse_down" and "mouse_up" pair. That might cause some weirdness. However, maybe Flixel tracks things differently, making this a moot point.
Anyway, more work to do next week. Have a good weekend, all!
Posted on 09/11/2014 - 17:07
Today, I did some thinking about a possible alternate ending to the game, and started drafting some notes on that. I've got one ending mostly mapped-out in the editor, awaiting stats. And this other ending is something I'll approach as bonus material if I have time.
In the same vein, I spent some time outlining other DMC/Sprawl services that players have been requesting. (E.g. hotels, storage of items, fast food, etc.) A lot of these would involve some new features, so those will also depend on time left after plot requirements are fulfilled.
Aside from the plot stuff, I also found and fixed a few mod-related bugs today.
First, there was a bug that would crash the game if a mod referred to a missing image. I've added some code to replace missing images with the standard red "X" if this happens.
Second, there was a bug in the camptypes parser which would crash the game when the player entered a mod's new camptype. It was storing that mod's camp conditions in the wrong place, causing a null-pointer error when the player stepped into said camp. This, too, has been fixed in my upcoming version.
As these fixes pile-up, it may be time for me to consider doing a new build. It's still too soon for me to launch the new encounter, but the fixes are substantial enough that they probably shouldn't wait too much longer. I'll give that more thought in the coming days.
Hope everyone has a good night, and see you tomorrow!
Posted on 09/10/2014 - 17:21
Hey Folks! Just a heads-up, I have an appointment in town tomorrow, so I'll be bringing my work on the road. As such, I may be offline until later in the afternoon. I'll try to catch-up on messages then!
Right, so what did I do today? A lot of it was bug-fixing, actually.
The first bug had to do with the save/load system. I wanted to see if I could fix a bug some players had found with missing items. Instead of finding that bug, however, I managed to crash NEO Scavenger when loading my test save. It looks like the game craps-out when saving and reloading in the same session while the player is in certain encounters. The issue turned out to be the memory clean-up code deleting stuff it shouldn't, causing null-pointer errors.
Also, while I was in there, I found a bug that might've caused duplicate effects when loading inside an encounter. Basically, one could reload their save, get more loot, extra conditions applied, and lose additional loot each time they saved/loaded. I've added code to ignore encounter effects if loading a save, so this shouldn't happen in the future.
Additionally, I spent some time trying to figure out why AI was ending up in ATN hexes for some people (causing the "Windigo endless encounter loop" bug). As it turns out, there was a problem with the way I was setting "forbidden hexes" in the game initialization. I was calling them names like "26.103" while the game was looking for "26,103". Small difference, but all the difference a computer needs!
Both of those were pretty major issues, even if they were rare. That should really help with some of the more esoteric bugs!
Finally, I spent some more time writing the plot finale. I wanted to make some minor changes to the way Harald wrote some things, and I may expand on a few bits. I think part of the problem is that the needs change a bit once I've mapped them out. It's hard to anticipate how everything will work until I see it, and I inevitably notice some things I hadn't before.
In any case, I'll probably continue work on that tomorrow, and then move on to hooking the finale into existing plot threads.
That's all for today. Have a good night, all!
Posted on 09/08/2014 - 16:49
Hey folks! Hope everyone had a good weekend. I've decided to extend mine a bit by taking tomorrow off, since I worked last Monday (which was Labor Day). Hence, I'll be out of the office Tuesday. I'll be back Wednesday morning, though.
First of all, I found a nice surprise when I logged in this morning. Concurrent user count on the site was way higher than normal. As it turns out, Rock Paper Shotgun did a small piece on NEO Scavenger's latest update!
Last week's update garnered some great attention, and this seems to have stoked interest even more. Woohoo!
As for today, I spent most of it continuing the mapping process for encounter nodes in the final location. Total game node count is up to 2076, and I expect another dozen or so to finish this location. That, and I'll also need to do a few dozen "integration" nodes to revise old plot stuff so it makes sense. E.g. make old encounters mention this one, or lead to this one.
I'm also thinking I want to explore at least one alternate ending that doesn't happen at this location. That'll depend on time and inspiration, though.
Apart from the encounter work, I also fixed two bugs today.
The first bug had to do with running. It appears that the running move bonus did not apply if there was only one run move left. As a result, non-athletic characters never got the bonus, while athletic ones only got the bonus on their first two run moves. This should be solved in the next build.
I also patched an old random encounter to properly consider whether the player had a gas mask or not, since it was originally written before they existed in-game.
Judging by the forums, it appears I have some additional bugs to look into, as well. So far, they're minor enough that I'm not going to postpone plot encounter work for an emergency build. However, as they pile-up, I might have to rethink that. And in any case, I'll probably try to fix as many as I can once I'm done.
I hope everyone has a good Tuesday, and I'll see you Wednesday! (And feel free to email me if anything critical comes up!)
Posted on 09/05/2014 - 16:58
I moved forward on adding the condition overflow mentioned yesterday. I decided to call it "thresholds" instead, since the desired effect is to add or remove new conditions once certain thresholds are reached.
As of now, the user will be able to specify a stack amount and one or more conditions to add or remove. Once the condition increases to that stack amount, the threshold conditions are applied. If the condition is being unstacked, the threshold conditions will be removed at the stack count immediately below the threshold.
So if we add "Strike" 3 times, "Out" is added on the 3rd "Strike." If we have 3 "Strikes" and remove one, it'll also remove the "Out."
There are probably some tricky things that could be done with this, but care must be taken not to break the game. E.g. one could create an infinite loop if two conditions added and removed each other in the right way. Especially in combination with the "ChainCondition" feature.
Anyway, with that in place and working, I moved forward on the new encounter. It made this newest section much easier to manage, since I could keep a running tally of user actions. Too many actions, and there's a penalty.
Unrelated to the above, I also worked on a mysterious bug reported on reddit. Namely, a player was being accused of cannibalism by the ATN without doing anything of the sort.
As it turns out, a human somehow got into the ATN and died, and their corpse degraded into human meat. Then, when the player arrived, they were accused of dropping the meat!
The mystery is how the body got there. (Like a whodunnit!) I should fix that, but I have no idea what caused it. No code seems to allow such a thing.
However, I was also able to restructure the ATN encounter to avoid this issue. I did some tinkering in the market so that human meat in other ATN hexes won't trigger the banishment. It's a band-aid, but it'll have to do until I figure out the mystery.
That's all for today. Hope everyone has a good weekend!
Posted on 09/04/2014 - 16:53
Today, the encounter editor broke the 2000 node mark! More specifically, it's sitting at 2040 right now. This means that there are over two thousand encounter panels in the game. Pretty impressive!
Unsurprisingly, this was the result of continued work on the latest encounter. I added 50-60 more nodes today, easily. It's not quite as large as Saginaw yet, but I still have a few dozen nodes to add. I'm estimating that it'll be up there in terms of complexity. Maybe larger.
That, and it'll have some tie-ins to some old friends in the game :)
Of course, like much of NEO Scavenger's content, a lot of this complexity is in support of branching content. So even though this encounter has a lot of content, a lot of it is exclusive to certain choices and character builds. NEO Scavenger isn't a game of epic length, necessarily, but it has some breadth to make up for it!
Anyway, tomorrow will likely consist of more encounter-mapping and transcribing from the spec spreadsheet. I'm also thinking I may need to add one feature that's been on my list for a while: overflow conditions.
Right now, when a condition is added more than once, it "stacks." This means it has a counter keeping track of how many times it was applied. Some of these conditions multiply their effects as the stack increases, others just silently stack. In all cases, though, the stacking is unlimited (barring death).
"Overflow stacking" is something I've been hoping to add for a variety of uses. In short, it means when a condition reaches a certain stack amount, it "overflows" to a new condition.
A good example of this would be a game variable for "three strikes and you're out" in an encounter. After a condition stacked to 3, it could become a new condition, "out," and I could test against that in future encounter nodes. Without this feature, it's hard for me to write encounters that limit the number of tries the player has. (It's doable, but extremely complicated and time-consuming.)
I don't think it'll be hard to set up, but we'll see when I look into it more. Tomorrow should be interesting!
Have a good night, all!