Building without the toolset

Ideas and suggestions for game mechanics and rules.
Hialmar
Fionn In Disguise
Posts: 3784
Joined: Sat Jan 03, 2004 11:54 am
Location: Toulouse, France
Contact:

Re: Building without the toolset

Post by Hialmar »

It reminds me of the system I designed and implemented partly when we first find out the 2 Gbyte limit.

My system was supposed to use a set of generic areas and use scripting to populate them.

It had a map (stored in some sort of 2D table made of strings) used when ATing so that you would end-up either in a normal detailed area (a city for example) or in a generic area (north-south road, west-east road, plain, mountain... for example).

Here is what the map could look:

Code: Select all

XWWWWX
NPPXPN
NPPMPN
NPPMPN
where X is a detailed area, N is a north-south road, W is a west-east road, P a plain, M a mountain...

So for example, a PC walking from the top-left X area (a normal area) would go through 4 west-east road generic areas and end-up in the top-right X area (another normal area).

If two people were supposed to be on the same area in the map then they would be on the same generic area while if they wouldn't the system would choose an unused area.

My system was forgotten and we chose to use the overland map concept instead.

You could do the same with your solution creating the areas instead of re-using them from the pool.

Another thing that could be useful would be to store a random seed in the map table so that if you come back to a generated area you would end-up with the same items at the same place.

If you are interested I should be able to find the code that manages the map.
User avatar
Regalis
Tie-Interceptor of Bane
Posts: 145
Joined: Sun Jun 20, 2010 3:03 am

Re: Building without the toolset

Post by Regalis »

Hey Hialmar,

I have a pretty good handle on most of this. I'm mostly working with NWNX now to try to be able to dynamically alter area settings (textures, tints, ambient lighting), maybe even textures. I have some ideas of how to "cheat the system" to make it super efficient. Basically, writing different data into the cached 2das so that when you create an instance, it actually creates using those alternate textures!! That would be huge. Might have to make use of timing to make certain that it doesn't impact people ATing into other areas. That's my real question at the moment--whether the Area object struct stores the texture resref or a 2da reference. I'm hoping it's the former.

I have been thinking on how to display the overall view to the DM. Text chart was considered, also using little icons and a custom in-game GUI.

What I would like to do is run a system like Virusman's PW toolkit. There was a program to extract the minimap images of areas from NWN1. He did that and then displayed them on a website in a way that you could manipulate them.

This for NWN2 could eventually be a HDM's best friend with expanded functionality. Check it out. It also includes a lot of other really useful features. You can find the build for 1.69 here. You seem like the guy, aside from Virusman, who might know how to port it for NWN2 or quickly setup an equivalent.

If you are so inclined and need, I could try to track down the minimap extractor on sourceforge.
Hialmar
Fionn In Disguise
Posts: 3784
Joined: Sat Jan 03, 2004 11:54 am
Location: Toulouse, France
Contact:

Re: Building without the toolset

Post by Hialmar »

Are you sure this is actually working ?

I can't find any source code on the website for that.

Looks like he worked on the conversation editor but not sure he went farther.

Anyway, the mini map extractor might work very differently in NWN2 because of the game engine differences.

I think something more simple, like the string based tables I talked about would be easy to code.

We could have tables for:
- type of terrain (plain, mountain...);
- spawns type;
- spawns frequency;
- climate;
...

All of this could be editable online or through a web interface.
User avatar
Curmudgeon
Gadfly
Posts: 4312
Joined: Thu Oct 07, 2004 12:07 am
Location: East coast US

Re: Building without the toolset

Post by Curmudgeon »

Skywing's Client Extension does minimaps for NWN2.
- Curmudgeon
HDM ALFA 03 - The Silver Marches
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"Maxim #12: A soft answer turneth away wrath. Once wrath is looking the other way, shoot it in the head." - The Seventy Maxims of Maximally Effective Mercenaries

"This is not my circus. These are not my monkeys."

Realmslore: Daily Dwarf Common
User avatar
Regalis
Tie-Interceptor of Bane
Posts: 145
Joined: Sun Jun 20, 2010 3:03 am

Re: Building without the toolset

Post by Regalis »

Hialmar wrote:Are you sure this is actually working ?
Here's the readme from the project. Don't know if it works for NWN2, you could be right. Curm has a good point about the CE, though.
All of this could be editable online or through a web interface.
Hm. Well my vision was to have a bunch of nodes that a gui would allow DMs to hook placeables, triggers, or creatures to. That way the "Mountain" areas don't always look the same or you don't have to create MountainTemplate01, MountainTemplate02, MountainTemplate03 as your only source of uniqueness.

I think you definitely need a way to print out a top level representation of the server, so you can see how it all links together. For that, text tables should work pretty well.

Creating areas this way might be OK because then you can restrict area creation to those given access to this webservice, but still allow all DMs to actually "build" the areas on the inside. This could be done either by usergroups (preferable) or entrusting certain people with the password to the database for the specific server(s), if they aren't the same. More risk with the latter, obviously.

I also like the idea of being able to tweak the encounter tables from a webservice. That would allow DMs to easily setup areas for their campaign sessions. It would also help add a little persistence and continuity to the 'persistent world.' If a DM is running a big plot where the Silverwood is overrun with Smurfs, they could leave a smurf-heavy encounter table in the Silverwood areas as long as is IC appropriate.

You can build random encounter tables and then link them to areas on the fly. The changes will take affect without a server restart, and they will persist. This helps put a little persistence in the persistent world, where DM plots don't only impact the world when they are present in the game. (Resulting in massive whiplash and IC awkwardness. "No guys, I didn't make up that story about the troglodytes invading the Cloak Wood. I mean, I realize we've been ALL over the Cloak Wood today and haven't seen anything but goblins. It's just... I think the Troglodyte chieftan tried to cut benefits and the union protested so they're all on strike on all days that don't start with 'Thurs' between the hours of... Yeah, let's go with that. So let me tell you more about the horror that is these Troglodytes, which are here with us in spirit...")

That really is one advantage to using a DB driven system. You can change a lot of things about the world without having to rebuild the module and restart the server. It gets you a lot more dynamic control.

But trying to do everything from the webservice will impact quality severely, so a combination of webservice and in-game GUI seems to be the way to go, to me at least.
Hialmar
Fionn In Disguise
Posts: 3784
Joined: Sat Jan 03, 2004 11:54 am
Location: Toulouse, France
Contact:

Re: Building without the toolset

Post by Hialmar »

Sounds good yes.

You are right that both a web interface and an in game one would be awesome.
However I never tried creating in game interfaces so it might take more time for me to manage this.

I cannot tell you when I'll have time to look at this but it's certainly something to look at.

The new vault system is top priority for me and for ALFA. After this is done or at least beta tested I should have more time.
User avatar
Regalis
Tie-Interceptor of Bane
Posts: 145
Joined: Sun Jun 20, 2010 3:03 am

Re: Building without the toolset

Post by Regalis »

Seems to me that I've already thought about and mapped out the in game interface and methodology. You've already thought about the webservice. No need for too much redundancy.

I'll continue my work on the in game interface, and simply try to structure it as much as possible with the idea that it will be manipulated from the outside. When it is stable, I'll give you the documentation you need to integrate a webservice.

This could either all run through the standard NWNX SQL libraries or Ruby in Rails. Have you used Ruby at all?

I am learning Ruby to take advantage of the nwnx ruby hook. It's as close as you'll get to Leto for NWN2, I think. I think it may allow me to scrape and manipulate variables on areas that are not accessible via NWScript.

As an aside, I picked up an IRC library with server and client. To help myself learn Ruby in Rails, I'm going to try to setup a specialized in game IRC client designed to greatly improve the sub-par communication system in NWN2.

Primary objectives:
  • Global channel for communication across IRC clients (including the NWN client) and multiple NWN servers
  • Replace /tell with IRC style queries
  • Improved party chat functionality.
    • Party chat is spoken normally and non-party members AND party members would see normal text if in range
    • Party chat is printed in a different color to party members if it is outside of audible range (signals OOC)
    • The DMC allows DMs to choose which parties' party chat they want to follow and squelches the rest. (Multiple parties at once possible.)
Actual implementation may vary. ;)
Hialmar
Fionn In Disguise
Posts: 3784
Joined: Sat Jan 03, 2004 11:54 am
Location: Toulouse, France
Contact:

Re: Building without the toolset

Post by Hialmar »

Sounds awesome :)

I haven't used Ruby so far. I suppose I can learn it if needed.

I have already worked with the NWNX4 MySQL integration so I can easily work with that but if you get more functionalities with Ruby then I'll use it as well.

Come to think of it, it might be a solution for the new vault system.

I'll invite you in the Vaultster private forum. If you think Ruby can help me with that then I'd be very interested.
User avatar
Regalis
Tie-Interceptor of Bane
Posts: 145
Joined: Sun Jun 20, 2010 3:03 am

Re: Building without the toolset

Post by Regalis »

Preliminary

Image

Image

Image

Image

Image

Image

Image

Don't worry. It will be much prettier before it's finished.

And player housing will work differently. It won't have a list with "nodes," it will have lists for types of nodes, eg Wall, Floor, Ceiling, Large/Small Furniture. When selected, those types of nodes will only list placeables/placed effects appropriate for their type.

Tinting and other functionality will be added in later.
User avatar
Keryn
Ogre
Posts: 678
Joined: Sat May 24, 2008 7:17 pm

Re: Building without the toolset

Post by Keryn »

holy crap :eek: :eek: :eek: :eek: :eek: :eek: :eek: :eek: :eek:
<Kest> "what am i running away from? i dont know but it sounds big and large!!"
---
<@Veilan> I like sausage.
User avatar
Kemeras
Shambling Zombie
Posts: 94
Joined: Wed Nov 10, 2004 7:39 pm

Re: Building without the toolset

Post by Kemeras »

Hello,

Just wanted to see if you are still working on this?

It looks like pure awesome and I was wondering about these points:
Dynamic Economic Model

Copper, Silver, Platinum, and weighted coins. Done.
Stores respond to Micro Supply and Demand. Done.
Player businesses based off of DMGII and Power of Faerun (10%)
Caravan escort and travel system / Trade Networks -- Macro Supply & Demand (20%)
Trade embargoes, war fatigue, mercantilism vs. free markets vs. royal charter (0%)
Resource extraction businesses and crafting (0%)
Diplomacy engine (0%)
I know in the past other people have attempted to create generic economic systems. I had a run at it ones where I created a backend using Perl that would check the raw material stock totals in the DB and then based on the formula I defined would create and stock the merchants on that town. (Idea was to have the script run on a schedule task to either global or local updates to the game world based on local time or a 24 hour run never got that far). I was planning on adjusting finished goods costs based on supply, i.e. if a town had no iron in stock when the script ran, there would be no additional swords created and the price of the existing ones would skyrocket, the lower amount of stock the higher the price would go.

I didn't get much past getting the Perl script working unfortunately due to RL and the project really was outside of my programming skills.

The idea was that it would put the economy into the player hands and give people something to do when the DM isn't around that has *tons* of RP potential in the save manner that Tavern RP does.


Sorry kind of started rambling there if you need help testing or what not I am more than happy to pitch in. Just got back in to the game and have a few starter projects I am working on but I am happy to host or build anything you might need.

This is just too cool not to see the light of day (whether ALFA adopts it or not, that's a totally separate issue that is above my pay grade :) I have no opinion on that, it just want to play around with economic models in a game world!!! )




Cheers!
Forum Handle: Kemeras
Current Server: Baldur's Gate
Current Character: Ariel Grinder (Fighter 1)
User avatar
Regalis
Tie-Interceptor of Bane
Posts: 145
Joined: Sun Jun 20, 2010 3:03 am

Re: Building without the toolset

Post by Regalis »

This is really only being stymied by limitations to the nwnx ruby language plugin. Hialmar has been a big help in trying to get those sorted, but we've a little ways to go yet.

Ruby on rails is really my preferred implementation. I don't want to write a bunch of bloated NWScript or further tax the nwnx database if at all possible.
User avatar
Kemeras
Shambling Zombie
Posts: 94
Joined: Wed Nov 10, 2004 7:39 pm

Re: Building without the toolset

Post by Kemeras »

cool, found the thread @ nwnx that Hialmar was posting in.

http://www.nwnx.org/phpBB2/viewtopic.ph ... e422ba2751

Let me know if there is anything I can help with. I think for now I will get a VM going and setup the dev enviroment for now. Have you been testing it on both Windows and Linux? (Linux I would assume).
Forum Handle: Kemeras
Current Server: Baldur's Gate
Current Character: Ariel Grinder (Fighter 1)
Hialmar
Fionn In Disguise
Posts: 3784
Joined: Sat Jan 03, 2004 11:54 am
Location: Toulouse, France
Contact:

Re: Building without the toolset

Post by Hialmar »

NWNX4 works only on Windows like nwn2server unfortunately :(

I bet that if we did that on Linux we would have a lot less problems.

I will give you access to the vaultster forum Kemeras.
User avatar
Kemeras
Shambling Zombie
Posts: 94
Joined: Wed Nov 10, 2004 7:39 pm

Re: Building without the toolset

Post by Kemeras »

Thanks,

I did more digging afterwards and found that (your post about the DLL made that clear to me :) .

thanks, I am enjoying getting into scripting again. I like the new toolset (bugs aside) over the old one. Working on a bunch of simple quests and using that as a test bed to get familiar with NWNX4.

Looking forward to seeing the economic/commerce side, I have always thought that it would help give other RP avenues similar to tavern RP.
Forum Handle: Kemeras
Current Server: Baldur's Gate
Current Character: Ariel Grinder (Fighter 1)
Locked