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
Someone criticized Alex's release plan and got away with it. Of course the answer is just "no, none of this is a problem, except for maybe the gremlins".

>The longer it takes to make a kickstarter the less interested people will be in the game.

I don't think this is necessarily true.

It doesn't matter how many people are interested in the game before the Kickstarter; the only thing that matters is attracting attention to the game during the Kickstarter. When I launch the Kickstarter, I should perform a "media blitz" for the game; doing interviews with websites and YouTubers, releasing videos that show off the long-awaited rival and overall gameplay, and, in general, attracting as much attention to the game as possible. The month that the Kickstarter is active will probably be the busiest month of the game's development, as I get as many eyes as possible on the game.

>If it takes so long to make the demo people will be very hesitant to donate out of fear that the final game will take way longer.

This wouldn't be a reasonable assumption to make.

Every Kickstarter has a video. In my Kickstarter video, I'll drive home several facts:

  1. The reason why I worked on the game for 5 years without launching a Kickstarter is because I understand that a lot of people are very skeptical about crowdfunding campaigns, so I decided to devote half a decade to making the most solid demo possible in order to prove to people that I'm dedicated to building a quality product.

  2. By the time I launch the Kickstarter, the game will be feature-complete, and will only lack rivals. This means that the only remaining work is to add some polish and implement the rivals. The situation is an optimistic one.

  3. Five years were spent on features, and only a couple of months were spent on the first rival. After the Kickstarter, amount of time remaining to finish the game will be 1 year minimum, 2 years maximum.

  4. The reason it took so long is because I was working alone and relying on irregular volunteer help. If I have a dedicated full-time team of professionals, it'll go by much faster.
Considering all these facts, there's absolutely no good reason to assume that the final game will take way longer than it's already taken. I'll make sure this is clear in the Kickstarter video.

>Most developers barley publish anything before the Kickstarter.

It's a little too late to do anything about that. I don't have a time machine to fix this.

>For Yandere simulator, I bunch of effort is being out into the Prototype and people will assume the final product will take a very very long time to make because the prototype took so long.

As I mentioned in my V-slice video, the current build of the game will become the final version. We won't start from scratch.

>So much stuff is being done on the prototype that should be saved until post-Kickstarter.

This is your opinion. I disagree. I believe that the work I'm doing on the game right now is essential to building a demo that will convince people that I'm building a quality game.

>Nothing more to discover. You keep saying in your videos that Osana will pretty much have every feature in the demo. This may hurt your game if you add all the features in before a paid access.

The demo will have all of the core gameplay features, but that doesn't mean you'll get the full game experience from the demo alone. Each rival's week will present different challenges.

>Drama. If you postpone the kickstarter it will A. Cause drama from people complaining about a delayed kickstarter that was scheduled for 2019 and

The worst possible drama that could possibly happen has already happened. Any additional drama is like a single drop of water in an ocean.

> B. There could be new drama that occurs in the time between now and the kickstarter that could hurt the games reputation again and make it harder to release a kickstarter.

Well, if you find a time machine, let me know about it, so I can fix this one.:heart-empty:

For one I hope for the Kickstarter to start so I can see that "media blitz" from Alex as he tries to sell his game on video game related channels with his depressed monotone.


tl;dr DO YOU HAVE A TIME MACHINE? NO? THEN FUCK OFF! THIS WAS ANALOGIES WITH ALEX AS I IGNORE ALL YOUR ADVICE

edit: browsed the reddit and oh my gOD
unknown.png
 
Every Kickstarter has a video. In my Kickstarter video, I'll drive home several facts
Yeah, and they never lie about anything in these videos, that's why Kickstarter (and Alex) has such reputation.
 
I don't think you guys comprehend what kind of code Alex can churn out if left to his own devices.
I downloaded an old build from April 2016 (before the TinyBuild collaboration) and compared it against a recent build, running them through a decompiler to analyze the code.
I did however manually verify some of what the decompiler spat out as compared to the IL assembly of the DLLs, and it seems to have done a good job. Every IF statement you see was written by a human, and deliberate.

Some of the worst classes:
https://pastebin.com/ebdvKui7
https://pastebin.com/uSWiTZ0a

This is what the first class looks like after being rewritten by the TinyBuild developer. The second class was too long to post, and not as interesting.
https://pastebin.com/0BXqEtts

It's slightly different in terms of functionality since there was some feature additions in between builds, but the cleanliness should be apparent.



There's a lot more smaller pieces that are currently still in the game.

lzvooo.PNG


xcaxme.PNG


Yes, you read that right. Three empty IF statements, running every frame on the welcome screen. Probably won't affect performance at all, but it is interesting to see how he treats his code.



On a side note, people might remember the fiasco a couple of years ago when Alex "cockblocked" a mod that was apparently causing bugs. I am extremely interested in finding out what code he wrote to detect the mod and stop the game.
I couldn't find anything skimming over the game's code, so does anyone still have a copy of the mod in question? Doing a google search found multiple similar mods but not the one that was causing the lockout.


The only code I could find that was similar in nature was some really shitty anti-cheat system that played a voice line upon detection and attempted to reload the level, only for the pathfinding system to deadlock and cause the whole game to crash.
I couldn't find any information at all online when googling for it, so it looks like the only time anyone has ever seen it in action was when I intentionally triggered the system to see what would happen.
>this.Continue
Got really confused for a sec cause I thought it was the keyword until I realized that's a variable. Who the fuck names their variable like that? Also, what's Serializable for? It does nothing. There's nothing to serialize here.

EDIT: wait shit I'm wrong there's stuff to serialize BUT ALL THE VARIABLES ARE AT THE BOTTOM WHAT THE FUCK. Older build or not even rookies don't do that shit.
 
I don't think you guys comprehend what kind of code Alex can churn out if left to his own devices.
I downloaded an old build from April 2016 (before the TinyBuild collaboration) and compared it against a recent build, running them through a decompiler to analyze the code.
I did however manually verify some of what the decompiler spat out as compared to the IL assembly of the DLLs, and it seems to have done a good job. Every IF statement you see was written by a human, and deliberate.

Some of the worst classes:
https://pastebin.com/ebdvKui7
https://pastebin.com/uSWiTZ0a

This is what the first class looks like after being rewritten by the TinyBuild developer. The second class was too long to post, and not as interesting.
https://pastebin.com/0BXqEtts

It's slightly different in terms of functionality since there was some feature additions in between builds, but the cleanliness should be apparent.



There's a lot more smaller pieces that are currently still in the game.

lzvooo.PNG


xcaxme.PNG


Yes, you read that right. Three empty IF statements, running every frame on the welcome screen. Probably won't affect performance at all, but it is interesting to see how he treats his code.



On a side note, people might remember the fiasco a couple of years ago when Alex "cockblocked" a mod that was apparently causing bugs. I am extremely interested in finding out what code he wrote to detect the mod and stop the game.
I couldn't find anything skimming over the game's code, so does anyone still have a copy of the mod in question? Doing a google search found multiple similar mods but not the one that was causing the lockout.


The only code I could find that was similar in nature was some really shitty anti-cheat system that played a voice line upon detection and attempted to reload the level, only for the pathfinding system to deadlock and cause the whole game to crash.
I couldn't find any information at all online when googling for it, so it looks like the only time anyone has ever seen it in action was when I intentionally triggered the system to see what would happen.

It irritates me that even after the tinybuild rewrite there’s still no bitsets or enums, and all of those string comparisons.. gross. This is like the difference between first and second semester CS students.

Someone criticized Alex's release plan and got away with it. Of course the answer is just "no, none of this is a problem, except for maybe the gremlins".

>The longer it takes to make a kickstarter the less interested people will be in the game.

I don't think this is necessarily true.

It doesn't matter how many people are interested in the game before the Kickstarter; the only thing that matters is attracting attention to the game during the Kickstarter. When I launch the Kickstarter, I should perform a "media blitz" for the game; doing interviews with websites and YouTubers, releasing videos that show off the long-awaited rival and overall gameplay, and, in general, attracting as much attention to the game as possible. The month that the Kickstarter is active will probably be the busiest month of the game's development, as I get as many eyes as possible on the game.

>If it takes so long to make the demo people will be very hesitant to donate out of fear that the final game will take way longer.

This wouldn't be a reasonable assumption to make.

Every Kickstarter has a video. In my Kickstarter video, I'll drive home several facts:

  1. The reason why I worked on the game for 5 years without launching a Kickstarter is because I understand that a lot of people are very skeptical about crowdfunding campaigns, so I decided to devote half a decade to making the most solid demo possible in order to prove to people that I'm dedicated to building a quality product.

  2. By the time I launch the Kickstarter, the game will be feature-complete, and will only lack rivals. This means that the only remaining work is to add some polish and implement the rivals. The situation is an optimistic one.

  3. Five years were spent on features, and only a couple of months were spent on the first rival. After the Kickstarter, amount of time remaining to finish the game will be 1 year minimum, 2 years maximum.

  4. The reason it took so long is because I was working alone and relying on irregular volunteer help. If I have a dedicated full-time team of professionals, it'll go by much faster.
Considering all these facts, there's absolutely no good reason to assume that the final game will take way longer than it's already taken. I'll make sure this is clear in the Kickstarter video.

>Most developers barley publish anything before the Kickstarter.

It's a little too late to do anything about that. I don't have a time machine to fix this.

>For Yandere simulator, I bunch of effort is being out into the Prototype and people will assume the final product will take a very very long time to make because the prototype took so long.

As I mentioned in my V-slice video, the current build of the game will become the final version. We won't start from scratch.

>So much stuff is being done on the prototype that should be saved until post-Kickstarter.

This is your opinion. I disagree. I believe that the work I'm doing on the game right now is essential to building a demo that will convince people that I'm building a quality game.

>Nothing more to discover. You keep saying in your videos that Osana will pretty much have every feature in the demo. This may hurt your game if you add all the features in before a paid access.

The demo will have all of the core gameplay features, but that doesn't mean you'll get the full game experience from the demo alone. Each rival's week will present different challenges.

>Drama. If you postpone the kickstarter it will A. Cause drama from people complaining about a delayed kickstarter that was scheduled for 2019 and

The worst possible drama that could possibly happen has already happened. Any additional drama is like a single drop of water in an ocean.

> B. There could be new drama that occurs in the time between now and the kickstarter that could hurt the games reputation again and make it harder to release a kickstarter.

Well, if you find a time machine, let me know about it, so I can fix this one.:heart-empty:

For one I hope for the Kickstarter to start so I can see that "media blitz" from Alex as he tries to sell his game on video game related channels with his depressed monotone.

(sorry for the long nonspecific quotes, mobile safari has major issues with selection in the kf text editor)

Didn’t he say explicitly that his v-slice was going to be rewritten as a reaction to gremlin code criticism, completely against what he’s saying here?

Also shoutout to his audio clip code creating new objects literally every time any sound is played. Not recycling your objects is one of the biggest performance killers. That’s probably creating 1-2ms lag every time any sound plays.

He also doesn’t seem to realize one of the things that’ll get people to pay into a kickstarter is being able to give them something cool immediately when they pledge that they can’t get otherwise. I’d suggest functional Osana if he hadn’t been teasing her for literal years. Throwing her build behind a kickstarter reward would make a lot of people angry, especially his Patreon patrons.
 

Oh yeah guys, he's totally a good programmer! He can even declare an array to make an inventory system!

Btw, that's seriously a LOT of spaghetti and...

fix-that-spaghetti-im-gonna-35381196.png


I don't know if he uses the this.Something stuff anywhere else in the code, so I'll assume he does and keep them (still, one should try to keep the calling chains as short as possible, if you need to use the same thing more than once every time you run a function, you should use a support variable)

this.Text = (this.DebugNumber == -1) ? File.ReadAllText(Application.streamingAssetPath + "/fun.txt" : string.Empty + this.DebugNumber;
if(this.Text == "69") {
this.Label.text = "Lennyface ";
this.ID = 8;
} else if(this.Text == "666") {
this.Label.text = "Somethimes, I lie. It's just too fun. You eat up everything I say. For example when I say I'm a good programmer";
this.Girl.color = new Color(1f, 0f, 0f, 0f);
} else {
this.ID = Int32.Parse(this.Text);
}

Yeah, that's some pretty poorly written code, when you have to repeat similar lines of code over and over again with close to no change, there's very likelly a better way to write it, I know he's self-taught (I am too) but it's like one of the first things you learn, you have to avoid redundancy, and the less code you have, the easier it is to fix if it breaks.

And my example is still really bad, I wrote it in something like 2 minutes, but a huge step forward compared to alex's
 
Also, what's Serializable for? It does nothing.

Unity serializes pretty much everything on compilation, and then deserializes them on runtime from the asset files. Like say for instance you attach a behaviour to a particular model in a level, it isn't created and/or stored in code. Unity serializes it to the asset files and then loads it into the game when the level is loaded, bypassing all game code.

Why they chose to implement instancing like this I don't know, but I have heard rumors that it's because Unity wants to vendor lock game development companies and make it really hard for them to move to a different engine once they start development.

The [Serializable] attribute is a purely cosmetic thing, in the normal .NET/C# framework it's to indicate what classes can be serialized to XML or binary, in Unity/Mono I'm not too sure but I'd assume the same thing.

EDIT: wait shit I'm wrong there's stuff to serialize BUT ALL THE VARIABLES ARE AT THE BOTTOM WHAT THE FUCK. Older build or not even rookies don't do that shit.

That's the ordering of the decompiler, not Alex. I'm not sure if the order of declarations is preserved but the decompiler reorders them regardless
 
Unity serializes pretty much everything on compilation, and then deserializes them on runtime from the asset files. Like say for instance you attach a behaviour to a particular model in a level, it isn't created and/or stored in code. Unity serializes it to the asset files and then loads it into the game when the level is loaded, bypassing all game code.

Why they chose to implement instancing like this I don't know, but I have heard rumors that it's because Unity wants to vendor lock game development companies and make it really hard for them to move to a different engine once they start development.

The [Serializable] attribute is a purely cosmetic thing, in the normal .NET/C# framework it's to indicate what classes can be serialized to XML or binary, in Unity/Mono I'm not too sure but I'd assume the same thing.



That's the ordering of the decompiler, not Alex. I'm not sure if the order of declarations is preserved but the decompiler reorders them regardless
No I meant I overlooked all the variables at the bottom because you usually (never) put them there so I didn't realize what you'd need to serialize.

Let that be a good reminder to not put too much faith in decompilers.
 
  • Like
Reactions: bigboy420
Why they chose to implement instancing like this I don't know, but I have heard rumors that it's because Unity wants to vendor lock game development companies and make it really hard for them to move to a different engine once they start development.

It's pretty standard model-view separation with a helping of the standard unity jank, but a nice thing about it is that you can switch the serialization over to text and it'll serialize everything in an easily parsable human-readable form so you can do things like batch regex to replace references and properly merge in Git. There are some cool compilers on github that'll exploit this to create unity prefabs for you from HTML or windows forms layouts.

I missed that Serializable tag on the behavior, too - It's the same as standard .net, but you only need that on structures that aren't public (aka: not here) but here he is throwing it in in because it's the magic word that appeases the compiler gods and makes serialization work.
 
It also appears that he has about 200 variables reserved in the main Yandere-chan class for easter eggs. For comparison, there's 500 variables total in that class.
I have no idea how to screenshot all that


You also probably don't want to know how he implements states
suddxi.PNG

Holy fuck, as a professional software engineer, this is a horrifying sight.
Where did this moron learn how to code? The "bad programmer wiki"?
 
Holy fuck, as a professional software engineer, this is a horrifying sight.
Where did this moron learn how to code? The "bad programmer wiki"?

Javascript tutorials. Unity supported it as a C# alternative up until a year or two ago, then he just ran all of it through a JS->C# converter.

It also appears that he has about 200 variables reserved in the main Yandere-chan class for easter eggs. For comparison, there's 500 variables total in that class.
I have no idea how to screenshot all that

Since you've got the decompiler handy and we seem to have some people around who haven't seen it, can you throw StudentScript.cs onto pastebin? It's like a microcosm of every bad programming practice wrapped into a handful of very, very long else-if chains.

(and/or just screenshot THAT conditional. you'll know it when you see it)
 
Last edited:
So, I was talking with someone about Yandev, and they basically had eaten up all his little lies about how people “just give him shit” and don’t actually offer real criticism. They also said people shouldn’t be so demanding of him. They stonewalled any attempt I made to tell them the facts of the case. His coasting, broken promises, and how the majority of critism levied at him is actually deserved. Apparently this person had no interest in the game but was completely brainwashed by Yandev anyway. Makes me laugh to think people are this gullible. Just thought it’d be interesting to note. How do you guys think this happens? Lack of context? Over empathetic people?
 
Since you've got the decompiler handy and we seem to have some people around who haven't seen it, can you throw StudentScript.cs onto pastebin? It's like a microcosm of every bad programming practice wrapped into a handful of very, very long else-if chains.

(and/or just screenshot THAT conditional. you'll know it when you see it)

Here you go friend, I've also included YandereScript.cs due to the sheer amount of real estate taken up for easter eggs, even though they're literally just switching textures and models and nothing else.

https://pastebin.com/TyrpBZd0
https://pastebin.com/DmXGfDTb

I wasn't sure which conditional you were talking about, but I did find this. I perfectly understand that he would have it formatted much better in his actual source code, but cramming that many checks into a single if statement is just obscene. Move it into a separate method my man, it should not take up so much space in the main logic function.
ytfssu.PNG
 
Apparently he's been deleting comments again.
Don't get why would Alex even want to remove these comments when they're not even attacking him. The harshest one for me is "see you in 2025, hoping it will be finished by then" and this says a lot. Recap from his debunk page:

People feel justified in treating me like garbage because they have been exposed to "Anti-YandereDev" culture; a culture that teaches people to believe that I am an evil villain who deserves to be punished and abused. This culture is created by nasty comments on the Internet that depict me as a monster.

Nasty comments lead to a culture of hate, which leads to real-life consequences like constant harassment and abuse. The only way to stop the problem is to eliminate the source of the "Anti-YandereDev" culture; comments that mischaracterize me, demonize me, and portray me as something I'm not.

And this is what Alex thinks how comments like these are treating him as a monster?
 
It irritates me that even after the tinybuild rewrite there’s still no bitsets or enums, and all of those string comparisons.. gross. This is like the difference between first and second semester CS students.



(sorry for the long nonspecific quotes, mobile safari has major issues with selection in the kf text editor)

Didn’t he say explicitly that his v-slice was going to be rewritten as a reaction to gremlin code criticism, completely against what he’s saying here?

Also shoutout to his audio clip code creating new objects literally every time any sound is played. Not recycling your objects is one of the biggest performance killers. That’s probably creating 1-2ms lag every time any sound plays.

He also doesn’t seem to realize one of the things that’ll get people to pay into a kickstarter is being able to give them something cool immediately when they pledge that they can’t get otherwise. I’d suggest functional Osana if he hadn’t been teasing her for literal years. Throwing her build behind a kickstarter reward would make a lot of people angry, especially his Patreon patrons.
To clarify about tinybuild, I am fairly certain it was just a conversion, not an optimization pass. You can run an automatic conversion but this usually results in many, many bugs.

When the tiny build programmer tried doing anything, he was met with hostility from Alex. This was probably the attempted optimization pass that would require a lot of rewrite that Alex might not understand.
 
It makes sense why one of Alex's usernames was "EvaXephon". Obviously, it is a combination of Evangelion and RahXephon, two animes that are a part of the mecha genre. A big trope in the mecha genre is that the protagonist runs away/denies their responsibilities because they don't wanna do it and because it's so stressful!!! This parallels his unwillingness to face his responsibilities to actually make a competent game. He continues to ignore the calls to implement Osana. The calls to actually make a functional game, no matter how simple, and then MAYBE work on expanding. The only difference is that the protagonist in mecha anime eventually steps up and tackles his responsibilities, but who knows. With Yandere Sim in infinite limbo, Alex has infinite time to step up.
 
Back