Let me start off by reposting
a statement that I've made in the past:
Never in my life have I claimed to be a master-level programmer or expert-level game developer. I acknowledge that I still have a lot to learn about writing code. I acknowledge that my code has much room for improvement. I acknowledge that I do not follow the best practices. I am just a man who is trying to do the best job he can do, with the knowledge that he currently possesses.
However, if you want to improve at something, the only way to do so is to keep practicing. I won't get better at programming if I stop programming. The only thing I can do is keep writing code. I'm going to keep writing code, keep analyzing my code and looking for improvements, keep re-factoring code that was poorly written, and keep trying to get into better habits.
If you think I am improving at a very slow rate, you can always help by sending me advice or suggestions. In the past, there have been times when a programmer contacted me and gave me advice for how to improve the game's code, then I took his advice, and then the framerate went up. I love it when this happens. Every day, I hope it will happen again.
I've never tried to pretend that my code is perfect or flawless, or that there is nothing that can be improved about the game's code. I've always known that there were areas of the game that needed to be refactored. I can clearly tell that YandereScript and StudentScript are in dire need of being re-written. I feel like I've brought it up myself in the past, even here on Reddit. I've never tried to say otherwise, or lead people to believe otherwise on any website that I've ever posted on.
However, before I continue, let me just say one thing really quick: I don't think it's fair to say that my code is "bad".
If my code was "bad", I never could have gotten as far as I've gotten. I never could have developed a system for making students have unique appearances, unique interests, unique personalities, unique reactions, unique animations. I never could have developed a system where you befriend someone, kidnap them, torture them, bring them to school, and make them kill their friend. I never could have developed a system where you can make two students meet up, speak with one another, judge one another based on shared interests, fall in love, and become a couple on subsequent days.
You people, from "that" website...whenever you discuss my code, You discuss the two most problematic scripts. You ignore the hundreds of scripts that function perfectly fine. You ignore the fact that the game has dozens of properly-functioning features. You ignore the fact that not EVERY script has the same mistakes as the two most problematic scripts.
It's a completely biased way of looking at me and my code. It's not a fair way to judge someone. It's a completely inaccurate way to characterize a person or his code.
I think it would be fair to say that I am an "okay" programmer. My stuff works. I have made many accomplishments. Yes, I room for improvement. Yes, I need to drop some bad habits. Yes, I need to continue practicing and developing my skills. But, this "YandereDev is a shitty programmer!" meme is kind of stupid.
>"YandereDev doesn't listen to advice!"**
This statement is not true. There have been times when a programmer contacted me, gave me advice, I took his advice, and the framerate improved. I wish that this would happen more often.
I acknowledge that there are many problems I will never be able to solve myself, and I have sought help from programmers before. However, when someone approaches me with a horribly condescending attitude and speaks almost exlusively with insults, I will rarely listen to what they have to say.
"YandereDev tries to avoid fixing problems by saying that the problems are out of his control!"
I have a feeling of powerlessness and helplessness when trying to improve the game's framerate, because I feel like the low framerate is due to the fact that there are some things I have absolutely no control over. I desperately wish that this was not true; I don't want to belive "Nope, there's nothing I can do about it, it'll be shitty forever." I want to receive help. However, you need to remember that if you're an asshole to someone, you will only push them away. You can't treat someone like shit, and then, when they refuse to listen to you, say "YOU DON'T LISTEN TO PEOPLE'S ADVICE!" It really doesn't work that way.
"YandereDev's choice to use JavaScript instead of C# is proof of his bad judgement!"
I've stated dozens of times that I regret choosing to code the game in C# rather than in JavaScript. When I chose to write the game in JavaScript, I was unaware of all of the ways that C# would have been a superior choice. You can't say it was a "poor decision" if I made the decision without knowing all of the information that would have been required in order to make the right decision.
"Occlusion culling is disabled!"
In early 2015, some people with Intel graphics cards were complaining that they couldn't run the game. I released a build with occlusion culling disabled, and the Intel users were able to run the game. This made me think that perhaps Intel graphics cards could not handle Unity's particular type of occlusion culling. For a short period of time, I released two builds side-by-side; the regular version, and the "Intel version". The Intel version would have occlusion culling disabled. Eventually, I learned that occlusion culling was NOT the culprit of the problem, and so I ceased to release builds with occlusion culling disabled.
"The real source of the problem is StudentScript!"
Any person can clearly see from viewing this screenshot what the causes of the low framerate are:
http://i.imgur.com/BnvFlag.png
- It takes 20.53 milliseconds to render the scene.
- It takes 14.82 milliseconds to update the animations.
- It takes 10.55 milliseconds to handle pathforming tasks.
- It takes 9.59 milliseconds to simulate physics.
- It takes 5.92 milliseconds to update the GUI.
- It takes a mere 1.94 milliseconds to update all 40 characters, and it takes a mere 1.03 milliseconds to handle Yandere-chan's script.
StudentScript and YandereScript are clearly not the culprits. This is clear and obvious. This is crystal-clear information.
"The framerate is low because YandereDev is using GameObject.Find!"
I am only running "GameObject.Find" on one frame, at the start of the game (or when an object spawns). It is not something that runs on every frame.
"YandereDev isn't telling us how the Patreon money is being used!"
I already made a post explaining how I handle it:
https://www.patreon.com/posts/transparency-6085972
Almost all of the "facts" in your post are grossly inaccurate and will only lead to misunderstandings and confusion.