Posted June 06, 2024 by Knickknack PJ
#devlog #monthly devlog #postmortem
Typically, I post my devlogs for the beginning/ends of months, but I postponed this one to tell you all about the Queer Games Bundle that’s running again for this year! For as much as one single $60 AAA game, you can put that same money directly in the hands of LGBTQIA+ creators and support them! Some of my games and assets are in this bundle, like Making a Monster and the demo for I Got Transported into My How to Draw Manga Book!? so if you like what I do, I and many of my peers would appreciate purchasing the bundle and spreading the word about it!
Now with Pride Month here, all I get to show y'all is an update to Making a Monster, which includes some improvements like the ability to toggle animated text, some changes to the GUI, and a mobile port! A good portion of my games, namely The Perfect Portrait, Miss Chocolate Eater, and negativespace, are going to receive this update really soon, with the rest of my games getting this treatment at a later point.
In May I also created This Visual Novel Isn't Like Other Visual Novels, which was made for the “Worst Visual Novel Ever” Challenge Jam. Which hey, you should also subject yourself to the other atrocities submitted to the jam~
Most of this devlog will be my thoughts on making This Visual Novel Isn't Like Other Visual Novels, so there are some elements that are going to get spoiled. It's not a heavy story at all, it's just what may come your way as you play the game and try to get the ending. You can either turn back now and play the game, ignore me and read on, or just ignore this entire passage on this crappy game and get down to the So What Now section for what I'm going to do for the following month.
But I do encourage you to play it first, because I want to see your reaction to the suffering~!
So. This sure is a game lol.
This was made for the "Worst Visual Novel Ever" Challenge Jam, a jam I've wanted to do for a while because making a shitty VN sounded really fun! When thinking of concepts of what to make for the jam, I thought of an old idea I had where I wanted to make an example VN to spite certain VNs made in Ren’Py that gut the quick menu functions.
Very quickly this became a game of me thinking of specific “innovative design quirks” I've seen in VNs and wanting to show everyone why I hate them. Then it evolved from that to me thinking about asshole game design, or me making up stuff solely to anger and piss off players lol. Turns out, it's really fun to do some evil and totally unfair game and UI design, because imagining the despair on players' faces on certain parts of the game gave me fuel to go on making this god forsaken thing.
I did receive comments and questions on whether some jank parts of the game are intended, and all I can say is either "yes", "no but it's funnier this way", or "I'm not explaining anything lol". I did make all of the scenes with the intention of being beaten: there shouldn't be a scene in which you can't pass through and get to the crash screen. Winning and getting to the ending is entirely possible, but the way to get there legitimately is also intended to be incredibly annoying and frustrating, so truly, good luck on getting it legitimately!
If anything, I want this VN to be an example of what Not to do when making a visual novel functionality and accessibility wise, because man if I played this I will lose my mind in anger lol. Fortunately for everyone, I left all the files open and easy to edit in Ren’Py so if you want the accessibility back or at least see all the scenes I coded in, in you're free to do so~
Hi hello, yes I am a VN dev but I like playing VNs too! And due to drawing and writing a lot, my wrists hurt! And no auto forward or skip through text actually factually hurts!
It drives me up the goddamn wall when a game made with Ren’Py has none of the quality of life quickmenu buttons because all of those functions are there when you make a new game! It actually takes more work to take them out than to just leave them in!
Like, my hot take (which shouldn’t even be labeled as a hot take) as a VN dev is that if you want to make a good VN, you should have those quality of life functions easy to access if you want people to keep playing your game. You have no clue who is going to play your game, if they have a disability that makes it hard to use their mouse, or something that prevents their enjoyment of your game. Having the quality of life functions helps not only the people who need it but also everyone else who didn't think they need it until they do. There's literally all benefits and no cons for taking out basic functions that are automatically there when you create a new game in Ren’Py!
It's one thing if you're making an engine from scratch or the engine you're using isn't specifically for visual novels. Coding all those quality of life functions from the ground up probably isn't easy. It's another thing when it's Ren’Py, an engine I know for a fact is specifically for visual novels and has had those functions for well over a decade. Everything's already there! Why are you doing more work by taking them out?
When people think of bad visual novels, they think of bad amateur art and bad writing. And honestly, you're not wrong in that department, but you can have a good VN with janky graphics and the bad writing can come out as really funny or so bad it's good. In my experience of playing VNs for over a decade, I find that my idea of a terrible VN tends to be the ones that are highly polished and highly budgeted, but severely lacking in how it feels to control the dang thing as a player because they were so focused on the content instead of the gameplay.
Some VNs I played that had a considerable financial backing boasted a high word count and several routes, only for me to find out they copy-pasted text from one route to another. This makes it incredibly hard to skip seen dialogue and, imo, it’s pretty disingenuous about using word count as a way to sell content instead of a way to convey playtime.
Plenty of VNs I've played over the years looked gorgeous, but had no auto or skip button and had multiple endings. So if they're made in Ren'Py I had to go back into the game files (if they're not archived, that is) and code it back in. I dunno man, the player shouldn't have to code in basic accessibility features that came out of the box I say as I make a game exactly like like the ones I’m complaining about lmao
Anyways I condensed all my rage and frustrations about these particular subjects into this visual novel lol. When thinking on designing gameplay that should suck to play through, I was thinking about Keita Takahashi's resonating words on a some difficult levels in Katamari Damacy:
Another thought that repeated in my mind is this skit from SungWon Cho:
So I just embraced being a jerk game developer lol. I turned to let’s plays of games like Kaizo Mario, certain asshole levels of Super Mario Maker 1 and 2, and I Wanna Be the Guy, all of which are platformers designed specifically to troll players. And in watching people suffer through those games, I came up with my general design philosophy for this game:
I just wanted to draw a cute and colorful anime girl with twintails because I don’t really get a chance to in my other works. That's all there is to her design lol.
Admittedly I didn't want to draw her in a seifuku to denote that she's a high-school student and this is a high school romance. I feel like at this point, poking fun at that particular genre has been done plenty of times and is the first thing that comes to mind if you wanted to poke fun at visual novels of the romance variety.
I initially dolled her up in some lolita-style clothing because lolita fashion is honestly so much fun to draw and design. But I started gravitating towards her being in casual clothes because it's way funnier for a cute anime girl to have a shirt you'd probably see in Shirts That Go Hard.
The initial plan is to actually put effort in the sprite and bg art to go with my thoughts earlier on how you can have a bad VN with good graphics and how focusing on visuals alone does not a good VN make. That way, I can put a Creative Commons license for people to use beyond the jam! But I really wanted to focus on coding in all the annoying scenes the player needs to go through and thus I couldn’t focus on the art.
When I played through some of the older Worst VN Jam entries from 2012-13, there was some that blatantly traced over official anime art and I thought that is an incredible aesthetic. I was one of those kids who traced over official art to make OCs in MS Paint and the idea of tracing over art for your Super Original OC is an immaculate concept to me.
That being said, I can’t just trace over official anime art or other people’s art because of the No Copyright Infringement rule for the jam. It also feels weird to trace over my own art, especially considering none of the characters I’ve made as of far really fits Violet’s vibe and in-story it would feel incredibly and insufferably pretentious for Nerd McMotherfucker to be like “I traced over this really cool artist who makes really cool art named Knickknack PJ!” It feels more in spirit to use someone else’s art, so I searched around for images with a CC0 license/Public Domain and stumbled upon software_atelier’s art.
The pose and default expression is perfect! I sketched over software_atelier’s original image to suit the design I had in mind for Violet, then traced over that sketch using a pixel brush and my mouse. Nope, not my tablet stylus – my mouse. Ow my wrist.
From there, I gave Violet her violet hair and colors I thought were super clashing. I wanted to have her and the images to be incredibly jpg fried, so to do that I made her image, exported it as a low quality jpg, then went back in and deleted what white Clip Studio Paint can get to make parts of her sprite and expressions transparent.
As for the background and the rest of the images, I decided to make a mock stock image from a public domain image I jpeg roasted, mainly because I do find it hilarious when people use stock images with the watermark intact in their VNs. I had this idea for the setting being in a romantic park with cherry blossoms, so I edited the trees to be more pink and used commas and an image glitch to show how low budget this whole thing is lol.
I'm actually one who doesn't like minigames in their visual novels unless it serves a narrative purpose. Especially if they're unskippable minigames. I just want to get to the story! But I know gamers tend to make fun of visual novels and interactive fiction because they don't consider them games unless there's minigames in them. I watch let's players I like unfortunately begrudge visual novels because they don't understand the appeal and but still rag on them because they have to make content to their audience, which is so harrowing when you get devs who get into this mindset.
And these devs seek out making a “visual novel that isn't like other visual novels” so they can stand out in the indie game market and the indie visual novel market to make some money and kinda forget to play other visual novels that people have made because they're too busy hating on a genre they never understood in the first place. I've seen plenty advertise their Kickstarters as "a totally original visual novel that's innovative and has plenty of minigames because lol fuck reading comprehension that's not Gameplay" when really, people here on itch (and hell even before itch became a hub for indie games) made either the same exact concept or did it better than what that dev was ever going to achieve.
Since this game is about getting through 50 time loops, I figure this would be a perfect opportunity to add some minigames! And make them mandatory! My main rule for adding minigames is to include stuff I actually like to play and understand playing so that way I can ensure the scenes are beatable. The hope was to add 5 minigames instead of the 3 I have in, but I figured that 5 would be too many, which could constitute as fun, which we clearly cannot have in this game. Plus I ran out of steam, because my brain can only take working on a terrible VN for so long lol.
As for the pizza themes, it’s because I stumbled upon this super funny mix of Funiculi Funicula. When my partner heard it, he went “Hell yeah I can make this worse” and made the mix you hear in the game. All I did was bass boost it and make it crunchy sounding lol. I couldn't think of images to use for the minigames other than make them look crunchy, so pizza themed it shall be to suit the super fucked up pizza theme song.
I'm not going to put the images of the minigames in this devlog, just so you get the surprise of how it all looks when you play it for yourself~
This is totally not a falling block puzzle in the style of lining up shapes made up of four blocks in different combinations to clear lines. I dare not even say the name of that specific falling block puzzle, which this isn't a parody of. And even if it was, which it isn’t and is totally not copyright infringement, then a specific large video game company that focuses on making falling blocks disappear with lines of said blocks could send me some vibe checks.
So I did a lot of research to ensure I'm in the clear of those potential vibe checks, including reading up on actual court documents on what aspects of a game and game design are trademarked and copyrighted. All for the bit I decided to commit to, which is for Violet to bring up an entirely different game as a minigame to distract the player from getting a time loop finished because I thought it was funny.
What this means is that if you can put a screenshot of some game with a similar idea and a screenshot of what I put into this game next to each other and think those are two different, then I'm in the clear. I’m pretty sure I’m in the clear since I don't know what other game has a cocaine counter for falling bits of comic sans and pizza, so what copyright am I infringing on? Plus I'm sure competent game developers would put in a line piece if the point of the falling block puzzle was to clear lines instead of trying to lose the game as fast as possible.
I love 2048 and was ecstatic to find that someone made it into Ren'Py. I will say, I do find it funny that a lot of people commented that they're terrible at 2048, and I do want to give a fun fact about the version I have in this game.
I actually lowered the goal to be 1024, not 2048. The reason being that I can more often than not get to 1024 but no farther than that lol. Plus, it made it easier on me to beta test it. Initially I made the goal be 512, but I find that that would be way too easy~!
I love puzzles, but I do admit that this one is probably one of the most difficult scenes to complete, besides the Pride and Prejudice scene. If it's any consolation, this section, like the Pride and Prejudice section, was difficult for me to get together and test, so rest easy knowing that I too was tortured while making the damn thing lol.
I was planning on doing the main image be a closeup of a pizza with the large watermark you see in the park bg, but I realize that would make the puzzle way too easy to solve. Instead, I used the same image you would see in the intermission scene, where I had to have the watermarks to the side a la Getty Images to allow for the Intermission text to be seen in the middle. This at least lets players know where some things are going to line up without giving the whole thing away.
If you managed to solve the puzzle, then I deem you stronger than the U.S. Marines.
Of course I'd love to put in some Bee Movie script shenanigans, but the problem is that The Bee Movie script is copyrighted. As an alternative I searched for public domain text about bees, and wound up with The Man Who Could Imitate a Bee, a short story by Richard Connell, which is a really good short story that, funny enough, reflects stuff I've seen from real life despite it being published nearly 100 years ago.
When I coded that in by painstakingly adding quotes for an NVL style format, I suddenly had a sinister thought: wouldn't it be funny if I coded in a whole literal novel in this game where the point of the game is to get to the end of a scene?
Inserting the Entirety of Jane Austen’s Pride and Prejudice was probably the most painful thing to get in lmao. I do want to put down my notes in case people are curious about converting literature from Project Gutenberg into a visual novel. All the screenshots here were done in Atom, but this should be doable in any code editing software.
First of all, Project Gutenberg is a godsend. They have several books in the public domain and in different digital formats. The thing I want to guide you to is the html file of the page, where you can download the entire page you see online.
When you crack open that html file in the zip, you’ll see the entire novel marked up with code. And luckily, that means a good portion of the work is done.
You want to save this file as a .rpy file first before doing anything. Now, note that anything that starts with <p> and ends with </p> is a paragraph of the story. If I replace <p> with n “ and </p> with “, I basically made a text block in Ren’Py. Using the replace function, I can make this work!
But Ren’Py wants text blocks in one line and the html-turned-rpy file has paragraphs divided up into other paragraphs. No problem then! I comment out the paragraphs, then search those hashtags with a paragraph key and replace all those hashtags and paragraphs with nothing. Boom, instantly coded into Ren'Py.
The things that were a pain in the ass were the first letters of each chapter, the page numbers, and the illustration notes, because I couldn't just get them auto deleted with my method here. I had to finesse and delete them all in a way that's not ideal and not exactly easy. The entire Pride and Prejudice section took 3 days total to code in and ensure it runs correctly with no unintentional crashes.
By the way, I found out Ren'Py had a character limit for one line of dialogue. I found out about this because when testing, it would crash on one specific paragraph: Darcy’s giant fucking letter to Lizzie, which I found to be completely hilarious. The man's letter went off the shits so hard it crashed a visual novel engine because the paragraph was too long.
Needless to say, the entire novel is unedited aside from Darcy’s letter because otherwise the game would refuse to work if I didn't cut it up.
One is that of all the classical novels I've read, this one was the hardest to parse for me. I don't know why my brain couldn't handle reading the text, but I had a much better time understanding the language when in audiobook form lol. Surely I'm not the only one who has experienced this.
I also figure that the POV of a Gamer(™) would revile against reading a good romance novel, especially one from long ago. Shitting on romance and calling them easy to make and trope-y as hell is always the hot misogynistic trend that tells me they haven’t read a good romance. So I figured it would be best for these nerds to learn from the best and read some Jane Austen.
The other thing is that its inclusion would increase the word count for this visual novel to a comical rate. Honestly, 10k words in the VN would be written by me, about 4K to Richard Connell, and the rest is Jane Austen.
The final thing was that, God, it would be really funny to see people's despair on seeing that they have to tap through the entirety of a 124K+ novel in one go. It was definitely worth it to see people's reactions to getting this unfortunate scene lol.
By the way, please don't take Pride and Prejudice’s inclusion in my shitty VN as a shitty book lmao. Despite my brain not being able to read it, it's still a fantastic novel.
This happened when I was transferring over the files for the 2048 minigame. The developer of the code has all their notes in Russian and the sample game had all the menus in Russian as well, so when I transferred the files over to my game, I also transferred over their file that has translations of the main game menu buttons from English to Russian, and that made some parts of my GUI Russian.
I thought it was hilarious to have some parts of the menu in a different language that my general audience wouldn't be able to read, so I decided to not fix it lol. That being said, I did have to edit some GUI to not be in Russian just so my English reading audience can at least see the buttons that don't even work.
This game is way out of left field in terms of the kinds of visual novels I tend to make, but man it was really fun to make. I never thought it would be fun to make a game designed purely around making users angry with how bad it plays. That actually used to be my nightmare, that someone would play my games and think this is so unbearably terrible and nonsensical, despite my best efforts on making a good game. So trust me when I say I am genuinely surprised at the kind comments on this game despite the pain it inflicts. That being said, I refuse to believe any comments saying this is a good game, even ironically lmfao.
Something I like to say is that I did attempt an Android port of the game. Testing this game on Android devices is giving me a lot of experience and input about building Android ports of my games. The problem is that the end-of-scene glitches don't exactly show up the same way as they do on PC, in that the things that are said get erased. Because of this, I’m not super interested in getting this game an Android version, which is funny considering all of the minigames run just fine. It’s just the crashes not working the way I want it to lol.
As for things I wanted in the game but wasn't able to, I honestly got all the things I wanted besides one function: making the mouse automatically go onto a choice. This wasn't put in because of the randomized choices every few seconds making the function moot, especially if in case it leads you to a choice to end the scene. Sorry, can't have the game That easy on you!
As a consolation to everyone that’s suffered playing this game, I hope you all know it was pretty painful for me too. After all, guess who had to test to make sure all the scenes run smoothly and are beatable? :’D
I have a lot on my plate for June, especially since I'm actually going to be gone for a good portion of July to visit family. I'd like to get some stuff squared away before leaving, which includes Android versions for a good portion of my published games, more development for I Got Transported Into A How to Draw Manga Book!? and VN jams I'm eyeing. Who knows how much I'll get done since I'm also preparing for my trip, but those are on the brain at the moment.
Remember, there's still the “Fix The Worst Visual Novels" Jam where you get visual novels from the “Worst Visual Novel Ever Challenge"Jam that consented to be fixed and remade into a better game! I personally won't be able to submit something, but I want to at least bring your attention to the jam. Now's an opportunity to put Violet into a better game like she wants.
Be sure to also grab the Queer Games Bundle and spread the word about it! This bundle helps me and other queer developers out, so I'd really appreciate it if you can!
Hope you all have a great Pride Month! :D
~Knickknack PJ