Friday, January 31, 2014

News: Temporary Break

Just a quick post to report that I probably won't be updating in the next 5 or 6 weeks because I'm away on holiday. I will, however, be back modding away when I return and am looking forward to getting a release out the door!

Sunday, January 19, 2014

Testing and Internals

In addition to my ongoing testing, I've been working on some level design lately that is a little more challenging than previously - primarily because I'm working on an interior rather than an exterior.  I don't think it's a significant spoiler to say that the vast majority of The Shattered War will occur outdoors.  This is an adventure focused on the events of an area within the wilderness, and the natural landscapes, forests, hills, valleys, and the settlements built on these are where the bulk of the action will occur.

However, there are some times where the player will have to go indoors. For these areas, I've largely been taking existing areas from the campaign and making some modifications so that they're not immediately recognisable - but I'm hopeful that this will be to far better effect than was done in Dragon Age 2.  I'm definitely avoid repetition within my own adventure, but there are a couple of layouts that will likely seem very familiar to those who know the campaign intimately.

That said, I have been working on getting the structure down of some completely new areas largely created from scratch.  Here I've been using an existing levels as a base, but only as a starting point from which to add my own rooms - effectively stripping the original level down to very little before adding my own new rooms in.  This gets around some of the initial level creation issues, and also gives me a base of model names for room components and structure models to use for my own work.  I became quite familiar with model names for exteriors, so having to do interiors meant learning a whole new set of model names, which increases the amount of time taken by quite a bit.  Also critical in indoor levels is ensuring that everything is lined up. Exteriors are a bit easier to "eyeball it", when it comes to placement, but interiors really require that everything fits together nicely in order to work properly.

Working shot of part of an interior

This shot is one of the "easy" options - stone corridors are far easier to match up than caverns and cave interiors.  What's worse is that the models in Dragon Age really don't match up very nicely and often require you to match specific pieces with each other, making it harder to get a more unique look and design without copying the original Dragon Age levels. I want to ensure that the "special" locations in The Shattered War are exactly that - special - and not make the player think "wait, I've been here before." Hence the need for the effort required to create these unique interiors for the adventure. 

Sunday, January 5, 2014

Bugs squashing continues...

Yes, it's been more than a couple of weeks since my last update, so my apologies for the silence. Again, I'm aiming to have regular updates, but I'm trying to make sure that I don't just put content like "found 5 bugs, fixed spelling mistakes" or the like.

As for details of the progress I've been making, there are a few fairly significant things that I've managed.

I've finished processing all the voice cuts for one of the party companions. I've previously described that this can be a fairly time consuming process, and this represents a considerable chunk of time, as that's over 300 lines of dialogue for this character. To give you an impression of how much dialogue that actually is, here's a list of the number of lines of personal dialogue for characters in Mass Effect 2.

Now, the numbers there don't actually represent ALL the possible lines of dialogue for ME2 characters, but given that The Shattered War is a one-man development effort, you can see that there's a LOT of content for players to experience.

Taraz is a dwarf with plenty to say.

Secondly, I've worked on creating several sets of items that the player can find - customised sets with their own backstory and codex entries, and the items offer significant bonuses to the player should they explore enough and solve the puzzles required to find them.  There is a major set each for the warrior, rogue and mage, so no matter your character or party composition, they will be useful.

This has also meant that I've finished up a couple of the puzzles I mentioned in a previous post that will allow the player to get their hands on some of these items, and done a bunch of bugtesting to make they work without a hitch. That took a little finesse, as they were initially unsolvable due to some errors I'd made.

Aside from those two major things, I've been doing quite a bit of playtesting on the major plot quests of the game, which are all looking fairly solid at this point. This also included a number of cosmetic changes just to add more flavour to the experience - added ambient NPCs and behaviours that are shown in response to the player's actions so that they can see some of the effects that their choices are having. For example, if a player rescues a group of people, these people will then return to the town they are from, going about their business and other people in that town may comment on their rescue. 

Small things like this aren't critical to the plot, but they do reinforce the work I've put into place to make sure that the game will react to the decisions that players make. Seeing effects and consequences is one of the major goals of my design for The Shattered War, so I'm confident that touches like this will make it a memorable experience.

Monday, December 2, 2013

Filling out content

In addition to the playtesting I've been doing to piece the core plot of the game together from start to finish, I've also been working on designing and adding in some extra content that has been in my mind for a while. I'm talking about "light content", which is the little subquests that revolve more around exploration and puzzle solving that reward the inquisitive player.  Generally, these things are much less time consuming and demanding to implement for me than fully fledged quests. Think of these quests like the "Chanter's Board" quests from Dragon Age, but without a central location to kick them off for you.

There are a few things that I want to make sure that I do with these quests in order to make them interesting, and so am trying to follow a few principles when creating them.

Don't make it immediately obvious

The point here is that I want the player to start the quest by finding something, not by going to a person with a marker above their head or a notice board in the middle of a village. It could be a journal, a scrap of paper, a strange item, some kind of key, or anything really.  The main point is that the player should find something that gives them a clue that there is something else that they could do or find.

Require exploration
These objects should be spread out across the areas that the player will explore - they won't just be found in the main locations that every player will have to visit. The levels I've created for the mod are reasonably large - and I'd like to encourage players to explore them. With many modern games, we're often forced down very linear paths, so trying to get players to search and experience the fun of exploration is something I'd like to be able to do.

Monsters are easy to find, these should require more effort

Puzzles can be fun
One thing I find really annoying about puzzles in many games is that they're either really obscure and illogical (the worst of Monkey Island syndrome, or Anna), or blatantly obvious (Towers of Hanoi).  The other annoyance is when puzzles are presented in a way that they're not solvable when you encounter them, either because you don't have the right skills/items to solve them (e.g. Batman, Assassin's Creed), or worse, that the player cannot complete the puzzle until they are explicitly told what to do. Where I implement puzzles, I want the player to be given enough information to carry them out, but without beating them over the head with an answer. This is a tough balance, but I'm hoping to provide a mix of puzzles that should be interesting.

Use player skills
Skills like tracking, herbalism, pick pocketing and the like are things that are often neglected by designers. Even in Dragon Age itself, it felt like these were mostly for facilitating combat rather than being useful for anything else.  I want to be able to use these skills to assist, or possibly even be required to complete some of these quests.

Give rewards
The player should get something from these kinds of quests. They're exploring, uncovering secrets and the like, and thus should be rewarded with different and unique items as a result. This is the icing on the cake to make the player go "that was awesome!" This is where I'll be giving out the most interesting and powerful items in the game, because it rewards dedicated players, and makes people want to explore and find those hidden secrets.

So that's my update for this week. Stay tuned for another update next week!

Sunday, November 24, 2013

Testing Progress: Fixing companions and falling off the edge of the world.

After my recent reinstall, testing has resulted in a bunch of scripting and random undocumented engine issues. Nevertheless there has been some solid, albeit slow and frustrating progress on some more difficult problems.

Showstopper issues tackled this time included:
  • The player appearing off the edge of the map after traveling to a location via the world map. This came as a result of implementing an area list - which allows the player to easily switch between interior and exterior areas without a major load screen.  Unfortunately some identically named destination waypoints (which are used to set the player's location when entering an area), resulted in the game not knowing where to place the player.
  • Continuity issues in plots resulting in the player being unable to progress the story if they took certain actions.
  • Made companion dialogue work correctly in the toolset again - a reinstall had deleted a custom file that enables it to detect and make use of custom companions. Without this fix, companion interjections in dialogue are impossible... and I've got quite a number of them.
  • A major breakthrough with the player's party members - making sure that they have appropriate skills and specialisations when they join the party.  Since the game starts the player at a higher level, the party members need to have skills that suit their background. There were a bunch of different problems: not receiving correct skills/talent points, not receiving a specialisation or having skills assigned incorrectly (or not being able to assign them at all).  Party members that have half or a third of the hitpoints they should have aren't useful to the player!
This fight was nothing compared to the battle I had solving that last problem...

A few other select issues included:
  • Fixing some level design to improve the flow of play and improve overall appearance.
  • Changing / cutting some recorded dialogue to make the flow of conversation seem more natural.
  • Noted a bunch of areas that felt "empty" for future reference to fill with little bonuses for the exploring player. 
  • Solved an issue where ambient animations for a group of sleeping/injured people would kick in a few seconds after a player entered an area. This resulted in them standing up briefly after the player entered... then suddenly all falling over.  While this was quite amusing, it wasn't really the desired effect. 

So some big and small wins this time around. Hopefully this will continue for the coming week!

Tuesday, November 12, 2013

Mistakes, bugs and crashes

So in my ongoing playtesting, I've encountered another swag of mistakes and shortcomings, and solved a few issues that have been bugging me for a VERY long time to boot.

To give the highlights:
  • Finally integrated a core sub-plot of the main story into the game properly. Previously I'd been able to go through it separately, but I hadn't done the work to integrate it into game seamlessly.
  • Fixed a bunch of area transitions that weren't working exactly as desired.
  • Repaired dialogue chain issues that could accidentally cause the story to jump forward by quite a bit.
  • Completed and polished some scripting that allowed the player to properly complete some main quests, rather than just having them trigger automatically once enemies were dead. 
  • Fixed up some issues relating to enemies not appearing, not going hostile or not fighting with other NPCs.
  • Characters correctly repositioned after a cutscene; previously they simply didn't go where I wanted them to... because I wasn't calling the correct script.
There was also a bunch of smaller cosmetic stuff that I fixed as well. While I'm not focusing on those kind of issues quite so much at the moment, when I'm noticing them every time I do a playthrough and they're irritating me, it's very difficult NOT to address those problems, particularly when I know what they are. Making things prettier by increased the mesh density of terrain is one such problem. Getting rid of synth voice (when I actually possess line recordings) is another.

When I have time, I also like to make things sparkly

However, one of the BIG things I've been battling with recently is my computer.  I upgraded a few months ago, with a new motherboard, cpu and ram, but didn't do a full OS reinstall. That meant I had to be a bit dodgy in the way I upgraded my drivers to actually get Windows to boot; manually loading drivers via the command prompt works - but doesn't leave your PC in an optimal state.

I subsequently had one of the RAM sticks die, so I was dealing with borrowed RAM to keep my modding going. However, 4Gb of RAM given the horrible state my OS was in with the driver installation job meant that my computer simply wasn't happy and crashed a lot. (I now have 2 "abandons" in DOTA2 due to PC crashes, my guilty pleasure when I'm not modding)

I got sick of this and bought myself an SSD, and have spent many hours today trying to get my computer back and set up just the way I like it.  Hopefully the SSD should provide some speed improvements for my modding efforts (DAO received the privilege of being installed on the SSD), as should the general improved reliability of my computer.

As I type this, I just finished up installing the toolset and restored my database, so I should be good to go. The only disappointing news is that my Awakening disc is apparently quite scratched (I have no idea what from, it mostly just sits in my dvd drive...) and I can't actually install it due to the damage.  This shouldn't actually impact my modding, because I don't recall any Awakening resources appearing in the toolset anyway. Still, it's disappointing should I ever want to play Awakening again, because I can't. :(

Sunday, November 3, 2013

Playtesting: Old and New

One of the big things from doing a bunch of playtesting is that you quickly realise where things don't quite work. This is blatantly obvious when it comes to show-stoppers, of course.  If you can't progress a quest because of some logic error, an area being inaccessible (either in or out) or not receiving an object you need to complete the quest, this is immediately recognisable.

With the title of this post, what I'm talking about is where things don't "fit" quite so well as they should.  While I've been focusing primarily on the big show stoppers, I also hit upon the continuity, realism or general flow of the game issues that mean things just don't come together nicely.  One such issue was relating to a major quest, where part of it occured on the same area as a main town map area.  This was originally to make sure the player got to see the whole town map area, but as I played the game, I realised that it simply didn't fit in terms of the content of the quest.

This means new area time!  Now, in this particular case, I didn't actually want to spent hours and hours on making a new area. This is basically a one-shot area that isn't really designed for much more than a single encounter. I've created almost all my areas from scratch in The Shattered War, but there are a couple where I have used existing work as a base for an area. In this case, I grabbed one of the default areas from DAO... but modified it to suit my own purposes.  Doing this, I've managed to create an entirely new area with basically only a few hours of effort. 

The really good thing about this is that with some clever editing, it's quite easy to change the area such that it's not easily recognisable as one of the original areas even for someone who has played the game a lot.  By removing a bunch of items, changing texturing and vegetation, and doing a few key modifications to the existing terrain, it is possible to make it look dramatically different. Here's a shot of my modified level below - if you've played DAO, see if you can spot where it came from!

You never know what's around the corner...

If you're interested, here's a link to a comparison shot of the original level compared to my modified version.  I'd still like to do a bit more work to the decoration of the level, but given my current focus is getting the mod "content complete", that will have to wait.