Video: What’s Going On With Yandere Simulator’s Development?
If you're familiar with video games, you've probably heard terms like "prototype," "alpha," and "beta" to describe the stages of a game's development. However, there's another term that you might be unfamiliar with. It's called "V-slice"—short for "vertical slice." I'll explain what that means. Imagine that you want to bake a cake, but baking a cake costs hundreds of thousands of dollars. So, in order to bake that cake, you're going to need to get funding from investors. But nobody wants to invest that much money in a project unless they know exactly what the final product is going to be like.
One idea is to present the investors with a plastic replica of what a slice of the final cake will look like. Every layer of the cake, from the filling to the frosting, will be represented in this vertical slice of the final cake. Obviously, the cake is a metaphor for a video game. If you want to ask a bunch of investors to give you enough money to make a game, it helps to present a V-slice of the game you want to make. A V-slice of a video game is designed to make you feel like you're playing a fully functional piece of the finished product. For example, to create a V-slice for a Pokémon game, you would build one town and one route and design them to allow the player to experience all of the game's features. This would not be the same thing as a prototype. A prototype is something you build in order to discover if an idea is fun or feasible before you actually pursue it seriously. A prototype might be composed entirely of white cubes, but a V-slice would look roughly similar to the appearance of the final product.
A V-slice is also much different from a demo. A demo is when you completely finish developing a game, then chop out a piece of it and let people play it so they can see if they like it. A V-slice is primarily a tool for communicating to investors what kind of product you're planning to make. The models and textures can be placeholders and the code can be sloppy. After the developer has secured the funding they need to make the project, they can toss out the V-slice and start over from scratch with original art assets and cleaner code or they can clean up the V-slice and use it as the starting point for their game. By now, you've probably realized why I'm explaining the concept of a V-slice. I've recently realized that "V-slice" is the best way to describe what I've been building this entire time. Since the beginning of Yandere Simulator's development, I've always said that my plan is to hold a crowdfunding campaign to raise enough money to hire a team of professionals to help me finish the game.
Over the past few years, there have been numerous crowdfunded games that didn't live up to people's expectations. At this point in time, many people are hesitant to give their money to a crowdfunding campaign. But even back in 2014, way before crowdfunding developed a bad reputation, I had already decided that I shouldn't launch a crowdfunding campaign unless I could present people with a build of the game that represents what the final product is going to be like. I wanted to establish myself as a legitimate and trustworthy developer who is committed to finishing what he starts and I decided that the best way to do it would be to spend multiple years building the game before asking anyone to contribute to a crowdfunding campaign. In 2015, I was terrified of three things: I was terrified of disappointing the people who were supporting me on Patreon, I was terrified of disappointing my YouTube subscribers by making them wait a long time between videos, and I was terrified of losing people's interest by taking too long to produce updates. To avoid these outcomes, I committed myself to developing a new feature and releasing a new video once every two weeks.
I stuck to this routine for a very, very long time, but in order to achieve it, I used a lot of temporary art assets and slapped together each feature as quickly as possible, resulting in a lot of sloppy code. So, I created a piece of software to demonstrate what the final product would be like for the purpose of raising enough money to fund the project using placeholder assets and inefficient code. What's the word for that? "V-slice." Over the past four and a half years, I wasn't consciously thinking of Yandere Simulator as a V-slice, but now that I'm looking at it critically, I realize that I've been in a "V-slice" mindset this entire time. So, what does this mean for the future of the game's development? Nothing! It doesn't change anything, really. A V-slice is supposed to allow you to experience every feature of the proposed game. So, in the process of finishing the V-slice, I will essentially be programming every feature the game needs and developing the first rival. A lot of code and assets will be placeholder, but that's what the crowdfunding campaign will be for: hiring professionals to create higher-quality assets and higher-quality code for the final game. So, I'll continue developing the game until I've created a satisfactory demo, then launch the crowdfunding campaign.
No matter what the outcome of the campaign is, development will continue using the V-slice as a base for the rest of the game. Potentially, some of the core systems will have to be rewritten so that the code is as clean and efficient as possible. However, it's not as though we'll have to start from scratch and remake the entire game. In short, my plan is exactly the same as it's always been. So, if this doesn't change anything, why am I making a video about it? Well, now that I've introduced you to the concept of a V-slice, it will be a lot easier to explain a few things. If you open up Yandere Simulator and look at the scripts, you can find examples of code that isn't clean or efficient. This is because I was writing the code as if I had three guns pointed at my head and wanted to push out updates as quickly as possible. I guess you could say my objective was to build a plastic replica of a slice of cake—not to bake a real cake.
With that said, if I was to make a video titled "The Top 10 Biggest Mistakes I Made While Developing Yandere Simulator," the "V-slice" mindset would definitely be one of them. It was a huge mistake to let these three things dictate my priorities. Rapidly slapping everything together in a haphazard way might have allowed me to make frequent updates back in the beginning, but ultimately, it had negative long-term effects that have slowed down the game's development. It's difficult to make adjustments or add new features to the game at this point in time because I have to untangle the mess I've made every time I want to change something. Fortunately, it's not difficult at all to improve the code. Changing "this" to "this" only takes like thirty seconds. It's seriously not a big deal. Recently, I've been cleaning up much of my old code to make it as clean and efficient as possible. This has made it much easier to make changes and should increase the speed of the V-slice's development in the future.
Ideally, the crowdfunding money will be used to hire a professional programmer to completely replace me as the game's lead programmer. So, even if you don't have faith in my coding skills, you shouldn't be worried, because the plan is to have someone replace me, anyway. Because the V-slice is supposed to represent the quality of the final game, it would be unacceptable if the framerate was low. As a result, improving the game's framerate is one of the criteria for completing the V-slice. There is a myth that Yandere Simulator's current framerate is the result of its code. As long as we're talking about the subject, I should probably clear up that misconception. The game engine that I'm using to create Yandere Simulator is called Unity. Unity comes with a powerful tool called the "profiler," which allows us to see exactly how long the CPU takes to process every aspect of the game.
Using the profiler, we can see that the biggest problem affecting the framerate is rendering. The scripts that affect the framerate the most are the plugins I'm using for pathfinding and for displaying the game's graphical user interface. The next script that actually has an impact on the game's performance would be the script that governs student behavior, but only because there are one hundred of those scripts running simultaneously, and even one hundred of those scripts aren't actually having as much of an impact on the game as physics or animation. If that's difficult to understand, I'll try to explain it a different way. Yandere-chan's school has a functional mirror and two television screens displaying visuals. All of these are created using cameras. I recently realized that all three of these cameras are rendering the visuals even if the player is on the opposite side of the map and can't actually see them.
So, I programmed the cameras to stop rendering if the player couldn't see the mirror or the TV screens and the framerate improved. This is the sort of thing that is affecting the game's framerate—not the code. Fixing the framerate will involve scouring through the game, looking for dozens of minor improvements that can be made to rendering, pathfinding, GUI, physics, and animation. The scripts that I've written—even the most sloppy ones—don't actually come anywhere close to affecting the framerate as much as those other factors. And, as long as I'm taking the time to clear up misconceptions, there are a few other things I should probably address. Whenever I decide to add something to the game, whether it's a core feature like drowning your rivals or a minor detail like Osana's phone charm, I'm adding it to the game because it makes the V-slice a more accurate representation of what the final product is going to be like. For example, the "Miyuki" minigame demonstrates that I want the final game to have minigames.
The Light Music Club's rhythm game demonstrates that I want each club to have a skill-based feature that grants a benefit to the player. When I work on things like that, I'm not "wasting time on unnecessary features," because these features are necessary for the V-slice to represent my vision for the finished game. Every feature I put into the game, I'm putting there because it gets me closer to my goal of an accurate V-slice. I also have something to say on the topic of Osana. I look at Yandere Simulator like an incomplete jigsaw puzzle. It doesn't matter what order the puzzle pieces are put together in. The only thing that matters is that, eventually, all of the puzzle pieces are put in place. It's true that it's easier to do a jigsaw puzzle if you concentrate on the edge pieces first, and that's exactly why I've decided to prioritize core mechanics like the guidance counselor before prioritizing Osana.
And there's one last thing I'd like to clear up. A while ago, Yandere Simulator was using temporary placeholder models that were downloaded from the Internet. But, for about a year now, all of those placeholder models have been replaced with original models. As far as I know, every single model I'm using in the game right now is a model created specifically for Yandere Simulator. I already mentioned this in a video from last year, but I'll say it again. Yandere Simulator's character models were purchased from an online store. I paid for the right to use them in a commercial product, so there is no legal problem with using these models in Yandere Simulator. However, there are a lot of technical problems with this model, so I do want to replace it. Work has already begun on designing and building experimental models that may serve as the first prototypes for Yandere Simulator's final character models.
The art style has not yet been finalized, but progress is still being made. The reason why I haven't put them into the game yet is because I would have to rewrite a lot of scripts that expect the character models to be set up in a certain way. This would significantly delay the development of the game, so I'm probably not going to implement the new character models until after the crowdfunding campaign is complete. I hope that this video has cleared up a lot of misconceptions regarding Yandere Simulator's development. There are still a lot of other misconceptions that I also want to clear up, but none of those have anything to do with game development, so I think I should save those issues for a separate video.
Thank you for following the development of Yandere Simulator..