March 30th, 2014

A common complaint during the last external testing was, “why get in battles?”. There were numerous reasons for this: battles could be avoided reasonably well, their rewards were underpowered at the time compared to other things, and they ate more turns than other quests. I fixed most of these issues, but still the question lingered in my mind. Sew proposed a new system where nodes are connected by “wilderness” nodes, places that consist entirely of battle traps and other traps. In a way this finally answers why you get in battles: to get to the other side.

So far in testing the new system surprisingly didn’t drag down pacing like I expected it too. And it finally makes battles feel like they belong in the game. So that’s one trouble off the table. I still need to revise the non-wilderness nodes to make a little more sense in the new map structure, and try to make them a little more distinguishable so players have reasons to prioritize some over others. But I finally feel okay about the game now, the biggest trouble is off my shoulders.

—————————-

For a long time it has bothered me that testers don’t really care about the main quest until the end of the game. I’ve pondered various ways to fix the fact that main quest steps other than the final one don’t really matter in winning: accumulating points for each one you complete that give you special rewards, making all of them timer based to force players to complete them, etc. Nothing seemed right. But I finally realized what was wrong with them. I had made missed the point of the main quest by making it too elaborate. Many of its steps were involved enough to be side quests. Which is where the problem arises: if the main quest is often the same as side quests, why duplicate that role? All it does is confuse players and devalue the main quest’s importance.

What the main quest should be about is a goal post that you race to beat the other players to in order to win the game. It’s a rather peculiar goal post because hitting it doesn’t necessarily guarantee victory, there might be a plot twist that moves that goal away from you. But every goal post should have a chance of being the way to win the game. As long as there’s a chance, it remains the most important thing in the game to achieve. I don’t know how I was blind to this for so long, but at least it finally hit me.

—————————-

Meanwhile I’ve been working on designing the new UI system. There’s really two parts to this work: building the UI stuff itself, and converting the existing sprite system to a scene graph. The existing system just has a big ol’ list of sprites with draw order sorting information, which really isn’t a convenient way to build a UI system in. There’s other advantages to it as well. But it’s going to be a real pain to switch everything over. Even now I consider trying to keep the old UI library around, but it just isn’t worth it anymore.

It’s a little crazy to me that it’s still so hard to find a solid solution to game UI. Building it yourself always ends with strange little deficiencies. The fact that so many game libraries have deep discounts if you use Unity, mobile, or other higher level solutions, but are impossibly expensive for small developers using C++. Sure is a thing. Makes me realize I’m something of an outsider. Only a crazy person would use that for an indie game, apparently. (It probably just has to do with only having source distribution options for C++ which is not something they want to give to anyone without a large company’s accountability. Probably. But it’s a weird world to live in where C++ has the least compatibility options, as more and more small solutions also end up being specific to Unity or other tools.)

Update 3 Test Report

Changes

This update was more about adding features for the future than it was about accomplishing any specific goal. As a result it also had an above average testing period to iron out all the new bugs.

  • Status Effects on the map. Just what it says! Allows for a lot more long-term consequences.
  • Passive Abilities on the map.
  • Death timer instead of instant respawn.
  • 4 new classes and several new traps to take advantage of these systems. (With a theme towards allowing more movement manipulation)

 Test Results

I think the new classes are probably the most interesting classes we’ve had to date. They all theoretically change up how people play a fair amount. Taking place on the map instead of battles just makes them feel way more significant. I may need to start moving their abilities into other combat classes to make class choices more interesting. That said, the movement boosting/hindering abilities haven’t actually gotten that much in the way of use yet, largely because the only times where you might know you want them (such as a stat boost node) are often not visible until it’s too late. They will likely become more important in the upcoming Update 4 which makes movement more important. The new status effects haven’t had that major of an effect yet either.

This update was a bit of a bummer to work on since it didn’t do much to fix our core problems. Sew proposed changing the map to have only a few points of interest that are sandwiched between nodes consisting of traps and battles. It fixes some current issues with the maps being so overpopulated that no one really wants to sort through the mess to figure out what they want to do. It also gives a bit more of a journey feel to getting around the map, and more importance to general positioning. I worry about it backfiring in some fashion but it’s a simple change that might turn everything around. And that gives me a lot of hope.

March 16th, 2014

We’re getting pretty close to getting Update 3 playable to make a report, but it has been slow going. Due to the large number of fundamental changes there were quite a few bugs, and no one has felt like testing it all that much for some reason. Most of that is on me for getting distracted with a certain video game that just came out and not putting much work into implementing what we have of the new interface which then proceeded to bum Sew out.

For that matter I’ve been bummed out about the game itself this week in general because it just doesn’t seem like changes will actually improve it that much. It’s a pretty common thread to see making of articles have lines like “even early on you could tell it was fun!”. Which is, well, worrisome when you aren’t fun early on. Most making of articles that cover struggles to make something fun usually end in “and then they scrapped it and that’s why it ended up good” or “and that’s why this game sucks”. Of course this isn’t actually true, lots of things have only come together in the end. But when you’re sitting in it, it gets discouraging every now and then.

Last night Sew also pointed out a desire to add some animations to the interface. This is problematic since our UI library doesn’t directly support animation of any kind, so I need to extend it (and to be fair it’s made for extending it when it comes to stuff like this). But the documentation on said library isn’t fantastic and it looks to be a rather daunting task. There’s also a second problem with said library that I can’t really get it to achieve a certain effect I want. So, again, have to extend it or scrap it. I also worry a bit about layering issues for certain animations since like most game UI libraries this thing has to draw on top of the game. There’s also the fact that we’ve had perpetual memory leak issues with this thing since I started and have poured countless hours into fixing them and learning how to use it (and yet there’s still a memory leak!).

I’m starting to think it’s time to just throw the library away. A decision I should have made the first time I spent a week trying to integrate one. There just isn’t enough control over the thing, and it’s only getting worse now that it has become unsupported over the years we’ve been developing this game. I’ve been putting it off for as long as possible, thinking I might be able to make it work enough to avoid the expenditure. That said, I’m not going to just dump it all at once. It’s going to be a gradual approach of using my own system only when needed by the art. If we end up needing to replace every menu then so be it. If we can salvage the UI library for parts of the UI, then we will.

Of course all this is just going to delay getting the new interface up and running so. Great. Just great.

March 9th, 2014

March is the part of the year where I wake up from the seemingly infinite possibilities of January/February and realize I’m probably not getting this thing done when I want it done.

Update 3 is complete, but we haven’t completed a test without a crash to really write a test report yet. So this week you get a blog post about personal habits relating to productivity! The Internet doesn’t have enough of those.

So this week I’ve started to focus on removing microbreaks from my workflow. Which are basically quick things (as in a few seconds to a few minutes) that aren’t work, like reloading a website to check for updates, that you do while working. I think proper 15+ minute breaks are a legitimate great strategy for refreshing yourself to help get things done, but these microbreaks have dogged me for awhile now and I think they’re way more bad than good. Here’s why:

 

1. Multi-tasking takes a mental toll. It’s bad for staying in the flow.

Some scientists said that, I think. And I believe it. It seems like I generally feel way more tired from the constant switching than I do from the actual work. Sometimes it feels like they fit into the flow in a nice way (distract self for a few seconds to think about a problem), but if I stop to think about it they likely just make it impossible to get into the flow in the first place. That critical period where you just need to push through to get into flow in the first place.

2. They don’t actually refresh you.

Because you’re spending so much energy going back and forth you never really get your brain to go into a cooldown state of focusing on something else for awhile. So you’re taking break time without really getting anything out of it. I bet some scientist said something like that.

3. Feeble human minds don’t accurately measure them.

If you asked me how much time I spent of microbreaks prior to installing ProcrastiTracker I would have given you a time that is nowhere near as large as reality. Since they’re sandwitched so tightly between actual work I just…don’t realize how much time they’re actually taking. As a person who doesn’t watch a lot of movies because it’s super easy to measure how much time they’re going to take and that amount of time is way too long for my tastes, I don’t like this at all.

4. Boredom is good.

I’ve probably gotten most of my best work done out of boredom. Boredom is great for getting work done because it makes doing work funner than being bored. When you have a non stop buffet of distractions you don’t really get bored per se. And that’s bad for business.

 

In conclusion I have no idea what I’m talking about, don’t listen to me. So far results have been decent, but not amazing. We’ll see how long I can keep this up.