Cultcow EvaXephon / Yanderedev / Alex Mahan / Alexander Stuart Mahan / cannotgoogleme - Edgy weeaboo coomer with pedo tendencies and 15+ years internet history as a lolcow, now known as a disaster developer behind eternal debug build called "Yandere Simulator", confirmed groomer and dollfucker

The end of EvaXephon?


  • Total voters
    2,418
There's only one good thing about that awful fucking Midori Gurin song, and it's this unintentionally accurate lyric:
557bb3a79c486e99e7ff1d79b85909a6.png
 
I never could have developed a system for making students have unique appearances, unique interests, unique personalities...
Oh really, Eva? Let's take a look at the Yandere Simulator Wiki again for a moment.

Image1.png
Image2.png
Image3.png

Image5.png
Image4.png
Image6.png


Yup, I can just feel the originality oozing off these characters. Every single one of them is a beautiful and unique snowflake the like of which gaming has never seen before and there is absolutely no way you could have pulled a coup like this off if your code was in any way sloppy or underperforming.
 
Okay so lets break this down:
However, if you want to improve at something, the only way to do so is to keep practicing.
This is supposed to be a commercial game, not a hobby so you can practice on how to 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
Or you could just hire a competent programmer?
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.
As above, you could just hire a competent programmer.
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".
Thats right, just invalidate everything you've just said....
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.
Now let me see, why is everyone focusing on those two scripts? .... It's because it's those two scripts are the major cause for all the problems...
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.
Well if you'd stop being a lazy cunt and actually fix your code, instead of trying to put band-aids all over it, people wouldn't characterise you as a lazy cunt.
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.
Either A: Become a better programmer (doubtful that'll happen.) or B: Get over yourself, and as above, HIRE A COMPETENT PROGRAMMER...
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.
Well the fact is, since you are the project manager / lead programmer, it actually was a poor decision. You should have been planning things and researching the pros and cons of the two different coding methods before you even started, again this is 100% your fault.
...
Honestly, you'd be in a lot better position if you simply just hired a competent programmer, and you just did all the project management stuff. Because where is all that Pateron slush fund going? $3500 is going to you per month? You even admit you are a rookie programmer, and this is supposed to be a commercial game, so why do you deserve $3500 a month, just so you can screw around making faulty code? Maybe you should take a $2000 dip for a few months, to hire someone who is competent and who can rewrite your game from scratch, and then maintain the code over time. Or even better make it simple and modular enough for you so you can just add students in yourself at anytime without you breaking anything....

tl;dr

YandereDev should just pull his head out of his ass, Should step back from programming, hire someone who is competent, and should stay in a purely project management role.
 
If you're wondering, he did share some of his ideas about the Kickstarter rewards. Totally feasible.
View attachment 145170
But my favourite part is:
View attachment 145171
Aren't some of those similar to Undertale's backer rewards? I know that the guy who paid for his OC to the game ended up being some furry vorephile that the dev pretty much hid in the game cause of how much he hated it
 
  • Disagree
  • Dislike
Reactions: Floof and Witlich
Can you provide a few script names as examples.
I don't have any specific scripts I was talking about, it was moreso conjecture. As in, why does my shitty computer perform equally to top-of-the-line gaming PCs...?

In regards to that long-ass post of his on reddit, here's a long-ass response of my own:
YandereDev said:
...
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.
...
From an non-programmer perspective, this logic makes a lot of sense (at first). You look at Yandere Simulator initially and think, "Look at all of the features this game has! You can kill in so many different ways, and there are various stealth elements, and so many different students with different behavior! This game works really well, and has so much stuff already, I don't get why some jerks complain so much."

Unfortunately, it's not that simple. I can recall an example from many years ago, long before I became a programmer. I was reading about the development of Halo 2, and the developers were complaining about nonsensical bugs popping up as the code became more complex. It was something insane like "We couldn't add a capture the flag gametype, because then enemies in singleplayer fell through the ground!" (I couldn't remember the actual problem they cited, so I made up an ostensibly false quote, but you get the idea.)

It made no sense to me at the time--how could adding something to one part of the game completely break something somewhere else?

Knowing what I do now, I can safely say it's because some of their code was probably dogshit. They probably had a few Evas of their own on the team, who were lazy and took the easy route when trying to meet a deadline. These guys wrote code that worked acceptably on the surface, but underneath was a terrifying nightmare Rube Goldberg machine.

Eva's code gives acceptable results, but is exceptionally prone to bugs and not manageable whatsoever. Even the smallest tweaks, like cleaning up the way subtitles work, require editing hundreds of lines of code. One of the absolute worst things is how each student has around 400 different variables. Unity has completely ruined him--he passes scripts, audio clips, accessories, animations, etc. to his objects through the editor rather than instantiate them programmatically, so it's hard to tell which of those variables are actually set to instances, and when they're ever set in the first place. He has to spend tons of time fixing ridiculous bugs, when a halfway-decent programmer would have never even faced those bugs in the first place.

In other words, just because code works doesn't mean it works well.

YandereDev said:
...
"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.
...
As far as I can tell, he's right about this. The bad framerate doesn't have much to do with his bad coding style, and out of the 120 times GameObject.Find() is used, only a single occurrence of GameObject.Find() happened in an Update() method. Even though StudentScript technically works and isn't the cause of the slowdown, it's utterly incomprehensible and impossible to work with, and certainly nothing to be proud of.

If I had to guess, the real problem that's causing the framerate to suck is the sheer scale of the data he's working with. There are over TWENTY-THOUSAND objects in the scene, and a decent chunk of them are performing unnecessary rendering and physics operations. No matter where you are on the map, the scissors' 10,000+ vertices are being rendered, and its collision model is being checked against the environment. That's a lot of work for just a single object to do, and there are hundreds of objects like this in the scene!

Warning: A lot of (:autism:) speculation.
In addition, for each character, there are somewhere around 150 (?) different animations that each character supports, and judging from how the code is set up, these animations can be layered.
All of the animations are somehow blended or summed up to find the "total". For example, your character can run or walk while carrying something, or walk while in the "dripping" pose, and animations can seamlessly fade between each other. I'm not an expert at how animations are saved in Unity, but I'd have to guess they use 4x4 transformation matrices for scale, rotation, and translation? The scale of computations here is something like:

(around 150? animations)*(around 50? bones)*(around 15? characters) > 100,000 matrices to deal with

Matrix math is very expensive, so Unity is probably smart enough to only sum up the animations that are currently enabled, which would cut down the work by around two orders of magnitude. I can't tell because of how illegible the code is, but it looks like Eva turns off the animations by setting their weight to 0. There's a decent chance that Unity is still summing these, because they aren't properly disabled.

YandereDev said:
...
>
"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.
...
At the risk of :autism: and :powerlevel:, I'm going to admit to some cringe-level weenery that took place a while back.

A while ago, when I was still a blind fan, I offered to help him with his code. (In order to limit the :powerlevel:I'll keep it vague.) I was excited when he actually responded, but he gave me a ludicrous number of steps in order to prove myself. Like the idiot I am, I jumped through all of his hoops, up to the point where he actually seemed to finally respect my opinions. I laid out my fixes for him in the simplest way possible, because it seemed like he thought complex instructions would be a waste of time. Despite my fix solving a major problem he's still complaining about to this day, he's never actually used what I gave him, even though it'd probably only take ten minutes to do.
 
Let's take a look at how a simple student file could be made. We'll use Kokona as an example.

Student File Structure:
=
Student ID- 1 byte
First Name- 8 bytes
Last Name- 8 bytes
Student Class- 1 byte
Student Club- 1 byte
Student Persona- 1 byte
Student Strength- 1 byte
=

1. Kokona's ID will be "1". This is so Ayano can also have a student ID, "0".
2. Kokona's first name will be encoded as "Kokona__", with underscores as filler.
3. Her last name will be encoded as "Haruka__", with filler as well.
4. Each class should have an ID. We'll use "8" as an example.
5. Each club should also have an ID. We'll use "12" to represent the Cooking Club.
6. Her persona, Social Butterfly, will be represented as "2".
7. Her strength, being nonexistent, becomes "0".


Now, we can make a "KokonaHaruka.bin":
StudentID .db 1
StudentFirst .db "Kokona__"
StudentLast .db "Haruka__"
StudentClassID .db 8
StudentClubID .db 12
StudentPersona .db 2
StudentStrength .db 0


 
$20,000 All of the above, plus dinner date with yanderedev, plus framed picture with his 'unique' face :lol:

The sad part is that a lot of fans would pay for that and MORE just to spend sometime with Devpai!

He ever offers that, Mulberry's going to be the one to contribute that much.
 
yanderedev said:
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.
"Your car might be missing one of its tires and the exhaust pipe fell off but it's got the engine so obviously I'm not that bad of a mechanic"
yanderedev said:
this "YandereDev is a shitty programmer!" meme is kind of stupid.
Alex has no idea what memes are
 
I'm glad you posted those pics, that proves that any casual player can download the game and experience the horror. It might not look so bad for a debug build but remeber that it was always buggy like this. What i love tho, is when Alex tries to defend himself but instead looks even worse.

From one of his reddit posts:

Ugh...this was why I was worried about cutting out that huge segment of the video that spoke in-depth about what is hurting the framerate. I knew that people were going to assume it was all because of "bad code".

These are the primary culprits that are hurting the framerate:

  1. Rendering the scene (Millions of polygons, thousands of draw calls)
  2. Simultaneously animating dozens of characters with a high number of bones in their bodies
  3. Performing pathfinding calculations for over 40 different characters
  4. Calculating physics simulations for dozens of different objects all around the map
  5. The game's GUI taking a long time to render
The obvious solution to the animation problem is to tell a character to stop animating if they are a significant distance away from the camera. I haven't implemented this solution yet.

There is no obvious solution to the pathfinding problem. I am already using the most efficient plugin available from the Unity store. I have even asked the creator of the plugin for help, to get the pathfinding scripts to stop taking up so many milliseconds on every frame. Nothing helped.

The obvious solution to the physics problem is to write code that tells physics objects when they should stop performing calculations and should sit perfectly still. I haven't implemented this solution yet.

The game's GUI is taking so long to render because I'm using an extremely slow and inefficient plug-in. However, replacing it at this point would take around a month's worth of time, and I'd rather not go an entire month with no apparent activity or progress.

"Bad code" isn't hurting the framerate. I did give an EXTREMELY over-simplified explanation in the video just because I wanted it to be able to be understood by anyone (even children, since I know that a lot of kids play this game) but you can't just say "Oh, this is all the fault of YandereDev's bad bad code!" when the issue is much more complicated than that.

Alex says: "However, replacing it at this point would take around a month's worth of time, and I'd rather not go an entire month with no apparent activity or progress."

How can he say that? It doesn't matter how much time it takes, if it's necessary and he knows how to fix then he should be working on it now right, not complain that it would take too much time right? What he is really trying to say is "Please don't make work on this or else i won't give you an update for a month!" but instead it makes him look like such a bad programmer that he needs AN ENTIRE MONTH to fix this single issue.

:story:
 
Alex says: "However, replacing it at this point would take around a month's worth of time, and I'd rather not go an entire month with no apparent activity or progress."

"Replacing something in an effort to fix an issue isn't apparent progress." - Alex Mahan, 2016

Just because it's not a huge update doesn't mean it's not progress, pal.
 
Back