Advertisement
CorneliusDev

YandereDev's code explanation

Jul 6th, 2020
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.69 KB | None | 0 0
  1. /////////////////////////
  2. ///// SHORT VERSION /////
  3. /////////////////////////
  4.  
  5. Anyone who has performed a technical analysis of Yandere Simulator's current code has wasted their time.
  6.  
  7. The current code was never intended to be in the final retail version of the game.
  8.  
  9. The current code was written so I could provide a playable demo that lets people get an idea of what the final game is supposed to be like. The code was written very quickly so that I could upload videos to YouTube on a regular basis.
  10.  
  11. I explained all of this thoroughly in a video from 2018, and everyone seems to have forgotten about it:
  12.  
  13. https://www.youtube.com/watch?v=8vT-97qiaNQ
  14.  
  15. My goal, since the beginning, has always been to hold a crowdfunding campaign and hire a programmer to replace me. I've been saying this for years.
  16.  
  17. (In the event that Yandere Simulator's current code is used as a base for the final game, all of the current code would, obviously, be refactored and optimized first.)
  18.  
  19. ////////////////////////
  20. ///// LONG VERSION /////
  21. ////////////////////////
  22.  
  23. Around 2015, when Yandere Simulator got popular on YouTube, I felt a lot of pressure to upload content as frequently as possible.
  24. I committed to a "new video every 2 weeks" upload schedule, which required me to hastily slap features into the game as fast as possible.
  25. As a result, Yandere Sim was developed almost exclusively in "crunch time" from 2015 to 2017. During this phase of the game's development,
  26. I wasn't focusing on optimization or long-term maintainability whatsoever; I was thinking exclusively about putting cool new features into the game as quickly as possible, in order to maintain a steady upload schedule.
  27.  
  28. My plan, which has remained unchanged since the beginning of the game's development, was to produce a cool demo, hold a crowdfunding campaign,
  29. and use the money to hire a professional software engineer to completely replace me as Yandere Sim's lead programmer.
  30. I never intended for my code to be the game's final code; just the placeholder code that would be good enough to produce a playable demo that shows off most of the game's intended functionality.
  31. I explained this thoroughly in a November 2018 video titled "What's Going On With Yandere Simulator's Development?" (However, it seems that most people have forgotten or disregarded this video.)
  32.  
  33. To be honest, there is no point in analyzing code that was written under the circumstances described above.
  34. The code was never meant to be final, just functional, in order to allow people to experience a playable demo before putting any money into a crowdfunding campaign.
  35. Reviewing the code in its current state is about as meaningful as reviewing the earliest rough draft of a novel, instead of reviewing the final published work.
  36.  
  37. I'm fully aware of which scripts are sub-optimal, and I know exactly what would need to be done in order to improve them...but refactoring dozens of scripts would significantly delay the game's development,
  38. which is a sacrifice I'm not willing to make at this point in time, when I'm less than 2 months away from releasing Osana. I intend to stick with the original plan: release Osana, hold a crowdfunding campaign,
  39. hire a programmer to replace me, and *then* go through a refactoring phase.
  40.  
  41. There are a lot of myths about Yandere Simulator's code.
  42. Most people seem to be unaware that a function which only runs for one frame cannot possibly harm a game's performance.
  43. The times when I use expensive operations (string comparisons, GetComponent, long if-else chains) are almost exclusively only in functions that run for one frame and never run again.
  44.  
  45. The Unity profiler tells me that the CPU is spending an exceptionally long time on rendering, physics, pathfinding, and updating the UI.
  46. Even the game's most inefficient, sub-optimal scripts are barely putting a dent in the FPS; the other factors are far more important.
  47. In January, my average framerate was 30 FPS, but in May, my average framerate jumped up to 55 FPS.
  48. This was not achieved by converting if-else statements to switch statements, but by optimizing occlusion culling and removing unnecessary physics operations.
  49.  
  50. In the end, I severely regret my decision to commit to a "new video every 2 weeks" update schedule.
  51. In order to implement major features on a tight deadline back-to-back for multiple years, I had to make numerous personal sacrifices.
  52. Remaining in constant crunch time for a period of two years put me into a state of severe burnout, and had a tremendous impact on my physical and mental health.
  53. Because I have remained fully committed to Yandere Simulator for 6 years straight, I have never truly had an opportunity to recover from that burnout, and remain in that state to this day.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement