Yandere simulator исходный код

Обновлено: 04.07.2024


"Yandere Simulator is a picture perfect example of what happens when technical debt (the cost of additional rework by choosing an easy shortcut now instead of using a better way that takes longer) controls a project."

And there it is.

Report Save

He also went on to say that a framework rework should have happened back in 2016, which was back when the project was still in its infancy, but a lot of the general systems were in place.

Report Save Report Save Report Save

This confirms the hunch that I had all along. It was always a maintainability problem more than it was ever a performance problem. Arguably though, this is just as problematic since the brittle nature of the code makes it difficult to adapt and add functionality without breaking other parts.

The dev once introduced a bug into one of his builds where students could be in two states at once, and I believe it was due to this boolean architecture he is using in the student script (since two of these boolean values are able to be true at the same time).


I know some languages do not support switch statement comparisons for string / literal values, so the only way to go about comparing strings for state machines is to compare them with if. else statements.

Report Save Report Save

There is no need for switch at all. This should be in a dictionary with result being a structure.

Report Save Report Save

So an abstract class type that all witness types inherit. An example concrete witness type would be:

Then the Witnessed property would change from type string to type WitnessedType and the entire if/if else/else block could be boiled down to this:

The next fix would be fixing the Label and GameOverCause property as it currently seems to pass in a key as a string which then gets a proper sentence from a dictionary somewhere. "Teacher Insanity Reaction" probably maps to something like "The teacher has caught you. You have been arrested." that then gets displayed to the player.

Читайте также: