Skip to content

December 8th, 2013

December 8th, 2013 published on

So a long hard look was taken, and I’ve decided to drop the majority of the list in favor of a goal of “get the game playable by year’s end”. I just want to test out how it’s coming along already. The list has been reduced to a mere 3 things with 3 weeks to do ’em. It consists largely of building necessary sample content, with a side dish of finishing required features. There’s only really one thing on the list that has been delayed that I regret having to delay since it’ll make the content a little harder to balance, but overall enough major features got done in time that it isn’t a huge deal. I always worry a little bit when producing these tests, because I’m never sure how much the lack of quality of life features affects tester feedback. Even from myself.

So this week was spent largely on planning and building new side quests. It’s also where some doubt began to creep in. It’s a little inevitable for that to happen when you make the tenth variation of the same basic things happening over and over again. Several months ago I talked about quest context mattering more than what you actually do on a quest. Part of the problem is I can’t shut off my game designer brain here that is annoyed that so many of these objectives are so similar. The other problem is my context really, genuinely isn’t that interesting yet. Most of these sample quests are going to end up thrown out anyway, but I’ve really got to work on my technique here. It’s rough trying to come up with a story to tell that takes place in the span of two text boxes.

Then when I start to actually put them in the game proper and the map starts populating with so many different things, I start to feel a little better about it as a whole. Maybe this really is going to work. Just maybe. Now to take a few more steps and find out.

December 1st, 2013

December 1st, 2013 published on

This week saw 1 item done, calling in the triumphant return of being behind schedule again. Not terribly surprising given holidays and the like. One thing to note is that a pattern of “get 2 easy things done early in the week and then 1 hard thing at the end of the week” seems like it’s probably the ideal way to schedule- when you start with a hard thing it’s easy to let it take up the entire week. More than likely I’ll be pushing several items off the list to compensate for this.

Right now I’m mostly worried about rushing design things that really shouldn’t be rushed. I’m not entirely sure how to cope with that. Either I’ll change this year’s end goal to be to create a solid framework to start hanging sample content on next year, or I’ll move several more features down to low-priority to give me more time this year to work on sample content. It really depends on how many more features I deem required to start building on, and how long they take.

November 24th, 2013

November 24th, 2013 published on

This week resumed the standard rate of 3 things done. To compensate for last week’s failure, two things were struck down to lower priority, allowing it to again be on schedule. To say that this was by “the skin of the teeth” would be an understatement given that I completed the last of the 3 tasks an hour or two before the weekly blog deadline.

I added the fundamental part of the new combat system this week. Not much real game testing or sample battles were performed beyond checking basic functionality, but if nothing else this new system seems to be much more immediately “readable” than the old attempts at penetration types and elemental affinities were, judging just from basic testing.

This week also saw the completion of the initial class list. The idea behind this sampling of classes was to basically have a kind of basic, not-too-complicated class list of basic archetypes to give an idea of how it all fits together. It also simply had to excluded some of the more complicated classes I have planned just to cut down on the work required for the deadline. We’re only here to see if the basic systems work well together, not necessarily putting the entire game together all at once.

November 17th, 2013

November 17th, 2013 published on

And this week was… 1 completed item. So officially behind schedule now (by more than expected- though another item will be completed tonight or tomorrow). Getting back on schedule is going to be crazy difficult, but I have plans to try to manage it. Realistically, 2 items per week would have been a more doable schedule.

This week, outside of getting things functional, saw a lot of interface design time optimization. At first there was going be a dedicated “you won the battle!” screen detailing experience, gold, items, etc. Eventually gold/experience/levels gained got reduced to a relatively quick animation getting played on top of the player- reducing necessary player clicks by one.

There was also initially going to be two item gain screens- one to pick which item you want from the total pool available to the party, and then another where you picked what you wanted to do with it (sell/equip/take) as well as which specific item when given a “choose one from”. This was reduced to a single table screen with the item information and each action mapped to a button, reducing a worst case 3 clicks down to 1 click. This kind of minor quality of life stuff gets glossed over a lot, but in a game that’s trying to streamline the required play time as much as possible it’s absolutely critical (plus it’s just plain nicer to play with regardless).

November 10th, 2013

November 10th, 2013 published on

Ah! Have we hit this point already? Yes, only 2 things done this week. But still on schedule since I was ahead last week. We’re entering into the rough patch here. Almost every thing left on the list involves significant UI work, significant changes to multiple existing systems, or large amounts of content to be both designed and implemented. If I were betting money on it, I’d say next week is when things will truly get off schedule.

Some of the work this week was about revising how rewards were dolled out. Previously enemy experience and gold were manually specified by hand to the specific amounts. What this led to was looking up a chart of appropriate values for different levels and tweaking based on how hard the enemy was relative to its intended area. One of the changes was switching to a reward level system- ie a level 5 gold reward results in 50 gold. Selections are still made relative to how difficult I feel an enemy is by setting its level, but the exact value comes from elsewhere. Now it will be much easier to tweak the reward pacing. Rank is still taken into account (each rank of the world is intended to be a big jump in costs to prevent players from gaining much value from grinding previous areas), so a rank 1 level 8 reward is still less than a rank 2 level 5 reward.

Something very similar is happening to equipment. Previously every single piece of equipment’s stats were manually specified. Naturally this led to a whole lot of looking up a chart for appropriate levels, which then led to clerical balance errors since equipment was in the format of “this style of equipment has versions 1, 2, 3 which are just straight upgrades”.  The new system will simply define an entire family of equipment’s growth across levels- with some options for additional flavor at certain levels if desired. Balance will now be much easier to tweak to perfection, though I suspect more will have to be done to equipment later to make it more interesting.

I was a little loathe to implement stuff like this because this kind of pass-the-balancing-off-to-the-computer stuff can easily go too far. For instance take this once popular (heck, maybe it’s still popular judging from most games these days) perception of how a difficulty curve should look:

boring_curve

The idea was that you constantly want to be challenging the player just a little bit so that they feel like they’re overcoming things, but not so much that they get frustrated and quit. This concept is, in fact, complete bullshit. The end result is that players feel bored and pandered to because the game never gets in their face and tells them that they suck, nor does it ever reward the player for getting significantly better. The game becomes forgettable because no part of it stays around long enough for the player to reflect on it. It gets even worse when you apply it to a game with even the slightest bit of non-linearity because it reduces player options to being meaningless- the cave or the castle? doesn’t matter, they’re both the same! Wouldn’t want you to get stressed and quit because we think you’re too dumb to try the other one if the first one you choose is too hard.

Moderation is key.

 

November 3rd, 2013

November 3rd, 2013 published on

With 9 weeks (including last week), and reducing the Things To Do Before Year End to 25 creates a desired schedule of doing roughly 3 things a week. I did 4 this week (close to 5!) so I am technically ahead of schedule. But when you factor in that I started with some of the easier goals and that I probably forgot things that also need to get done, I ain’t getting comfortable with this schedule yet. The list is composed entirely of changing existing systems rather than building new ones so I don’t expect any single item to take longer than one week. But 3 a week is still pretty ambitious. I’ll need to build up a bigger lead this week.

So I was sitting down to work on one of the items on the list, dividing it up into sub-tasks that needed to get done. And it was looking pretty gnarly, having to add significant new parts to make it work. Then one of the greatest pleasures occurred: I figured out an alternate way to do it that was both easier to build and significantly more interesting to play with. Words don’t really describe how good it felt. And I probably never would have thought of it if it weren’t for a deadline pressing in on me. Limitations, man, limitations.

I’ve been worrying about having stat bonuses/penalties with classes. Outside of classes players can have theoretically equivalent stats from buying the same equipment. Then, classes largely introduce new options and ideal directions to players rather than direct advantages. But having some classes sacrifice options for greater power in remaining options seems potentially too powerful since players have a total of 3 class choices- losing a few options with one or two of them isn’t a huge deal when your other classes can make up for it. Might have to stick to stat penalties. Or bonuses and penalties.

October 27th, 2013

October 27th, 2013 published on

Design draft 2, as I’m calling it now, was finished this week. For readers at home, “draft 1” is the build that we had at the end of last year. I’ve reduced it to 30 things that need to get done to have it implemented. That leaves roughly two days per thing to get draft 2 playable this year. It’s going to be rough since several items on the list are almost certainly going to take more than two days. Please enjoy watching this blog document my drift towards going further and further off the schedule.

Looking over the finished product, it’s nice to observe how much of it is directly derived from tests of the first draft. Some small sense of validation that the unending tunnel of development was not a waste. The other thing that I like about it is that all of the pressing questions from the previous draft are answered in this. I had no idea what we were going to do with status effects last time, this one clearly outlines their purpose and how to deal with them. If it all works together well enough, we can finally start honing what is there instead of shooting wide and throwing most of it away.

On the programming side of things nothing terribly exciting happened. The location finder was updated to use the same method of finding a location as the node generator does to validate its generation constraints. Not strictly necessary, but it’s a logical place to re-use code and it allows the location finder to easily take advantage of new node features like tags. The distance finder is also a little smarter in this version, optimizing for furthest or nearest node as desired when a node isn’t within the range.

October 20th, 2013

October 20th, 2013 published on

This was a strong week for design. I wouldn’t describe the first draft of design as done but… the foundation for it certainly is. I would describe the current draft as a big glob of thought processes that need to be extracted into a simpler format. It feels really good to start on what looks like the very first step towards genuine completion of the game. Up until now the project has been dogged by, “will probably change this later” which created a crushing feeling of creating an endless stack of work. Being able to sit down and say, “THIS is going to be how it is” is relieving, even knowing that much of it could end up changing later (but probably won’t!).

The design process has been a little lower level than how I usually work at this stage (but is honestly how any designer probably should work at every stage). I sat down and isolated a primary chunk of the game (in this case, the map and objects on it). I then asked: how does each object affect a player’s thought process in deciding what to do in a turn? The goal being to create interesting decisions each turn where the player’s selection would have ramifications on future turns, allowing for both long-term and immediate consequences. This lead to some interesting discoveries falling out of the process, such as it being more interesting if you make the rewards for an action more explicit (as then the player gets to weigh risk vs. reward, rather than simply picking which risk he’s more comfortable with based on the current situation).

From there it was all about going down the list of game elements, listing out the various ideas for them that we’ve come up with over the years, and weighing the effects of each on player decision making and balance. In many cases it hinged on one style of system invalidating another style of system for a different game element, making the ideal choice fairly obvious in the context of the complete game.

Of course the best thing to come out of this process is that I’ve finally settled on what needs to be changed for the battle system. It’s sort of amusing to consider the evolution of the idea. Early this year it all started with an idea of “to make a minimal turn battle interesting, then each single action needs to have multiple consequences). This started out with an incredibly complicated system that could probably be spun out into its own entire game, which basically made every action have 4-5+ consequences associated with it. It was a cool system, but it had many flaws, including that making a quality AI for it would be too much work and it wouldn’t be as fun to fight as a player (even beyond that, it was simply too big of a game to fit within the rest of the game). Then towards the middle of the year I came up with a system that only had 2-3 consequences associated with it. This remained the leading system for a long time, but I still wasn’t sold on it. Only this week did I finally reduce it to a system where every action has 1 additional consequence to it. And it’s almost certainly perfect. It achieves exactly what we need: adding mind games to player vs player battles, and rewarding pattern recognition in monster battles. The funny thing is that I didn’t really realize what each iteration of the system was actually tweaking until after the fact.

October 13th, 2013

October 13th, 2013 published on

The final touches on nodes continues to roll along smoothly. The next week or two might be the last, the only major thing is to add quest actions/objectives for them. Though quite a bit still remains to be refined in the system. The process of adding new functionality to multiple pieces of older code was mercifully not that bad. Far from perfect. I have a lot to say about the flaws of the current code base and what I need to do to raise the quality. It’s mostly that certain pieces expect far too much work to be done on the end of who’s calling them, rather than themselves. But today isn’t the day for it.

What I’m really starting to think about these days is constructing the final design document. The design doc that brings the whole thing together, takes every component into account and ties it together as a proper game. The omega design doc. The more I think about it, the more it’s clear that this design doc won’t be made in a single sitting in a game-less vacuum. More than likely it will be constructed over several drafts. Each subsequent draft will be derived from the results of prototyping parts of the last. It won’t be long before the time to write the first draft is upon me. Starting with a simple but strong core will likely be the direction for it.

October 6th, 2013

October 6th, 2013 published on

Node generation was smoothly wrapped up this week. There might be performance issues at a later date or something, but I’m not too worried. With that out of the way this week looks to be about adding some new system stuff to handle desired node features. Since they involve delving into some code that I haven’t looked at for over a year, things could get gnarly. After that I get to build some sample objects and begin testing to see how the node system has turned out. After that the “map revision” stage will be drawing to a close with the addition of the trap system. I’m happy with how things are turning out (the generation system I discussed last week in particular), but my anticipation to see how this is going to come together is sky high.

Of course that means the battle revisions are the next big thing on the horizon. After how the zone generation system turned into a waste of 2-3 months of development time, I’m going to be a whole lot more careful about not rushing straight to implementation. If code hours need to be spent somewhere, there’s plenty of work to be done on things unrelated to the core game. Truth be told, I still don’t have a completely solid plan for the battle changes. I do have a text file with pages and pages of different ideas for it, but nothing that feels right yet. Sadly most of the ideas I have gravitate towards character build customization rather than the battles themselves.

But let’s be real for a second. I’m not building two different games and mashing them together here. The two modes have to work together to form one sensible whole. That means one mode might have to be simpler than it otherwise could be in order to give the other mode the room it needs to breathe. The chaotic way we’ve ended up building this game just happens to have landed on me building up more of the map mode than I have the battle mode.

The deeper I get into finalizing the design of the map stuff, the clearer it’s going to be as to what the battle mode needs to bring to the table. Despite already having built most of the map system, I still don’t know where I’m going with it exactly. I know the fundamentals: players get to choose something different to do based on where they are on the map. That unlocks a whole world of possibilities from the number of options it presents to players. Lots of movement order planning, flavor to exploration, resource contesting, and so on. But I still need to nail down the specifics of it all: are players contesting resources for how they get to build their battle character, or are they merely contesting resources that expand their battle options? Stuff like that. It’s going to be much easier to figure out what battles are as I begin to finalize it. Battles will then start to inform the map stuff. Having parts of the system available to experiment and test with will make finding the game much easier than pure theory, as crazy as it may sound to build major parts of a game while having no idea how they all connect.