Friday, October 19, 2012

Jumping implemented in NWN2.

Nexus link
Vault link



Rewrite of the Markshire Climbing system (http://nwvault.ign.com/View.php?view=nwn2scripts.detail&id=103) into a jumping system. There's not a whole lot of Markshire code left.

Included demo area includes jumping to a waypoint destination, and jumping dynamically around at area based on player facing. Dynamic jumping is blocked by sufficient obstruction, or lack of a line of sight to the destination. Falling damage is calculated how far you fall on the z axis (in other words, it reads from the actual map and determines the distance of the fall. Jumping/falling is handled per d20 srd rules for jumping and falling.

The dynamic jumping would be suitable for implementation as a feat, presumably with some sort of cooldown. You'd probably want to make the player select a destination, and could use some of the DC code from the waypoint jump function to determine the DC.

Technically, the pc doesn't actually jump and inhabit the space of the path. The code for dynamic jumping looks for obstructions in the determined path of the jump, and won't jump if there's too many invalid locations in between, or if the jumper's line of sight is blocked (there are included messages for each).


youtube video showing directional jumping:
http://www.youtube.com/watch?v=NAoknKO2CLU&feature=youtu.be

early video, shows targetted jump and illustrated the bug mentioned above
http://www.youtube.com/watch?v=6aRFou6HCyA&list=UUTB3It7cV5bt9luZ4hFSlCw&index=2&feature=plcp

Sunday, October 14, 2012

Good reason for an update :-)

Update:
As of today, the new main plot is tested through to completion in the test area. That makes a nice milestone towards completion. There's still a bunch of lines of conversation in the new plot that say "placeholder...", but the conditionals and scripts are in and apparently working.

Remaining:
Take care of some placeholder sidequests. They work, but aren't fully developed, or the areas for them are placeholders.
Put in sound in areas that don't currently have it.
Get consistency of activities through the campaign. For instance the use of my generic foraging/scavenging system is currently concentrated in a few areas. There are many other areas where I could realistically add potentially scavengable items.
Eliminate placeholder conversations, and get a consistent 'voice' for the Thieves Cant spoken in the campaign. There's a lot of Cant spoken in Crimmor, but since I'm learning it and writing over a period of time, I need to go over things and edit where needed so it has a consistent 'voice'
Miscellaneous scripting of npc activities to bring the city to life. My commoner ai goes a long way, but some npc's need specific scripting.
More pre-beta testing, testing, testing.

Sunday, October 7, 2012

Freesound project is released!


Nexus link

Approximately 2450 sounds from freesound.org, re-encoded and renamed by myself so they can be used in nwn2. I have also provided nwn2 sound blueprints for each sound. This is roughly 10x the number of sounds nwn2 includes via the toolset. This pack is complete with blueprints organized into categories based on default nwn2 sound organization. Sounds from freesound.org are licensed under one of four Creative Commons licenses, see the credits for specifics. The filenames had to be shortened for nwn2, so the initial number matches the number of the file on freesound.org (the numbers are unique).


Note that these sounds are generally recorded from real life, and are generally high quality (some of the "zombie groans" are groan worthy :-) )

Sounds have been grouped into 4 groups of approximately equal number of files. You probably want to download all four groups, and select the sounds that work for your module or campaign, removing the rest. The sounds should be copied to your module or campaign folder. The blueprints go in the same location, and will appear in the toolset under the freesound.org category.

Blueprint categories, all are under the Freesound.org category:
Background and Ambient: similar to the default Background category, plus sounds that make for good area wide ambient sound
Cave: sounds most likely to be found in caves, rubble and the like.
Chatter: Same as default, sound for groups of people, crowds etc
City & Town: same as default, most useful for placing in cities/towns, generally the sound of work being done
Creatures: same as default, creatures, animals, birds, vermin
Dungeon or Creepy Sound: sounds most likely to be used for dungeons or creepy effects.
Environmental: same as default, sounds of water, fire etc.
Human Vocalization: individuals speaking, coughing, etc.
Instruments and music: both melodies and single notes
Modern Day House: sounds from real life, lawnmowers, microwaves and such
Sci-Fi sounding SFX: hopefully self explanatory
Short SFX like clicks or beeps: brief sounds for use as button presses or the like.

I categorized the sounds by listening to them, so things are likely not perfectly categorized.

Credit to Tchos for working out how to batch convert sounds for use in nwn2. (http://social.bioware.com/forum/1/topic/163/index/12546943#14386608) 

"Okay, I did a few.  There are only a couple of steps, really.
  1. Get WinFF.

  2. Drag your sound files into it, and use the settings shown here (Bitrate: 96, Channels: 1).  Hit the "Convert" button.

  3. Get MP3toBMU.

  4. Navigate it to your mp3s and select them all.

  5. Make sure your screen looks like this screenshot ("rename .wav" selected), and then hit the button.

  6. Serve hot."

Saturday, September 29, 2012

Progress update: September

I spent a few days early in the month fixing Path of Evil bugs, so I'm not quite as far along in Crimmor as I could be. That's ok though.

The new main path is pretty well plotted out. The old TSR Lands of Intrigue soucebook, which covers Amn, Tethyr, and Erlkazar gave me plenty of background lore to set up a new main plot that grows out of recent Amnian history as put down in the book, with the characters and their motivations. It's a much better fit of a plot than the old main plot I think. It's not a "traditional" DnD adventure, there are no orcish hordes, drow, or dragons. It's just not the type of adventure most campaigns run.

Laying out the new main plot went fairly rapidly once I got the base idea. I've been filling in the details, I built a new area for the new plot, started expanding three previously finished existing areas for their new relevance to the plot, and took a last area from barebones to mostly done and changed it a bit for the new plot. The new plot didn't require a whole lot of new areas, I already had the city almost completely built so it was just figuring out where I wanted things to be. There are roughly 120 areas in the campaign, ranging from individual shops to city districts, about 110 of those areas are in the city itself. Probably 3/4ths of the areas are original, for the rest I found prefabs that fit, changing them somewhat where needed.

There was a tricky bit I wanted to show in a cutscene, so I built a script system to handle it. That took about a week. Like my commoner ai and other things, I will released it. It works in my test area, but the actual game is much more demanding of the script. I'm going to have to put a copy of the game area into a test module and work out the problems. Another bit of trick scripting to handle the use of a custom magic item in the plot went fairly quick.

My conversations for the new plot are still a lot of placeholders with single conversation options. I haven't worked out all the dialog and things a player might think of saying. Writing dialog for the new plot is also slow, my next post may cover exactly why, though an old post mentioned it.

My goals for October:

Add new main plot things to my test area so I can quickly test it. (edit: most new plot things now in test area)
Finish things for the main plot.
Get consistency of activities through the campaign. For instance the use of my generic foraging/scavenging system is currently concentrated in a few areas. There are many other areas where I could realistically add potentially scavengable items.

November goals:
Add filler npcs. Npc's not related to any quests, but with some conversations for color to fill in the game world. For instance, I already have a beekeeper that will tell you about apiary.
Get the custom sounds working ingame. I converted them to nwn2 format, they didn't work...
Testing, testing, testing.

December goals:
More conversation options for the pc. Once I have things working in testing, I want to add some different ways of saying the same things so players can have more of a personality choice.

Saturday, September 8, 2012

Path of Evil, Last (?) Patch

In celebration of reaching a much higher number of downloads than I ever anticipated on the Vault, I spent some time on the (hopefully) last patch, v1.20 is up on the Nexus (Link). It's FTP'ed to the Vault for posting as well. This fixes all known issues (except possibly the cleric companions domains) . Because I had to make campaign level changes, you can not patch to 1.20, you must begin a new game (technically, you could overwrite the 1.10 version and changes would apply to modules you hadn't entered yet).

Fixed:
  1. The Stronghold. Time now passes correctly etc. (repeatedly tested)
  2. Carcarin's sidequest (repeatedly tested).
  3. Neon walls in a specific area. (I had to create a new area and place each tile individually, then terra-coppa the non-tile info).
  4. Leadership feat now uses SoZ scripts, so definitely works.
  5. Food Supply quest.
  6. Improvements in the Muzad Trade Dispute quest.
  7. Various other small issues.
If you want to see exactly what was fixed, the amusing complete list of bugs back to pre-release is here.
screenshots: 1: Stronghold time advances.
2: Stronghold soldier: you have a choice of humans, gnolls, or skeletons.
3: The no longer neon walled area.


Wednesday, August 29, 2012

Progress Update: August

  • Made a couple of playthroughs and generally spent time fixing bugs I found. 
  • Added maps supporting a common request for something to see in a thief based module. A lot of trial, error, and learning more about the walkmesh. Exactly what's done I'll leave as a surprise for people if they play it, but you'll think it's a couple of neat tricks. Much of the month was spend here.
  • Reconsidered my main plot. This is the important one for this month, even though it's going to be developed over the next month or two. I haven't been happy with the plot for some time. I can and have played the main plot to one of the endings, I just don't like it. The plot as it existed was an outgrowth of the proof of concept version of Crimmor I had a few people play early last year. The proof of concept just had a generic "find the plot mcguffin" plot since I wasn't concerned with plot so much as showing a module that didn't  require combat could be workable. When I decided to go forward with Crimmor, I came up with ideas for what the plot mcguffin actually did and why people would want it and built a plot out of that. The problem was that I wrote myself into a corner as the story ramped towards it's conclusion, and the endgame was out of left field. It didn't "fit". Why were these npcs where they were and doing what they were? It was a big problem, I couldn't figure out a reason, and "they have a reason that's all you need to know" felt hollow.
Changes and editing will be needed for the main plot. I've been doing some research on lore via the old Lands of Intrigue sourcebook, and working on some other ideas I can use, so we'll see where those go. I have four pages of notes right now for my new main plot idea. The new main plot fits the world and characters I've set up much better, I don't have to wonder why they are doing what they are doing. I've worked out an outline of much of the new main plot in two days of brainstorming (yay for bursts of writing creativity!) Even as I make major changes to the main plot, many things that were formerly in the main plot will remain in as an extended sidequest that effectively runs the length of the module, or secondary main plot, depending on how you wish to look at it. The current sidequests are all in place, even if not all are finished and tested. The new main plot looks to be able to better integrate some of these sidequests into it, making the sidequests more relevant to the main plotline.

I have a three day weekend coming up, if I remain as productive on writing plot I hope to have the whole new main plotline laid out over the weekend in enough detail to start implementing in September.

Saturday, August 18, 2012

Making the walkmesh and ground be two different levels

Kivinen ( http://www.kivinen.iki.fi/nwn/ ) made a number of utilities for manipulating nwn/nwn2 files. SGK73 figured out how to use the trnpack and trnunpack utilities to have an area with a walkmesh different than the visible ground, which he used to create snowdrifts for a player to walk through. There's a screen from SGK73's area to the right. The original area that came from is here:  http://nwvault.ign.com/View.php?view=NWN2PrefabAreas.Detail&id=253

SGK73 explained how he did on that page, but it wasn't clear for me. I've put his original comments in italics, and mine in regular. I rewrote parts 8 through the end for more "I need to be told exactly", which I personally needed :-)


First you need to work in a directory for this to work, you should be anhyway because it's alot more stable saving than a mod file and alot faster.

1:make base terrain, gound level without snow.

2:plot the walkable tiles

3:place helper objects the "Sunken City {Ruins 01 (X1) TINT}" scaled to 0.2264802; 0.2264802; 0.2264802 is a good choice since the bevel on it coincides with an average humans hip and the top of a minimal halflings head. Place these, lot of them, all over the walkable area and some on paths leading out of the area. Position lock all of them.

SGK is doing this to get a good snow height, if you are doing other things you may not need to do this.

4:bake this area and duplicate it, do not delete it as you will need it later when you need to modify the walkmesh.

5:in the duplicated area use Raise, Lower and Smooth to create snowdrifts and snowlayer. A size 1 brush with a large falloff of about 8-15 or so depending on the area being raised, with about 5 to 15% pressure.
Basically, make your intended visible ground.

6:save and close the toolset, this was neccesary atleast for me since
the files was locked by the toolset it seems, atleast it crashed:).

7:***BACKUP YOUR MODULE***


8: In windows explorer, make a tmp folder in /modules or on the desktop or wherever, copy
the [area_of_walkmesh_to_use].trx to the tmp dir

9. If you haven't already download trnpack.exe and trnunpack.exe from http://www.kivinen.iki.fi/nwn/downloads.html . Save them into this tmp folder.

10: Open up a command prompt, and from the command prompt navigate to where your tmp folder is, and unpack your trx with the command: trnunpack [area_of_walkmesh_to_use].trx

11: In windows explorer, in this tmp folder there now should be a file called [number].aswm, copy this file somewhere safe as it is the walkmesh you will insert into the other area, delete the other files including the .trx you copied, make sure that you copied it and not moved it. (it didn't seem to matter if you copy or move for me)

12: In windows explorer, copy the [area_of_visible_ground_to_use].trx to the tmp dir and unpack it with trnunpack (same command), In windows explorer, delete the [number].aswm copy the other first .aswm file that you saved elsewhere, to this dir.

13: In windows explorer, make a folder in this tmp folder, call it area1. Move all the non trx files from your tmp folder into this area1 folder.

14: From the command prompt use trnpack with the -d and -o switches to pack all the files together in a new .trx. The command is: trnpack -d area1 -o [area_of_visible_ground_to_use].trx . The -d area1 tells the program what folder to look in, the -o (the letter o) part tells the program what to name the trx file it creates. The file will be created in the same folder as the trnpack program (in this example, the tmp folder).

15: Copy the resulting .trx file from the tmp folder to the original module folder, and overwrite the original trx.

16: Run the module. (you can safely load the module in the toolset and run it via the toolset).

17: Say "Thank you Kivinen and SGK73!" This step is optional, but highly encouraged :-)