Comments (3)
https://steamcommunity.com/sharedfiles/filedetails/?id=2187633818
The very idea of having a workshop submission as a mandatory dependancy, forcing developers to use an arbitrary "/mods/init/" directory for no reason is restrictive, not scalable.
Apart from these ridiculous aspects of it, it also includes completely unnecessary files, convars and global functions that the user should have full control over. Things that should only be available for the developer, and not visible to the end user. Ever heard of libraries..? It may even look like it's doing something to someone that doesn't know any better.
Also considering how the "scripting" channel on that Discord server consists only of beginners, I would rather not take their word for anything.
I'm closing this issue because I am never going to add a random dysfunctional addon as a dependency.
from vscripts.
I would argue that forcing developers to conform to the same standard in their own code base (arbitrarily placing the addon's init file in the base vscripts folder) is just as restrictive. And if that agreed upon standard has to change in the future, there is no guarantee that all implementations will support such a change, and then you're back to square one where game/gameinit.lua
is being overwritten by conflicting standards. Having a dependency, on the contrary, is able to evolve over time from one centralized location.
Adding dependencies to workshop submissions is quite easy, and the user is notified upon downloading your addon if they do not already possess said dependencies; it is difficult for a user to mess that process up. I am sorry that our effort to future-proof this sort of standardization is frustrating to you.
from vscripts.
if that agreed upon standard has to change in the future, there is no guarantee that all implementations will support such a change
Having a dependency, on the contrary, is able to evolve over time
Having a "standard" that is auto-updated without the consent or knowledge of the developer itself creates compatibility issues.
There is a reason why libraries and standards versioned. A change (which would never happen in this case because there is no functionality to change) would ruin all that depend on a centralised and auto-updated system. Can you imagine a forced system-breaking change in software/hardware without the developers knowing, while it is in use? All (major) updates should require the developers manually adjusting their work to the changes.
placing the addon's init file in the base vscripts folder) is just as restrictive.
Developers are free to work in any directory under the root. Why would having the base initialiser, which subsequently would run other custom files, in the root directory where the user can see at all times be restrictive? There is no logic to having a "/mods/init/" folder. The root is where no files exist other than their own; so why hide the initialiser under 2 folders? As far as I know such structure and wording does not exist in Source either.
Having a mandatory workshop dependency for all addons is needless clutter and confusion for the end user, and practically free advertisement for you.
I stand by what I said in the guide. The developer should be in full control of everything, the initialiser script should be in the root and not under arbitrary directories, the global initialiser should be created and placed by the developer, not used as a workshop dependancy.
from vscripts.
Related Issues (2)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vscripts.