Choose Your Language

Tuesday, 18 January 2011

Making The Area Map Unavailable

Have you ever wanted to prevent the player from having access to the maps available? Maybe, as designer, you deem an area would be too complex for the PC to map. Or, maybe, you do not want to allow a map to be available unless they have mapping equipment? Whatever the reason, I believe there are times when disabling the in-game map can have a dramatic effect and potentially change the pace of the game. In the past, however, the methods I have seen to do this appear cumbersome to employ: needing to add blocking tiles at build time. I hope the system I now propose and am using in my own module, Better The Demon, will be more flexible and appealing to builders.

Altering The GUI

I have found that it is possible to use a very simple method of obscuring the current map with another image when the area (or mini) map displays. In the images below, I have simply overlaid a plain black image with the wording "MAP UNAVAILABLE", but there is nothing to stop the builder being more imaginative with the image to place as a map instead. For instance, some builders may like to force hand drawn maps as images rather than allow the automated ones that come with the game. Note, such images still allow Map Pins to work with them, so the builder can allow information updates with such as normal. My own Map Pin system also still works fine with this.

The beauty of this system, is that the ability to obscure or reveal the map is handled by a variable, which means the map can very easily be made available or unavailable by code. Furthermore, there is nothing to stop a builder from updating/changing the same map image with a little more script. E.g. The first map image may only be a rough sketch of the area. When the PCs find a more updated map, then the image can be swapped to represent the more accurate map they have found. I also currently have it set up so that either just the area map is made unavailable (leaving the mini-map available) or that both are made unavailable by adjusting a single variable.

More Crafting Improvements

Over the last week, I have been working on another crafting idea, which I cannot reveal at the moment, as it would be a spoiler. However, while working on this, I recognised a few changes I could make to the existing code to improve some of the things I had already done:

1) I have further reduced the costs of upgrading a scroll, potion or wand to a higher spell casting level. The same minimum cost has been kept, but I felt the player was more likely to consider upgrading an item if the cost to do so was not too great. E.g. The basic cost to create a potion of cure light wounds is 9gp for 1st level. If the caster is capable of casting higher level, the cost examples of this level potion are now 10gp for 3rd level, 12gp for 5th level, 14gp for 7th level and so on. Note, in this particular case, creating a cure light wounds of a level higher than 5th does not produce any further benefits as the spell only gives HP bonus up to 5th level. In this example, the player may prefer to pay the extra 3gp to create a 5th level potion as opposed to a 1st level one to gain the extra guaranteed 4 HPs when taken. As the cost of an empty potion bottle is 1gp, then the player can create their own cure light wound potion for a minimum of 10gp, which is cheaper than the normal cost (11gp). For the small extra cost at time of crafting (3gp), the PC will acquire a potion of cure light wounds set to cast at 5th level.

2) I have added the Spirit Shaman and Favored Soul classes to the Craft Wand creation checks to ensure they can use any wands they create. From what I could see in the official code, it looked as though these classes could craft wands, but not be able to use them. I felt this was a major hindrance to these classes ever wanting to craft wands and so made the changes necessary to allow them to use their own wands. Please note, I recognise that there may be other classes that fit this category, but they will have not been added as they will not be allowed in the campaign as they are anachronistic classes to Althéa. Furthermore, I have only included classes that cast the normal divine or arcane spells, which means warlock spells still cannot be used to craft items.

Will You Be Crafting?

First, I would like to thank the handful of people who added their vote to the current poll last week. Again, however, I am asking for your vote to help give me a bigger picture of the player's interest in this topic, based upon their current thinking, or if they have had any change of interest since following the blog and read about the alterations I have made.

Shatiel left a great post last week, which helped me to confirm some of my own observations. However, the more feedback I receive, the more I can understand other player's interests and concerns in these matters. Any and all constructive feedback is welcome. E.g. I discovered the problem with Spirit Shaman's and Favored Souls being unable to use any wands they craft. That would have frustrated my play when it came to crafting such items. However, did you already know this? Or, are there other current implementations around crafting that annoy you or simply prevent you from bothering with it. If you are a keen crafter already and/or have no reservations anyway, simply answer "Yes! Everything! I always do!" If not, however, then your feedback is valuable. More can be read about this poll from here.

Preventing Exploitation

I have also continued to ensure certain aspects of the game cannot be exploited. Some may say "why bother?", but as a number of the systems I have used work on chance or careful deduction at a cost, then there is always the temptation for a player to simply reload a game to "have another go until they succeed" or "get the answer without paying for it". When this happens, it quickly devalues the achievement and discourages the player. I know there is also the argument that "if that is the way they want to play it, then let them, as they only spoil it for themselves". However, I personally believe I would be doing them an injustice if I was not trying to make the challenge as challenging as possible. I want there to be a point to the process of solving a puzzle or making that lucky roll. Please note, I am not going berserk here and watching every move, but simply preventing potential exploitation of my own designed puzzles and games of chance. In other words, reloading won't stop a player from having another go at an enemy who defeated them last time, but will prevent a player from paying to learn of some information and then reloading prior to that knowledge to get their gold back. Also note that these type of exploitation checks are only required where variables are not set during gameplay and so are kept to a minimum. They do include, however, some puzzles that a friend who has also played the game can give the answer to and so avoid paying the gold. I do not mind this kind of co-operation between players though, as it means they are discussing the module. :)


Nemorem said...

Seems like a simple and elegant way to hide the map. I always wonder why games don't include a built-in option to hide the map. Does no one like mazes anymore?

I think you're right to try to prevent exploits. I don't agree with the idea that players should be on the honor system when it comes to this stuff. As a player, I want the game to challenge me to the point that I have to use everything at my disposal (though personally, I never reload to gain advantage).

Lance Botelle (Bard of Althéa) said...

Hi Nemorem (Mat),

It was for a maze like area I had this in mind. :) Hopefully, this alteration has a lot of potential.

Thanks for your support on the exploit front. Like you, I don't reload either, but I know I have been tempted and that alone makes me feel as though there is no real challenge.


Kamal said...


Shaughn said...

The map is nice. I like the idea of hand drawn maps and getting upgrades. There is a lot that this would be able to do. Maybe picking up a treasue map of an area (for a hefty price) and it could open up some portion of the map. It will definately make mazes and areas to trip up and confuse players easier. It will give a builder much more freedom.

Lance Botelle (Bard of Althéa) said...

Hi Kamal,

Glad you like it. :)

Hi Shaughn,

Yes, all ideas and the freedom I hoped for as well. :)


Shatiel said...

I like the idea for the maps! Brings back memories from BG2: ToB (Helm's fortress) and IWD2 (haunted forest of which I don't remember the name). I remember for both of them a sort of riddle to help you get out of the maze but even with that I used to draw a lot of maps to keep track of esplored areas and avoid gettin (too) lost.

Lance Botelle (Bard of Althéa) said...

Hi Shatiel,

I cannot remember that far back with BG2. ;) I think I played that game, but perhaps not IWD2. I would still have the games in my cupboard somewhere if I have them. May have to dig them out for another play through, as they would feel fresh to me nowadays. Mind you, I still have many other games to consider playing, and I don't really play that much.

I have a few more ideas for the mapping system, including a new Direction Sense feat, which allows a PC to have a mini map, where otherwise they would have nothing, and a compass item that allows a mini map when stationary.

Before then though, I have another idea for a puzzle I am working on.


E.C.Patterson said...

Could your xml trick be used to automatically lay down a grid of black squares on area enter, say?

You could then create fog of war, and uncover bits by bit as the player explores the map. I wrote scripts for that 2-3 years ago before I realized non-static placeables did not appear on the overhead (I was hoping to use tileblocks obviously).

Lance Botelle (Bard of Althéa) said...

Hi E.C. Patterson,

Hey! You stole my thunder! ;)

That is exactly what I have done and is what my blog is going to be about this week! And just to prove I'm not making that up, check out my forum post made 3 days ago here:

I'm glad you considered this as well, as I thought announcing a fog of war, even as subtle as I did in the post, would have had a better reaction.

Anyway, check out my blog this week and hopefully you will be pleased. I think it works reasonably well. You prevent fog of war for an area by placing a certain waypoint in the area, which the code checks and does not use FOW in this case. Furthermore, I have made sure FOW is remembered for each player (in MP) and when a player leaves and returns.



E.C.Patterson said...

Lance, FOW has been for a long time a holy grail of NWN2. CID-78 had suggested using xml way back but no one had ever spent the time doing it. Congrats on cracking this. This is BIG for NWN2, and I hope you will make available the system for all before you release your mod. If not too involved I will even consider releasing an update to Trinity with it included.

Please email me if you go ahead wit the release of the system.

FoW for MP is a double win. My system hadn't gotten that far.

Lance Botelle (Bard of Althéa) said...

Hi E.C. Patterson,

I imagine you will be aware that I have released the system for all to use by now. :) (On the Vault.)

Like you, I felt this was something "BIG", as I have always wanted FOW as well. It would be good to see Trinity rereleased with teh system in place. It may be one of the first!