Avoiding plug-in conflicts?

This topic is intended as both an advisory and an attempt to get information.

I have run into my first plug-ins conflict problem:

A few days ago I created a simple NPC and added it to fantrima in the game PoG. In order to do this, I followed the instructions in the plug-in tutorial and everything worked great.

Today, I decided to make another plug-in which also added an npc to fantrima as part of its function. Again, I followed the instructions in the tutorial.

Big problem : When I started up the game to check the new plug-in (with my first one also installed) the result was that instead of one new npc and one old one being added, I had two old npcs and one new one added into fantrima.

I managed to track down the problem as being that I had given both npc creation events the exact same name in each of the plug-ins: add npc to fantrima. I changed the name of the event in the second plug-in to "add (npc name) to fantrima" and re-did the plug-in load call. Problem solved.

Now for my question: How can plug-in developers avoid these types of conflicts?

The simple answer would be for plug developers to instruct game players that multiple plug-ins should be avoided in a read-me included with their plug. But it seems to me that detracts from the appeal of games like PoG that are designed so that multiple plug-ins can be used with them.

I'm curious if the folks at Beenox or Ambrosia have an answer for how conflicts of this type can be easily avoided without losing one of the appeals of games like PoG, i.e. use of multiple plug-ins.

Does the Coldstone engine infact allow one to break open other plugs and look at them and I have just missed this ability for the engine?

Anyone else have any ideas or suggestions?

------------------
CRH

Yeah... put the name of your plug into every event you make. It might be a pain in the butt, but it'll sure avoid conflicts. Or else the name of the NPC (or whatever) like you did. In short: make your event names as origional and different as possible. How many people are going to be editing you plug-in? Well, then once it's done go back and name all the events after lines from Green Eggs and Ham or something... Yeah.

->Day<-

Like Day said, the easiest way would probably be to just be careful with your file naming conventions. Try just using a few-letter prefix to all of your files - your initials, the initials of your software company (if you have one 🙂 ), or just some random acronym. (They often do this in object-oriented programming for this same reason.)

------------------
"A scientist can discover a new star, but he cannot make one. He would have to ask an engineer to do it for him."

On a similar note: Making bows or magical staffs Trinity-savvy is impossible. If any of you have figured out how to make ranged weapons, you know what I mean. In summary, we need the sprite files for each class to make ranged weapons, or staffs, compatible with Trinity.
A simple solution would be for Beenox and ASW to release the Trinity project file, though I don't expect them to do this. For all I know, it may even be included with the CGE CD.

------------------
The only sovereign you can allow to rule you is reason ŃWizard's Sixth Rule, Faith of the Fallen.
ŃCafall

(quote)Originally posted by Glenn:
**Like Day said, the easiest way would probably be to just be careful with your file naming conventions. Try just using a few-letter prefix to all of your files - your initials, the initials of your software company (if you have one:redface: ) was to try and find out if it was possible to somehow have the ability to look at the information contained in plug-ins without necessarily having the ability to change what was in the plug-ins. I think what I am talking about can be best illustrated by an example from another game: Escape Velocity. Some third party developers have come up with some very useful tools to assist plug-in developers for that game. One is called plug-in conflicts editor (I believe that is the correct name) that allows one to check plug-ins for conflicts between one or more plugs. Another example is that with resedit, one can 'break open the game/plug-in and look at it and have the ability to edit certain aspects of either the game or plug in to a large extent. Now, I know that with Coldstone, game developers have the option to assign what features of their game plug-in makers can have access to. But I have been unable to find anything that would let plug-in developers allow other plug-in developers the same option with someone elses plug-in.

I know that for some, this might not a desireable thing. I can understand how someone making a game or plug may not necessarily want someone else to be able to see exactly how they achieved some particularly novel or amazing feat of game play that blows the competition away. Ideas after all can be viewed as a valuable commodity. I also agree that it is only reasonable and proper that this choice be left to the game developer or plug-in developer themselves to decide if they want others to be able to look at how they made their plug or be able to modify it. As it stands now however, I have only been able to find where this option is allowed for developers of stand alone new games. I have been unable to find where this same type of option is available for plug-in developers.

An alternative to the above would be some type of editor that allows someone to look at how a game or plug is put together but not have the ability to change anything within the game or plug. It could be set up in such a manner that the depth of viewing could be restricted in certain ways. One for example could allow someone to look at the names of files stored within the various folders of the game/plug-in but not have the ability to open up and change said files. Or it could allow the files themselves to be opened but not allow any changes to the files themselves to be made. Etc. I think by now all of you should get the idea about what I am talking about.

Unfortunately, I myself do not possess the programming skills to make such a tool for game developers/plug-in makers. Hopefully, this post might encourage someone out there to begin thinking of creating such an editor for Coldstone that could be included in the add-ons folder of the engine. (Provided that Beenox/Ambrosia would give permission for such a thing to be done of course. :))

Mind you, non of the above should be taken in any way as a criticism of the Coldstone game engine. As a matter of fact, just today I mailed off my check for the registration fee. 🙂
It is also a hoped for desire that shortly all of us will be inundated with some really great stand alone games made by the engine and all of us will be too busy playing them to think about making plug-ins and my problem would be moot. 😄 (Hey, it could happen. :))

------------------
CRH

(This message has been edited by ChristopherH (edited 02-01-2002).)
**