Help - Search - Members - Calendar
Full Version: Creatures Editor
The Black Wyrm's Lair - Forums > Mods under development - Baldur's Gate, BG1Tutu, BG Trilogy > Enhanced Creatures
aigleborgne
Well, this is my new project!
This editor will allow you to easily edit creatures and generate a set of files.
These files will be processed by WEIDU macro.

It could be seen like Near Infinity Editor for Creatures. Except it will patch files, which is far better!

Example of use: you want to add "Invisibility Detection" effect for a set of creatures that should see invisibility?
You will be able to select these creatures from a list (with a checkbox system) and then click add effect. Select Invisiblity Detection and click Add.

It will be possible to change most of the things doable with Near Infinity. I will exclude some of them because I don't need them, but it will be possible to include them on a later stage.

Additionally, I will add a support for creating complex spellbooks based on schools selection or other factors.
This could be something like building a set of generic spellbooks, each one identified by a name. Then adding one to a creature and freely change some spells after this.

There will be a support for creating complex baf script.
Something like affecting a long list of baf files for one script slot. Each baf will have its own order number. When generating files, final baf name (previously set) will be created by adding together all baf.

I will release this editor if some are interested in it.
It will be done in PHP with framework CakePHP and MySQL database.

I will code this while testing it with Enhanced Creatures.
My purpose is to code Enhanced Creatures in a better developping station. So I will add features when I will need them.

I guess that in end december, I will have released both of them.
Sir-Kill
Would this editor allow one to edit the colors of creatures and then see the color changes on that creature in the editor/tool?
It would real nice see your changes without having to save it then load the game.

with all the new creatures that one could make with this. some nice new colors to go with them would be nice too.
aigleborgne
Actually, no it won't. Colors and sounds won't be part of it.
In fact, it won't have any graphics at all.

I will share my work if someone want to add colors & sounds editing.


QUOTE(Sir-Kill @ Jul 25 2009, 12:21 PM) *
Would this editor allow one to edit the colors of creatures and then see the color changes on that creature in the editor/tool?
It would real nice see your changes without having to save it then load the game.

with all the new creatures that one could make with this. some nice new colors to go with them would be nice too.

Tervadh
This would indeed be interesting, particularly the spellbook and script-generating stuff. I do a lot of this manually right now, and even with the newer WeiDU commands, it can be a pain.
aigleborgne
One week later, I've already spent a good 30 hours on this project.
However, I'm learning CakePHP et JQuery in the process, it slows me down.

I'm trying to do a nice looking interface without spending too much time.
Soon, I will post some screenshots and more details about advancements.

First, I will make a version without spells, inventory, and special effects. Because those require more tables, more code, and so much more time.
critto
If I may ask, how are you planning to distribute the tool later?
I mean, one thing is to use it for yourself on a local server, which is not a problem for you as a web-developer, but what about those modders who do not have a web-server and / or an experience of web-development?
Or, are you planning on publishing the tool later on the web for everyone to use? smile.gif

PS: I haven't seen any web-based BG2 modding tools yet (public ones, at least), so I think this idea is quite fresh and interesting.
aigleborgne
Of course I will release it!
I chose web application because that's what I do the most in my job. And they are also free of charges.

As for local installation, you will have to install something like xampp. Simple, quick, and efficient.
I admit that it is more complicated than a simple executable. But at least, anyone can look at sources and improve things they want.

And yes, I will still use WEIDU to patch CRE after using web editor. But I will discharge anything I can from WEIDU.
aigleborgne
I am already late in schedule. Basically, I planned to release a simple web application.

Now, I have building a complex web application with lots of ajax and intensive use of JQuery to produce a nice-looking user-interface.
Well, it's not only look but features, convenience, and intuitive.

So I will have a first version of this editor in october with most of features.
At this point, I will have to choose between using this editor to import and continue work on EC or programming advanced features on editor. Or... both of them at the same time!

Not to mention one very important thing : first release of editor will only maintains a database. There will be no import module in WEIDU!
Because I will need to have everything done before starting this module.

I have devoting a lot of time into this (about 3 hours per day) and I am very happy with it. I will be very please to work again on EC in this new editor!
Soon, I will post some screenshots.
aigleborgne
Some news:
Except effects, spells, scripts, proficiencies, and inventory (which is quite a lot), all others creatures characteristics are done and set in a nice looking form with tabs (something like Shadow Keeper)
It is now possible to add, edit and delete creatures. Most fields are select list (classes, kits, generals, sex, ...) and those data come from database.

A creature are bound to a monster and a group. And a monster belong to a group.
So, you can classify creatures into monsters and groups. If it is not a monster, just leave monster blank.

When you are editing a creature, you have 3 combo select list which allow you to select creatures, monsters, and groups. These selections will be updated with current creature as well. This is very usefull for mass editing.
Currently, this feature update everything but filename and creature name.

I am currently working on a way to import data from game directory using WEIDU. Purpose is to import spells list, items list, creatures list, and most 2da and ids to build a complete database.
Those data will be used when editing a creature.
For example, you can click on a button to retrieve saving throws, thac0, hit points, number of proficiencies you can set, memorized spells, known spells... All theses numbers are set when clicking on one button. After this, you can still modifiy everything of course.

So current planning:
- loading data from game directory (which require to code a parameter module for game directory) : 1 week (considering about 3 hours per day)
- auto-setting all theses parameters on a click : 1 week. But it won't include everything like spells because I haven't code this part yet.

Well, as you can see, I am still very far from release.
I can't give any release date yet. But be sure that this editor will help me to produce a very polished mod, far more reliable, and better in many ways.

2 screenshots in attachments.
aigleborgne
Some quick news:
I am late on schedule. In fact, it took me some time to add autocomplete feature to my project.
I can now import nearly everything I want from game directory. But some imports are really long (more than one hour for a complete list of all cre with their name extracted from dialog). Mainly because I used WEIDU to read dialog.tlk.
But this is not so important as I can include my database with release and change import so it doesn't touch existing entries.

I will make a final touch to autocomplete tomorrow. (example can be seen there: http://jquery.bassistance.de/autocomplete/demo/)
This is better than a select list when there are many items because you can still use it as a select, but also type some characters to quickly find something.

More news coming in end week smile.gif
aigleborgne
Form attached to this post is now fully filled with autocomplete feature. All selectlist are gone for more advanced components!
It took me some time, a lot more than I planned but the result is good.

It is now really quick and user-friendly to fill fields.
Now, it's time to go on!
About one week to finish classic tabs (mostly to autofill some data like hp, saving throws, ...)
And then I will work on inventory, effects, and spells. I will begin with a very simple version of these. Move on exporting data, and WEIDU installs.
This way, I will release an alpha version, just to show how it is.

Then, I might make a stop on this to work on EC with current editor and mix both project when I need to add some features.
aigleborgne
I forgot to add data validation, a very important part of any application.
I have just finished to implement a good system : you can't switch tabs if there are some errors in current tab. And a classic form validation are called when submitting changes.
Tough part was to do an ajax form validation, server-side, with 2 states : validates et updates on submit, or just validate on tab switching.

Now it is working, I just have to add validation rules, easy part.

Tervadh
Good to see you're making progress.
QUOTE(aigleborgne @ Sep 16 2009, 05:28 PM) *
But some imports are really long (more than one hour for a complete list of all cre with their name extracted from dialog). Mainly because I used WEIDU to read dialog.tlk.
This should really be quite quick... not longer than a minute or two, if that.
CODE
COPY_EXISTING_REGEXP GLOB ~^.+\.cre$~ ~override~
  PATCH_IF SOURCE_SIZE > 0x71 BEGIN
    READ_STRREF 0x8 name
    INNER_ACTION BEGIN
      APPEND_OUTER ~cre_list.csv~ ~%SOURCE_RES%,%name%~
    END
  END
BUT_ONLY
I have some code like this that will extract not just the CRE names, but just about the rest of the relevant data and put it in a spreadsheet (or database). But you may already have something similar.
aigleborgne
No I don't have such a thing. Originally, I have coded the exact opposite : patch a cre from a set of spreadsheets.
Concerning my imports, I don't exactly know how I will use these data.

Basically, you just update some creatures:
Pick a creature by filename, and fill forms.
Filled fields will be patched, others will left untouched.

It is not possible to use existing data from game and compare to local database to choose which ones need to be patch (because it depends on installed mods).
So retrieving existing data can be a feature at best. I will add this to my todo list because I see some interesting use.

Back to your code, I will use something like that, but I admit I am not familiar with WEIDU.
I could easily use this in tp2 file, as I did in my installation code.
But here I don't want to install anything, just run this and get results.

Is it possible to put your code into a file, input.tp2 for example.
And use a command like WEIDU < input.tp2

Thanks for your help!


QUOTE(Tervadh @ Sep 27 2009, 06:14 AM) *
Good to see you're making progress.
QUOTE(aigleborgne @ Sep 16 2009, 05:28 PM) *
But some imports are really long (more than one hour for a complete list of all cre with their name extracted from dialog). Mainly because I used WEIDU to read dialog.tlk.
This should really be quite quick... not longer than a minute or two, if that.
CODE
COPY_EXISTING_REGEXP GLOB ~^.+\.cre$~ ~override~
  PATCH_IF SOURCE_SIZE > 0x71 BEGIN
    READ_STRREF 0x8 name
    INNER_ACTION BEGIN
      APPEND_OUTER ~cre_list.csv~ ~%SOURCE_RES%,%name%~
    END
  END
BUT_ONLY
I have some code like this that will extract not just the CRE names, but just about the rest of the relevant data and put it in a spreadsheet (or database). But you may already have something similar.
Tervadh
QUOTE(aigleborgne @ Sep 28 2009, 02:36 PM) *
I could easily use this in tp2 file, as I did in my installation code.
But here I don't want to install anything, just run this and get results.

Is it possible to put your code into a file, input.tp2 for example.
And use a command like WEIDU < input.tp2
This doesn't install anything, because it uses a combination of READs (not WRITEs) with a BUT_ONLY that specifies only objects will be copied if changed. On top of that is a NO_LOG_RECORD which means it not only installs nothing, but leaves no record in your WeiDU.log, therefore needn't be uninstalled. The only thing you end up with is a crelist.csv file in the /crelist folder that can be opened as a spreadsheet or imported into a database. It is very easy to customise this if you want to add more fields or change the layout, and could presumably be used to retrieve live data from the game on the fly.

Just extract this to your game folder and run setup-crelist.exe.
[attachment=3726:crelist.rar]
aigleborgne
Thank you for explanations!

I will take a few days to try a migration from PHP to C# Winforms.
I wasn't very satisfied with performances and general problems with web developpment.
I surely got rid of all problems, but... it took me some time. Constant need to write javascript code along with PHP, adding ajax to most elements...

Well, I tihnk it's time to change on a better platform! I chose .NET C# Winform as I am familiar with it.
First, I will see if I can quickly migrate everything I have done. Considering that many things can be done effortless on winforms, I am positive.

I am using Visual Studio 2008 Express with MySQL database.
It should slow me down for about 2 weeks but let's see advantages:
- faster execution
- clear and lightweight code
- more controls which means better user interface
- easier installation and execution
aigleborgne
I'm now developping on C# VS 2008. I've worked a lot on a user control : a combobox with mutli-column and autocomplete feature.
For those that know .NET, basic autocomplete suck.
This component is very important as it is a corner stone in my application. Most data are representated by combobox.

So, I'm glad to say that it will be a lot better now.
It is very fast, I was impressed.

During those next weeks, I will re-done all I did in PHP.
aigleborgne
Creature form is now more advanced than my previous one. I'll join sceenshots to show those tabs.
On first screen, you can see my multicolumn combobox in action. You may notice a strange "Sys" on Movement box. It's a bug with mysql connector that doesn't properly handle some types. I'll try different versions of connectors, but it is not a priorty as my code is good.

In a few days, I'll start to work on spells / effects / inventory.
Please note that I haven't redone yet : monster and group UI, configuration, and importation.
It will be easy to do but I'm focusing on creatures right now.

I expect to release a first version on december.
aigleborgne
Current state with estimated time to finish task
- Import game data: 0% (1 week)
- Export creature to files: 0% (1 week)
- mod TP2 install : 0% (3 week)
- Global navigation and configuration : 10% (2 days)
- Sub-category manipulation : 0% (3 days)
- Creature (create and update) on simple fields : 100%
- Linked entities for updating many creatures in a single update : 100%
- Creature's script : 100%
- Creature's inventory : 0% (1 week)
- Creature's spellbook : 0% (2 week)
- Creature's effects : 0% (1 week)
- Creature's proficiency : 0% (1 week)

Concerning linked entities for mass update, I want to improve it with an advanced feature that allow to choose which fields to update. I would take about 1 more week and is not essential for fist release.

As you can see, there is a lot to do. I will probably be late on schedule. It's just than sometimes, I'm exhausted after work and can't work at all in the evening....

So, don't expect a release for Enhanced creatures before summer 2010.
If some are interesting in working on this edtor, you can mail me. It is written in C# Visual studio express 2008 with MySQL database.
aigleborgne
Current progress:
- Import game data : 60%

I haven't done a lot recently because my son is born the 16th november. I was busy but now, I have a bit more time.

To conclude import process, I need to import lists of cre, spells, and items.
Time and patience is all I need.
melkor_morgoth75
Can the mod take the advantage of new possible animation slots? (Infinity Animations -> http://www.shsforums.net/index.php?showforum=594),

mm75
Rigel
Hi "we" french modders of "Légendes" (a french modding community) are really interested in your software aigleborgne . Is it always on developement ? We got a new member "Cocrane" (he is an IT engineer) who want build a kind of editor like you if you would dare share your experience with him it would be great ! Just speak few words with him about what its possible to do would be nice, cause we most of the modder are not IT engineers happy.gif

Good luck for your hard work and congratulations for the birth of your son !
aigleborgne
Hi,

I am still developping this editor but I took some vaccation.
Concerning advancement, I haven't done much since last message. But I have corrected a pack of bugs and lacking features.

As for your friend, he can contact me. Because I am french too, it will be easy to speak!
I have attached source code of current version so he can have a look.

Regards



QUOTE(Rigel @ Mar 26 2010, 02:27 AM) *
Hi "we" french modders of "Légendes" (a french modding community) are really interested in your software aigleborgne . Is it always on developement ? We got a new member "Cocrane" (he is an IT engineer) who want build a kind of editor like you if you would dare share your experience with him it would be great ! Just speak few words with him about what its possible to do would be nice, cause we most of the modder are not IT engineers happy.gif

Good luck for your hard work and congratulations for the birth of your son !

aigleborgne
New migration : Visual Studio 2010, Framework 4.0, and SQL Server 2008 Express.
This will be the final environnement for this application.

Why did I move to framework 4.0 ?
First, you have to understand that this application is a self-formation as I want to become an expert in .NET.
I am very interesting in the new Entity Framework 4.0 and I can already say that it makes devleopement a lot faster and lighter.
Globally, it divides my actual code size by 3. And there are a lot more advantages with this new framework.

Of course, I need to migrate everything and it takes some time.
Database is ready on SQL Server (some changes were needed)
It will take about 1 month to finish migration.

This is quite long but I need to learn framework during the process.

In this end, I guess I will release this editor during winter, probably in December.

This is quite far, but I'm alone and I can work on it one hour per day at best.
aigleborgne
Nearly one month after my last message, I'm already late on schedule.
Well, I have done about 70% of migration. Not that it takes a lot of time, but quite some time that I can't spend on this.

But, I have done some great things : I have improved ingame data import and it is now very efficient, a lot better than my previous version.
I have added some features that didn't exist at all in others screens.

Soon, I'll have to handle those last 30%.

Things are slowly moving. I'm not in a hurry. Life is complicated and I can't devote more time on this project.
But I will finish it on time and next year, I will release Enhanced Creatures.

Late or too late for many players, one will play it at least : me. Originaly, this was the plan : "Take a few weeks to produce a mod that will correct many errors or missing features"
I didn't have a good tool to handle this properly, soon I will.

Regards,

Arnaud
Salk
I know that Enhanced Creatures will be a blast once it is out!

Keep it up, aigleborgne! thumb.gif
aigleborgne
Hey,

I haven't posted here for quite some time.
I have just finished my spellbook system.
So, for a working first version, I have to do :
- inventory
- proficency
- export (big part because it also includes a tp2 program that will use exported files)

For a second version:
- effects : it will be possible to add several effects to a creature from a set list
- group of effects that might be packed in items. Something usefull for monsters. Actually, some of these items exist (ring95 for undead...), but sometimes, they missed some effects.
- advanced update for others creatures. I will post a screen for this feature later on, but globally, it will update others creatures from current one. Updated data will be defined on a special tab.
For example, you are editing an ogre-mage and you want to update other ogre-mage creatures, but not their spell-book because you want them to have slightly different ones. Then you just check every options but spellbook and click update. My current version of this feature update everything, which is not always convenient.

Regarding to migration, it is almost done. Just script editing to complete, so just a couple of hours.

All in all, I expect a release in december.
I want to go on my mod as soon as possible but I need a working editor first :-)

See ya!
aigleborgne
I have worked a lot last week, so many good news!

First, I forgot in my spellbook to handle max memorized and known spells depending on class-kit.
This is now done!
I added a button Check Spellbook that check every errors and report them. This way, if you memorized 2 spells over 3, you miss one spell and it will be reported in check (as well as beeing printed in a small tab)

Inventory is finished too.

On top of that, I corrected a lot of bugs and I did a big part on export system.
This means that developpements should be finished in 1 month, maybe a bit more.

You can see screens in attachments. Inventory screen needs a final touch, I know.

Effect system is partially done.

I have also done a button that apply class-kit on creature, giving abilities, effects, and characteristics.
For example, a kensai will have 8 base AC, kai abilities, and effects for bonus thac0 / damage / weapon speed.
When it's possible, I create effect instead of changing characteristics.

To conclude, it is closed to be fully working but keep in mind that it will be a not a well-finished application. I won't have time nor motivation for that.
Just for installation, it will requires Sql Server 2008 Express and enough knowledge to install database.
It's really not complicated but a lot more than most applications found on internet.

It is the price to pay to have a database with game data and personal data, in order to build a set of creatures.
aigleborgne
Hey,

Right now, it is 95% done. And no, I'm not joking smile.gif
- Export is done, as well as TP2 installer
- Creature editing is definitly done

So only a few things left that will be done in 1 or 2 weeks!
Now, a big part is testing, testing, testing. Not included in my schedule because I'll test it while working on my mod in a few weeks.
melkor_morgoth75
Nice one ... keep it up!

Just a quick one, when u speal about "your mod", does that mean Enhanced Creatures? I look forward to see its light thumb.gif

mm75
aigleborgne
Yes I do, I will start working on Enhanced Creatures in a few weeks.
But by now, I'm on vacation for a while (need resting smile.gif

QUOTE(melkor_morgoth75 @ Oct 26 2010, 02:25 PM) *
Nice one ... keep it up!

Just a quick one, when u speal about "your mod", does that mean Enhanced Creatures? I look forward to see its light thumb.gif

mm75

This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2024 Invision Power Services, Inc.