forums | blogs | polls | tutorials | downloads | rules | help

Ancient Gifts Renewal Dev Blog

HardLess's picture

Welcome to the Ancient Gifts Renewal Dev Blog :

As said on the Ancient Gifts post, I'm going to rework the mod. You should know that I'm to make the mod from scratch again in order to be sure that I'm not starting with buggy features. I'll try to keep track of every thing on here.

This blog will help me to have feedback with the community. I'll create entry at every steps I make to create new content for the renewal of the Ancient Gifts. Please post here when you want to give your opinion on any content of the mod or give ideas you have.

My github for you guys to have the latest updates.

Tools :
- WorldFxViewer
- RandomMapGenerator
- KeyHandler 1.0

Mods :
- Backpack
- Transform
- Clone
- Reputation
- Crafting
- Random Encounter
- Game Values Tweaking Menu
- Mod Config Menu
- Companions
- Multiple Powers
- Classes Selection
- Advanced Character Creation
- DS1 Spellbooks
- DS1 Spells
- FXAA Config

blogs: 

Comments

HardLess's picture

Entry 1 - 26/05/2016
Feature(s) :

  • I have been able to made a new way to create a skill tree interface, which will make easier the task of creating multiple new skill trees

Bug(s) :

  • I still have a bug on the level indicator creating a exception when rolling over it, even if I hide the group

Idea(s) :

  • This way to create a new interface gave me the idea to make a new tab in the option menu in order to make configuration menu for mods

HardLess wrote:

Idea(s) :

  • This way to create a new interface gave me the idea to make a new tab in the option menu in order to make configuration menu for mods
That would be something of great value to modders for sure as well as your own work.

It seems you are making good progress already.

It's great to know that Ancient Gifts will be worked on again. I am looking forward to playing new Betas.

HardLess's picture

Hey, I have made a first version of the mod configuration tab. For the moment I don't have anything to put in but that working really nicely.
I'll work on a piece of skrit in order to make it easy for the modders to create a tab.
Here a screenshot :

EDIT :
It's also works in game.
This version is for Broken World the porting to DS2 won't be so hard.

See you guys

HardLess's picture

Entry 2 - 29/05/2016

Feature(s) :

  • Turret spell almost done.

Bug(s) :

  • Turret Spell: Having problem to kill the spell when the player do something else.
  • Skill Tree: Level indicator still broken.

Idea(s) :

  • I have been wondering If that could be interesting to have an active skill mechanics as in some game like Diablo.
  • With the UI revelation :D, crafting would be cool and can be done (I think).
  • I have been thinking about the backpack thing, I'm pretty sure that could be done, duplicating the inventory or giving 1 more inventory page and working on the UI to see the next pages.
  • I'm thinking about a total rework of the original skill tree...

HardLess wrote:

Idea(s) :

  • I have been wondering If that could be interesting to have an active skill mechanics as in some game like Diablo.
  • With the UI revelation :D, crafting would be cool and can be done (I think).
  • I have been thinking about the backpack thing, I'm pretty sure that could be done, duplicating the inventory or giving 1 more inventory page and working on the UI to see the next pages.
  • I'm thinking about a total rework of the original skill tree...

I really like your ideas as it would give the game a lot more variety and tactical nous.

The Diablo active skills seem more like DS2 powers but with a lot more variety to suit various play styles. I see why you would need to look at a total rework of the original skill trees in order to incorporate them. Perhaps a Power could be 1 or 2 overwhelming powerful abilities that had a very long cooldown period while active skills could be stronger than normal attacks but a lot weaker than current powers? The advantage of active skills is that it could be a way to give melee fighters a ranged ability which normally they lack (like throw axes from the diablo 3 barbarian race) or magic users more defensive options if they were separated from the party and caught by melee monsters.

Proper crafting would be fantastic. Any way of allowing the player to differentiate his or her characters from the norm is to be encouraged. The present DS2 system is very underwhelming.

I always liked the backpack in DS1 but with the ability to get back to a town easily in DS2 with the town portal spell, I'm not really sure how useful it really would be.

HardLess's picture

Entry 3 - 15/06/2016

Idea(s) :

  • I would like to make quite a lot of changes to the game in order to give more depth to the game in a way DS2 failed. In fact, speaking with Mantella, we agreed that DS2 is pretty strange due to the fact they wanted to add skill tree to a tactical (turn-basedish) RPG (DS1). So I prefer the skill oriented RPGs than tactical RPGs, so in order to increase the depth of this part of the game I wish to "remove" the companions. By removing I mean removing a lot of features, like it would look more like companions than second primary character. So companion would follow you, you could manage them a bit. But the skills are the primary character's ones not shared with the others. Like a Diablo-like games. Making DS2 much more action based with a lot of dynamic combat.
  • Following this idea, I would like to rebalance the whole game to make it harsher but would be do-able with a single character. Removing the "powers" (too overpowered) and replacing them by active skills, quick skills than can be casted really fast. The companions won't have such skills.

The main issue with this idea is the limits of the game. If with brkopac we are able to extend the game's functions. This is clearly what I want to make. And IF we achieve it, the mod will be a DS2 mod for the moment but not a BW mod. In fact, I'm thinking of transfer BW into DS2 which work much better.

HardLess wrote:
Entry 3 - 15/06/2016

Idea(s) :

  • I would like to make quite a lot of changes to the game in order to give more depth to the game in a way DS2 failed. In fact, speaking with Mantella, we agreed that DS2 is pretty strange due to the fact they wanted to add skill tree to a tactical (turn-basedish) RPG (DS1). So I prefer the skill oriented RPGs than tactical RPGs, so in order to increase the depth of this part of the game I wish to "remove" the companions. By removing I mean removing a lot of features, like it would look more like companions than second primary character. So companion would follow you, you could manage them a bit. But the skills are the primary character's ones not shared with the others. Like a Diablo-like games. Making DS2 much more action based with a lot of dynamic combat.
  • Following this idea, I would like to rebalance the whole game to make it harsher but would be do-able with a single character. Removing the "powers" (too overpowered) and replacing them by active skills, quick skills than can be casted really fast. The companions won't have such skills.

The main issue with this idea is the limits of the game. If with brkopac we are able to extend the game's functions. This is clearly what I want to make. And IF we achieve it, the mod will be a DS2 mod for the moment but not a BW mod. In fact, I'm thinking of transfer BW into DS2 which work much better.


I believe GPG were toying with the same idea during the development phase of the game as described in a recent post of mine about the hire_shop. Since at least some of this mechanism is already in the game, perhaps it could be done.

Removing the companions would be simple to do and if the player could hire specific npcs to fill a weakness in their playstyle, it would increase the possibilities available to them. The npcs would in fact be more like the pets but not actually in the party. Something more useful than summons but not quite party members. In fact that could be an alternative way of getting around the problem if the hire_shop couldn't be re-implemented. Remove party members but clone pet sellers to have an inventory of "pets" that simply used the meshes and textures of humans, half-giants, dwarves, elves, dryads, etc.

That way you would still have control over the human pet but only as much control as granted by you. Am illusion but could be made realistic with some work.

HardLess's picture

I'll take a look at this, in order to know if I could work something out and get this hire shop working. Perharps it does not need to much tweaking, and they already did most of the work.

This is the kind of thing I don't understand, it is like GPG released there games before the end of the dev. It is like the formations system, which has its icons and some codes here and there, but finally nothing in-game.

HardLess wrote:
I'll take a look at this, in order to know if I could work something out and get this hire shop working. Perharps it does not need to much tweaking, and they already did most of the work.

This is the kind of thing I don't understand, it is like GPG released there games before the end of the dev. It is like the formations system, which has its icons and some codes here and there, but finally nothing in-game.


You are right, most of the work has been done. I've been able to get the hire shop working and hire a mercenary.

What I did was copy hire_shops.gas from World.ds2map to the info folder of my test map. I then changed the hire_templates to hero_human_male and hero_human_female instead of farmboy and farmgirl.

Then I added a custom npc to the map (with a conversation of course - based on one of the pet seller conversations from the Legendary Mod). Working from what components.gas stated I added a hire block with a screen_name = "Aranna Mercenaries". In the store block I added can_sell_members = true; as it seemed to crash the game if it was omitted as soon as you clicked on the store. As well I added a local_spec = act_1_spec; to tell the storekeeper what he was selling.

You could control the mercenary and even open his inventory but as you see he actually has no inventory as such. Otherwise everything seemed to work except I couldn't close the store window (clicking on the x in the top right corner did nothing).

And that's as far as my little experiment got. Except as you noticed the mercenary was added as a fifth member to a four member party that hasn't purchased a fifth slot yet. However the six character limit seems hard coded as the game wouldn't allow me to add a mercenary to a six member party. However if you're doing away with party members as such, this limit isn't of concern to you.

HardLess's picture

This is really nice to see that it's working, and not even looking at the character limit. I'm pretty amazed that this left over code wasn't that hard to make it work. Nice job you did there :).

But does the mercenary has a skill tab ? And does it works ? I don't see a power slot for him which is quite good in fact for my experiments. Does the character move in the same formation as the party ?

Could you link your test map ? I would like to have a look at what could be done with this guy :). And of course look at what randomness we could at to it, like his aspect at least :). He seems to be level 0 unlike your party members, am I right ?

HardLess wrote:
This is really nice to see that it's working, and not even looking at the character limit. I'm pretty amazed that this left over code wasn't that hard to make it work. Nice job you did there :).

But does the mercenary has a skill tab ? And does it works ? I don't see a power slot for him which is quite good in fact for my experiments. Does the character move in the same formation as the party ?

Could you link your test map ? I would like to have a look at what could be done with this guy :). And of course look at what randomness we could at to it, like his aspect at least :). He seems to be level 0 unlike your party members, am I right ?


I'll link the test map as soon as I get an opportunity. I'm at lunch now from work.

You are right this guy is level 0. In fact my earlier attempts didn't even have any health or mana at all! Zombies maybe?

The code seem to support assigning random skills to the mercenary and as the mercenary is based off the hero template, that's probably why he hasn't got any skills or powers. But you can control the mercenary like any normal party member and even open up the inventory tab to see his skills minus the actual inventory.

A lot of experimentation will probably be required to find out what can be done with this code but at least the wheelbarrow doesn't have to be invented - just pushed up the hill.

The ugliness of the ui interface does hint at an early alpha build where GPG toyed with the idea of using mercenaries before dumping it but as you said its strange they left the actual code there.

iryan wrote:

The ugliness of the ui interface does hint at an early alpha build where GPG toyed with the idea of using mercenaries before dumping it but as you said its strange they left the actual code there.

Iryan there are a good deal of things that GPG left in DS2 that where tried and never used. There is the tutorial start that you used in Adepts that was there and never used. There are many things from DS1 that are in the folders and never used. I think the reason the code was left in and not cleaned up is that GPG got behind in the development and the release date had already been published. They where under the gun and did not have time to clean up the unused code. Thankfully that was the case as it does make modding things a little easier. Not easy but easier.

Elf

bare_elf wrote:
iryan wrote:

The ugliness of the ui interface does hint at an early alpha build where GPG toyed with the idea of using mercenaries before dumping it but as you said its strange they left the actual code there.

Iryan there are a good deal of things that GPG left in DS2 that where tried and never used. There is the tutorial start that you used in Adepts that was there and never used. There are many things from DS1 that are in the folders and never used. I think the reason the code was left in and not cleaned up is that GPG got behind in the development and the release date had already been published. They where under the gun and did not have time to clean up the unused code. Thankfully that was the case as it does make modding things a little easier. Not easy but easier.

Elf


Quite true, perhaps they left it there in case modders wanted to play around with it.

Here's the test map of the hire shop in action and relevant code supporting it.
http://www.siegetheday.org/~iryan/files/Test_Hire_Shop.ds2res

Further testing reveals that if you save a game with the mercenary and reload it, the mercenary is still there. In fact the inventory now works and for all purposes, it's now a party member. Powers and everything will work.

So for Hardless to realise his ambition of using mercenaries instead of party members, some tweaking of the mercenary's templates is required. It's not surprising that the mercenary will act like a party member once saved as it's using the hero templates as a base.

First step would be maybe make the mercenary like Drevin in that it can't be saved with your game by using can_save_member = false; in the actor block. By cloning the hero template but omitting the inventory block should remove the inventory.

I'm not sure how to remove the powers and skill tree but maybe trying to make the mercenary more like a pet with a specification may work.

A very interesting development here. It's fun to see a GUI never met so far. Smile

 
By the way, there are also some specific skrit functions in the fubi.log:

Class: GoHire [RPC]

    void RCCreateCharacter( const string&, const CharacterStats&, const Goid*, int ) [COMPLEX] [RPC]
    void RCGenerateHires( unsigned int ) [RPC]
    void RCSetCharacterStats( const string&, const string&, const CharacterStats&, unsigned int ) [COMPLEX] [RPC]
    void RSCompletePurchase( const Goid*, const Goid* ) [RPC]
    void RSCreateCharacter( const string&, const string&, const CharacterStats&, int ) [COMPLEX] [RPC]
    void RSGenerateHires( const Goid* ) [RPC]
But these functions were never used in-game (and I never tried them out myself), so details about the arguments are unknown to me.

HardLess's picture

Entry 4 - 24/06/2016

Feature(s) :

  • I have been able to create a key pressed event system attached to the player in order to have handle the every key of the keyboard but also the mouse Smile thanks to a ds2dll. Thanks a lot to brkopac for his help creating one ;).

Idea(s) :

  • Now I can really create a active skill system for the player, just need to code a lot :D.
  • Backpack
  • Transform
  • Clone
  • Reputation
  • Random encounter
  • Crafting
  • Game value tweaking menu

[EDIT] Just added a quick list of ideas which in my mind are doable.

HardLess's picture

Seeking how to enhance the graphics of DS2, I found an interesting tool called FXAATool. This is a tool to enable shaders in games, and it works in DS2.
Here is a list of ever shaders that can enable :
Anti Aliasing, Pre Sharpening, HDR, Bloom, ToneMap, TechniColor, Sepia, Noise, Radial, ScanLines, Anaglyph, Vignette, Post Sharpening, Limiter, Splitscreen.
Some of thoses aren't working well for me at least.
I think we must take a look closer at this in order to see what it could do. I looking at you Iryan, I'm pretty sure you will like this tool. It's really easy to use and configure.
We could even get the game in 3D Woaw :D.
Have fun with it, if you find a good setup post a screenshot. The splitscreen feature is splitting the screen between with shaders and without. Cool to see the impact of the shaders.
See you guys.

PS : The tool is open source Wink

The FXAATool looks very interesting. Since it is open source there would be no problem posting a link to the file in the TOOLS Download area.

Elf

HardLess wrote:
Seeking how to enhance the graphics of DS2, I found an interesting tool called FXAATool. This is a tool to enable shaders in games, and it works in DS2.
Here is a list of ever shaders that can enable :
Anti Aliasing, Pre Sharpening, HDR, Bloom, ToneMap, TechniColor, Sepia, Noise, Radial, ScanLines, Anaglyph, Vignette, Post Sharpening, Limiter, Splitscreen.
Some of thoses aren't working well for me at least.
I think we must take a look closer at this in order to see what it could do. I looking at you Iryan, I'm pretty sure you will like this tool. It's really easy to use and configure.
We could even get the game in 3D Woaw :D.
Have fun with it, if you find a good setup post a screenshot. The splitscreen feature is splitting the screen between with shaders and without. Cool to see the impact of the shaders.
See you guys.

PS : The tool is open source Wink

Unfortunately I didn't have any luck with it. It crashed the game with exceptions, saying something about failure to inject something into a DX11 dll. I tried with the Broken World exe v2.3.

It reminds me of the ENBSeries dll hack which I tried 18 months or so ago. That involves a lot of tweaking of an INI file so a GUI is handy. I didn't have any real success with that, I did manage to get some improvements but it looked horrible in regions with snow in them. I believe the DS2 exe just doesn't support many of the 3D functions now available in games.

The texture converter I used for the textures in the Legendary Mod (XnViewMP) supported Bloom and Pre Sharpening and they definitely made the textures look about 25% better than the originals. DS1 looks very muddy and lack of colour to me now.

I will try again but the only query I have about it is how portable would the results be? With the ENBSeries there was a dll and an INI file which was easy to distribute but I noticed that FXAATool creates 4 files and two folders.

HardLess's picture

I had the same exceptions but the game was running pass it. I used the dungeon siege 2 mod executable perhaps it's working with it. About the portability there are profiles that can be exported and then imported by the users. So I think that it is not that complex for the mod users. we just have to find good settings and then give the profile file.

To install the tool:

  • Extract FXAA Tool to whatever location you please
  • Launch FXAA_Tool
  • Click "Add" and call it Dungeon Siege 2
  • Navigate to the Dungeon Siege 2 folder
  • Select Save at the bottom of FXAA_Tool

From there you should be able to launch Dungeon Siege 2 and see the shaders.



Quote:
It reminds me of the ENBSeries dll hack...

FXAA Tool is using ENBSeries and has a config file for it in the FXAA Tool directory.

Quote:
... I noticed that FXAATool creates 4 files and two folders.

It's important to note that FXAA isn't creating actual files and folders. What it's doing is creating symbolic links to existing files and folders inside of the FXAA_Tool directory. You should see a little arrow on the folder / file icons inside of the Dungeon Siege 2 folder.

Iryan -> Can you please create a pastebin at pastebin.com. In the pastebin please include the log output for FXAA Tool and go to Start -> Run -> DXDiag and paste the output of what is there.

HardLess's picture

Did anyone here ever tried to put high poly meshes into the game ?
There are big banks of free meshes on the web, free of use obviously. And what if we tried to replace those 6 faces tree to nice and clean high poly trees ? I would like to know how the engine would render high poly stuff and like 2K textures. I have a hard time with this gmax buggy siege tool and I even tried to rework the import script but I'm unable to make it work properly.

If anyone as the chance to put at least one nice high poly tree, I would like to see the render. Smile

HardLess wrote:
Did anyone here ever tried to put high poly meshes into the game ?
There are big banks of free meshes on the web, free of use obviously. And what if we tried to replace those 6 faces tree to nice and clean high poly trees ? I would like to know how the engine would render high poly stuff and like 2K textures. I have a hard time with this gmax buggy siege tool and I even tried to rework the import script but I'm unable to make it work properly.

If anyone as the chance to put at least one nice high poly tree, I would like to see the render. Smile

I assume this is because the scripts to export ASP and SNO meshes don't exist for modern 3d tools. The ASP format, I believe, has been reversed engineered to completion but the SNO has not.

brkopac wrote:
HardLess wrote:
Did anyone here ever tried to put high poly meshes into the game ?
There are big banks of free meshes on the web, free of use obviously. And what if we tried to replace those 6 faces tree to nice and clean high poly trees ? I would like to know how the engine would render high poly stuff and like 2K textures. I have a hard time with this gmax buggy siege tool and I even tried to rework the import script but I'm unable to make it work properly.

If anyone as the chance to put at least one nice high poly tree, I would like to see the render. Smile

I assume this is because the scripts to export ASP and SNO meshes don't exist for modern 3d tools. The ASP format, I believe, has been reversed engineered to completion but the SNO has not.

Unfortunately you're right about GMAX and the Siege Tools. They are very difficult to work with and also unfortunately the asp format is very uncommon in games. Imagine if it was a more common format, what we could do with all of those nice models available on the net?

I'm not certain how the engine would go with rendering high poly models and I think we all remember the issues DS1 had with complex scenery in the castles. Also DS2 depends more on the CPU than the graphics card, which certainly would limit it's ability to render high poly objects to some degree.

As for 2K textures, my testing has been positive and the skybox for Gom's Lair in KOE uses 2048x2048 textures to render the sky. However the size of such textures could be an issue as the skybox textures are all 4Mb in size. There was also a post a year or so ago showing improved facial textures for a character. I also have experimented with using high resolution textures on some monsters with excellent results (for the rock golem) and also for terrain. The problem is that the textures would really need to be redone from scratch in order to look in place. For instance the ground in someplace like Elddim in the Utraean Peninsula consists of probably up to 80 odd textures all joined together in some fashion to form a realistic terrain. The greatest problem is the seams joining the various pieces together. If you don't get them right, you end up with a patchwork effect of lines.

HardLess's picture

We don't really need to have this asp format spread around the web, in fact if this export/import scripts were working right (If I'm not doing this wrong), we could put any nice models you could find. If I was sure that everything would work but it takes me 10 minutes to import a premade model, I would do it. But here I'm just stuck because I don't even know where to go. It is just frustrating.

Even if the game is CPU dependent the game is suppose to run on 1.8Ghz CPUs and I don't for you but even if the game won't use my 4 cores but at least only one of then is capable of doing the double. It was requiring 512Mb of ram, I have 16 times this. We could at least double the number of vertex of the whole game, I'm pretty sure we won't see the difference for most of us. And even then it would be suppose to be an HD mod and it is normal to have a loss in performance.

I don't think that 4Mb for a skybox is that much. If you look at HD mod with some texture going up to 8K, and 600 remade texture the mod size is 2.2Gb and it's not really a problem. You wait for quality, even know 2Gb is nothing on download as much as storage.

A total rework of the texture of the game is not doable but replacing step by step some trees, giving grass to the naked terrains of Aranna. I'm pretty sure the textures of the terrain are not useful to replace.

This idea is stuck in my mind, and I can't even try anything with this buggy script... If somebody has a tutorial for DS1 at leas I would be happy to read it.

HardLess's picture

Hi guys, I have bad and good news about my work and I would like to have your opinions because I'm not doing this mod only for me but also to create stuff people want to see. So here is a quick post to explain the different problems I have encountered.

As you know, now I'm trying to use the ds2dll to increase the possibilities of modding. But the problem is that Broken World does not have a support for ds2dll. So I need to create them for DS2Mod.
The first choice I need to make is here :
Do I try to make Broken World works with the ds2dlls ?
If I do I have two options :
_Creating the ds2dlls support for Broken World (which could be really hard and I'm not even sure that's possible).
_Recreating every features of Broken World in DS2 (which is easier but will take much more time).

The fact is that DS2BW must have modified a lot of DS2 functions and this is close to invisible to me, BW have new functions that I need to create, some objects of the game have new features which is a bit harder to investigate. This is my ultimate challenge.

But I have already ideas for the ds2dlls, I want to create a lot of things. It will take time but I could add pretty much the list of ideas I made in the previous posts. But it will restrict the mod as a DS2 mod and we won't be able to have Broken World dual class features. (Which is an important part of my original mod). But I would like to extend the horizon of my mod. With a lot of lost features of DS1, and you could choose to have or disable.

So guys I would like to know what do you think would be the best, what would you like to see as soon as possible ? If your answer is a feature for DS2, please can you choose you favorite idea ?

HardLess wrote:
. . .

As you know, now I'm trying to use the ds2dll to increase the possibilities of modding. But the problem is that Broken World does not have a support for ds2dll. So I need to create them for DS2Mod.
The first choice I need to make is here :
Do I try to make Broken World works with the ds2dlls ?
If I do I have two options :
_Creating the ds2dlls support for Broken World (which could be really hard and I'm not even sure that's possible).
_Recreating every features of Broken World in DS2 (which is easier but will take much more time).

. . .

Even recreating the addon features for v2.2 could be quite demanding... :o
But if you like to go this way, I think I have a listing anywhere of new skrit functions added/modified by the addon - however recreating this only would be one step of a long way to go.

By the way, have you ever tried to unlock the TAB key from showing the overview map (and offering an alternate key instead)?
That must be hard-coded deeply...
Sometimes however I could immagine that during a battle some players would like to have this 'nearby' left-hand key pointing to a more operative action.

HardLess's picture

Hey guys, just came back at home and I'm happy to release something today. Unfortunately it's for the modders Smile but I'm pretty sure you will have fun with it. The key handler I was talking about. I give to you guys the ds2dll and the res with the component and a test example. If you want to use special keys I made a comment about it in the component because 255 keys is a bit too much but it's easy to do and the dsll can handle the special keys. Go check the github :).

I highly recommend to limit the use of this component, and also to adjust the refresh rate of the component to your needs and you must/could add a delay on your receiver in order to prevent duplicating key handling. Even if the state check is a quick thing to do it's an infinite loop.

If you have an idea how to polish the component go ahead.