| The Black Wyrm's Lair Terms of Use |
Help
Search
Members
Calendar
|
Mar 17 2008, 10:47 PM
Post
#1
|
|
|
Master of energies ![]() Council Member Posts: 3328 Joined: 9-July 04 From: Magyarország |
The bug was known for v15 already. Wouldn't it be easier to fix it in UB itself?
[This topic was split from this] -------------------- Mental harmony dispels the darkness.
|
|
|
|
![]() |
Aug 28 2008, 02:51 AM
Post
#2
|
|
|
Master of energies ![]() Council Member Posts: 3328 Joined: 9-July 04 From: Magyarország |
Nice solution, plainab.
However, it's still a reactive solution. It has been done only after a few mods have been broken. And it's a solution to a specific problem. On the other hand, my point was meant to be general, so let me clarify it in such an aspect. One could argue that this could be made proactive by systematically applying such intelligent codes in mods, but it wouldn't be a widely usable solution (at least without the support of additional tools). When a mod is tested and its quality is verified, the author and the testers experience certain things (expected and unexpected events, bugs and flaws, certain behaviour and AI of creatures, etc.) in the game. These help the author to develop and refine the mod to a state which meets his or her expectations. The public release of the mod will work according to these expectations. It's natural to consider the original game as a basis when creating a mod. The files of the game, the dependencies of the game are primarily taken into account when creating a mod. When developing a (bigger) mod and finalizing it, you assume "too" many given things about the game. For example, the intelligent code you presented is for scripts, but similar code could be written for practically all other resource types as well. Let's see an example. Certain alignment changes of G3's BG2 Fixpack may break Improved Anvil's scripts (note that it isn't a practical threat, as Improved Anvil doesn't support the installation of G3 Fixpack). I remember that Sikret was advised to set the alignments of the creatures in question to the alignments required by scripts. In other words, Improved Anvil would have overridden (overwritten) any previous changes -- including G3 Fixpack's changes -- on the alignments it requires for its scripts. It seems to be a working solution, but there is a problem: What about the other thousand (or more) dependencies required or modified by Improved Anvil? Should all of them be checked by intelligent codes during the installation or enforced through some sort of "patching" code? This would practically mean overwriting half of the game with "patching" code. One could argue that you should only enforce those changes which are modified/overwritten by other mods. But what mods? If the installation order isn't fixed, the player might install any mods before the mod in question, so there is no way to know what will be changed in the game by other mods. But let's assume we only want to build on G3's BG2 Fixpack. It's still not an option: G3 Fixpack changes all the time, and even most of its existing modifications are unverified (or even untested). How can you prepare your mod to something which will happen in the future? In other words, enforcing expected dependencies and using intelligent codes to detect other mods' changes on the game cannot be applied proactively, because bigger mods would have to overwrite half of the game and scan several hundreds of fields to detect changes. So the reactive solution remains: mods crash, mods trigger bugs, mods cause problems -- developers find the problems, and apply specific fixes on their mods to work with each other. Then it's starts from the beginning again. To cut a long story short, the approach favoured by certain groups of mod developers strongly relies on reactive modding. Again, let's see an example. G3's BG2 Fixpack applies a huge amount of changes to the game (and very many changes aren't strict fixes). These changes tend to break mods, or at least, they cause mods to work in an unexpected or undesired way. So the developers suggest you to remove the fix through the installation code of your own mod. That is, the G3 BG2 Fixpack requires mods to negate its changes, if those changes cause problems for a third-party mod. This is how its developers imagine it should work:
Another big disadvantage of this type of reactive approach is that the third-party mod becomes dependendant from the mod it was based on (e.g. in this case, G3's BG2 Fixpack), so any future changes on the base mod will affect (possibly break) the third party mod as well. The author of the third-party mod has no other choice than checking the base mod's news and events, and revise/extend his or her own work when the base mod has been changed. He or she can never say "At last, I've finished with the most of it, now it will be just minor fixes once per year". On the other hand, the original game is a static system, it doesn't change and thus it won't break mods that are based on it. In case of our example, G3 Fixpack, one could argue that the third party mod author only have to deal with the changes of the Core component of G3 Fixpack. Apart from the fact the Core component is huge too, there is another problem: while the other parts are optional indeed, most players usually choose "Yes" when the installer asks them about it (why would they skip components with tempting, cool-sounding content). The consequence is obvious: all optional components will be installed too, and the third-party mod isn't prepared to their changes. The third problem of this solution is that it expects the author of the third party mod to study the base mod (e.g. G3 BG2 Fixpack), and negate/remove certain changes of it that cause problems for the third-party mod. It makes the life of new mod developers even more difficult. Let's see how these things changed with time (in case of a simple or medium-simple mod):
For example, let's see our previous example again, G3 BG2 Fixpack. I ask it, why can't it work in the following way:
Why IE mod development has to be the privilege of those who understand data types, bitwise manipulation, variables, programming language structures etc.? One could argue that there is sample code available, but in the hands of those who don't understand the code they use, it just becomes the source of bugs. And adjusting, extending sample code isn't possible without the understanding of certain fields of computer science. One could say that someone who wants to be an IE mod developer should learn these things or forget about modding. It's indeed reasonable to expect a certain level of knowledge and user skills for modding, but they are far from what a WeiDU programmer needs to understand and use in the practice. In the light of the fact WeiDU is a very useful and versatile system which -- on the other hand -- lacks high abstraction and certain important services, my conclusion is as follows:
-------------------- Mental harmony dispels the darkness.
|
|
|
|
Baronius UB bug still present in v16 Mar 17 2008, 10:47 PM
kulyok Naturally, and I do wish it were fixed, as well as... Mar 18 2008, 07:46 AM
Sikret Naturally, and I do wish it were fixed, as well as... Mar 19 2008, 08:20 AM
Jab UB and QP have been severely bugged for years. The... Mar 19 2008, 04:26 PM
Moongaze I agree about stability.
....and likely writing i... Mar 19 2008, 08:29 AM
Sikret "Stability" is not the only criterion, b... Mar 19 2008, 09:54 AM
Sikret @Jab
It's funny that you quoted a paragraph w... Mar 19 2008, 04:56 PM
Jab Misreading my name for Vlad's is the simplest ... Mar 19 2008, 05:16 PM
Sikret No flamewar is in progress in this thread; it... Mar 19 2008, 06:58 PM
Jab No flamewar is in progress in this thread; it... Mar 19 2008, 07:20 PM
Sikret No flamewar is in progress in this thread; it... Mar 19 2008, 08:08 PM
Baronius 1) Some people consider this as a competition (or ... Mar 19 2008, 08:58 PM
The Bigg I was going to post about how backwards compatibil... Mar 19 2008, 09:14 PM
Baronius Accidents and problems always happen, but:
1) It ... Mar 19 2008, 09:48 PM
DavidW I'm deeply reluctant (as a newish observer of ... Mar 20 2008, 02:07 AM
Valiant Exaggerating you say? Well, not at all. I believe ... Mar 20 2008, 08:44 AM
Baronius First of all, it's important to note that the ... Mar 20 2008, 09:01 PM
SimDing0 The is pretty good work, guys. You're actually... Mar 22 2008, 01:08 PM
Valiant The is pretty good work, guys. You're actually... Mar 22 2008, 01:37 PM
SimDing0 Because this is all daft and I don't care? Mar 22 2008, 01:50 PM
Valiant If you don´t care and all is daft, then just simp... Mar 22 2008, 01:53 PM
SimDing0 Expressing my contempt for the proceedings is a pe... Mar 22 2008, 01:57 PM
Valiant If you say so... Mar 22 2008, 02:01 PM
DavidW Replying rather late (I've been away). I'm... Mar 25 2008, 01:05 PM
Sikret UB has many other serious bugs even if we put asid... Mar 25 2008, 02:50 PM
Baronius They are interrelated to a certain extent (depende... Mar 25 2008, 02:51 PM
DavidW Almost forgot:
It's a specific case, indeed. ... Mar 25 2008, 03:50 PM
DavidW Okay, so I seriously don't want to get into di... Mar 25 2008, 03:47 PM
Baronius Then the coupling of SCS2 is stronger than I thoug... Mar 25 2008, 04:06 PM
plainab I recently came across this issue as I was working... Aug 27 2008, 11:23 PM
plainab
He likes the code and that makes me happy. :D ... Aug 28 2008, 08:02 AM
Baronius @plainab:
This is exactly why I gave up any attem... Aug 28 2008, 05:05 PM
Sir_Carnifex I haven't said anything in these fixpack, etc.... Aug 28 2008, 05:39 PM
Sikret the G3FP developers have defined a new way of tria... Aug 28 2008, 10:21 PM
DavidW the G3FP developers have defined a new way of tria... Aug 28 2008, 10:33 PM
plainab I need to calm down. 10...9...8...7...6...5...4..... Aug 28 2008, 10:06 PM
Sikret The fact that the developers of BG2 fixpack don... Aug 28 2008, 10:47 PM
DavidW And the last point: if you are ready to object aga... Aug 28 2008, 10:57 PM
Baronius DavidW, I'm sure Sikret has even less hope tha... Aug 28 2008, 11:18 PM
Ancalagon_UK Theres something I still dont get though, Baronius... Aug 29 2008, 09:53 AM
Sikret Theres something I still dont get though, Baronius... Aug 29 2008, 10:24 AM
Ancalagon_UK Ba ha ha ha ha! Yes, you are attacking it. You... Aug 29 2008, 10:40 AM
Sikret Actually no, players who use free mods have no rig... Aug 29 2008, 11:16 AM
Baronius Ancalagon_UK, I would suggest to you to study the ... Aug 29 2008, 10:44 AM
DavidW 3. They blackmail mod developers to use the G3 Fix... Aug 29 2008, 11:20 AM
The Bigg proper testing IS possible, if they allocate time ... Aug 29 2008, 11:57 AM
Ancalagon_UK
hey I'm a professional software developer wi... Aug 29 2008, 11:19 AM
Baronius They're still manipulating, and the practice h... Aug 29 2008, 11:38 AM
DavidW
Is this partly the issue? I don't and didn... Aug 29 2008, 11:45 AM
Baronius
Well, I do. They have succeeded to advertise it e... Aug 29 2008, 11:55 AM
DavidW
Well, I do.
Okay, so since I don't really ... Aug 29 2008, 12:06 PM
Baronius
As I've said, it's a question of definiti... Aug 29 2008, 12:06 PM
coaster A player's perspective - I am not even going t... Aug 29 2008, 01:08 PM
Jarno Mikkola At its current status, the Bg2 fixpack is best be ... Aug 29 2008, 01:50 PM
Sikret At its current status, the Bg2 fixpack is best be ... Aug 30 2008, 10:33 PM
DavidW 2- Hidden bugs, which will come to surface and sho... Aug 30 2008, 10:40 PM

Sikret So I'm wondering what would make something a ... Aug 30 2008, 10:51 PM

DavidW So I'm wondering what would make something a ... Aug 30 2008, 11:00 PM
Jarno Mikkola No, even if you install it alone, it will add lots... Sep 1 2008, 11:25 AM
Sikret Like what? If we are talking about the key items t... Sep 1 2008, 02:30 PM
Lorph Halys See my edit to this post for the reason I'm no... Sep 1 2008, 02:51 PM
Baronius If this has been your impression, then I must have... Aug 29 2008, 04:32 PM
Sir_Carnifex Even if you are right, if you resort to posting li... Aug 29 2008, 05:18 PM
The Bigg This from a person who actively participates in th... Aug 29 2008, 05:26 PM
Sir_Carnifex Under the name Proteus_Za or something like that. ... Aug 29 2008, 05:35 PM
The Bigg Shows how much attention I have for details (and t... Aug 29 2008, 05:37 PM
Ardanis I could just sign under this statement.
I wonder ... Aug 29 2008, 09:15 PM
Sir_Carnifex I wonder if anyone posting there is actually being... Aug 29 2008, 11:22 PM
Baronius The anonymity of the internet and the lack of need... Aug 30 2008, 12:34 AM
DavidW It usually reflects a weak character, a weak perso... Aug 30 2008, 10:17 AM
Ardanis I was as serious as possible about blackmailing. I... Aug 30 2008, 01:28 AM
Baronius
I suspect it's also about different forum po... Aug 30 2008, 02:25 PM
Lorph Halys Having at least made an attempt to read your enorm... Aug 30 2008, 05:04 PM
Baronius They indeed consider it a big popularity contest, ... Aug 30 2008, 05:37 PM
Lorph Halys On the other hand, we've never cared if many p... Aug 30 2008, 06:23 PM
Baronius Two different things.
As everyone else, I believe... Aug 30 2008, 06:46 PM
Lorph Halys And I still believe you're strongly influenced... Aug 30 2008, 07:06 PM
Jab These threads are just hatcheries for trolls. Give... Aug 30 2008, 06:50 PM
Baronius Thanks Jab, I'm not trying to convince G3 FP d... Aug 30 2008, 06:52 PM
Sir_Carnifex But it takes fire and acid to kill them. So... :) Aug 30 2008, 06:54 PM
Baronius @Jab: I hope that's some fine Czech beer in yo... Aug 30 2008, 06:59 PM
Jab Baronius: I must say, that I don't consider ot... Aug 30 2008, 07:07 PM
Baronius
True. Sometimes one unintentionally generalizes i... Aug 30 2008, 07:15 PM
DavidW Okay, so two quick points:
1) I think it would be... Aug 30 2008, 08:21 PM
Baronius As I've emphasized earlier, it's a matter ... Aug 30 2008, 11:12 PM
DavidW Well, to be fair, it's my terminology to call ... Aug 30 2008, 11:22 PM
Ardanis BTW, this indeed might have something to do with h... Aug 30 2008, 11:45 PM
Baronius You don't need to thank anything, but I'm ... Aug 30 2008, 11:47 PM
DavidW I know I've quoted it already, but I like it s... Aug 31 2008, 10:36 AM
Baronius I forgot to emphasize that I was interpreting your... Aug 31 2008, 11:46 AM
DavidW I agree that discussing definitions can get tireso... Aug 31 2008, 11:29 PM
Baronius
For Sikret and me, it doesn't. There is no ne... Sep 1 2008, 12:37 AM
plainab
This is true. However, may I bring up something t... Sep 1 2008, 05:25 AM
The Bigg I think it's pretty poor of a program's de... Sep 1 2008, 10:30 AM
DavidW To avoid getting enmeshed in a philosophy-of-langu... Sep 1 2008, 09:25 AM
coaster Unfortunately there are a few bugs outstanding in ... Sep 1 2008, 01:50 PM
The Bigg TBH I wonder whether the "suck it and see... Sep 1 2008, 02:00 PM![]() ![]() |
|
Lo-Fi Version | Time is now: 12th December 2025 - 02:33 AM |