THE GAME ISN'T DOING... MOD NOT WORKING...
Mar 1, 2023 1:13:37 GMT
graykin, chambcra, and 1 more like this
Post by Sniffles on Mar 1, 2023 1:13:37 GMT
SKIMPLIFRIED
HIERARCHY
GAME ENGINE running the whole show. Enabling the display, the grid, the map, the NPCs, all the nuts and bolts when the game first starts up.
Depending on how powerful the computer is, when the game is first started there is a period of time before the screen first displays the start screen and the options. This is the game loading all of the tools into memory neatly organized and indexed. If the game doesn't start, freezes on the loading screen or crashes, something went wrong with the indexing and the computer gets a report or a run time error from the engine. Yo, Engine! Too much time! Memory is overloaded. You are in an endless loop. Your loading or loaded operations are conflicting with the basic OS operations.
WHEN THE GAME LOADS The engine is running and shows the first menu the engine - Imagine a mechanic in a shop surrounded by various machines and the wall lined floor to ceiling with tools, each in it's place. Some tools can be used for all sorts of jobs, some special purpose to be used on on a specific bolt. They are all neatly indexed and the game knows exactly where they are what to use them for.
FUNCTIONS Exactly what the name implies - the game using those tools. The tools are grouped into three categories.
* EVENTS That first menu to select a game, load a game, check the options, the settings quit the game - all events waiting for the loose bolt behind the steering wheel, mouse / keyboard / controller to ask the mechanic to do something. Selling an item, buying an item, dropping an item and on and on all events. If the game hasn't frozen, crashes, everything on the screen that is or can be active - moved or used, is an event.
* COMMANDS Input from Loose Bolt OR from the car itself (or both) to do something. Walk, talk, fast travel, lots and lots of somethings.
* FUNCTIONS 1+1=. Event plus Command = a Function. The car catches fire, Event, the car owners screams put it out!!!, Command, the mechanic grabs a fire extinguisher, Tool, and puts the fire out: Function. OR, Loose Bolt grabs the extinguisher and puts is out herself - input from mouse / keyboard / controller.
In Skyrim or Fellout or whichever game there are around 50 events the engine - mechanic knows about and recognizes, around 250 commands and around 1000 functions. Mechanic opens the hood, Event, sees the flonkus is loose Event, grabs the flonkus tightener and tightens it. Seeing the flonkus is loose Event, and tightening are built in game engine Commands executing a Function.
OR, that NPC is dead and not supposed to be there, loose flonkus = not supposed to be there, Function call Disable Actor. Ever seen persistent dead bodies that stay in the game? Overlooked Events the game engine does not know about. In computer, confuser-eeze, an unassigned variable. No Event, cannot use a Command and perform a Function. 1+?≠ Function
Now let's dump a gigantic pile of hyperactive, dying and dead sloths into the works. A MOD! If you look way way way WAY up at the top of all this gibberish you will notice the word HIERARCHY.
Down below Game Engine doing it's Function things are ploopers known as scripts. Scripts are short for StupidPotentialScrew-ups. Scripts can do anything, whether they should or not. They can add Events, utilize or create their own Commands, and execute or even add their own Functions. Does that sound like potential screw up country or what?
Scripts are the Mod meat and potatoes. Or a PB&V, Peanut Butter and Vaseline sandwich. Exlax in the chocolate box. They can be written superbly and make the game engine humm and smile, or cause the game engine to tell the Loose Nut or it's Confuser to go sit on a hot rock and rotate. As in, "YO! Plonkeybits! Where exactly in the alphabet of my index did you want me to put *&*&%%%$?" And the game crashes, if it even starts up.
So let's take an example Mod, Vilja. Humm and smile time for the engine. And let's take a most recent posting of a Vilya OOPS over in Oblivion land. Vilja doesn't execute script 'sit down and paint!?'. emmates.proboards.com/threads/recent/2936 Vilja is an exceptionally well written mod. What went wrong?
Scripts are, obviously, late comers to the game. HIERARCHY?? The game engine does other things first. Scripts are told to wait their turn. Now, just suppose the engine is very VERY busy, AND there are other scripts running!!! Vilja sitting down and painting gets shoved into the queue. Wait your turn, gal.
Well, she sits, but doesn't paint. Sit is a Function of the game. Actually, several Functions. GetStartingPos, GetActorValue, SetAIStart etc etc. Painting is a script. And there may be several other scripts running or in the queue.
In the particular instance from that thread, there were/are several scripts waiting to execute and the game engine executing various functions INCLUDING the WEATHER and making snow fall graphics. And TADA! Vilja doesn't paint when it's snowing!
AddendumB. Now some pedantic fussy fussys will shout at the Mod developers, demanding this oversight be corrected immediately! (Not that particular thread but some others). Well, @emma and her team of developers have a thing called 'a life'. (And other modders.). So say amgepo or company gets a request to correct the script log jamb + engine overload busy + weather change + graphics check (snow fall display) and would likely question them rebuilding Vilja so she takes inclement weather into account when her script is called to paint while sitting. They are in general more polite than me and aren't likely to suggest hot rocks and rotating but you get the picture. You want her to go sit outside and paint in a blizzard? For crying out loud, GET A GRIP!!