Jump to content

Best Practices/Tips in Mod-Making?


Recommended Posts

I am looking for good mod-making habits and personal tips from many of the experienced peeps on here :smile:
I'm gonna divide it into sections, since I have many questions...

So, can anyone give me some valuable tips and do's and don'ts when tackling ANY of the following:

 

-Q1: How do I make my mod as compatible as possible?

  • Scripting?
  • How do I see a Grid Map of other mods? So I know where not to place stuff.

 

-Q2: Mod Performance

  • EX: What to avoid in order to allow virtually all players to have a smooth performance?
  • I know to limit small items like small props with Havok physics, but do small static items in a cell
  • IMPORTANT: To what extent does CUSTOM resources affect the game? Is using vanilla-only resources the way to go? And if I were to add A HUGE number of items (mostly books) to the leveled lists, what is the limit? How will it affect performance?

 

-Q3: Taking advantage of the NEWER plugins and utilities?

  • EX: Blockhead, Link, Oblivion Reloaded etc. that often get overlooked due to how dated many of the mod-making guides are
  • Some of the guides I'm following seem to be using old CS... So does anyone have any good advice with CSE? I have a good feel for it, but are there any "essential" tips and tricks y'all have when you are using CSE?

 

-Q4: When Mapping, How do you deal with interiors matching up well with the exterior?

  • especially when using modder resources?
  • What discretion do you use when it comes to accuracy in size between the two? Lax?

BONUS - The "Always Avoid" Section:

  • Basically as it says--- what are things to ALWAYS AVOID in the pursuit of making a mod?

 

This is a bit long-winded, and I don't expect you to answer in every section-- although you can if you want c: -- These are just topics which concern me as a beginner mod-maker. Thanks for any help!

Link to comment
Share on other sites

Best place to find all answers for modding with CS and everything is by using the CS Wiki.

 

We will help you as much as we can when you run into problems, no doubt.

 

Q1:

  • Best place to find the Commands + OBSE + Puffy is in this command list at the CS Wiki. As each script is in its own container for each mod and do not contact other scripts from other mods you cannot create any form of conflict with it. There are ways for 2 mods to contact eachothers but that will require a lot of work, so if you do not how to do that, the risk doing it does not exist.
  • I have never used Grid Map. Place stuff in the world might cause a conflict but mostly it is just cosmetic conflicts really but it depends how much stuff you try to add. Add to much and to changes like Better Cities, and your game will crash, sooner or later so be restrective but do not be afraid adding stuff anywhere really.

Q2:

  • A lot of loops in a script - Nesting loops in game mode. If you nest loops in a spell or in a Do Once, it doesn't matter really as it is temporary. Having a script that runs every frame with OBSE Loops nested will make your own game to halt so you will not release that stuff anyway. Do not be afraid to add many scripts in a single mod. I do have at least 200 scripts running in my HobbitHome.esp or more and my game runs very smothly.
  • Lots of 3D objects, combined with lots of light sources will impact on performance so rather use light with a bigger radie than loads of lamps with small radies as each light source will force the CPU or rather the GPU to make a lot of extra calculations.
  • Extra resiurces do not effect the performance a tiny bit. Many of those resources, like some 3D objects that are newer and resaved with Nifskope, runs better and more smothly then Bethesda stuff do. It all depends on the number of collision surfaces and texture size. Big Textures will make the game to run bad. Do try a texture replacer with 2048 texures and see. You will most likely get 5-10 FPS, if you use a AMD R5 graphic card like I do but I also have a comp with Nvidia newer card and it has almost the same effect.

Q3:

  • You do not need any of those files when you make your own mod. I do not load Blockhead or rater OCO2 when I use CSE mostly. But if I do load OCO2, then Blockhead will be loaded. It will have no effect for any player if you do not add OCO2 as a requirement. Oblivion Reloaded sucks so I do not use that rubbish, not even Reloaded Light. I use ENB 0.259 and similar stuff though without any issues.
  • Follow my guide to allow CSE and Oblivion to run with ENB.

 

Q4:

  • I use a lot of other users resources without any form of issues or visual glitches. A majority of others resources works so damn well that you cannot see any difference, well except they mostly look better then any Bethesda original stuff. What you see at the screenies, is what you get.
  • Nifskope is good to filter any 3D object and make them work better automatically but still, the stuff that has most bad impact on any performance is not 3D as it is textures and light sources. When it comes to proportions, you still get what you see at the screenshots for each resource. Blender as one example, makes stuff 10 times smaller then you see in Oblivion. 9.6 meters in game is equal to 97 meters inside Blender, that most modders are using to make 3D with.

 

Bonus:

  • Loads of Light Sources
  • Bigger textures than 1024
  • Advanced collisions
    • I have not seen any as I did create some 2008 that made my house project then to lag as hell. Not many modders are so stupid that they make a collision by copying an advanced 3D model, with loads of vertices and surfaces as they will make a simple collision box for statis objects or use the havoc from an bethesda made object, delete the visual stuff at it with Nifskope and add their own visual 3D object and if the texture size do not differ much, it will run perfect. I was that stupid and I did learn a lesson and left Oblivion for other games, but here I am again and know so much more now.
  • Put more then 1500 objects in an exterior cell. I do think I have 1000 objects in my exterior cell for my Hobbit Home. It lags some but not much really. Do trial and error really. If it works for you, it will work for anyone if they use a similar setup as you do.

Do get started. Do not bother about any of your questions nor my answer. Just do it and do what you want. Remeber: As long as the game and your mod runs smothly for you, it will work fine for everyone. Use common sense and let your imagination be your guide, nothing else. If you think or guess something will have a performance issue or even crash the game for others, then it will have huge impact on you personal as it will limit you as an artist.

 

If you by any chance would create a bug. We will help you solve it, if we can and we, your fellow modders have failed to give other modders help maybe 2-5% so to fail help you solve it, will be minimal. Just go for it. Maybe 2-5% is to high? Maybe it was 0.5%? Friends, help me out here: How may times have we failed to give CS and CSE support? :wink:

Edited by Pellape
Link to comment
Share on other sites

I did test the mod Skyrim Nord Tombs yesterday, where the author added his entrances above the Skyrim/Cyrodiil border. And that mod also open the border and so does MOO and other mods. If you are really worried about conflicts, in exterior cells, do add your entrances in Black Marsh, Hammerfell, Skyrim or Morrowind but avoid Elswear and Valenwood as some bigger and very popular modding projects do take place there. I have never seen any mods so far that takes place in Black Marsh. If anyone here do still use the Cyrodiil borders as their limit of range, do reply and argue about it. Borderless Cyrodiil and as I said earlier. Do not worry about causing conflicts at Cyrodiil exteriors, specially if you do use the Landscaping tools, but in some cases, some adjustments has to be done and ones more: Our commuity within the TES4 game, Oblivion, is so damn small today that you cannot do anything wrong or at least it is limited to 0.1% failure chance.

Link to comment
Share on other sites

It should be noted that while making your script not run all the time is ideal (after all Oblivion always evaluates all conditions while looking for an exit), Oblivion is absurdly fast at actually firing scripts. When I did research into this, for most use cases Oblivion could easily parse half a million lines of script per second before you get a performance hit from script. So unless you're doing something super fancy, or are using a performance heavy functions, you should be fine with not stressing about performance too much. Afterall, Maskar implements MOO entirely with scripts and no one complains about performance

 

For me, I find splitting up my scripts into as many user functions as possible helps the most. It removes the need to multiply your script and can reduce the complexity of optimization

Link to comment
Share on other sites

Another angle:

Similar answer as I already made, but a tiny bit different...

 

And I think I did mention how many scripts I added in my HobbitHome and I think it is 300 or similar, damn I cant recall and many many of them are very long with tons of conditions and stuff + I do run MOO and loads of other heavy scripted mods and I do not notice any performance drops at all and I do use an old laptop right now but also use a separate Desktop Gaming computer with a new Nvidia Graphic card, with exact the same Oblivion setup, and exact the same mods and they both runs damn well. So StSandbag, You need to add stuff in game for 30 real years straight until it crashes I guess :D

 

Who fixes the bugs?

I did compare the game without mods at all, on both my comps, with and without mods. I cannot see any difference really in performance. Number of mods in hex is 85 and in deci? 133 active heavy mods. Many mods use the same areas and cells as well. It never fails for me. If the game do crash, it is most likely a broke mesh (*.nif) ir the engine itself, calling a memory block from an obscure address in the RAM and that is bugs Bethesda cause 2005 already, bugs that OBSE tries to prevent and EngineBufFixes. The game was a bloody mess when we got it 2006 and it is MUCH MUCH better now, thanks to the crews behind ENboost, ENB, Enginebugfixes, OBSE, Unofficial bugfixes and you name it. I can continue forever about this and those geniuses involved in all those projects. Any TES game would have had BIG issues, if the players and modders did not fix it.

 

What about similar bugs in MMO?

There are other games, we as a player will never be able to fix, specially MMORPG as to be able to access the server, we would need to crack the server admins passwords, guess the IP, scratch our heads until our hair fell off. Such an impossible mission. If anyone will crack the password of a MMORPG server, then all hell would break loose and it is extremely rare or has it ever happen? Does anyone know? I never heard of it. I do know that MMO players got their chars and accounts cracked many times, but never the game servers. I would be surprized though if it never really did happen as nothing is impossible ever, but it doesn't mean that I, an admin and IT/Network guru, programmer or whatever had been served that knowledge or even heard about it as I have not.

 

What in case your client get changed with or without you notice it?

The only single stuff we have access to in an MMORPG environment is the local files and the local client. We can change the graphic and UI some but if we make any form of change to the actual client application, it might get noticed by the server and refuse us further access. To edit an application file, it will be edited in any way, by viruses, by us or something or someone else or by us as players and then saved and that save will get a different check number and the server will look for that specific or similar data, and if it notice that we managed to tempt with the client, then the alarm goes of most likely. If it is my client, they might even ban my account, without a single question what or who made that client change. It is then very unlucky if that specific change where caused by a virus... ;/ In most cases, if our client do get changed by a virus, it will go fast until our own security software will get updates that will find it or if the server itself gets information about that specific change, and looks for it and then you will get a message from the server most likely that tells you to reinstall your client or/and check it with your security software. In any case, then you need a new client for sure, no matter what, but will have your account kept intact, with no issues taken from any staff member of that specific company.

 

Well dont worry, be happy...

Edited by Pellape
Link to comment
Share on other sites

Q1: Talking about the editor ID's to decrease the risk of conflicts give them a mix of your nickname, your mod's acronym and a short description of what they are and for the game stability always start your editor ID's with a letter.

 

Q2: Avoid using scripts that constantly run in the background. For example and a long as possible favour a lot of object scripts using tokens instead of a quest script using variables.

 

If you want to know how the increase of diversity in the leveled lists increases the loading times just start a new unmodded game and enter some dungeons then start a new game with a mod like my More consistent and diverse Oblivion enemies and compare the loading times when you re-enter the same dungeons.

 

Q3: I don't have any hint to give you with the CSE, just use it, enjoy and you'll never come back to the default CS.

 

 

Things to avoid:

Like I mentioned above never start your editor ID's with something that is not a letter because otherwise your game will crash more oftenly.

On a general note plan your work before starting and you should work much faster than someone messy like me.

As long as it doesn't require a huge amount of work use custom made elements instead of vanilla elements to decrease the risk of conflicts.

Before publishing a mod use TES4Edit to check for errors and get rid of the identical to master records.

 

I hope I didn't forget anything.

Edited by Oblivionaddicted
Link to comment
Share on other sites

That diversity mod looks interesting Oblivionaddicted but I also do fear it might confict with similar mods, like MOO or WAC and he write that we should figure out what will conflict with something else our selfs and that was not helpful at all. I will not dig any deeper into that one but I really do wonder if it will be incompatible with MOO, WAC and similar mods? Do you use it your self and for how long?

 

I have you also to thank for aiding me with a Morrowind mod, Oblivionaddicted, that caused problems for some but not for me and some others. So if something in a mod do start with a number, lets say an ID, doesn't mean everyone will have any issues with it but lets play with some number. If we make a mod, with a couple of ID's, starting with 1 or any other digit, then the chance will be 0%, 50%, 64 or 100% of the players that will have issues with it as it will be extremely random. This is one of the few occasions we will get very randomized issues. I did not had any problem with that Morrowind mod for 17 years now, and couldn't understand where the problem was, until you told what was needed to be fixed and what I needed to change to also make it work for others than just me and a few others... Oddest damn bug in history honestly :wink: Many other bugs will cause problems for everyone, but not all... We notice this at the 2 problems forums we have at the Oblivion section, which make it harder in some cases to pin point where the problem is or even solve it, specially if the one asking for help, has the same setup as the one giving the help, and only one of those 2 have the issue, then we sure have a problem that no one will be able to solve.

 

I do hate random issues and random problems. Its the worse scenario ever. :ninja:

Edited by Pellape
Link to comment
Share on other sites

It should be noted that while making your script not run all the time is ideal (after all Oblivion always evaluates all conditions while looking for an exit), Oblivion is absurdly fast at actually firing scripts. When I did research into this, for most use cases Oblivion could easily parse half a million lines of script per second before you get a performance hit from script. So unless you're doing something super fancy, or are using a performance heavy functions, you should be fine with not stressing about performance too much. Afterall, Maskar implements MOO entirely with scripts and no one complains about performance

 

For me, I find splitting up my scripts into as many user functions as possible helps the most. It removes the need to multiply your script and can reduce the complexity of optimization

To be honest, I'm not so worried about performance as the logic it requires.

 

One of my concerns is where people are doing the same thing over, such as AddItem or AddSpell but get stuck and don't know how to Undo it. Where the conditions/logic to get rid of the redundancy IS the solution.

 

My main reason for coming here is to find answers. The point is I don't come here often enough to discuss with a lot of you how I could better help.

Link to comment
Share on other sites

That diversity mod looks interesting Oblivionaddicted but I also do fear it might confict with similar mods, like MOO or WAC and he write that we should figure out what will conflict with something else our selfs and that was not helpful at all. I will not dig any deeper into that one but I really do wonder if it will be incompatible with MOO, WAC and similar mods? Do you use it your self and for how long?

 

I have you also to thank for aiding me with a Morrowind mod, Oblivionaddicted, that caused problems for some but not for me and some others. So if something in a mod do start with a number, lets say an ID, doesn't mean everyone will have any issues with it but lets play with some number. If we make a mod, with a couple of ID's, starting with 1 or any other digit, then the chance will be 0%, 50%, 64 or 100% of the players that will have issues with it as it will be extremely random. This is one of the few occasions we will get very randomized issues. I did not had any problem with that Morrowind mod for 17 years now, and couldn't understand where the problem was, until you told what was needed to be fixed and what I needed to change to also make it work for others than just me and a few others... Oddest damn bug in history honestly :wink: Many other bugs will cause problems for everyone, but not all... We notice this at the 2 problems forums we have at the Oblivion section, which make it harder in some cases to pin point where the problem is or even solve it, specially if the one asking for help, has the same setup as the one giving the help, and only one of those 2 have the issue, then we sure have a problem that no one will be able to solve.

 

I do hate random issues and random problems. Its the worse scenario ever. :ninja:

You can easily detect the conflicts using ObMM and fix them using TES4Edit and with a bit of knowledge import some elements from one mod into another.

I have been using MCDOE since I started its creation.

 

Whichever the likelihood of crash you have when editor ID's don't start with a letter the constatation is here: the editor ID's starting with a letter take part to the game's stability, the editor ID's that don't start with a letter represent a danger for the stability.

 

So the question is: since none likes the crashes to desktop is it better to preserve a game's stability or to play russian roulette with it?

 

Could you remind me which is the Morrowind mod you're refering to by the way?

Edited by Oblivionaddicted
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...