recently I wanted to make a FPS game, and so I began looking for tutorials on how, because I have never made one and I wanted to know how they worked. I found a few good videos/posts, and as I looked at them I saw most of them used a spring module (don’t have link, sorry!) to do recoil. A lot of them also used asset packs for the guns, and I have little blender knowledge, so I plan on using these until I learn enough blender to make my own weapons. my question is if I am going to publish a game made with these assets/modules and claim it as my own (I will make everything but the module and gun models) should I give credit? is it frowned upon to even use these in a published game? I just feel kind of wrong because I am used to making everything from scratch, even though I could make my own spring system and gun models, it would take a lot longer and I don’t even know how the spring module works at the moment.
also, apologies if this is the wrong category, IDK if this fits into game design or not.
based on the reply’s, I think I’m going to make a different game that will use lots of blender that way I can make my own models. I am also going to look through the code in the spring module, and make my own specially made for my game. thanks for the replies everyone, they where very helpful!
Depends. Using resources is completely fine. However, you should use resources that other devs are fine with you using. For example, anything in #resources:community-resources is fine because devs put stuff there for the community. Using something you ripped from another game with an asset ripper is not ok because you’re doing it without permission from the developer that made it. If you’re abiding by licenses with free stuff, you’re fine, but if you’re using things from other devs that they didn’t give you permission to use then that’s when it becomes a problem.
The builders here will tell you it’s frowned upon because it is - for building.
If you are talking about scripting it’s the opposite, it’s frowned upon to write your spring module when one already exists. People will say “don’t reinvent the wheel”. Plus it’s just a waste of time to spend 10s of hours developing a datastore system when ProfileService is robust enough for almost any project you can throw at it.
Most scripters will encourage the use of OSS (open-source software) it can save a lot of time and reduce/eliminate many edge cases that other people already dealt with.
I’ve got to disagree entirely with this. You cannot talk about custom builds and not custom scripts. I find this very offensive as a programmer.
You claim to not “reinvent the wheel,” but have you thought of how people have remade the wheel to work faster, more efficient, last longer, I could go on for a long time. Applying this to scripts, referring to datastore2, instead of just using this resource telling themselves it’s as good as it will get people have decided to learn from it to optimize their own scripts. This has given us even more resources like profile service that you have mentioned. Another thing I’m very confused about, how does this quote only apply to scripting? Why model another tree when it has been modeled millions of times before? Simply for experience, organization, and to give every player a unique experience, not a copy and pasted experience.
Enough of that now, back to the question being asked, I believe that if you have the skill, time, and resources to create something you must not be lazy but create your own custom and optimized script for your game. I currently have a game called throwing simulator, this game has everything custom except the models, this is only because of my inability to download blender with my 9 year old computer. Please don’t take the easy way as it won’t get you anywhere.
Programming is about problem solving not about creating a masterpiece. Go to any software job you will see the employer wants to know if you can solve the problem, not if you can create a Van Gogh.
This is the whole reason open source communities exist. Which btw I don’t think you understand how open source software works. You are never “locked” to a specific piece of code. Code can always be changed, optimized, and rewritten as your needs change.
Building on the other hand I assume is about making a masterpiece. I don’t really know I am not a builder.
This isn’t actually the case as far as programming. Roblox, for example, uses someone else’s algorithm for their sin function (math.sin). DataStore2 is another great example. Huge games use DataStore2. Why? Because it’s better. The spring module is basically just a well designed math equation wrapped in an object. There is no reason not to use it. No knowledgeable programmer would look down on that.
Edit:
Why though? Obviously don’t use a subpar creation of someone else’s, but if someone else can do it better, like DataStore2, why not? Just because you have the time and skill to create something doesn’t mean you should. Large modules are maintained by multiple people and are much more reliable than anything a single person could make because of the number of users and backing. As a rule of thumb, if someone can do it better, why not utilize that?