Aller au contenu

Photo

ColorsFade's Development Journal


  • Veuillez vous connecter pour répondre
560 réponses à ce sujet

#76
Friar

Friar
  • Members
  • 293 messages
You have really managed to break down and articulate what driving force propels me in a game. Your journal also expresses what is interests me and what doesn't in an adventure. I would like to keep these good points you make in mind as I plug away and finish my adventure.

The ability to have a map and stir a persons imagination, driving them to want to explore every nook and cranny is almost a magical quality about the Forgotten Realms. Your point about Baldur's Gate is completely understandable.

When I first played Pool of Radiance, 1980 something, I never knew there was a world outside of the city of Phlan. When I stepped into the surrounding lands I thought it was huge. Then a friend of mine showed me a map of Faerun. He then pointed out the little bity ole moonsea that I thought was so vast. My imagination sored as I considered the mountain regions and what kinds of caves and dragons existed.

My inner geek is really coming out now, but I bought and still own every Forgotten Realms comic book featuring Dwalimor Omen and his crew. I wanted needed to see more and more of this world.

The reason was, as a child, when I considered that under a simple rock could live a family of Brownies with their very own set of community issues and adventures my imagination was captured. When I realized that the vast world on the service was endless and then heard there was an underdark that was even more vast... my imagination was ...

Anyway, I appreciate what you have to say about all the fine points too. The Wizard's Apprentice is the mod that tackled what I love about magic and really handled both it's tactical aspects and strategical aspects as well.

Overall good points!

Modifié par koundog1, 20 mars 2013 - 12:51 .


#77
ColorsFade

ColorsFade
  • Members
  • 1 267 messages

koundog1 wrote...

You have really managed to break down and articulate what driving force propels me in a game. Your journal also expresses what is interests me and what doesn't in an adventure. I would like to keep these good points you make in mind as I plug away and finish my adventure.


Thanks!

koundog1 wrote...
The Wizard's Apprentice is the mod that tackled what I love about magic and really handled both it's tactical aspects and strategical aspects as well.


I really need to get around to playing that one. It's on my to-do list. I was playing another mod recently and wanted to finish that one first, but I've become so wrapped up in building my own campaign that I haven't played much lately. I'm just having so much fun building this thing... 

I have wanted to make a game like this forever. Well, one of two. 

I have always really wanted to make two games. The first game, near and dear to my heart, that I'd absolutely love to make, is a true sequel to Privateer. When Privateer came out, I fell in love, but I hated the graphics. X-Wing and Tie-Fighter were out around the same time and all I could think was how awesome Privateer would be if it used the X-Wing flight and graphics engine. To me, X-Wing/Tie-Fighter got space combat dogfighting perfect. 

Origin then went out and made Privateer 2 and the only memorable thing about it was Clive Owen. FMV was all the rage and the game suffered because of it. I remember it just not being fun at all. 

I have always wanted to have a crack at updating that game... There have been others who have attempted it. Freelancer was the lamest... Wow, did that ever disappoint me...  And the X2 series tried hard. It had some great visuals but was unfortunately paired with absolutely mind-numbing gameplay and terrible dogfighting (fortunately you could edit the game files to make it slightly better, but even then, the game lacked a good narrative to drive it forward).

No one has really come close to capturing Privateer. They've all sorta sucked in one way or another. But building a game like that takes a lot of effort in graphics that I just don't possess. I cracked open the XNA game studio when it first came out, thinking I might finally take a shot at it, but I just have no experience with 3D modeling apps and I didn't feel like asking for help. So it never happened. I knew I could program the engine, but art is such a huge part of a game like that and I had no way to make that aspect happen. 

The other game I always wanted to make was a grand AD&D adventure. Something huge. Sweeping. And something that was fun. I came from Everquest and EQ2, like I said earlier in this journal, and to me, the epic battles of those games is what has been lacking in NWN2. Sure, in the OC there are two dragon battles and the final boss fight that somewhat reminds me of assaulting Innoruuk in the Plane of Hate, but those fights are far and few between (and the dragon fights are actually pretty easy; not like taking down Trakanon or Veeshan). 

I fully intend this campaign to throw epic battles at the PC as often as possible, from level 3 forward until whenever I finish (I'm hopeful it will be somewhere in the level 20-25 neighborhood; we'll see). 

I mean, just setting up the first boss mob fight in my first crypt has been a joy. The crypt is easily (in my mind anyway) more entertaining than anything you do at level 3 in the OC. And the final fight is fun... being able to script the Necromancer's spell attack order has made it so much more challening. On top of that, I just wrote AI recently to allow the Necro to target specific classes with specific spells... And this is only level 3. Imagine later on, when you're battling mages and priests at level 10 or 12 with a lot of spells at their disposal... they're all going to have unique AI, like an Everquest raid encounter... 

Tactically, I want this to be a challenge. Winnable, yes. But challenging... 

I found so much of the OC to just be painful as far as combat was concerned. Tedious and painful. Instead of throwing a few great encounters at the player, they threw a LOT of lightweight encounters at the player. Quantity != Quality! A house full of wandering assassins that just backstab you is not nearly as entertaining as a few select encounters and traps that require strategy to defeat. A warehouse of weak thugs is not nearly as entertaining as a couple of planned-out encounters that require tactics. 

I don't want to throw so many mobs at the character just for them to swing at and launch fireballs. I want quality encounters. When you fight, you'll be at risk... And you'll feel it every time to you win. 

Okay, I rambled! Yay me!

#78
ColorsFade

ColorsFade
  • Members
  • 1 267 messages
I don't think I could be more excited for this mod right now.

I wrote some AI routines this morning before work to see if I could do what I wanted to do. I created a brand new area and a level 1 NPC with 500 HP just to test this (I needed him to survive and attack, that was all).

The idea with the AI is to be able to target specific types of classes. I basically have classes broken own into four types:

1) Fighters
2) Arcane Casters
3) Divine Casters
4) "Hybrids" (Rogues, Rangers, the like)

The idea with the AI is for a creature to be able to target certain classes with certain spells or attacks, with some randomness built-in to the order of the attempts if you want. The first cut of these functions target the closest player in the party with a certain class. Later on, I'll improve it to use some of the built-in functions so you could target the character of a class with the lowest AC, highest HP, etc. All of that sort of stuff can be defined with constants (as my four class types are).


All of this stuff is built into my custom AI library. Then I set up a simple custom AI script for my NPC and turned him hostile. I sat and watched with glee as he would randomly assigned to target a new class (SendMessageToPC letting me know what the script was really doing) and then watching as he would seek out the nearest character in my party of that class.

I had two fighters, a cleric and a rogue. When the NPC was told by the AI to target a fighter, he'd get the closer of the two. When he had to target a Divine Caster, he'd go at the Cleric. Etc. It worked brilliantly.

I then wrote a couple new functions to make all of this really easy and re-wrote the Necromancer encounter to use this AI. After finding one bug in my if/else logic, it worked perfectly.

The cool part was watching the necromancer (I play tested this a lot and was able to watch this work every time) as he would only target certain classes with certain spells. For instance, the Cleric gets ignored when he's casting Charm Person, because why waste that spell on a class that probably has a high enough WILL save to negate it? Likewise, he only casts Ray of Enfeeblement on the Fighter, only uses Ghoul Touch on the Fighter or Rogue, only casts Magic Missile on the Cleric, and never casts a duplicate spell on a PC (that's a check every time - don't Ghoul Touch if the target is already affected - just fall through to the next spell action that is coded).

It's really cool to watch. And this is a simple encounter, but it makes it loads more fun. I can't imagine how cool this is going to be with encounters later on, with multiple NPC's that can cast Divine and Arcane spells, and creatures with special attacks... Oh PC Party... you better watch out.

#79
Guest_Iveforgotmypassword_*

Guest_Iveforgotmypassword_*
  • Guests
This sounds really good and I must say that you've certainly got the hang of the toolset very quickly I've been using it for a few years and have absolutely no idea how you'd go about doing what you're doing and I'm also not brave enough to experiment !

The only issue I have with custom AI is that it can scramble the balance in other modules unless the module maker tests his/her module with it installed ( which I never do ). I had one encounter that people found impossible due to one, as my baddy became invincible however if yours comes with the module it shouldn't be a problem. Also beware that your one might clash with somebody elses if it's sitting in the players override. But a message of "on your own head be it if you choose to use somebody else's" in the module description should do the trick.

#80
ColorsFade

ColorsFade
  • Members
  • 1 267 messages

Iveforgotmypassword wrote...


The only issue I have with custom AI is that it can scramble the balance in other modules unless the module maker tests his/her module with it installed ( which I never do )


My custom AI scripts are assigned to specific (boss) mobs in my module only, via the X2_SPECIAL_COMBAT_AI_SCRIPT variable. So no other modules should be affected :) Only the NPC's in my module use this stuff (module makers will be free, of course, to strip out the scripts and use them later on, if they so choose, but that's another issue entirely for another post).

One of my goals is to make sure people can install my module and have it *not* foul up anything else they're playing. 

#81
ColorsFade

ColorsFade
  • Members
  • 1 267 messages

Iveforgotmypassword wrote...

This sounds really good and I must say that you've certainly got the hang of the toolset very quickly...


Thanks! 

I think being a software developer IRL is playing a part....

The toolkit is fairly intuitive to me and I feel right at home looking at scripts and writing my own scripting code. It's actually where I feel the most comfortable. What takes the most work, for me, is making external Areas. That's an art thing. I have an artistic side, and I'm a fair artist, but not nearly a professional. Still, I hope my areas look "good enough" that they don't turn people off from playing the campaign. And I don't think they will. 

I'm also using as many pre-fab areas as I can find that are good and fit my story. Some people have posted some really great stuff to the Vault ove the years. I intend to use the things that really impress me. 

#82
ColorsFade

ColorsFade
  • Members
  • 1 267 messages
Journal Update

Some really cool stuff happened last night. Non-scripters may not care very much... :)

This week has been mostly about AI, although I've done a lot of work on areas, loot, encounters, etc. But the AI was the real focus. And last night I really got somewhere with it. 

Some back story: 

I have a library of AI functions I'm building, and they're very useful and allow me to do what I want to do in terms of boss-mob battles and targeting specific PC characters. I have a lot of functions like: DoSpellAttackOnclass, DoSpellAttackOnLowestWill, etc. These functions allow me to really tweak the AI for a boss mob battle and make it more challenging than the default AI.

The function calls don't always succeed. It is expected that they will fail because of certain checks (that can be turned on/off with optional boolean parameters). When they fail, we simply want to run the next function call until we get something that works, or we fun out of scripted attacks. 

For instance, one parameter that is default=TRUE in all of these calls is the call to IgnoreIncapacitated. This means that if the target character is not a threat in some way, like they're Charmed/Feared/Petrified, then the call returns immediately and fails, because it considers the target invalid. This is great for preventing the monster from wasting a spell on an enemy that isn't a threat.

Other ways the function can fail is if it fails to find a target at all. Example: DoSpellAttackOnclass(): If the function can't find that class-type represented in the PC party, it fails (again, expected behavior) and we can move on to the next function call. 

The way I code the AI script for a boss mob then is to setup all the function calls I want, and then the first one that succeeds is the one that gets performed. 

But the problem with this is that all these calls in a script are statically ordered. And that's not good. That means the AI is predictable and will do the same calls in the same order every time, and we don't want that (in most cases). Only in certain cases do I want the AI to do something every time (in the case of my Necromancer, I wanted him to cast False Life first, Fear second, and then randomly cast from among his 4-5 most harmful spells remaining, and to target smartly). 

So the part missing with all of this is the ability to easily randomize function calls. To do randomization of function calls required a huge if/else statement, and inside each statement I'd order the function calls manually. Then I'd roll a random number equal to the number of if/else statements I had created, and based on the number rolled, run that if statement.

That's repetitive, makes the script way longer than it needs to be, and it's just a bloody waste of time. 

What I really needed was a way to define all the function calls I wanted to use once, and then shuffle those function calls in a random manner. Thus, each combat round, I get a new shuffle order and start running through the function calls to find the first one that succeeds, and perform the action. 

I knew I needed an array. To my great delight, I had found that someone had already created data strutures for NWN1. What was great was that these data structure functions copy straight over to NWN2 without any changes!

Once I had an array I knew I was home free. Randomizing the function calls was possible. 

To do it, I simply create an array of sequential numbers equal to the number of AI function calls I have setup for the mob. So I end up with a simple number array like so: 

// I'm going to script 6 different AI attacks
1,2,3,4,5,6 

Then I run the Fisher-Yates shuffle algorithm (in-place on the array). Each round, I get a new shuffle, so I end up with something like this: 

4,6,1,3,2,5

With that shuffled array of numbers, I can easily run down my list of functions, and the one that matches the integer gets run.

So if I have the six function attacks setup, given the shuffle I just created, the 4th function runs first. If it fails (due to invalid target), then the 6th function runs next, and so on, until I have a successful function call to perform an attack action, or I've run through all the values. 

If all of them fail, the script falls back to the default AI. Which is fine, because in scripting the AI for a boss mob, I don't care what the mob does after all of my options have run out. I'm generally going to script the encounter to do all the best attacks. When all those actions/spells have run out, by all means - the default AI should take over and just attack. 

I took this script last night and applied it to a copy of my necromancer, and then hopped into the area and watched several times. It was pure joy. He always cast False Life first, Fear second, but then he started randomly casting from the 4-5 best spell attacks I had setup. Sometimes I would do the encounter solo, sometimes with party members, just to make sure it was attacking correctly. 

As an example, one of the calls I had setup was DoSpellAttackOnclass(class_DIVINE_CASTER, SPELL_MAGIC_MISSLE). I want the mob to hit the cleric with magic missile, obviously. When the cleric was in my party, she got nailed. When she wasn't, someone else got hit with it only after all the other scripted attacks when off and the AI was left to its default scripts. 

There's still a lot of work left to do. There's a lot more DoSpellAttacka and DoAttack functions left to write (I haven't started work on melee attacks yet, and I want to be able to script combat feat usage). But this is a good start and it is exactly what I needed for the first boss-mob encounter, since he's a caster. 

I'm jacked. I have AI! 

What I like is that this makes the encounter so much better. It doesn't make it significantly harder to the point of impossibility, but it makes it more challening. Without the AI, you can pretty much just tear into the encounter with the party of 3 (at this time in the first act) and you probably won't break a sweat. But with the AI installed on the boss mob, I find you really need to use all the disposables in your inventory and be buffed up. Otherwise, right off the bat someone is feared, someone is likely to be charmed and if Ghoul Touch (with all 3 of its lame checks) lands, you might be hurting.... And that's kinda neat, IMO. 

I can just imagine this in a higher level encounter, which is what I plan to work on next, to make sure the AI really works well at higher level. What I want to test next is a high level encounter against wizard/priests, and to script Sanctuary/Etherial Jaunt usage. I want the NPC's to cast those spells and then buff up first. But if you have True Sight and attack, I want the AI to shift over on the attacked NPC and start launching their best attacks instead. Now that... to me would be really cool. And I know it will work. 

#83
ColorsFade

ColorsFade
  • Members
  • 1 267 messages
Pretty interesting to read back through this and realize it's only been a month.

I can see light at the end of the tunnel for what I am calling "Act 1-A". Essentially, the first module. I've put a freeze on creating any new areas for it. The Companions, NPC's, quests and encounters are now either done or defined completely in a document. This first part of the campaign is likely to be levels 1-4. It's a setup for getting ready to move the PC and party to the first "big city" where things really start to get interesting.

I have a couple small interiors left to get started on, one large interior to do, one small exterior (that I will probably use a prefab for) and two large exteriors I'm currently working on. There's still quite a bit of work to do on all the areas though. For a lot of them, I simply created the basic layout (like the interior of a house) and then placed the NPC(s) so I could work on quests and dialog. Decorating is probably my least favorite thing to do. I wish I had an interior decorator :)

Most of the quests are already in the Journal, even if the NPC is not created yet. Conversations are probably 65% done. Encounters typically get done first because I enjoy doing those the most and writing the AI. There's about four big encounters left to do, but now that I have all the AI and scripting ready, they should go faster than the first ones.

It's nice to have a definite "end" spot for this first module. I know what the end looks like now. I can see all the work clearly in front of me that is left to do, and I can somewhat gauge a timeline for completion. It's going to be nice to be able to play the first module from start to finish and see how it all flows together.

#84
PJ156

PJ156
  • Members
  • 2 980 messages
That's exciting to hear, your AI work sounds pretty cool, it's something that has always bugged me. Especially with buffing. THe enemy magic users have to buff while you have them all at the start of the fight.

I have taken to giving the mage items which dont drop but which mimic the biff. So a first level mage might have an amulet of natural armour +4 to mimic mage armour but doe not have it in thier book. the the mage gets right on into doing damage and the combat feels more balanced.

Your scripting is sooo much neater that my efforts at this. I like that the bad guys might target a cleric first then the rest of the party. Would not want to be the cleric though.

PJ

#85
PJ156

PJ156
  • Members
  • 2 980 messages

I'm also using as many pre-fab areas as I can find that are good and fit my story. Some people have posted some really great stuff to the Vault ove the years. I intend to use the things that really impress me. 


I don't know that you would call them impressive but I have a back catalogue of areas which will go on the vault soon enough after I ahve finished my mod. If you want to use any rip them now.

PJ 

#86
ColorsFade

ColorsFade
  • Members
  • 1 267 messages

PJ156 wrote...

That's exciting to hear, your AI work sounds pretty cool, it's something that has always bugged me. Especially with buffing. THe enemy magic users have to buff while you have them all at the start of the fight.
 


There is a function that you can use to instantly cast buffs. kevL uses it in his OC Dragons mod

I intend to use this at higher levels for certain encounters so the NPC's can be fully buffed before a fight. It allows you to mimic a spell sequencer. I think that will make a lot of encounters a lot more fair... 

PJ156 wrote...

Your scripting is sooo much neater that my efforts at this. I like that the bad guys might target a cleric first then the rest of the party. Would not want to be the cleric though.

PJ


Thanks! 

The AI is my favorite part to work on. And this is only the beginning of it. There are a lot more functions and features I want to enable, but I'm waiting to build  the encounters that require them. 

I'm trying to write all of it very concisely so that if anyone wants to take just the AI from this campaign to use in their own work, they can, and it should be easy to understand and use. 

#87
ColorsFade

ColorsFade
  • Members
  • 1 267 messages

PJ156 wrote...

I don't know that you would call them impressive but I have a back catalogue of areas which will go on the vault soon enough after I ahve finished my mod. If you want to use any rip them now.

PJ 


Awesome! Can't wait to see them! 

I am mostly looking for stuff that fits my world. I am not afraid to tweak an area to make it fit. If a prefab area does 80% of the work for me, I consider that a big win. 

So far I've used two prefabs. They've been great time-savers. I have a whole list of prefabs bookmarked that I intend to use later. I am hoping for a real time-savings with those. If I can spend most of my time making quests, conversations and encounters, that's a win for me. 

#88
Kaldor Silverwand

Kaldor Silverwand
  • Members
  • 1 585 messages
Some exciting stuff you are doing here.

#89
kevL

kevL
  • Members
  • 4 052 messages

ColorsFade wrote...

PJ156 wrote...

That's exciting to hear, your AI work sounds pretty cool, it's something that has always bugged me. Especially with buffing. THe enemy magic users have to buff while you have them all at the start of the fight.


There is a function that you can use to instantly cast buffs. kevL uses it in his OC Dragons mod.

The idea is really quite simple. When an NPC sees an enemy, or initially goes into combat, or the PC hits a trigger that "alerts" the NPC that danger approaches, give him the spells and script them to cast instantly. It's an old, well tried & proven method to even the fights.

CF is referring to the OC dragon scripts ( 'ai_reddragon_roundend' & 'ai_blackdragon_roundend' ) which are not roundend scripts at all, but the name merely preserves the label they were given in the OC. These are called from the X2_SPECIAL_COMBAT_AI_SCRIPT that CF & i hashed out not long ago. It is actually a roundstart script ...

Anyway, those dragons use their first round choosing from a variety of buffs (spells or spellabilities they have available) and cast them instantly on themselves. A local_int is then set that causes the script to bypass this codeblock on the 2nd and subsequent rounds. And its AI kicks in,

the #include 'x0_i0_talent' has a function TalentAdvancedBuff() -- which isn't actually a "talent" perse -- that checks if there is a hostile PC in the area within fDistance, and then chooses from a long list of buffs that are divided into categories like "Combat Protections" and "Mental Protections", even "Summon Ally", selecting spells if it has them memorized to cast from each category, with a switch bInstant that defaults to TRUE, if the NPC is not already in combat.

One thing to notice about that function is that it was written for NwN1. It doesn't have all buffs in there. In any case it's better to parse it down and write your own, that accesses only the spells that your NPC really has available.


but you can do this stuff from a trigger at the door, the "SpawnScript" variable set on a creature to run a custom script, a custom onPerception or run it from a conversation that turns things aggro.

Lately i've taken to backing off on instant buffs and applying only a few long duration ones that could reasonably be up all the time, then using some sort of delaying action (like fighter allies who rush in first) while the NPC casts short duration buffs in realtime (which gets more involved and you can see how i did it for the dragons in those scripts, basing choices off health percent and a bit of randomness) The fun part for me was encasing it all in one big if/else statement: no return;* the code always runs to the end. ( Then switches off the regular hDCR AI )


* well, one. If there's no valid target.

Modifié par kevL, 27 mars 2013 - 09:18 .


#90
ColorsFade

ColorsFade
  • Members
  • 1 267 messages

kevL wrote...

A local_int is then set that causes the script to bypass this codeblock on the 2nd and subsequent rounds. And its AI kicks in,.


In the case of a spell, you can also just do a check to see if the NPC has the spell memorized. If they don't, it means they already cast it and buffed themself, so you can safely skip to the next piece of logic. 

#91
ColorsFade

ColorsFade
  • Members
  • 1 267 messages
Outdoor areas are hard :)

Especially mountains. I suck at this. But I keep going. There is still a lot of work to do on this area in particular, but I felt better after loading up the module and seeing how it really looked in the game. 

Image IPB

Something I find very interesting: I can feel like an outdoor area looks like absolute crap, but when I load it up in the game, and you really get down close to it, it looks quite a bit better than it does when you're editing it in the toolkit. 

Image IPB

Another thing I'm figuring out is that texture transitions are hard. Even if you take the time to transition 10% to 100% with different brushes, etc, stuff still isn't going to blend great. So I'm working on hiding a lot with grasses, trees, bushes, rocks, props, etc... 

I sat down and enumerated every quest in the first module and then put a percentage on how much is left to do for each quest. I just wanted to get a more solid idea of how close I am to getting this first module done. Several quests are 90% and need only one or two more things to be done. About a 3rd of the quests are 50% done, And then there are two (the last two, really, before you leave this area) that are at 0% and haven't been started. So at least I know where I am at. I would really like to knock this first module out by the end of April and have it 100% tested and ready to go. That would make me feel good. 

#92
kamal_

kamal_
  • Members
  • 5 238 messages
For natural areas: Brush size 0 inner, 6 outer. Edge the 100% texture with a section at 67%, then another section at 33%. Because the outer size has a natural fade, it transitions well. (more intermediate %'s for more gradual texture transitions)
For manmade things such as paths, you can use sharper texture transitions as it presumably gets maintenance.

#93
Lugaid of the Red Stripes

Lugaid of the Red Stripes
  • Members
  • 955 messages
As for the difference between the toolset and the game, much of it might be explained by the different graphics settings you have activated in the toolset. Shadows, bloom, and proper area lighting (not the default, but day or morning, etc.), fog, and normal-mapped textures can drastically improve the look of an area.

Play around with the area lighting as well, or download some presets off the vault (or steal them from your favorite user-made module or prefab).

As for textures, I really think its more about finding textures that work well together rather than blending them together perfectly. Think about it, by mixing two textures, you're not only mixing up two different images, but also two different bump maps, muddling everything together into a blob of greyish-brown mess with no definite texture. It's like putting peas and carrots into a blender, you don't get something that looks half-pea and half-carrot, you just get a nasty-looking mess.

#94
Guest_Iveforgotmypassword_*

Guest_Iveforgotmypassword_*
  • Guests
Nice areas I could have done with those huts for my hag village but it's too late now.

As for time scales I'd forget it if I was you, just sit back relax and create it'll all happen in the end. I made a city in my latest module thought I wont do that again it takes too long then returned the party there and had to do loads of it again and am now looking at making another one elsewhere because of the story but to me that's more important than what month it is.

#95
MokahTGS

MokahTGS
  • Members
  • 946 messages
It's funny you talking about time scales and also talking about outdoor area design. The two are just not compatible. I'm pretty sure Picasso never had a timeline...areas...especially outdoor areas are art...not spreadsheets.

BTW, yours aren't half bad...take the above advice and enjoy the time designing, as IMO that's where the fun is.

#96
Shallina

Shallina
  • Members
  • 1 011 messages
Where are those hunts coming from ? :) They are awesome.

#97
drechner

drechner
  • Members
  • 300 messages

Shallina wrote...

Where are those hunts coming from ? :) They are awesome.


We use those huts too in BGR (Gullykin--with some modifications). I think they're from RWS; they're fantastic!

#98
ColorsFade

ColorsFade
  • Members
  • 1 267 messages
They are RWS huts.

I needed a halfling village... :)

#99
ColorsFade

ColorsFade
  • Members
  • 1 267 messages
@kamal_ Thank you for the brush selections! Exactly what I was looking for... That's helping a bunch.

#100
ColorsFade

ColorsFade
  • Members
  • 1 267 messages
Update

In my neverending quest to track my progress/velocity and chart my course, I added a new sheet to my Excel document this week. Every Area now has it's own row in the sheet, and the columns track common features that have to be implemented for nearly every area, like light fixtures, sound, music, etc. Every row gets a percentage that I am estimating toward completeness, and there's a free-form column where I can describe what is left to do to complete the area (like finish so-and-so's dialog, update the quest journal, add an encounter, etc.). When the areas are 100% done, the module is done and can move on to the next module, which is already starting to consume my thought process... ideas keep coming. 

The sheet is a great way to focus my energy. Often times I find myself with 15 or 20 minutes of time available to do work, and I want to be productive. When you're looking at a sheet like this and you see an area is 95% done, it's makes it easy to say to yourself, "Well, let's try and get that last 5% knocked out", instead of potentially wasting time futzing wth something else. 

Several areas were completed this week as a result, and that was rather nice. It feels really rewarding to be able to say, "That area is DONE". The only thing I'm *not* doing yet, for any area, is selecting a load screen. I'm going to do custom load screens for every area, so that will get done when the module is done, since I have to deal with 2da files. 

I also started the process of converting all my encounters to spawned encounters using blueprints, as opposed to painted creatures, after hearing from the collective wisdom of the community. So far the conversion process has been painless. I don't have many more encounters to convert. Once I saw it work I was pretty happy. Being able to change a blueprint has a lot of advantages. 

I also did some more work on my test scripts this week. There's enough areas now, and encounters/journal updates/quests, that I really want my test script to be succint and easy to use. So now I have a test script called x_plot. I pass it a number that matches an constant in my scripting library. Based on that constant, the script forms a specific party with the expected available NPC's at that part in the story, levels them appropriately, gives them level appropriate equipment, adds any necessary journal entries and/or local/global vars for that moment in time, and then moves the party to the specified waypoint, zoning them to the appropriate area if necessary. At that point in time you're ready to fight and make sure all the enemies spawn correctly, they drop the correct loot, the players get the appropriate XP, and the journal updates (if it's supposed to). 

This has been a huge boon to testing. I can hit the debug window now and type rs x_plot(10), for instance, and in a couple of seconds I am ready to go. This is going to be a huge tool later on, I can tell. 

The other fun part this week was making some external areas... I felt like I got into a real groove with the editor and came up with some areas that I really liked. 

The whole thing is inching forward... one step at a time.

Image IPB