Skip to content

February 8th, 2014

February 8th, 2014 published on

Didn’t manage to push out an update for testing this week. Update 3 has been a little hard to work on because it doesn’t have an underlying theme of “this is what I’m trying to fix this week”. Without that guiding element I feel a little bit like I’m just flailing on it. So I’ll probably try to keep some kind of theme in mind for each update from now on.

The big change for Update 3 is allowing status effects to work on the map. This is technically a feature that should have been added ages ago, but was one of the things that got shoved on the side for the sake of other things. While it doesn’t necessarily fix any single flaw in the game, it does provide a powerful tool for several problems: it provides a way to alter how players treat the map a little more because status effects can trigger on each step between nodes, it opens up one avenue of letting players manipulate other player’s movement temporarily with offensive status effects, it allows traps to have longer term consequences, and many other possibilities. What it doesn’t do is improve the way traps trigger to be more thought provoking or any of the other big problems. So it’s really about building a tool for the future more than anything. For the time being I’m just slapping in a few scattered ways to use them across the game in order to test the functionality.

Meanwhile I’m actually working to spruce up the code in this update too, fixing up one of the bigger remaining messes. When I started this thing I tried to have a philosophy of “the next time I have to touch this part of the code to add something, I want to leave it better off than when I started”. It’s not a philosophy I’ve followed as closely as I should have, but I don’t entirely regret it since it manged to get us this far. There’s gonna be a lot of big changes in the future, each one is an opportunity to make things better. For instance, I put no thought into saving the game state. So that’s going to be a really fun update.

On that note I need to gear up to start writing automated tests. When starting work on this thing I deliberately decided not to write tests alongside it because I knew massive design changes were going to end up happening. Probably a controversial choice, but this prediction also ended up being completely true. Yet in reflection I’m not entirely certain the time saved on not having to re-write tests paid off considering the high percentage of debugging that went down which could have easily been prevented with basic automated testing. On the other hand having the opportunity to comb through the entire codebase a second time and improve it as I go with the capacity for hindsight and a view of the whole structure in place might yield some big benefits (Of course TDD advocates will say that if I had just written the test cases to begin with the structure would have been better to begin with. But when you only have one set of eyes available for a project, the mists of time revealing all of your inadequacies is actually a pretty powerful asset).

I guess what I’m trying to say here is that the conventional wisdom is that you want to write a piece of code to be so good that you never have reason to update it again. And it’s true, that’s perhaps the truest ideal for a piece of flexible, clean code- that future unplanned additions should be placed around it rather than within it. But for this project I’ve been trying to get more into the mindset that it’s good to try to improve the health of the codebase as you go. To trim the hedges. That it’s probably impossible to attain that ideal design on your first shot, and it’s better to work towards it instead of leaving a mess on the floor to rot.

A long road is ahead for sure, but for the time being getting the game to be fun is still my highest priority.

Update Report 2

Update Report 2 published on

Changes

You might recall the previous changes to node difficulty:

difficulties new_layout

 

 

 

 

 

 

 

Update 2 introduces a new difficulty per area format where difficulty zones are instead scattered throughout each area.

newer_layout

 

 

 

 

 

 

 

Previously the difficulties were balanced such that battles within them were nearly impossible unless within the correct level range (so roughly 1 for easy, 3 for medium, 5 for hard). In the new balance all difficulties are possible at any level, but the harder the difficulty the more risky the battle for a low level character. This is accomplished by making all enemies in an area have roughly similar stats, but harder difficulty ranges have more complicated attack patterns. (Easy enemies use only 1 damage type, Medium use 2, Hard use 3- your chances of an incorrect pattern guess or not having the right types go up as the difficulties go up).

Test Results

Not an incredible change. You still don’t need to think too hard about where you go. But players are no longer uncertain about whether a battle is going to kill them without giving them a chance now (there really isn’t room in the pacing for warnings-by-death). I think it’s a subtle positive change that will probably bear more fruit as we add more to the game. It’s also probably a bigger win than we realize when it comes to new players.

The one major downside here is that the riskier enemies don’t pose much of a threat to even a 2 man party due to their stats. The experience splitting makes this not a huge power balance issue, but it does make the game rather boring when partied. Might still be okay in free for all where being partied all the time isn’t always in your best interests while co-op specific scenarios could have their own stronger enemies. Still, part of me is tempted to give enemies some sort of health bonus when fighting parties. It’s a delicate issue.

Update 1 Report

Update 1 Report published on

Update 1 Changes:

The primary goal of this update was to start fixing up the issue of moving around the map being boring and largely free of important decisions. I started with the lowest hanging fruit in terms of effort to implement.

-Passive traps: Traps that have a chance of occurring when trying to use an action, rather than when walking past them. Makes the risk of doing things clearer, has high potential number of combinations.

-Stat Boost Objects: Locations on the map that permanently boost a player’s skill when used. Meant to promote competition to get there first.

-Attack Objects: Locations on the map that attack all other players in various ways. Meant to make it strategic to hang around them to knock people out at strategic times.

-Changed battle turns before going to the next battle from 2 to 3 (trying to make battles less pure loss for players)

Update 1 Test Results:

Game has not significantly improved from the changes. The presence of mostly Warp attack objects and Stat boost objects in general highlighted a long problem with the game’s PVP in that it’s basically impossible to significantly manipulate other player’s movement. This goes double for the incredible power of combined movement in a party. There are numerous ways to start alleviating this problem: player-created traps, items/skills for slowing other players down, items / skills allowing for temporary boosts in movement, allowing players to attack other players who are passing by them, changing how party movement works, and potentially reducing general mobility. Bears further exploration in a future update.

Unrelated to the changes, testers demonstrated the need for a timer after death to prevent PVP stalemates that drag down pacing.

January 26th, 2014

January 26th, 2014 published on

At some point I was looking over my list of ideas to fix the issues I realized that none of them were some big fundamental change of an idea. They were all smaller ideas, little tweaks to fix it up. I had gotten so used to rebuilding the foundation every time messed up that I ended up trying to do it again when it wasn’t even necessary.

So this is it. This is the fun part of the project. The sweet spot. The part where it all comes together. No more spending months getting a single feature done and moving on to the next. Any given task will take a week at most (probably two weeks). I can jump around effortlessly between design problem, programming problem, and polish problem. Everything will be tested and decided upon as it goes along. Everything has built up to this part of the project. I am so excited.

January 19th, 2014

January 19th, 2014 published on

This week I opened up alpha 2 testing to external testers. Perhaps a mistake considering I had already written off much of the current set up, but I had already scheduled it to light a fire under my feet so I went through with it anyway.

Things learned:

1. You need to fix your interface and other user experience issues before you should expect any useful feedback on the core game from external testers.

I think this one speaks for itself.

2. At some point you need to decide whether you’re a luck-based party game or a hardcore RPG.

The game started out as a luck-based party game and I’ve been slowly struggling to steer it towards being closer to a proper RPG. Despite the struggle, I haven’t really succeeded at draining the party game out so now I mostly have a game that has complicated mechanics that are at odds with rolling the die and laughing at misfortune. At some point if I can’t get rid of the party game, I need to double back and embrace it by drastically cutting the fat out of the RPG mechanics.

3. The new battle system is bad for newcomers and PvE in general. (But still great for PvP)

I won’t explain the battle system in its entirety, but think “Rock Paper Scissors”. Enemies attack in patterns. As such, it’s radically more difficult to fight an enemy for the first time than subsequent encounters. At first I had intended to reveal complete enemy attack patterns or at least enemy abilities to make it have some semblance of charity to new players. Initial internal testing decided that it was kind of fun to learn enemy patterns the hard way. Seeing easy enemies completely wreck new players for the first 2/3rds of their first session (first learning how the RPS system works, then having to learn enemy patterns) makes me think that was a terribly wrong assessment.

The simple fact of the matter is that Rock Paper Scissors is only fun against humans because there are mind games available (enhanced by the RPG changing the desirability of certain types). My gut says revealing enemy patterns will likely make PvE battles kind of boring (available options become highly limited compared to a system without RPS), but will at least fix the new player disadvantage. Further investigation may be necessary, possibly changing the bonuses granted by Weak/Strong types to be something other than a damage multiplier.

————————————————————

Meanwhile my struggle against last week’s problems continued. Not a lot of actual progress on them. I think I’d probably rephrase them as, “man the map part of the game sucks”. Ages ago, probably on this very blog, I made the statement that even though the game looks like an overworld it should play more like a dungeon. At some point I lost sight of that and accidentally made an overworld. So I think that’s like the guiding light for this problem, I need to make the map segment of the game start to feel more like a proper dungeon. I haven’t actually come up with much to achieve that, but that’s kind of where it needs to go.

In my mind an “alpha 3” milestone is starting to form. I see it consisting of interface improvements, revising the map systems, improving the way equipment works, and a completely new main quest. I want it done by March. That’s a crazy deadline that I can’t hope to hit until I actually know what the map revisions should even be.

January 12th, 2014

January 12th, 2014 published on

We finally started completing games under the new system and so far we seem to be hitting the time goal. Unfortunately it has also become clear, especially with the difficulty range reduction, that the quests and general map systems need some heavy revisions. I was pretty resistant to admitting that I needed to sit down for another design revision session (I had hoped I was done with them), but after enough test sessions it became clear that it was inevitable. Let’s walk through all the problems that I’ve identified so far, as I haven’t really formulated solutions for them yet:

1. Not every turn is important.

This is the one pointed out by Sew and was also the one that kind of broke the camel’s back in terms of “ok, I need to deal with this” since improving this was the primary goal of the recent update. While the new systems have made significant progress in this realm, one cannot say that every turn is important. This is a tricky thing to fix in a multiplayer game since you never want to screw over a player so much from bad choices that they become irrelevant for the next 30+ minutes of the game.

At first I started thinking about this problem largely in the context of board games. I started to think that since a player only really has a couple resources to progress on (experience and gold), and that since they both feed into the same progression of total power that there aren’t really many opportunities for players to execute a strategy on the map- ultimately every space gives one of the two resources sot it’s just a matter of selecting their desired risk factor. I started to think about how many board games give players a much larger pool of resources to work with and from there specialize in as needed- giving each turn more relevance to contributing to their overarching plan. It’s certainly one way to fix the problem, but I began to realize I had my head too far up the board game metaphor. Resource allocation isn’t the only way to give importance to a turn.

Most of the subsequent problems tie into this problem, and hopefully solving them will ultimately solve this problem as well.

2. There is no danger. There is no pushing your luck.

Pretty much the staple RPG element of deciding whether to go back to town or keep going is largely absent. There is a limited amount of it present with higher risk node actions, but they lack the element of a long, grueling campaign. It’s hard to give dangerous enemies a presence when you’re only really working with one difficulty area at a time. Crushing the stat growth curve also gave us exceedingly easy enemies for rank 2/3, I need to boost them a little bit.

There’s a few different ways to handle this. Right now my main thought is on returning difficulty areas without actually increasing the size of the map. I’m also thinking about making it more difficult to unlock new areas- nodes that take multiple actions to unlock the next node or something. Not really sold on a solution for this yet.

3. There is no sense of progression, no sense of rising difficulty.

Largely tied to #2.Without more discrete difficulties it’s hard for players to appreciate their own growth.

4. Traps aren’t player’s own fault for pushing their luck too far, but mostly random bad luck.

Part of this is that I need to reconsider the purpose of traps somewhat. They were largely intended to bring a sense of danger to traversal without slogging the game down with random encounters. But with the map being so small it’s very easy for a trap to get placed somewhere that the player has no choice but to go through. Right now the obvious solution is to give players more options to manipulate traps- pay something out to reduce the trigger chance, etc. Not a total failure, it’s already kind of fun to intentionally run past a trap to raise the chance for the next sucker walking by.

5. It’s impossible to determine how hard a given main quest step will be (or anything else for that matter).

Are you noticing that like half of these problems are tied to the difficulty range reduction? It might seem like bringing it back whole sale would fix everything, but the sad reality is that many of the other problems still kind of existed to a lesser degree even when it was in place. There has to be a better way.

6. There’s no reason to engage in the main quest.

Even when players can confidently tackle the main quest line, there isn’t much reason to do so. Only the final leg of it determines the winner at the moment. There’s two competing philosophies of dealing with this: forcing players to complete it, and reward players better to complete it. Forcing players would basically have a turn timer before every objective expires. This has several useful properties: It forces players to co-operate if they aren’t able to deal with the objective solo (which is a great thing- we have stuff that inspires PvP but not as much for co-operation), it sends a clear message to players that grinding won’t fix everything (a behavior that many players automatically drift towards in an RPG, often to their own detriment), and it brings the game much closer to making sure that the 1 hour target time is always hit. The downside is that timers are a very dangerous tool since they require precise balancing in a game loaded with randomization, and a lot of players really hate timers in games. So they’re going to have to be dressed up: give a plot reason, maybe sometimes when a timer is failed it opens a new branch of the story instead of ending the game, etc.

Meanwhile we have the rewarding players option. Giving standard gold/experience rewards isn’t enough, nor is it clear. The rewards need to be unique, but not give such a huge advantage that other players can’t compete. The simplest option is granting unique equipment, items, or abilities. But I’ve been considering a more flavorful options where completing a main quest objective grants the player a special currency. This currency can then come into play in unlocking special options later in the quest. Want to convince the bad guy to stop the plan peacefully, hence skipping the boss fight entirely? Gonna need points for that. Wanna take the princess out of the dragon’s cave using stealth? Gonna need points for that. Want to save a character from dying? Gonna need points for that. It’s a somewhat dangerous line of thought since players ending up in a tight game with even points might lack the plot option they want to do. But it’s something. More than likely rewards and timers will both be used to varying degrees. It’s a matter of figuring out the right ways to do it.

 

And that about wraps up the current problems I’m thinking about. It felt really bad to open up a design phase again since we are so close. At some point you have to admit that the game won’t be perfect and you just need to finish the thing. And I worry that I’m taking perfection to my own grave. But I don’t think these problems will require massive code changes to implement. It’s safe for now. But at some point I have to stop altering the foundation and just get it done. At some point I have to say that it’s good enough.

January 5th, 2014

January 5th, 2014 published on

The stability is finally such that some games are getting completed. The most obvious observation is that the pacing is completely wrong: A 3 player game took 2.5hrs to complete. That’s a long way from the target time of 1hr for 4 players. So I started redirecting my attention to cleaning up the pacing. The most obvious problem was the addition of difficulty areas. The way the game was set up is that the plot quest took place over 3 areas, and within each area were 3 layers of difficulty- each layer blocked off by a boss. This worked pretty well at creating a sense of progression and letting the player know if they could handle a plot quest (if the plot quest is in a medium difficulty area and I just beat the boss to the medium area, then I can probably handle that plot quest).

difficulties

 

 

 

 

 

 

 

But it was also pretty obviously the single biggest time sink. It also had pacing issues in of itself: by the third area the routine became pretty drawn out and players were getting sick of it. The first area also took the longest- partially from players having the least options at that point in the game, partially from the exp/gold progression curve being lowest at that point. Another property worth noting is that since there wasn’t a boss between the third difficulty tier and the next area, the last difficulty of each area ended up skipped over most the time since there were enough non-combat quests that the most optimal way to progress was to always be in the highest difficulty area available. What this meant is that ultimately there were already only 6 difficulty ranges instead of 9. Which meant that doing minor sprucing up like removing the third difficulty tiers or reducing the final area to a single difficulty tier wouldn’t really be enough to hit our goal. So I went for the most dramatic route of removing difficulty areas entirely and reduced it to just the 3 plot areas.

new_layout

 

 

 

 

 

 

 

This seems to be getting closer, but we haven’t yet completed a game with this new layout due to bugs and disconnects. So far it seems like roughly 1hr for 3 players and 1.5hrs for 4 players. Not perfect, but within reason that with additional smaller tweaks we can hit our goal. Right now I feel like the new system is really missing something compared to the old one, but I think the majority of the problem stems from the main quest. The two things that didn’t get done in the alpha 2 push were equipment revisions and doing a new main quest. So having the alpha 1 main quest still in place is dragging the rest of the game down. Making the new one will probably be the next step. Right now I sort of view the current goal is to produce a really good demo build of the game. That mostly means refining existing content, fixing bugs, improving the interface towards playability, fixing up balance within the smaller scope, etc. Once we’re satisfied with a slice of the game, we can move towards expanding and polishing it.

December 28th, 2013

December 28th, 2013 published on

Even a week out it’s hard to digest the new version. Most of the week was spent stabilizing it (which we’re getting pretty close to now), which makes it somewhat difficulty to form a cognate impression of it when most of the time was spent replaying the first third of the game again and again. The other thing that throws it off is simply that the numerical balance of a lot of things is still all kinds of off. But what’s clear is that pacing is going to need a lot of work to cope with the changes- getting to about the halfway point took an hour for 3 players. Not entirely surprising since a lot of the new map stuff adds thought overhead to the game (among other things). The first move to fix it will probably be cutting it down to 6 difficulty ranges instead of 9. I could even see dropping it all the way down to 3 if necessary.

As predicted, the new combat system seems to be extremely effective at making player vs player far more interesting. It has even made 2v1 matches more balanced than before which is a somewhat unexpected side effect. Having rewards tied to location combined with many areas having low-risk actions for players to earn from has also created an effect where it’s relatively easy for players behind the level curve to catch up to everyone else.

Presently the biggest question of where to go with this thing is how to deal with enemies in the new battle system. Right now when they have static patterns there’s a big advantage to players who have fought the same enemy in previous games. There’s two ways to fix this: either let players know about the enemy’s next move, or partially randomize monster patterns each session. The latter is the far more likely solution to go with- trying to predict a pattern and then exploiting it has proved far more enjoyable than I expected. Lots of exciting player gambling. The biggest win, though, is that randomizing the patterns means players have reason to pay attention to other player’s turns to learn about enemies ahead of time (along with having a minor element of memorization to keep players focused on the game).

So really the big question is where to go from here. At this point the work branches off in several directions: enormous amounts of content needs to be planned and implemented, additional interface functionality needs to get added (and then the interface presentation needs to be overhauled entirely), optimization and clean up desperately need to be applied in a few areas where all the radical changes left scars, fundamental basic features are still missing, support for expected configuration options needs to be added, and plenty more! Right now my priority is still to get this second draft stabilized, balanced, and paced correctly so I can start evaluating feedback, but after that a whole lot of big picture planning is going to have to get done for the next year. Right now I’m not sure if I want to dabble in each, or focus down on one category at a time. As I said before, there’s a ton to do but I’m no longer worried about it.

December 22nd, 2013

December 22nd, 2013 published on

Well I barely managed to get the playable version out the door. Like most of these early releases, we haven’t actually played it that much thanks to the slew of new bugs stemming from the new features (partially because I don’t test multiplayer by myself as much as I should, partially because I rushed it out because I can’t wait for people to try it out) so there’s not a whole lot to say about it yet. Initial internal feedback is universally positive towards the new map features, though not enough of the battles have been played to say one way or the other for them.

So that feels pretty good. Actually, it feels really good. There’s still a long road ahead of putting in required features, balancing things out, making it look good, building content, etc. But that long road seems a lot shorter when you know you have a good base to work from- the game is only going to get better from here on out, there’s no worry of all that work going to waste.

Expect a more thorough analysis of what went right and what went wrong with the new alpha next week, assuming anything gets done through the holidays.

 

December 15th, 2013

December 15th, 2013 published on

Amusingly after discarding the old todo list I think I got like 4 items done on it this week, plus a ton of miscellaneous things that weren’t on any list. So things are going great. I’ve got two items left on the short list and I’m going to try to push to have them done this week. Not necessarily easy to do since one of them is an issue with the map generation that completely wrecks the intended balance, so it really must be dealt with before testing.

The main reason for the sudden increase in productivity is that I’m really pumped to see whether these changes are actually going to work. It’s so close I can taste it. Even now I can kind of get a feel for how it plays and get the very slight impression that this just might work. And I hope it does. This has been our darkest year, so if we can go out on a win that would make all the difference for morale.

There’s a question that has been on my mind for awhile now: what if the revisions don’t work? Doing another year of just rebuilding the foundation isn’t really acceptable. But it might not be impossible if necessary. A big reason why I altered the game the way I did is because it allows me to make some sweeping changes to it without necessarily programming a ton of new stuff. There’s a fair chance of being able to really mine down into the potential space and finding something better in there. And if it doesn’t end up sucking, it’s still a great way to make the game feel different between each scenario.