Tumgik
#Báiyù posting
entomo-maniac · 2 months
Text
Tumblr media Tumblr media Tumblr media
I keep these 3 as close to my heart as possible
9 notes · View notes
Text
Sunny Day Jack Report 07/11/2023
Wednesday means it's time for our weekly development report, and this one's a nice big one for everyone to enjoy! Those of you who have been following us on Twitter may have noticed that we redesigned our logo for SDJ. The majority of the devlog will talk about our process behind that, so read it for free on Patreon or click the readmore for the important bits!
Unity Demo Version 0.03
Changelog:
Fixed video rendering while playing on the Steamdeck (via Windows Proton Compatibility)
Added missing CGs
Game extended slightly past the kissing on couch scene
Select narration from Y/N reworded for clarity
Macintosh OS compatible version has been added
Known bugs:
Certain voice lines may be missing or cut-off
This update was largely focused on ensuring stability before adding in more content. Those who backed the SDJ Kickstarter can access their beta testing keys via this link, while SnaccPop Patrons who pledge a minimum of $12/mo can access their beta testing key over here.
For our MacOS players, you may encounter issues launching the game due to Apple security, so please follow this tutorial to temporarily disable Gatekeeper (we recommend turning it back on afterwards). We're investigating ways to avoid Gatekeeper flagging the game, so please bear with us! As for our Linux/Steamdeck players, for the time being, please use the Windows version and use Proton Compatibility to play the game.
Logo Graphic Redesign
Like with the previous SnaccPop Studios logo, the SDJ logo was due for a makeover. For starters, the old logo was tiny.
Tumblr media
Yes, that's literally the largest size we have on hand for the original SDJ logo source file, and everything else is just blown up bigger in size if need be. Astute viewers may also notice that the Something's Wrong With portion of the logo was also slightly off-center this entire time, as With was hanging off the edge a lot more than Something's. Another issue that came up as we continued working with our translators was the fact that we'd most likely need logos in the target language too; adapting the old logo was near impossible because all we had left of it was a .png file. At this point, making a new logo just made sense.
The new logo largely retains the important elements of the original one. Using the Buddy Belt motif as the background image and the use of two distinct fonts, a formal serif for SWW and a more bubbly sans-serif for the SDJ that essentially captures the essence of Jack's dual personality, were ideas Sauce carried over. Additionally, his signature primary colors palette is much more clear in the text, making this logo more easily identifiable. After nailing down a good foundation and centering the text, Sauce overlaid faint scanlines reminiscent of old CRT display monitors then splashed some blood here and there; all in all, the new logo is a nice visual of the ludonarrative dissonance the game itself aims to achieve.
We'll pass the mic to Gureii here when it comes to the localized logos!
Translation & Localization
Hey there! Gureii (she/her) here. You might know me from one of the previous devlogs posted here on Patreon not so long ago.

 I’ve been asked by BáiYù to present you a tiny (okay, not that tiny) little treat for both the Russian and the Japanese-speaking folks out there who are interested in our upcoming game, Something’s Wrong With Sunny Day Jack.
Let me introduce you to the new localized logos real quick:
Tumblr media
One of the most interesting aspects of working on these was the brainstorming session behind both of them. As the Lead Russian translator of this project, one of my main concerns was to come up with the title translation that would be both both simplistic and catchy, hence the name change from a statement to a question. The localized version of the title - «Что с тобой, Джек?» - includes both the questions a player would ask to Jack himself: “What happened to you?” and “What’s wrong with you?”, either depending on their opinion towards him or both of these at the same time.
The Japanese translation team, on the other hand, opted for something much more laconic, to which I was happy to comply! They're only using Katakana to translate the commonly abbreviated title into【サニー・デー・ジャック】, which will be easy for Japanese speakers to read (it'd be pronounced "Sanī dē Jakku"). It's short and punchy, and it's not unusual for Japanese logos to have the English text as well.
Another aspect (a tricky one this time!) was looking up the Cyrillic and Kana fonts that would match the mood of the English logo we got: it gets quite tricky when we talk about anything but Latin fonts, and it gets even harder when we talk about something that is as bold, youthful and bright as it is. For example, with the katakana transcription the Japanese translation team and I had to search for something that would not scare the person interested in playing the game, something much more inviting than the crimson lettering used on the English logo. The bloody Buddy Belt portion of the logo will still indicate to potential players that this is a horror game, so it works out.
By the way, you might be asking yourself, "Why isn't there a Spanish version of the logo?" Both Pierre and Nana expressed that translating the title wouldn't sound nearly as good as the original English title (a literal Latin Spanish translation would be "Algo Malo Pasa Con Día Soleado Jack"). Luckily, both English and Spanish share similar alphabets, so it's as big of a difference compared to Russian or Japanese.
---
And that's all we got for this week. Thanks again for your continued support of SnaccPop Studios!
454 notes · View notes
cwispydev · 2 years
Text
Tumblr media
28/11/2022 NaNoRenMo word count: 10,255
Long time, no write! Hey, at least I accomplished a lot since you last heard from me.
Most of those things was just a lot of the writing. As you can see, I've pretty much doubled the word count since my last post. That's the biggest reason I haven't updated really.
I don't want to talk much about the different stuff I've been writing. I just wanna focus on my code.
The reason I finally decided to update here is becos I figured some coding stuff out that had me asking not one but two people for help for and it took us like two days to figure the bullshit out.
In fairness to the people I asked for help from, though; they didn't know anything about Ren'py or how to code visual novels. But, they code other things so I thought might as well.
So, the first easier thing I figured out was how to do a blink animation for when you want to do a first person point-of-view blink. Basically, I used this topic but, instead, I added more stuff and made it more complicated LOL.
My reply is that last one by nyeowmi so you can just read that. I also included like the images I used and stuff! Nice!
Here's what it looks like.
Tumblr media
The second thing that I had the hardest time figuring out was the layered image stuff for character images.
I don't know if it's just becos I'm the worst researcher known to man but there was literally no documentation for the layered image that my two brain cells could understand?
The easiest one was the guide by BáiYù where they make a whole game out of it. Unfortunately, as of Ren'py 8.0.3, the game doesn't play anymore.
At least, not for me. It says something along the lines of 'file' not defined? I'm not sure but, in the comments of their itch.io, someone also had the same problem and BáiYù said they'd figure it out as soon as they could.
So, maybe, this journey will be much easier for you, dear reader in the future, than I, a poor unfortunate soul.
Either way, I couldn't figure out the layered image thing through the tutorial. BáiYù suggested just getting familiar with the layered images through browsing the code of the game (which you can access, even if the game doesn't work).
However, I'm illiterate when it comes to reading code so none of it made a lick of sense to me. Honestly, that one's truly on me becos, unfortunately yet again, Ren'py's coding language (or rather, whatever you use to code Ren'py) is like the only coding language I know well enough to recognize some of.
Anyway, I tried it out despite not knowing what the hell I was doing.
I renamed all my images the same exact way you're supposed to when you use layered images. Which is, of course:
[charactername]_[facepart]_[emotion].png
I also stored all of the files in like a lot of folders. The file path looked something like:
images/felix/[emotion]/[imagefile].png
Anyway, I think that was my downfall. I don't know if it truly is? But I did browse through some of the LemmaSoft forums and some people mentioned that nested images (images stored in folder after folder instead of just in the images folder) got fucked up and it didn't work properly.
That being the exact problem or not didn't matter becos my character image just wouldn't work. I don't remember what exactly was the errors I was getting at this point but I know like some of the parts wouldn't come up or the game just wasn't able to find the files, etc, etc.
Another problem that I was trying to figure out at the same time was how to make the character speak while their character sprite was showing.
I saw a forum post by zmook (not linked becos I absolutely can't find it) where they were directed to the Ren'py cookbook where it wrote about the config.speaking_attribute.
Basically, it's an attribute that gets shown when the character is talking and then stops getting shown when the character stops talking.
Then, in another forum post, zmook asks about the speaking attribute being combined with the layered image stuff.
However, at this point, despite knowing all of this stuff, I was still struggling with getting the image to show properly at all, much less having it show up speaking and then not speaking.
Did I stop and try to figure out the basics first before trying to figure out the talking? Absolutely not.
So, I continued seeking out knowledge. Eventually, I figured out that you have to animate the mouth using Ren'py and not a gif. I figured that out through this post by Argent Games.
I tried coding my character image exactly like that but, unlike that, my character had a lot of expressions and my code ended up looking cluttered while still not working completely.
At this point, what was happening was that everything was showing up properly except the mouth.
In the end, my special friend's brother cleaned up the code for me. It was honestly trial and error at that point where we all didn't know what we were doing, we were just moving stuff around.
My code ended up being something along the lines of:
default felixemote = "smile"
image felixmouth: "images/felix/[felixemote]/felix_mouth_[felixemote].png" 0.2 "images/felix/[felixemote]/felix_mouth_[felixemote]_half.png" 0.2 "images/felix/[felixemote]/felix_mouth[felixemote]_open.png" 0.2 "images/felix/[felixemote]/felix_mouth[felixemote]_half.png" 0.2 repeat
group mouth if_any "speaking" auto: attribute smile default: "felixmouth"
group mouth if_not "speaking" auto: attribute smile default: "felix_mouth_smile"
That code has like a lot of code in between but that's pretty much the gist of it all. After we did that for the mouth and then exactly like what we're supposed to for the rest (basically copied from the layered image documentation from the Ren'py cookbook).
It worked! Of course, it didn't follow the words exactly? The character would just keep speaking even if the words were completely loaded.
However, a victory is a victory and, becos I'm not even gunna think about the voice acting yet, I don't care. I was so tired and annoyed by this entire thing that I just figured this is good enough.
Then, of course, when I went and stress tested the code (as in, showing off the characters numerous expressions), nothing happened.
The expressions didn't change. That was when I screamed and then screamed and then rewrote my code.
This time, I removed all of the auto stuff on the layered image codes. Instead of just having the layered images going through all of my images, I would just force feed it my images.
So, I declared each image with a specific file path that had variables in it I could change based on what emotion I wanted them to display.
For example, instead of just letting layered images figure out what eyebrows I wanted, I wrote out:
image felixeyebrows: "images/felix/[felixeyemotebrow]/felix_eyebrows_[felixeyemotebrow].png"
I did that for the base, for blush (except that one was just blush and a blank png named noblush), glasses (same as blush), the closed version of the mouth, etc.
For the eyes, I wanted to have a blinking animation so I declared the image like this instead:
image felixeyes: "images/felix/[felixeyemote]/felix_eyes_[felixeyemote].png" choice: #choice is so that ren'py can randomly choose between the three cus blinking tends to be random and not in the same intervals 4.5 choice: 4.5 choice: 4.5 "images/felix/felix_eyes_closed.png"
I specifically made all of the variables different so that I could control each variable to be different. Like, for example, if I wanted the angry eyebrows but the sad mouth.
My variables ended up being the following:
default felixemote = "smile" #this is to control the mouth default felixeyemote = "smile" #this is to control the eyes default felixeyemotebrow = "smile" #this is to control the eyebrows default felixbased = "regular01" #this is to control the body/base default felixblushed = "noblush" #this is to control the blush default felix_glasses = True #this is to control the glasses
The glasses variable is different becos the code for that one ended up being:
if felix_glasses: "images/felix/felix_glasses_glasses.png" else: "images/felix/felix_glasses_noglasses.png"
The full layered image code ended up looking exactly like this:
layeredimage felix: zoom 0.85 #i needed to do this becos my character images weren't the right size group base: attribute regular01 default: "felixbase" group blush: attribute noblush default: "felixblush" group eyes: attribute smile default: "felixeyes" group eyebrows: attribute smile default: "felixeyebrows" group mouth if_any "speaking" auto: attribute smile default: "felixmouth" group mouth if_not "speaking" auto: attribute smile default: "felixmouthstop" #remember that this should be a declared image with the file path but the variables should be the same as the variables you use with the file path in the speaking animation if felix_glasses: "images/felix/felix_glasses_glasses.png" else: "images/felix/felix_glasses_noglasses.png"
Convoluted? Pretty much.
Each of the images underneath each attribute is it's own declared image with the variable-riddled image paths.
I've already tested it and it works, both fortunately and unfortunately.
I'll put some example gifs down below so that you can see it in action. I'll also put a screenshot of the script where I call all of that stuff so you can see what that looks like too.
Tumblr media Tumblr media
I tried to show off the fact that the dialogue would stop loading but they'd continue talking and the fact that you can interrupt mid open mouth and they'd still transition to the closed mouth.
Thank god this long ass post is finally fucking done. Thanks for sticking with me til the end and hopefully this helps making your game a little bit easier.
If you have any questions about this at all, send me a message on discord at nyeowmi#6969 or send an anon/ask here on tumblr! I'll do my best to help
0 notes
entomo-maniac · 4 months
Note
Strawberry Milk Bae
Tumblr media
Strawberry milk lóng.
He pretty
Tumblr media
7 notes · View notes
entomo-maniac · 2 months
Text
I think it would be nice if Qīngyù and Báiyù in their dragon form also had fins, like pelvic fins and pectoral fins. They are marine beings, after all.
4 notes · View notes
entomo-maniac · 25 days
Text
Anyways, if Báiyù wasn't albino, he would have deep blue horns and aquamarine scales.
5 notes · View notes
entomo-maniac · 2 months
Text
I'm awake, some Báiyù posting
He was born in the middle of the Sui dynasty, being the firstborn of his generation.
Due to his albinism, he was disowned by a certain part of his family, and they tried to remove him from the line of succession.
Despite that, he became the family's head after his father got ill.
Due to its condition, he avoids going out onto the surfaces of bodies of water, because he lacks the natural camouflage of lóngs (these are usually green, blue, and purple, in some cases)
He has greater control over water and climate than his other family members.
Has not had contact with Qīngyù in approximately 600 years.
He doesn't like humans and tends to avoid changing into a form that resembles them.
That's it
5 notes · View notes
entomo-maniac · 4 months
Note
Able, softly playing the guitar: This is Báiyù, he's a giant, asiatic dragon, and he's not edible, but don't you think he oughta be
Able: He got, sharp scales and fur, and long coral-like horns, making him, that much more difficult to eat
Able, slowly picking up the pace: But even so ...
Able: ME WANT SLURP !
Able: Me want mythic smoothie glass,
Able: Me want bowl-full !
Able: Me think strawberry milk noodle yum !
Báiyù: ...
Qīngyù: I swear he's not always like this
Báiyù: I am getting a restraining order for both you and I !
Bold of you to assume that Báiyù cares about that type of thing ( and that he even has contact with his brother).
(gotta drop some lore later, bruh...)
8 notes · View notes
entomo-maniac · 4 months
Text
I lied
Qīngyù (and a little of Báiyù) lore drop this week
He was born around the Tang dynasty, being the second born of his generation.
Unlike his family, Qīngyù has a more benevolent nature, in contrast to the more neutral position of the others.
The actual family head is Báiyù, as their father is sick.
Currently, Qīngyù has no contact with his family due to a conflict
Like other lóngs, he has the ability to control water bodies and weather, he particularly likes to generate soft rains.
He was discovered by the foundation after causing a rainstorm and accidentally flooding some houses.
He's bi, and his type is people who can beat his ass.
This will be all for today.
3 notes · View notes