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.