... also, Renamon Appreciation Month isn't over yet, so here... have some more fox-tits!
Then again, how hard would it really be to make this new textbox display a one-off animation instead of making it talk with the text? Just change the animation settings and stop reacting to the text-typing events. So it's only 2 changes. Talking could be a boolean toggle. And I could just allow the animation settings be manually modified when desired. So sure, why not?
Now here's a tricky one. Sometimes characters in Phoenix Wright don't talk. Instead showing an animated reaction. So either I should add a setting to turn off talking, or maybe I should just place an animation and then place a textbox underneath it as 2 separate steps? It seems like it could be useful to be able to display animations on their own anyway. But doing it this way would require placing 2 or 3 commands while I'm editing a game in my RPG Maker instead of just the one for the textbox. Less convenient. But my gut tells me I should try to keep the programming itself as simple and flexible as possible.
If the picture overlaps the text, I want to indent the text to make room for the picture, so I'll add an "indentText" setting which is just the number of pixels the textbox needs to shrink to the right. To know whether the picture is overlapping the text we need its position and its size. So whenever either of those things change we re-check things and change intentText if necessary. This overlapping behavior is a module of code separate from everything else that just responds to the "change_facePosition" and "faceLoaded" events and changes the "indentText" setting. The textField reacts to that setting being changed and doesn't need to know what caused the change. That's the key to modular programming. Blocks of code don't know about each other's existance and therefore don't rely on each other.
Next I need to be able to change the position of this animation, so I'll add a setting for that. An object with X and Y pixel coordinates on the screen that represent the top-left corner of the animated picture. Different sized pictures can just expand to the right and downward from this corner. So I can put any sized picture anywhere I want on the screen.
Okay so let's start with the basic goal. A Shining Force talkie face. I'll just feel-out the needs as I go. First I'll delete the textbox's old non-animated face and the setting that goes with it. Now we need an animated picture. I'll just use my old animated sprite system for this. I uses a set a variables to control it so I'll just throw them all into an object and name that setting "aniamtedFace"
Aargh, why is all of this old code glommed together into one giant blob!? What a disorganized mess! Who programmed this garbage?? ... oh wait, it was me... 8 years ago. Okay it's really not THAT bad, but I've gotten much better at organizing my code over time. Welp, time to make everything modular and pretty.
It occurs to me that everything becomes WAY simpler and way more flexible if I skip borders entirely and just manually include them in the picture itself if I want them. That way I can make characters "overlap" the border or appear to pop outside of it. Or I can have no border at all and just have the raw picture overlapping whatever is behind it. I like the powerful elegance of this appraoch.
After all, I could easily re-create Shining Force talking portraits, but why stop there? I could also make these animations overlap a full illustration and make different characters in a scene talk. Kind of like Knights of Xentar. Or I could go full visual novel and have animated characters above the textbox like the Phoenix Wright games.
Wait, I think I have an idea! What if I posterize the shading in Photoshop and then use a layer-threshold to apply a dither pattern to a specific shade of grey. Then I can use a gradient map to add my intended colors to the shades. This can all happen using real-time layer effects, so I can just paint the shading on the lowest layer and immediately see the dithered result!
Decades later to this very day I am still studying those walk-cycles. Marle taught me how feet move so I could make Princess Sally walk. Ayla demonstrated the way hands recede three dimensionally so I could make Bunnie Rabbot look strong and make Little Red Riding Hood prance around. And I am an absolute glutton for anti-aliasing. You’ll rarely see any picture from me where I didn’t spend hours pouring over every edge of every pixel to get all the shapes juuuuust right. And somehow I love every minute of it. You can thank Super Metroid and Chrono Trigger for making me fall in love with this process. It doesn’t feel tedious to me because I’m too busy being impressed by the art I’m making while pushing the detail of every pixel to its absolute limit. Even though I’ve been experimenting with larger pixel-art recently, sprites still feel like a bigger accomplishment to me, because they are more densely detailed. Achieving more with less.
The anti-aliasing is superb, packing so much subtle detail into the smallest possible space. Every pose and animation shows off the personalities of the main characters. And I bet you’ll never guess which animation has the most frames… Walking! Not the fancy attacks or the mind-blowing story moments. The goddamn walk-cycles! Why? Because this is an RPG and that’s what the player is going to be seeing for 95% of the entire game. That is a stroke of genius! But it goes even deeper. The characters don’t even walk the same way. They’re all different. You can actually see their unique personalities. Robo is a wood-stove on feet. Marle walks like a delicate princess. Ayla is brimming with strength and swings her fists. And Magus moves with a menacing strut because he is a magical badass… when he’s not freakin’ flying!
I know I am biased. I know that games with better graphics have come out in future decades. More great stories. More genres. More exploration. Goddamn open-world games! And of course that whole… 3D thing. So in my heart, Chrono Trigger mostly represents a pinnacle of 16-bit games. Over the past 30 years I have replayed this game so many times that it’s honestly hard to really experience it anymore. My eyes glaze over because I barely have to think about the game. I’m on auto-pilot. So instead I study it. Every pixel. Every story beat. Every clever design choice. The game is just 16-bit perfection to me. Yes I am absolutely biased, and I don’t even care.
There is a lot to love, and barely any flaws I can bring myself to notice. But if I had to pick my absolute favorite thing about Chrono Trigger it’s the sprite art. I don’t know of any other RPG on the Super Nintendo that uses these proportions for characters. It’s almost 3-heads tall...
But even at the very beginning of the game I was amazed by the very first battle in the forest, because it took place on the *same screen*, and I had never seen an RPG do that before! This felt like the next stage of evolution for the entire genre! It was such an obvious improvement that I was certain that every RPG that came out in the future would handle battles this way, and never look back. Of course I was naive. I was 12 years old. But the point is that Chrono Trigger felt like an improvement out-doing every game I had ever experienced before that day in every single possible way.
I think I even made up some stupid lyrics to sing along with the battle music just for the Delta Force attack, which was the first triple-technique you learn in the game. The game had a way of one-upping itself with every new move you learned, escalating into cooler and cooler effects. And the first triple-attack took things to another level. At least it felt that way. It’s hard to describe how a few flickering triangles and flashing sprites could be so deeply moving for a kid in 1995, but part of it was because it looked 3D. And in 1995, 3D graphics were the most amazing thing you could possibly witness on a TV screen. It’s a 2D console. You are *not* expecting this. So when you see the first triple-attack in the game and it suddenly starts going 3D on you, your jaw hits the floor! … and it’ll be days before you pick it up again.
The day I rented Chrono Trigger was life-changing. Decades later I can still vividly remember lying on the carpet of my grandmother’s living room with my Super Nintendo hooked up to my little white 12 inch TV set on the floor in front of me. The battle music was the coolest song I had ever heard. I was completely enthralled with the story. And all those glorious special attacks… oh my god I think I spent hours searching for battles just so I could keep replaying those attack animations over and over.
And when that style faded in the shadow of the golden era of robot space-operas and gory erotic horror, a few artists like [Rumiko Takahashi](https://en.wikipedia.org/wiki/Rumiko_Takahashi) and Akira Toriyama continued carrying the torch of charming wide-eyed personalities forward many decades into the future long after most of the world forgot about the cute anime of ancient times. And so in a way, the old styles became their own. But there is still no mistaking Toriyama’s art. It has a personal touch all his own. An epic blend of personality and cool.
I think my favorite thing about Toriyama is his utterly unique art style. You will never mistake his art for any other artist. I’m proud to say that I’m jealous of him. It inspires me to explore and develop a unique art style of my own. To find an expression unlike anybody else. But one has to wonder, where did Akira Toryama’s art style come from? What inspired *him??* To answer this I think we need to look at the things he watched and read while growing up. In the earliest days of the 1960’s and 70’s, anime and manga were full of cute characters overflowing with fun personalities.
Long before Chrono Trigger came out, JRPG’s had to be invented first. There was Dungeons & Dragons. But turning exploration, adventure, and storytelling into a video game genre was largely defined by Dragon Quest. It didn’t technically invent RPG’s but it defined so much about the genre that it might as well have. And like so many foundational things, Akira Toriyama was a part of it.
It’s hard to describe just how massively badass anime was when it arrived here. It was an apocalyptic moment in American cartoons, *utterly humiliating* everything that came before. Even Disney felt like baby-stuff. Cute Widdle Bambi wasn’t going to go super-saijyan and blast someone’s head off. There was no going back! And like so many foundational things, Akira Toriyama was a part of it.
But before I write twelve chapters gushing about how I adore every single pixel in Chrono Trigger, let me talk about Akira Toriyama. In the USA, Dragon Ball Z is almost like the “Star Wars” of the anime world. It feels like it invented the shonen action genre overnight, regardless of whether that’s technically true. Because one day we were a bunch of kids watching cheap garbage like The Smurfs, and the next day we saw motherfuckin’ Dragon Ball Z!
What about in-game? I like the 3rd one. It takes more steps to create but the slight fuzz makes it feel less artificial.
And what does it sound like if I add the soft fade-in fade-out to my warbling voice? Well, let's just compare them all. Warble with fade actually sounds half-decent. Definitely better than a pure square wave.
Here's another idea. What if I just make my simple "beep" softly fade in and out? That would also make it less harsh and Beep-y.
Okay, that's enough gruff guys growling grimly. Let's try a higher pitched "teen" voice. Same approach but maybe I'll ater the warble the fade-out slower and fade-in quick. Why? Because the whole point of the warble is to create the impression of text rapidly being typed out without completely re-starting the sound from silence. A kind of "soft" typewriter sound. And a quicky fade-in emphasizes the sound "starting" or "typing". It repesents the start of a new letter. Of course it doesn't have to exactly match up. If you hear rapid sounds and see rapid letters appearing you just kind of assume the sounds go with the letters.
So let's see. Add a fade-out-fade-in envelope to a square wave to give it texture. Then repeat that wave 4 times, and add another envelope to make it warble. I feel like I'm getting closer.
Re-creating the exact shape of the game's sound was a pain in the ass. I wonder if there's an easier way I can approximate it. Just wiggle the waves a bit to add some kind of texture. It's not like I want all my girls to sound like Gort. I just don't want them to beep.
In an effort to reverse-engineer Gort's voice in Shining Force I painstakingly spent about an hour modifying a square wave to resemble the slopes of the recording. My re-creation doesn't sound like a pure square wave anymore.
... but it *still* has no warble. I'm baffled about where the effect comes from in the game's version. But I suppose I could just manually add a warble to my recreation using a volume envelope.
But let's ignore the breakthrough for a bit because I want to try something else first. Creating a warble directly with volume envelopes. Basically just make the volume fade in and out rapidly. In theory that should work too.
It's still not quite the same though. The tone used in the game doesn't sound like a pure square wave. It's also not clear why the voice in Shining Force has a warble since all of its waves are the same length.
Aaahh, I can't help it. I'm gonna take another crack at figuring out Shining Force's character voices. Okay let's see... let's match Gort's deep voice and, wait what? I *already* have a warble in the sound just from the end of it being cut off?? That's... an interesting breakthrough!
Okay now let's tackle coding. I'll start off with the simplest possible version of this. Just hard code a picture to use and react to textbox events so we can see how this feels.
I have to admit this already feels much more lively than before.
I had this big elaborate plan for programming separate modular animations that could overlap any on-screen picture and react to textboxes based on which character is talking, but... I have to admit it's probably overkill. This seems to be enough.
I should probably refine this into something easy to use and customize before I jump into all that other stuff.
My RPG Maker also already had the option to use "typing" sounds. I just didn't tend to bother using them. I wonder if I should speed up how frequently it plays or make it quieter? The only way to know is to pair it with an animated face to see if it feels right.
I don't see any obvious way to imitate Shining force's volume warble, so after a little tinkering I figured out a different way to make a textbox voice chirp. Here's my simple 2-step recipe.
1. Generate a square wave. 0.08 Seconds long. 500Hz for a "teen" girl voice.
2. Apply an envelope using a typical [ADSR volume pattern](https://blog.native-instruments.com/adsr-explained/#what-is) (Attack, Delay, Sustain, Release)
But even though I have a repeating loop, it doesn't look like I can just change the pitch to create a female "voice"
I'm not surprised that it's a square wave.
But what IS surprising is that the sound doesn't have any silent breaks between letters like I expected. Instead the peaks of the sound warble. The top and bottom peaks both follow the same arcing sweep.
Specifically I'll look for examples of faces that fit the personalities of my characters. Unfortunately Satoshi Urushihara only has about 3 styles of faces. The plucky happy girl, the sad gentle girl, and the sweet motherly woman. But it's a start.
Interesting... I just noticed that when I cropped these faces, they tended to be tall rectangles. If I didn't there would be a lot of empty space on the sides. I guess that's why Shining Force did that.
For one thing. They're rectangular and taller than the textbox. I wonder why that is?
Making legs and butts move in this direction is tricky so I decided to steal my own homework and refer to [Sally's walk animation](https://baraag.net/@humbird0/109061325064282377). Besides, Ridinghood’s [downward skipping animation](https://aethy.com/@humbird0/111984025721154180) was a little over-the-top in terms of posing.
So I went back and re-drew them. This time I started with a pair of simplified shapes that moved with the exact motion of her body… *then* I shifted them around just a bit to give them their own momentum. This works because they’re shifting relative to where the eye *expects them to be* on the body, so the eye is able to follow them easier. One frame seems to lead to the next.
I did use a more exaggerated leg motion, and I briefly tried using Felix Sputnik’s arm poses but they didn’t really fit the personality of my character, so I fell back to using Daisy’s feminine arm gestures instead (They also don’t cover up the boobs). Getting the legs to move right turned out not to be too hard, but the twisting of the body made it difficult to transition between facing left and right, especially for the floppy breasts.
After awhile I stumbled across this amazing yet oddly specific tutorial by Felix Sputnik about how to animate a skipping character. And while I didn’t use his exact poses due to the size of my sprite and the limited number of animation frames, he did have some good insights about timing and the way the body will act like a giant spring. Besides, I gotta respect an animator who’s not afraid to put so much casual nudity in his works, and his skill is astounding!
https://www.felixsputnik.com/2017/02/28/skip-tutorial/
https://www.felixsputnik.com/2017/02/28/skip-tutorial/
No surprise that I had way too much fun with this one! And while I already had a good example to refer to with my [Daisy animation](http://www.humbird0.com/content/pictures/sprite_daisy_skip/content.htm) , I figured I’d look for some more reference material to see if I could pull it off better this time around.
I actually got the idea from this website. It doesn't use arrow keys, but it's still incredibly handy to be able to browse full images this way.
https://potofu.me/rojiura-manhole
https://potofu.me/rojiura-manhole
Source code:
http://www.humbird0.com/js/imageZoom.js
http://www.humbird0.com/js/imageZoom.js
# 💾 imageZoom.js
It's public domain. Feel free to use my tiny JavaScript image browser code, in all of its uncompressed 8 Kilobyte glory.
💾 JavaScript: http://www.humbird0.com/js/imageZoom.js
💾 CSS: http://www.humbird0.com/css/imageZoom.css
💾 Buttons: http://www.humbird0.com/css/imageZoom/
http://www.humbird0.com/js/imageZoom.js
💾
http://www.humbird0.com/css/imageZoom.css
💾
http://www.humbird0.com/css/imageZoom/
How fast? Let's try holding down an arrow key.
This is not running off my hard drive. This is the ACTUAL SPEED of the actual website on the actual internet. I just looked at every picture I worked on in the last 20 years... in 20 seconds.
... it feels illegal for a website to be this fast.
Now you can browse every full-size picture on my website with just the arrow keys. And drag-and-drop still works. Nice and fast!
I already created a convenient little picture-viewer for my website quite awhile ago. I think I'll just add browsing to that.
Wouldn't it be nice if you could just browse through every picture in a website's gallery with the ARROW KEYS and just drag-and-drop the pictures you want to save as you go? No need to scroll around, click to another page for a full view, or right-click to download each one? Yeah... I think I'll add that to my website.
I was a little disappointed by the breast motion in my Bunnie Rabbot walk animation. Not enough animation frames. So I felt like giving Ridinghood a cheerful new walk with a skip in her step. The nice thing about this particular motion is that the twisting of the torso has pauses, allowing more time to show the breasts flopping around. Which makes this way more fun for me!
But size can still be a factor. If I want to show the facial expression then I usually want to avoid making it ridiculously small… unless it’s a tiny game sprite. Those have different priorities. So for large pixel art, what if I try quickly drawing my character’s expression in pure black and white, and then scale my reference material down to fit that face? That would theoretically represent the minimum viable size for that pixel art.
For small game sprites it’s rarely possible to show any expression at all aside from the eyes. Sometimes I can show the mouth. But at that size, a sprite’s priority is just showing the pose itself.
Looking back I’ve noticed that the faces in some of my pixel art don’t always have clear details. Some work better than others. So I looked at the some pixel portraits drawn by [JustinPaulcyr](https://twitter.com/JUSTIN_CYR/status/829196024631681024) and realized that the trick might be to start very simple. Draw the face in pure black and white first, then add anti-aliased details later. After all if it works with 2 colors, it’s guaranteed to work with more.
In the end this took about 4 hours to make... mostly because I'm obsessive about the details. Here's a time-lapse #video of the entire process, at 60x speed.
And then the outlines. I use a bright background help be see any missing pixels that might break up the outline. It also discourages me from the temptation to add brighter pixels in the outline to expand or curve the shapes. Sometimes you can get away with that if you don't go too bright. But you still want the outline to at least appear to be solid against bright backgrounds. Providing contrast is an outline's entire purpose.
I pretty much just copied the position of Ayla's arms in each frame, but I noticed some interesting subtleties while doing this. Such as the way the arm shading gets darker as it recedes back. And the way her fist swings outward away from her body, then forward (brighter shading), before overlapping in front of her.
For the walk-cycle I think I'll copy my own homework. I made this nude edit of Ayla some time ago and figured out a good movement for her breasts. No need to re-invent the wheel. Besides Chrono Trigger characters subtly show their personality in the way they walk. Ayla swings her fists. And since Bunnie Rabbot is a strong confident character, it makes sense to use a similar walk cycle for her.
I wish I was kidding. But sometimes people actually get accused of "hacking" when they right-click a website and choose "view source." You know... that ancient feature that's been built into every web browser since the 1990's?
https://www.nytimes.com/2021/10/15/us/missouri-st-louis-post-teachers-hack.html
https://www.nytimes.com/2021/10/15/us/missouri-st-louis-post-teachers-hack.html
Isn't it funny how simply knowing how to use a web browser or a search engine almost feels like a super-power these days?
... You know what that actually is? It's just a regular search that uses the word AND to search for multiple things at the same time. (or something equivalent)
You can do this on any booru website using the ~ tilde character.
So... here's my "personal subscription" on [Gelbooru](https://gelbooru.com/). I just have this search saved as a regular bookmark. No "paid membership" needed. Hell, I'm not even logged in.
Of course browser add-ons can make this even easier. Honestly using Discord in a web browser is more convenient than using the app.... until you want to watch a live stream.
https://addons.mozilla.org/en-US/firefox/addon/not-quite-nitro/
https://addons.mozilla.org/en-US/firefox/addon/not-quite-nitro/
I knew this was going to be an interesting experiment, so I recorded a time-lapse video... where I spend way too long getting the magnifier to behave. Something I didn't end up needing.
An interesting experiment, but some mistakes were made. I had intended to just double the size of the original sprite, but I temporarily used a larger size while drawing the sketch and completely forgot about it, resulting in 4x the original size. In other words, 16 times the amount of detail. Each pixel was replaced with 16 pixels.
Now I'll just turn *that* into a sprite... somehow. Come to think of it, I remember a website that was experimenting with real-time preview techniques for sprite drawing.
https://2dwillneverdie.com/blog/
https://2dwillneverdie.com/blog/
I've been wanting to make this picture for awhile. Many years ago, an artist called [Magnolia](http://www.furaffinity.net/user/Magnolia) made [this amazing sketch](http://www.humbird0.com/content/pictures/sprite_renamon_takato_tuesday/inspiration/pose_by_magnolia.jpg) of Rouge the bat molesting Chris. It has long been one of my all time favorite pictures. Unfortunately, you can't find Magnolia's pictures on FurAffinity anymore, because years ago they decided they're allergic to fun. I guess this sketch is "lost art" now.
I often like to imagine Renamon and Takato in a similar situation. Maybe every time Renamon goes into heat she seeks him out? Rika probably accommodates this because it gets Renamon back into fighting form. When Takato gets invited to her house, he already knows what's in store. But there's no point trying to hide. Renamon WILL find him.
EXIFtool is an awesome program, but... do you seriously expect a human being to type all that?? Why would anybody still need to *type in* commands in the year 2024? The mouse has already been invented. Look, I can *see* the files. They're *right there!*
In my opinion, no program is ever complete until it has a graphical interface. No exceptions. Without a menu it's impossible for normal human beings to use it. You would need a programmer to figure it out for you.
Wait a minute... *I'm a programmer!*
I know this isn't a big deal in a world with internet connections fast enough to stream video, but I just hate bloated files. If only there was a way to save small files *and* store a vector path. Well it turns out that [EXIFtool](https://exiftool.org/) can copy path data. So I'll just save a small JPG file and then add a path to it. An oddly specific solution to an absurdly minor problem... You're welcome!
`exiftool -config photoshop_paths.config -tagsfromfile SOURCE_FILE -allpaths# -originpathinfo DESTINATION_FILE`
## Do what now??
Did you know that Photoshop can save a JPEG image with a vector path!? It’s a very old feature from 2004. The trick is to use “Save As” to create the JPG file.
# 💾 Copy JPG Vector Paths
This program is a front-end for EXIFtool that makes it easy to copy vector paths between JPG files. Just drag-and-drop.
💾 Download: http://www.humbird0.com/content/misc/copy_jpg_path_exiftool/copy_jpg_path_exiftool.zip
http://www.humbird0.com/content/misc/copy_jpg_path_exiftool/copy_jpg_path_exiftool.zip
(partial) Time-lapse #video. 1 second = 1 minute.
Here's a time-lapse #video. I tried using the same technique as last time, but I forgot to use gradient maps, so the colors are less carefully controlled. On the plus side, [Pixelover](https://pixelover.io/) handled the translucent wings very nicely.
Now for the colors. First I'll boost the shading to include the darkest blacks and brightest whites, so I can use gradient ramps to give me complete control over all the colors used for the shading. For example the dark brown has a bit more red in the shadows and a bit more yellow in the highlights.
... I suspect that's how they did it because there is a less-finished portrait that accidentally made it into the game. You can see evidence of a subtle unsharp mask and raw broken edges.
But the whole thing had me thinking about the process of creating this game's art. Those background details are pretty sharp, so maybe they painted the art at something close to the native resolution? After all, the less resizing you have to do, the less blurry the details will be.
So lately I've been playing Final Fantasy Tactics Advance 2 for the Nintendo DS and... holy crap this game is gorgeous! But it had me thinking. This isn't pure pixel art. Those backgrounds look more like paintings. And the character portraits look like resized art that was adjusted by hand afterwards to make the outlines and details clearer.
Now she can't really be surrounded in the woods... without the woods. But they're not exactly the main attraction, so I'm just gonna half-ass the background by finding a photo and shoving it through [PixelLover](https://deakcor.itch.io/pixelover). Sure it won't look as good as proper pixel-art but I don't think anybody's going to mind.
The idea is pretty straightforward. Little Red Ridinghood surrounded by wolves in the forest. But it's still a fun idea. However I've never made a picture with 3 characters. I did one with [2 characters](https://aethy.com/@humbird0/110880151916882344) not too long ago and it took a massive amount of effort. But this idea is way too good to pass up so I guess I'll just have to roll up my sleeves and dive in!
... that said, my cross-poster doesn't update the hundreds of posts I have *already* made, so I'll just have to, uh... spam your notifications with a hundred updates while I go back and edit ALL of them to add a bunch of Japanese hashtags.
I got rate-limited twice while doing that. You're welcome Aethy.
I was poking around online and it occurs to me that there's a whole world of unexplored art waiting for anybody who searches for Japanese hashtags.
For example,
#Digimon is #デジモン
#Pokemon is #ポケモン
#StraightShota is #おねショタ
Well... the opposite is *also* true!
So for all the Japanese perverts out on Mastodon, I'm adding Japanese hashtags to all of my posts.
I decided to see which tags tend to be used on Pixiv for the stuff I post, and added those moon-runes to my Mastodon Cross-Poster so they'll automatically be added to any new posts I make. Google Translate can help confirm their literal meaning, but it's better to look at how actual Japanese artists use their tags.
I created a live demo of the description auto-writer.
🔗 http://www.humbird0.com/content/experiments/auto-writing-nsfw-descriptions/demonstration.htm
http://www.humbird0.com/content/experiments/auto-writing-nsfw-descriptions/demonstration.htm
# 📽 Orphanage
This is an old #finished #video story from 2009 about multiple orphan girls accidentally getting what they secretly want. It was an experiment that attempted to create a story with genuinely happy endings no matter what kinky events were involved. To do this, I set up each character’s preferences and viewpoints to be compatible with the situations they would end up in. The result had characters with some interesting (but unrealistic) philosophies and more depth than usual, but it does result in a lot of unneccessary dialog.
❓ About: http://www.humbird0.com/content/games/yipePlayground2/content.htm#/info
http://www.humbird0.com/content/games/yipePlayground2/content.htm#/info
... aaaaaaand done!
Automatic NSFW descriptions added automatically with no extra work. It only took, like, a couple days of work. Ah the joys of being a programmer. Anyway here's the source code, which is likely compatible with JavaScript.
💾 Download: http://www.humbird0.com/content/experiments/auto-writing-nsfw-descriptions/getDescriptionFromKeywords.js
❓ About: http://www.humbird0.com/content/experiments/auto-writing-nsfw-descriptions/content.htm
http://www.humbird0.com/content/experiments/auto-writing-nsfw-descriptions/getDescriptionFromKeywords.js
http://www.humbird0.com/content/experiments/auto-writing-nsfw-descriptions/content.htm
And the final test. I looked at my existing posts and tried to generate the right descriptions for them using this program. Each one only needed a few keywords. Not all of them were perfect but most of them were.
I'd call this a success!
I put together a prototype program to test my idea for an automatic NSFW description writer. And it works!
I looked at the keyword combinations I wanted, and figured out which rewrites could accomplish them. In the end it looked like everything would be possible.
The idea is each rule checks for a set of keywords. If they're all present, the rule applies. It then searches for a piece of text in the description, and then replaces it with different text.
So for example, with the tags "nude, girl, lesbians" …
"lesbians" adds the text "lesbian sex with a woman"
"nude" replaces "woman" with "nude woman"
"girl" replaces "woman" with "girl"
… and the result is "lesbian sex with a nude girl"
If there is no text to search for, the rule simply adds text at the end of the description. If that text already exists it won't be added again.
A keyword can be excluded using !keyword, meaning a rule only applies if that keyword is *not* being used. This helps prevent two similar descriptions from being added, and allows some rules to "override" others.
I took a break to pick up some groceries, and while walking I had a brilliant idea. Simple text replacement!
Multiple replacements happening in-series.
I could store a list of rules in the settings and have the program check them in order. The output of one rule can become the input of the next rule. Each rule checks for certain keywords and makes adjustments to the description. Priority is just a matter of applying a change later.
Hmm... I think I'll lay out the description kind of like this.
An optional adjective like "nude", then the action, followed by "female" or "girl"
And maybe start thinking about how to store this information.
Simply combining keywords and generating descriptions is easy enough. And that would technically be adequate, but let's try to combine or replace things to make it read better.
But what about now?
🔞 性 🐕 獣姦
Even if you can't read the language, you know this has something to do with animals, and it's naughty.
Besides, it might be useful to separate some words out of the description like that. I've already been using emoji's to label some recurring concepts. I think it makes it faster and easier for people to recognize the themes without actually having to read all the words.
Icons also have another surprising benefit. They cross language barriers!
I have often said that every icon should have a text label because there's no guarantee that people will know what an icon means by itself. But I'm starting to think the opposite is also true.
After all, if you saw this label in a content warning, what does it mean?
性 獣姦
More extreme descriptions should replace milder ones, so "suggestive content" should get replaced by "lesbian sex". I would want to replace redundant descriptions anyway since screen space is limited.
Maybe a NSFW hashtag could just default to "sexual female nudity" as the description, and then just replace it if a more specific keyword is used? This approach is appealingly elegent, and would probably be adequate for the kind of stuff I post.
I could always just have the option to manually write a description if the program's guess is way off.
My hunch is that it should theoretically be possible for a program to accurately guess what the description should be based on the #hashtags. I might need to add a few new tags and a real-time preview of the description to ensure the keywords I've added are enough to adequately describe the post. The goal is to generate the description automatically without requiring extra work from me. I already add keywords, so it's just a matter of adding the *right* keywords.
I recently noticed an old email I got from a mastodon server I'm on asking me to be more specific about the "NSFW" content-warnings I had on some of my posts, saying that they should be more specific to describe why each post is NSFW. I happen to agree. But is there a way to automate this? Challenge accepted!
If you want to try this NSFW game on an actual Nintendo 3DS, you'll need a hacked 3DS so you can run homebrew that can import saved games, such as [Checkpoint](https://github.com/FlagBrew/Checkpoint/releases/latest) or [JKSM](https://github.com/J-D-K/JKSM). RPG Maker FES stores the games you create in its save data, so if you import this "saved game" you'll import my entire game.
💾 [Saved data for Checkpoint](http://www.humbird0.com/content/flash_stories/princess-sex-ed-3ds/princess-sex-ed-3ds-saved-game-using-checkpoint.zip)
💾 [Saved data for JKSM](http://www.humbird0.com/content/flash_stories/princess-sex-ed-3ds/princess-sex-ed-3ds-saved-game-using-jksm.zip)
If you're using an emulator like Citra, then you can import the game data this way:
Should I share it as a checkpoint save for modded 3DS's systems? I'm not sure that would be worth the effort for most people. A simple video playthrough is probably sufficient. I'm kind of tempted to re-create it in my normal RPG Maker with all the nice animations and conveniences, but starting a project with the 3DS version is a hell of a lot of work to make a glorified "rough draft." If I'm just going to re-make something in my normal RPG Maker, I'd be better off making a completely new story.
Okay, I spent the entire day on this Nintendo 3DS RPG, but it's basically done. It seems a little underwhelming because I couldn't show the kind of details I usually do, but the idea itself came together, and the jokes are worth it.
❓ About: http://www.humbird0.com/content/flash_stories/princess-sex-ed-3ds/content.htm#/info#/nsfw
http://www.humbird0.com/content/flash_stories/princess-sex-ed-3ds/content.htm#/info#/nsfw
I don't have the whole story figured out, but the ideas seem to be flowing easily enough. And the limitations seem to slow the pace down enough for me to come up with more ideas by the time I finish adding the previous ones. Hmm... creative pacing. I wonder if there's a way to design something that encourages that? Unfortunately I barely understand how it's working, or why.
The game doesn't like it, but I really want to use "pussy" here. Other words *could* work I guess.
When the passage is closed, the sprite is invisible but collides with the player.
Talking to the sprite turns on a switch variable...
... which makes the sprite look like a floor tile and disables collision.
I'll rough-out the map for now and add details as they become relevant for the story. Then polish up the rest of the visuals later after I'm done. This way it'll still be easy to change things around if I want to.
You can only turn off the collision of tiles that are NOT on the lowest layer. And then you can add some wall sprites that block the player, but can later change into "floor" tiles that let them walk through. Sprites aren't allowed to use the tiles reserved for the lowest layer, but luckily there are mid-layer tiles that look similar enough to blend in, so you can use those instead.
Granted, I'll still have to wrestle with "switch" variables and the same limited scripting that all RPG Makers seem to have. I'm so spoiled with my own RPG Maker where I can just change a character's pose in the middle of a conversation. In fact, couldn't I do that in RPG Maker 2000? You'd think after literal decades these programs would GAIN features instead of losing them. I mean I get it. They want the programs to be beginner friendly. But some limitations make things harder instead of easier.
Maybe the 3DS version of RPG Maker FES will let me use grass tiles? That was the only real deal-breaker I couldn't ignore.
Wow... this is MUCH easier to use! A lot of interesting quality-of-life features for a low resolution and a controller. They put some real effort into this one. The map tiles are super flexible. And the touch screen actually works well! They even have freakin' scroll bars. Thank you! I'm surprised the Switch version is such a downgrade compared to this. How did they manage to forget all their good ideas?
It feels kind of pointless to artificially hold myself back in my own RPG Maker. It's hard to figure out where to draw the line or be consistent. I keep adding elaborate effects and detailed character poses. Sure I have a few little story ideas, but it feels pretty aimless. The original inspiration was to try pushing back against limitations and automated censorship to make something as naughty as possible. I need to focus on that core idea.
I've always had a soft spot for the blocky walls in Final Fantasy 4. They feel perfect for things like secret passages. Later Final Fantasy games switched to making their walls fade up into a dark border, which looks less weird for large areas. All the RPG Makers also imitate this approach. But it makes the walls feel less... I dunno, moveable? If you hide the depth you hide the idea of something being on the other side. Sometimes you *want* things to look like blocks. Blocks can move. They can hide things.
Wow, the Nintendo Switch version of RPG Maker is downright *painful* to use. The menu controls are clunky as hell. It forces me to dig into multiple layers of focus just to press a button that's already on the screen, and the touch-screen is laggy and imprecise. I guess I'll try to bear with it. It's all part of the challenge, right? Surprisingly it doesn't seem to block any naughty words. But maybe it only checks that when you try to upload a game?
Wait... why can't I add any grass tiles for interiors? Maybe I can improvise with an "exterior" chipset and walls? But then I can't place any furniture. I'm just trying to make a crude old-school castle with everything on a single floor. Why is that so hard?
I'm thinking... what if you visit a generic old-school video game castle with everything on one or two floors? Super primitive. All the guards repeat each other. A princess playing in the garden with her bunny. That kind of thing. It all looks completely innocuous. The king gives the hero the typical quest to slay a dragon. But... if you talk to a couple of the NPC's, their small-talk will just happen to mention a slightly odd detail here and there. And if you follow these leads they lead to kinkier and kinkier details of things happening behind the scenes at the castle.
My current project is something completely pointless, but kind of fun.
I'm challenging myself to make a naughty RPG in an *official* RPG Maker. I seem to recall that the console RPG Makers have these keyword filters that try to keep you from swearing or using "bad words" and I want to try making the naughtiest story possible while dancing around the limitations.
# Why I Use Flash
http://www.humbird0.com/content/about/why_flash/content.htm
http://www.humbird0.com/content/about/why_flash/content.htm
… and I realized I could skip compiling the same game over and over if all the data was in a separate file. A level file. And to edit that file, I needed a level editor. And since I was making an RPG, it became an RPG Maker. So in the end I achieved my goal.
It’s been over 10 years and I’m still using that RPG Maker. I’m still using Flash. And I’m still making games that run flawlessly on everything from Windows 98 to Windows 10… also [Linux](https://flathub.org/apps/com.adobe.Flash-Player-Projector) and [Mac OS X](https://archive.org/details/flashplayerarchive).
The second time I switched to Flash was after using RPG Maker 2000/2003 for about a decade. I had made a ton of games and self-playing stories with it and had gotten very good at programming it to do things it was never intended to do such as a real-time zelda-like battle system, or an Asteroids-like space shooter where you could rotate move and shoot in any direction. I had spent about 4 years creating a zelda-like game called [Tears of Inferno](http://www.humbird0.com/content/games/zelda_marle/content.htm), and it was coming out great, but programming the enemies was turning into a convoluted mess because of all the messy goto statements that RPG Maker 2003 forced me to use. In the back of my mind I already knew Flash could do all of these things and do them better so I eventually decided to just start over and use Flash instead.
After messing with this primitive little program for some months I soon discovered a new program called Macromedia Flash 4 that could do all those things and much more. The original Guardia Forest flash game was originally going to be a very elaborate kisekae game, but Flash turned out to be a much more practical way to build it.
Now my "Psyduck Learned Teleport" story has illustrations!
📖 Read: http://www.humbird0.com/content/stories/psyduck_learned_teleport/psyduck_learned_teleport.txt
❓ About: http://www.humbird0.com/content/stories/psyduck_learned_teleport/content.htm#/info
http://www.humbird0.com/content/stories/psyduck_learned_teleport/psyduck_learned_teleport.txt
❓
http://www.humbird0.com/content/stories/psyduck_learned_teleport/content.htm#/info
This sucker took 8 freakin' hours!
Time-lapse video at 60x speed. (1 second = 1 minute)
And finally... the shading. Unfortunately my recording software stopping working before I did this part so you won't get to see the details of the process in the time-lapse video, but I used the same approach as my other sprites. This part was surprisingly quick. The cum was mostly just kind of improvised. The key there was making it look like it's overlapping itself to make it look even thicker. The shadows also help show that it's squirting away from her.
Then I'll give Pixelover a part of my intended palette with only the colors I want it to use for outlining, turn off dithering, and fiddle with the resize options for like... an hour. The results will never be perfect, but the goal is to get something pretty close that I can make adjustments to afterwards.
... so I decided to try something different this time. Let's try using [Pixelover](https://deakcor.itch.io/pixelover) to resize a large vector image down to sprite size. This is difficult for any program, and Pixelover usually creates disappointing results, but... what if I design the art FOR it.
I'll use thick lines like I did with Paint Tool Sai, but this time I'll fill them with their intended colors, or at least something close.
I've decided to add some illustrations to this story. Let's make a picture for the ending.
My old [pixel counting](http://www.humbird0.com/content/tutorials/create_sprites/content.htm#anti-aliasing-and-animation) technique doesn't seem to work well for larger sprites because it assumes every edge is fading to black, so it looks ugly when things overlap each other.
# 📽 Wolf Disguise
An old #video from my RPG Maker 2000 days.
❓ About: http://www.humbird0.com/content/games/yipePlayground2/content.htm#random-scenarios
http://www.humbird0.com/content/games/yipePlayground2/content.htm#random-scenarios
I finally finished redesigning the top of my website. Now it uses pretty icons, which look great on phones. It took awhile to create them all.
http://www.humbird0.com/content/show.htm
http://www.humbird0.com/content/show.htm
And now the iFrame looks like this.
Almost done. The breakpoints are resizing my header's iFrame nicely. Now I just need to create the actual icons. Hmm... what should they look like?
No really... That might actually be the best way to do this.
So I suppose the most compatible way is to use JavaScript to resize it. Which I can totally do.
... and there's supposedly this hack you can do using `@property` to force a CSS variable to be an integer which causes rounding as a side-effect... but that was only *just* added to Chrome browsers in 2020 (and no current version of Firefox), so... not exactly compatible with older devices.
https://css-tricks.com/using-absolute-value-sign-rounding-and-modulo-in-css-today/
https://css-tricks.com/using-absolute-value-sign-rounding-and-modulo-in-css-today/
Well I'm a stubborn fool, so Imma do C!
Well... I *wanted* to use CSS calc() to do this, but somehow most of the web browser programmers forgot to add the ability to round numbers. I kinda need that to count icons and figure out how many rows there are.
I mean, Apple's Safari browser supports rounding.
https://stackoverflow.com/questions/37754542/css-calc-round-down-with-two-decimal-cases#answer-74605447
https://stackoverflow.com/questions/37754542/css-calc-round-down-with-two-decimal-cases#answer-74605447
Welp, that's the idea anyway. Now for the tricky part. Sure, it's not hard to use a flexbox to arrange the links in this way... on ONE page. But my website has over 400 pages. So do I...
a) Copy and paste these links onto EVERY SINGLE PAGE and then re-upload EVERY SINGLE PAGE whenever a link changes?
b) Rely on JavaScript to automatically paste the links each time a page is displayed, ensuring that people without JavaScript always have a crappy experience?
c) Somehow make an iFrame change size even though it has no way of knowing how big its content is?
These icons might look big of chunky but we're not worrying about saving space anymore. Besides, icons tend to look a lot better when they're wider than their text. Ideally the width of the icons and text would match making a "square" shape, but the icons themselves have the biggest impact on the perceived "shape."
So with that in mind, I plan to make the icons slightly rectangular so that the height of their text turns the entire thing into a nice cohesive "square"
# 📖 Psyduck Learned Teleport?
This is a #finished #story about Misty getting teleported into a sticky situation.
📖 Read: http://www.humbird0.com/content/stories/psyduck_learned_teleport/psyduck_learned_teleport.txt
❓ About: http://www.humbird0.com/content/stories/psyduck_learned_teleport/content.htm#/info
http://www.humbird0.com/content/stories/psyduck_learned_teleport/psyduck_learned_teleport.txt
❓
http://www.humbird0.com/content/stories/psyduck_learned_teleport/content.htm#/info
And then there's CORS which stands for [Cross-Origin Resource Sharing](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS). Which actually means the opposite. Browsers don't let JavaScript load stuff from other websites, because advertisers abused the internet so badly that now nobody else gets to do it... so I have to download all the files with the website lists ahead of time, upload them to my own website, and *then* read them. Sure it works, but it's kind of janky.
That doesn't mean my re-write was short. Just loading a text file takes quite a lot lines in JavaScript. And since they're not using JSON I have to use a bunch of `indexof` commands to scan through the text, find the `var sites =` line, find the opening bracket, find the closing bracket, remove all the whitespace and automatically correct any syntax mistakes they made while hand-writing these files, and finally feed the list into JSON to turn it into an normal array. That was most of the code I wrote. The rest is just finding an ID and injecting the HTML.
I'm not picking on anybody here. They *all* do this, because they're all using the same code. A web-ring system called [OnionRing.js](https://garlic.garden/onionring/) which is actually the simplest and least-terrible one available at the moment... if you can believe it. The other 3 web-ring systems I looked at all required a GitHub account, a Netlify account, and a PHD in bloated code. Why do you need to sign up to 2 other websites and their dependencies for something *this* simple!? Suddenly OnionRing.js doesn't seem so bad in comparison.
And of course, me being me, I couldn't simply copy-paste their link code and call it a day. Nope I had to go and *look* at the code, then recoil in horror at the fragile sequential script tags, global variables, and table tags. So... many... tables... You're only adding 3 tiny pictures guys, what are you doing??
Sure enough I did a little looking around and found some new webrings people have been creating for adult art. Apparently a lot of adult artists are tired of their stuff getting hidden or deleted off social media all the time. Many of these web-rings revolve around [Neocities](https://neocities.org/), which is delightful. So today I added 3 webrings to my page to hopefully make it easier for other people to find me. [Neo Creatives Webring](https://neocreatives.neocities.org/), [The May December Club](https://maydecember.neocities.org/), and the [RPG Maker Webring](https://ophanimkei.com/media/RPGMaker.html) __(which does allow adult content)__
Finding adult artists is easy these days, but finding artists with their *own websites* is much harder. Most people only use social media or art sites like DeviantArt or FurAffinity. Search engines can't tell the difference between a hand-crafted personal site and a social media page. It's all HTML to a computer. I love personal websites. You see so much more of a person's creativity in them.
Also, I think I figured out the trick to adding colors to the outlines without making them look "broken." Just make sure both colors in the outline are much darker than the shape they're outlining. If you look at the finished picture against a bright background the outline looks like a solid color. But against a dark background the edges of the shape will look slightly smoother.
This COULD be considered done, but... I can't help myself. I gotta anti-alias *all the things!* It's an addiction. It's also my favorite part of making sprites. Nothing too fancy. Just slightly lighten the outlines where they meet the inside of their shape, and slightly darken a pixel in the shapes where they meet the outline.
The tail also needs to be on fire. I didn't bother trying to trace something like that. Instead I just kind of improvised the flame with multiple layers, each with a different color. Going brighter and brighter. It turned out the key to making this look good mostly boiled down to 2 things.
- Brighter colors should generally go below darker colors, to make the flame "rise"
- The bright colors need to be surrounded by slightly darker colors, to make them "glow"
I can probably work with this. Now to use these pictures as guides to draw the actual sprite outlines. After that the sprite-making process ended up being mostly the same as usual for me. I was able to mostly trace the lines that the vectors gave me with only minor adjustments to their shapes, instead of using my usual "pixel counting" technique. After all I suspect that the sprite-making process tends to go faster and smoother if I save all the anti-aliasing for last.
But for this particular project I *wanted* consistent lines! Because they would shrink down to a fairly clean outline for the sprite art. And after doing Charizard I knew how thick I needed the lines to be.
But this really cramped up my hand, and the line thickness was inconsistent. But then I remembered something that is extremely good at consistent line thickness. [Paint Tool Sai](http://www.systemax.jp/en/sai/) and its legendary "curve" tool. I had tried this program years ago when I was making art for my [Guardia Forest Remake](http://www.humbird0.com/content/games/guardia_forest_remake/content.htm) game. The Curve tool is amazingly intuitive to use but it tends to make vector lines with a consistent thickness that looks weirdly artificial in normal artwork.
Another day, another nagging need to accomplish something. I had an itch to make another sprite and then I found this [really interesting tutorial](https://2dwillneverdie.com/tutorial/live-resize-real-time-pixeling-as-you-draw-line-art/) about creating a real-time preview of a sprite *while you're drawing it* in Photoshop and I wanted to try the technique.
I re-created the title screen of one of my stories, as pixel-art... just to see if I could. Making this took about 5 hours.
# 📽 Watch the story
That way, the audience doesn't question it when another "letterbox" appears. And since they're looking up for the text, they probably won't notice that the image is squishing down this time.
And then, suddenly... WTF it's 3D now!?
And to make the letterboxing look like it "belongs" I added a couple of 2D scenes before this one that use "cinematic" letterboxes to display the text of the credits.
So I have to transition from a tall 2D image to a "squished" 3D image, and I do a cross-fade at the same time to hide the fact that these are two slightly different images. If you look closely, the jar on the left changes and some objects on top of the roof disappear.
... so to hide it, I added a camera rotation to distract the viewer.
This involves changing the camera's zoom level while adjusting its distance to keep the building in the same place on the screen.
In motion, this "pop-up" book effect is very noticeable...
Back in 2004, I experimented with creating a seamless 2D to 3D transition effect for my Night Raider game, that you would see during its ending credits. It's actually a video, but it's designed to look like RPG Maker 2000 is suddenly doing 3D somehow.
# 🐞 BUG FIX
- Jigsaw puzzle can scroll while dragging pieces or finished puzzles. Helpful on the Steam Deck.
- Ending glitch that made it impossible to finish the game if Ridinghood joined your party in an unusual way.
- Jump glitch that would disable your ability to jump if you go to another map in the middle of a jump.
💾 Download: http://www.humbird0.com/content/games/yipe_fakeQueen/princess_rescue_win.zip
- Pasting a saved game no longer results in a weird square symbol instead.
http://www.humbird0.com/content/games/yipe_fakeQueen/princess_rescue_win.zip
-
My reference material was based almost exclusively on the work of Xylas. Misty just doesn't have the right proportions for Cream the Rabbit.
https://inkbunny.net/xylas
https://inkbunny.net/xylas
And I set up my website so my Flash games will *still run* in browsers that support it, such as Pale Moon.
https://archive.org/details/palemoon-with-flash
Of course you can also download EXE versions of the games to run them on everything else, like your Steam Deck.
https://archive.org/details/palemoon-with-flash
Of
Okay, my new website is UP!
If you want to see all the adult content, you have to use this address.
http://www.humbird0.com/content/show.htm
http://www.humbird0.com/content/show.htm
Okay, everything seems to be working now.
... except RSS feeds.
Well they *do* work but they're not loading their CSS files. Apparently I accidentally used a root-relative path of `/rss.css` which won't work in RSS feeds. You have to use full paths like `http://www.humbird0.com/rss.css` instead. If you think about why, it makes sense. An RSS feed gets downloaded and viewed separately from the website it came from, so the paths have to be full URL's. Anyway, it's an easy fix.
# The Problems I Expected
Sure enough, things didn't go perfectly. But much better than I expected. Apparently Hugo converts all folder and file names to lowercase by default. My local NodeJS test server was resolving these differences transparently so I never knew it was happening. But the real server is case-sensitive. So pages are "missing" if a link points to a file name with upperCase letters but the actual file is all lowercase.
By the way, WinSCP has been an amazingly useful program. Aside from being able to watch folders and automatically sync them like DropBox, and being fully scriptable, it's been my favorite "FTP" program for about a decade now. It's freeware, but after all this time I should probably donate as a way to say "thank you"
Let's see... is it worth one Big Mac... or five?
Hell, let's make it 10 Big Macs for 10 years of service.
Okay, I'm home from work. I have tomorrow off. Time to do a couple pre-flight checks and launch this sucker!
Actually there's very little to do. In theory, all I have to do is tell WinSCP to sync the new website's "public" folder to the server and... done. Most of the actual files on the server won't even change. I'm just replacing the HTML, CSS, and JavaScript. And the original URL to access the website will stay the same.
Alternatively I could take the consistent and program-written HTML of my website and maybe parse that... but I probably won't. XML is a pain in the butt to work with at a programming level. __(although I recently had an idea about a way to maybe import and export XML to data and back like you can with JSON)__
Will I have to go through all of this again in another 10 years when I decide to redesign my website again? Maybe... Hopefully it will be easier. Using MarkDown is supposed to force my content into a simpler and more consistent format. Hugo is a single self-contained EXE so it should be possible to run it 10 years later to read all of this and spit out something else.
The hardest part was actually the project descriptions. I don't mean the one-liners you see under the thumbnails. I'm talking about the "More Info" tab explaining the inspirations and discoveries behind each project. I ended up manually re-creating each of these from scratch for almost 300 projects. And that's where most of the time went. Maybe I should have just parsed the existing HTML files as XML and tried to look for patterns. That probably would have helped. But part of the problem is that these were all hand-written HTML, and XML parsers are more picky about syntax than web browsers, so that was not likely to work smoothly. On top of that, I might have presented some things in weird custom ways in some of the files.
Most of the blogs were easy to convert. That might seem surprising since they're the longest stuff on my site. But what made that easy was *how* I stored them. Almost every article was originally just a bunch of separate social media posts on Twitter or Mastodon, which I was managing with my Mastodon/Twitter cross-poster. That means I already have a JSON file with *every post* in it, and each post was tagged with the project it was talking about. So it was trivial to add a feature to my cross-poster to look for every single post about a specific project and just dump all of them into a single MarkDown file ready to upload as an article.
All the downloads are stored in each project's metadata. Which is also just JSON. In fact I'm still using __(mostly)__ the same JSON format to handle the metadata for the new website. That side of things hasn't changed. But I decided to rewrite my metadata editor again from scratch because I didn't want to stare at my sloppy old programming. I theoretically could have skipped doing that and just made slight alterations instead.
# 📽 Little Drunk Ridinghood
This #video #story is a remake of a *very* old story I created in RPG Maker 2000 back in 2006. I was going to post a recording of the original, but it was embarrassingly primitive, so I quickly remade it in my current RPG Maker.
❓ About: http://www.humbird0.com/content/show.htm#/games/yipe_playground_2/info
http://www.humbird0.com/content/show.htm#/games/yipe_playground_2/info
Another technique I'll borrow from my large sprites is setting aside one extra color just for shading. I used to just skip shading my tiny sprites because there's barely enough room for even the basic shapes. But with an extra color I guess I can add a little bit. I think I might also use it to just *slightly* soften the stair-stepping of the edges without making them too blurry... I hope.
# Website is Done...ish
Okay, it's working. The *content editor* is theoretically done. The website's Hugo templates are all finished. The HTML and CSS are how I want them. I still need to make a few tweaks to the upload code to update the galleries and search results too. But the main task now is re-writing all the readme text for all 338 projects, and re-writing all my blogs in MarkDown.
After all that, *then* I'll upload it.
See you in, like... a month.
If I was just matching against single index's this would be easy. When you drag-and-drop a file, just construct a string, and do a look-up to see if anything matches it. But the optional index makes things tricky. It's doable, but I'll need to construct multiple strings and do a look-up for each one. And maintain counters for how many of each file-type has been used so far. Also I won't be picky about image extensions, so I want all image files to use look-up strings with "img" as the file-type.
Okay, maybe it doesn't need to be *that* complex. These are only guesses after all. So I'll just construct a single look-up string and always require an index number.
It seems to be working pretty well.
I listed out the guesses I want my program to make and I noticed some things. Every guess will always go with a specific project category and file-type, but the index is optional. Sometimes the index needs to be above a certain value (>1). Also the index isn't the position of the file in the download list. It's whether this is the 1st or 2nd image in the list, regardless of how many other files come before it, or in-between the images. So I need to consider that too.
The easiest way to represent a combination of values is as a single string. This combination will correspond to a resulting assumption, a label and icon to use. So the "key" is a string, and the value is an array with [icon,label] so I'm thinking:
`"category-fileType-index":["icon", "my label"]`
for example:
`"games-zip-2":["editor", "Download the level editor"]
So here's an idea. What if my editor can guess what my downloads represent when I drag and drop a file into it? Looking back over the past 10 years of projects on my old website, I seem to have a certain way I like to do things. The first ZIP file of a game is almost always the playable Windows version. The 2nd ZIP file always tends to be that game's level editor. When I add a video to a Flash Story it always tends to be a recording of that story. These are very safe assumptions to make about me, so my content management program can make some very good guesses. And if it happens to be wrong I can just edit the label and icon. This won't just speed things up, it'll also make the downloads look more consistent. And consistency is just plain good design.
# Download Auto-Assumptions
I take a certain philosophy with my download icons. It doesn't matter what the file-type is. Nobody cares about the extension. All that matters is what the file *represents*. Is it something to watch? Something to look at? Something to play? The visitor clicks it with an intent. That's all that matters.
But the way I added this was clumsy. I already had a list of downloads and I just tacked-on an extra "mainDownload" variable to every project, completely separate from the list. And then I had to program my content editor to go back through my old projects and make it to guess which link should be that project's "main" download. Should it be the first download? What if there are *no* downloads? Was it the content being displayed? What if they were the same? In the end they're all downloads. I should have just used the first download in the list.
# The First Download is Always the Best One
At some point I added "main" download buttons to my old website. It made sense. After all, whenever I go to a website to get a program or a game, two downloads always feels like one too many. I just want *the thing.* All that other crap can just piss-off. Sure level editors are a nice option. But being confused is not nice.
It's very tempting to store the keywords together. I was about to do this for my new website... until I realized something. The website's search page actually *uses* the categories to pre-generate the non-JavaScript search results. Those separate categories are useful information. I *could* program my website to make its own assumptions about which keywords belong where, but it seems so much simpler to just preserve the categories I already have.
So why not just store all the keywords in ONE list and let the editor's category lists sort it for me?
My update posts already store all the keywords in a single list. I even edit them without separate category lists. Instead I improvised a way to display multiple category labels inside the editor's one list. It works reasonably well and it's enticingly elegant. But I do spend a fair amount of time scrolling down just to find each of the categories, and I kind of dread the "misc" category with all the leftover tags stuffed in there. It's a lot faster to find the categories if I can just see them all at the same time, so I think I'll stick with displaying multiple lists even if it looks bloated and ugly.
# Labelling *All* the Things!
My old website had dozens of keyword categories. Most of the time, half of them didn't even get used. But the way I programmed the keyword editor was interesting. The program would just add a keyword, and each of the lists would decide for themselves if that word belonged in them. In over 10 years I've never had a keyword accidentally end up in two lists. In general, keyword collisions just don't tend to happen. This had a nice side effect. The programming was much simpler. Other things like the character pairing icons, could easily add keywords without needing to know how any of it was organized. So I could theoretically reorganize the keywords without having to update a bunch of other stuff.
And the project editor is the same way. I don't re-create the editor every time I view a project. It only reacts to changes. No need to initialize. When you switch to another project, you just change what you're displaying. When the user clicks a button, that's the only time that button sends an event. And if the new information matches the old information, don't react. That's how I avoid infinite loops. My RPG Maker works the same way.
But I don't need everything right away. I only edit one project at a time. So why not just load them when I view them?
Doing this is actually kind of complicated. I still need an overall list of projects, and that list does need to know more than just the project's name. I like being able to sort the list by date or by category when I'm looking for a specific project.
But here's the thing. I *already made this* over 10 years ago. That's how I managed my old website. Why not just modify the editor I already have? Well... *I could*. But have you ever looked at a picture you drew 10 years ago? It's awful. Looking at my sloppy old code is horrifying. I can't stand it.
Most websites put their content manager on the server. But most websites are collaborations between multiple people, and need a database to handle massive amounts of content.
I'm not most people.
I'm just one artist with a relatively small body of work. So a static website can scale enough for just little ol' me.
Oh yeah, another new trick I used was adding one more skin color at the last minute just for shading, so it doesn't interfere with all the anti-aliasing work I've already done.
And yes, this really did take 5½ hours. Here's a time-lapse video at 60x speed. (1 minute = 1 hour)
I just discovered that I can use the same thought-process for smoothing outlines between objects. But instead of using a translucent pixel, I just use a darker color of the object being overlapped. So if the outline of the hair looks too thick in front of the face, I just chip away at it with some dark skin tones.
I'm going to put translucent pixels on the *outside* of the outline. Not everywhere. Just in places where the line looks too thick. This will give the the benefits of both techniques. I can use colors to show shape detail *and* have consistent looking line thickness against bright backgrounds. Of course a dark background will simply fill-in the translucent pixels, so this picture can truly look good against any background.
Lately I've been unsure about how I should outline my pictures. Single color outlines VS multi-color outlines. Both have minor problems. Single color looks nice and clean but the line thickness can look uneven. Multi-color lets me imply shapes better but parts of it can look broken and messy against bright backgrounds. The irony is that outlines exist to give sprites in games good contrast against any background. So the outline isn't supposed to rely on the background to look good.
Hmm...How big should the head be?
In my recent pictures I've been going back and forth about whether to use "broken" outlines with antialising... or solid single color outlines. Lately I've been starting to prefer using solid outlines.
"Broken" outlines add other colors to smooth out the inner shapes but they sometimes look bad against bright backgrounds.
"Solid" single color outlines contrast better but the line-thickness can look uneven.
Today I was making an icon and realized that adding external anti-aliasing fixes the problem with broken outlines. The irony is that traditionally outlines act like a thin piece of background that travels with a sprite to guarantee that it contrasts against any background. So if an outline starts relying on the background to look good that kind of defeats the purpose.
Anyway, my concusion is to only use broken outlines with translucent external pixels to smoothly blend it with backgrounds. Otherwise, just stick to solid color outlines.
I decided to try a slightly different approach this time. Instead of trying to figure out the entire palette at the beginning, I'll just start with 2 shades of each color. I tend to use a single color when things overlap anyway. Besides there's no point trying to anti-alias things when I first start outlining since I always end up going back later and redoing it all.
And a 60x speed time-lapse.
Okay, maybe it's not an *exact* copy. That would be... cheating?
(Head drawn by [14-bis](https://www.deviantart.com/tallsimeon2003/art/Wendy-O-Koopa-Commission-381660868). 2 of the teeth drawn by [Argento](https://inkbunny.net/s/1238198). Lasso tool drawn by John Knoll at Adobe)
And now the usual steps.
But... as cleverly elegant as it seems to repurpose the HTML of the directory page, I think I should use proper radio buttons instead for the keywords window. They represent what's actually happening better, and it will also look better too. My [old website](http://www.humbird0.com/content/show.htm) already does this. It styles the radio buttons to look like 3-state buttons that touch-screen users can use to include or exclude things from a search. But because they're actually radio buttons they behave the way keyboard users expect so you can use arrow keys to switch between their states.
For people who do use JavaScript, I can do a proper search with multiple words. So I can re-purpose the directory page as a list of keywords. Same HTML, but JavaScript changes its behavior to work as toggle-buttons.
Both approaches are touch-friendly and fully keyboard accessible.
For people not using JavaScript, my website's search just displays a directory page with all the search terms and Hugo pre-generates the results for each of them. You can only "search" for one thing at a time this way, but that covers most situations anyway.
I'm mostly done figuring out my new website. At this point I'm just adding little optional JavaScript quality-of-life extras.
Such as image zoom. This isn't Lightbox. It's just a [tiny little thing](http://www.humbird0.com/js/imageZoom.js) I made, but it's very nice to have. Basically any picture inside of a link to a picture becomes clickable.
A time-lapse video of this sprite being created, at 60x speed. (1 minute = 1 hour)
A time-lapse video of this sprite being created, at 60x speed. (1 minute = 1 hour)
I have a soft-spot for the Sega CD version of Amy Rose. I like to imagine her being this aggresively horny teenager who's new to sex and absolutely obsessed with it, while constantly stalking Sonic. The Archie comics mentioned them being pen-pals, so she probably loves sending him naughty fanfics she wrote.
And a time-lapse recording in case you're curious to see how the fabric came together. This one definitely took a lot longer than the others.
It looked *sort* of okay... but it was turning into a mess of curls and ripples with barely any grasp of what the light was doing. I decided to ditch this and take a step back to reconsider what the overall *shape*s were so I could be sure about where the light should go.
So I went back to the outlines in Photoshop and started laying down some very basic shading. I knew the leg was up here...
I unwittingly made the highlights too bright, so I ended up going back and adjusting all the anti-aliasing, somehow never realizing that I had filled her in with a brighter color this time.
Same process as the others, so I won't go over it. Let's just jump to the time-lapse.
So... a few weeks ago I was going to make my new website using a static site generator called Hugo. And then... nothing?
Actually, it's going *incredibly* well!
So why haven't I been writing about it? Well learning something new tends to burn me out after a few hours each day, so I don't usually feel like writing about it right away. But I *have* been writing about the process... a lot... okay, maybe *too much.*
In fact, maybe I should just post a few highlights here and post links to the rest. That way I won't flood your porn-feed too much. ;-)
Oh, and a time-lapse at 60x speed.
And the original pose, by Sunahara Wataru
And a quick time-lapse recording at 60x normal speed.
And here's a time-lapse video of this sprite being made.
# 📽 Time-lapse video of "Misty Reads"
I also recorded a short time-lapse video of this sprite being created. (60x normal speed)
Supposedly, studies say that the ideal width for paragraphs of text is somewhere between 50 and 70 letters wide.
https://baymard.com/blog/line-length-readability
https://baymard.com/blog/line-length-readability
Hugo can automatically generate a table of contents for a page. I've always wanted to do that thing where it sticks to the side and follows you down when you scroll. Stretching the tutorial to the full width of the page would make the paragraphs uncomfortably wide anyway, so I might as well limit its width and use the extra space for the table of contents.
So maybe you're wondering why I'm going to all this trouble just to use MarkDown. What so great about it? Well... look at this video. **This** is how fast you can throw together a page with MarkDown!
Okay, I can coerce MarkDown to put the video inside the paragraph tag with the text by putting text just before the video. Such as a stray period. Another slightly ugly hack. From there my CSS can treat it just like an image.
Actually, if I want to be extra-sneaky, I could use a non-breaking-space instead of a period. But somehow the space actually looks *more* noticeable... at least to me.
I will also have to be *very* careful with image margins or the pictures will wrap.
We're floatin baby!
I got it to work using floats and even *weirder* CSS logic. This will work in browsers from 2 years ago. If I wasn't relying on that :not() keyword, this would work in browsers from 10 years ago. Even so I count myself lucky that I got it working at all. This is the price I pay for using MarkDown.
Making sets of images automatically arrange themselves like Twitter is tricky. When there's an odd amount of pictures I want the last one to fill the width. But at the same time I don't want images to expand when they're next to text. The hard part is that CSS can't detect the text as a separate thing if it's not wrapped separately. But using some weird flexbox wrapping logic I somehow made it work anyway. There's just one problem... this only works on the *latest* versions of Google Chrome and completely breaks on Firefox.
The problem is that the :has() keyword in CSS is still too new and experimental.
I might have gotten ahead of myself. Although I was able to make my existing blog posts and tutorials look good on the new website, I completely forgot that I wanted to use MarkDown to create these. That's part of the reason why I'm making my new website this way. Hugo will automatically convert MarkDown files into HTML when it generates a website.
As for the design... it's counter-intiutive, but it's actually less annoying to push the *entire* website down, than to overlap anything. Overlapping is basically a pop-up, which is annoying because it gets in the way of seeing or clicking things. Since a disclaimer can't realistically filter visitors anyway, just make it noticeable but unobtrusive. It's just a heads-up warning.
But I don't want it there permenently "polluting" the page's design either, so clicking gets rid of it. CSS has no way of detecting repeat visits, so I'd need JavaScript to keep it from showing up again next time. But the worst case is if JavaScript can't run, the disclaimer just displays normally. Nothing breaks.
The trick is to overlap it with an invisible checkbox. When you click the checkbox, CSS hides the iFrame next to it... and also the checkbox itself.
The + selector allows CSS to detect things that are next to each other. For example...
.checkbox:checked + .disclaimer{}
This will affect the disclaimer when the checkbox is ON
I decided to figure out the disclaimer. The behavior is similar to my old website. Push the page down, and disappear when you click on it. The difference is that this is 100% CSS. I might add some optional JavaScript later to prevent displaying it if you've already seen it.
I finished adding the window sitters. Making little scenes looks much more interesting than having individual characters just sitting there. Sometimes it looks a little too busy when a tutorial has all of its steps collapsed, but most of the time they're spaced apart well. I decided to use a CSS sprite after all because that lets me shuffle them all using a single CSS variable and a tiny amount of JavaScript. I kept them tame because I want the spicy stuff to have content labels to warn people before they see anything..
After *way* too many failed attempts I finally figured out how I want to handle random window sitters. Making a picture sit on top of a window is easy, but the "random" part took hours to figure out.
CSS does not do "random". Not even a little bit. But it CAN do staggered rules, which sometimes overwrite *parts* of one pattern with another pattern, breaking it up enough to look convincingly random. I might throw in some optional JavaScript to randomize the --seed CSS variable to make every page look different. The idea is that I'll still have a convincing effect if JavaScript fails to run.
I just realized I could have used separate images. The CSS Sprite trick I'm using is completely uneccessary. All of the "randomness" actually comes from those nth-child() selectors. Nothing else.
# 💾 Story Book Template
This is a #Finished Photoshop template to create previews of stories.
💾 Download: http://www.humbird0.com/content/misc/story-preview-template/story-preview-template.zip
http://www.humbird0.com/content/misc/story-preview-template/story-preview-template.zip
# 💾 "Recommended" Web Badges
This template is a Photoshop file that helps you create hi-resolution web badges, that should still look good if you scale them down. You can easily replace the text and images. Their style is inspired by the old Netscape Now badges you used to see way back when.
It's just something I threw together while thinking about how I might attempt to present some of my very old websites. Even if I uploaded them, modern browsers might not display them right because they sometimes used weird old plugins or non-standard browser features. I'm not sure that would be worth the hassle for anybody.
💾 Download: http://www.humbird0.com/content/misc/web-badges/website-compatibility-badges.zip
http://www.humbird0.com/content/misc/web-badges/website-compatibility-badges.zip
Let's soften it up. And I'll restore my original ambiguous expression. This could be a smile or concentration. We'll let my words decide.
... aaaand done.
In retrospect, maybe I should have zoomed-in more. I think part of the reason why the Chrono Trigger portraits look better is because the original drawings have everybody is in these dynamic action poses. Apparently Akira Toryama is good at action poses... what a shocker.
Gee... I wonder why.
https://www.youtube.com/watch?v=z9dg8PI2sEg
https://www.youtube.com/watch?v=z9dg8PI2sEg
He did not try to re-create them, but he noticed some useful things. Even though they are based on drawings, they're not simply resized. They're hand-made. And their palettes are less saturated to make it easier to re-use the same colors in different parts of the picture for things like anti-aliasing.
Brandon James Greer did a sprite analysis of these portraits on YouTube.
https://www.youtube.com/watch?v=HIpbC9t_mBo
https://www.youtube.com/watch?v=HIpbC9t_mBo
# 💾 I don't know what I expected...
This #finished meme-template is a photoshop file that enables you replace his text and what is on the bag.
💾 Download: http://www.humbird0.com/content/misc/meme-templates/i-dont-know-what-i-expected/i-dont-know-what-i-expected-psd.zip
http://www.humbird0.com/content/misc/meme-templates/i-dont-know-what-i-expected/i-dont-know-what-i-expected-psd.zip
I plan to give the thumbnails 2 clickable areas. Clicking the image just displays the picture directly, and the "more Info" button takes you to a page talking about the picture. People might naturally click on the picture, but it might not be obvious that these are 2 different links. One way to show what's clickable is to highlight things when you hover over them.
I'm also starting to design CSS for my old tutorials. I have intentionally tried to keep their HTML simple over the years in order to make redesigns like this easier. But I still occassionally threw in a few unique tags here and there. For now I'll just make them bright red and figure out how I want them to look later.
One of the reasons I want to try a static site generator is so I can write these things easily using MarkDown and the generator will convert it into HTML for me. One way to ensure the HTML stays simple is to have something else write it for you.
This new blog design for my site is looking classy. Same old pages with a new coat of paint.
Those Hash marks are anchor links. You can right-click them to get a link that will jump to that *exact* spot on the page. My old site has them too. Normally each one is only visible when you hover over a heading or paragraph. I got the idea from GitHub. Later on I'll change these to use little "linked chain" icons.
Another reason why I store my project updates as RSS feeds is because it's a standard format. Anything can read it. Not just my website. There's also a clever trick you can use to make a browser display a feed as a webpage instead of a bunch of text. Use an XSLT stylesheet. It's basically a real-time templating language that everybody has forgotten about.
❓ https://www.tutorialspoint.com/xslt/xslt_overview.htm
https://www.tutorialspoint.com/xslt/xslt_overview.htm
I do use iframes for RSS feeds. I did that on my old website too. Originally it was because I was storing all the update announcements on Twitter and my old website was pulling them in and displaying them. Later I switched to using RSS Feeds so I wasn't relying on any external websites that might go down later. An iframe gives me a lot of flexibility. I tend to add updates independently from the projects themselves.
But then I realized something obvious. Just put everything on the SAME PAGE. You don't need navigation links if you can just scroll. After all, if it works for text stories it will work for comics. This isn't a "text" layout, it's a "scrolling" layout.
It would be different if the comics had hundreds of pages.
If I'm changing the background anyway, maybe I can just use the old one for the thumbnails.
Let's try adapting the old background to the new color scheme. Hmm... the Chrono Trigger beige colors makes the whisp pattern look like a sea of cum. I don't like it. Brown and green are still a better color combination.
If this background is so great, where did it come from? Well that's kind of a funny story. I saw some awesome artwork, but I didn't want to *steal* it, so I kinda... "derived" it into something super abstract.
I just can't ignore it. The new website *STILL* looks flat. There's just something excellent about the old website's background. It's not just blurry but also large, so it contrasts and makes everything stand out. There's a reason why I have kept using it for the past few versions of my website for over a decade.
I figured out a solution to my sleep problem. When I want to fall asleep, I just lie in bed and play pokemon for an hour... OLD pokemon. Don't use fast-forward. Just play it at normal speed so the music washes over you. There's a reason why I was never able to beat this game. The level-grinding and repeatitive music *always* puts me to sleep... and I can take advantage of that. Also I recommend getting a cellphone holder. The Nintendo Switch fits perfectly.
Text projects don't give you anything visual to look at, so I display the thumbnail image next to the main information. Of course, on smaller screens showing it is not a priority. But on wide screens there's room to fit things next to each other, so I added a few CSS breakpoints. And if you want to test a website on *REALLY* tiny screens, just open Chrome's "Reading List" sidebar and shrink the window. It will probably look ugly, but the important thing is that it's still useable.
I've sorted out the game controls, pairings, and license.
I even figured out a CSS trick to recolor the background images for the license permissions. The trick is to give something multiple background images. Set those images to be a gradient and a grayscale image. Then set the "background-blend-mode" so that the gradient has "color" blending and the grayscale image can be "normal". The gradient overlaps the grayscale image, which means the color of the gradient gets applied to the image behind it.
Some of my projects have a lot of downloads. There's no guarantee that all of them will comfortably fit inside a thumbnail. But that's not a problem. Just display one, and reveal the rest when you hover over it.
Maybe I should animate the rest of them flying out to the right, from the single icon.
The reason why those Download icons on my site are so far apart is because I set a minimum touch-size for all the buttons so you can easily tap them on a touch-screen. There's a rule-of-thumb that buttons on a touch-screen should be at least 0.4" inches in size to make it easy to tap. It looks slightly bloated on the screen, but I tested this on my phone and it seems to be true. I definitely wouldn't want to go smaller.
https://adrianroselli.com/2019/06/target-size-and-2-5-5.html
https://adrianroselli.com/2019/06/target-size-and-2-5-5.html
Alright, I did the basic layout for a "visual" project. I still need to add styles to some of the informaiton itself like the controls, pairings, updates, license, etc...
It turns out that CSS Grid isn't quite the silver bullet I expected. I still had to wrap the information to create these 3 parts. But the rest was all CSS.
These ugly sketches are the most important work I've done on this site. They're *plans.* The best tools in the world are useless if you don't know what you're trying to make.
I think I have a good idea of what I want to do now. Putting information underneath a picture tends to look nicer, but a text story should have the information at the top so you can scroll the page normally to see the entire story. Tutorials would work in a similar way.
Now to figure out how the project pages will look. Games, pictures, tutorials, stories. Some of these can share the same layout, but some are different. When I'm trying to come up with ideas, messing around with tools tends to distract me. I think better with pencil and paper.
I was looking at a picture of my old website from 2012. This old 2-panel layout might not be practical on smart phones, but I always liked the way it looked. Maybe I'll try something like this again for large screens.
Hmm... somehow the new website looks "flat" compared to the old one. The old website's blurry background helps the stuff in the foreground stand-out but it also creates a sense of depth.
Sure enough, adding a slight blur to the new website's background makes the buttons and things "pop" forward just a bit.
But maybe there's a *design* solution.
Many websites have banners, colored rectangles stretching across the entire page.
A failed iframe looks like a solid background color with error text in the middle.
But what if you could *not* see the middle?
A narrow iframe with no scrolling, would just show the solid color at the top.
Just like a banner.
I can disguise failed iframes as banners!
Apparently they're already transparent by default... but only IF their page loads successfully. Failing to load a page displays a browser-generated error page with a solid color.
Hmm... it doesn't look like there's any way for CSS to hide iframes that fail. I thought I could be clever and detect a default <span> inside the iframe tags, but that only displays on VERY OLD browsers that don't support iframes. And I don't want to rely on JavaScript.
Even with a page-generator, I don't want it to just paste the navigation onto every single page. If I change the navigation I'd have to replace ALL the pages and reupload them. Instead I think I'll just put iframes on every page. Links inside them should be able to change the parent page by using target="_top"
Now the question is whether I can make them look seamless. Can iframes have transparent backgrounds? I don't remember.
God *damn* I love animation!
Don't worry, the sidebar also respects the user's "reduced-motion" preference, so all the fancy animation is optional. That even includes the way the backgrounds slide over each other.
Nothing motivates me like adjusting things. Writing the CSS for this website is getting dangerously addicting. I've stayed up til 5:00 in the morning more than once now.
I could break the navigation into 2 lists and have the "extra" list appear on wide screens. But that means phones would see fewer links for the sake of a cleaner layout.
So I'm figuring out the navigation links at the top of the website, and trying to figure out if I could seamlessly turn them into a side-bar when the website gets wide enough.
After messing around with Flexbox and CSS Grid for awhile, I remembered something. Floats! They make text flow around pictures. But since anything that's "inline" will flow like text, I could make the navigation links "flow" around the entire website.
... I can't decide if this is really clever or *really* stupid.
I'm having tons of fun re-creating my fancy thumbnails with the new style, but... it's 5:00 in the morning. Maaaaybe I should consider eating or sleeping.
As a rule of thumb, I try to make my website backward compatible with older web browsers instead of just the newest (and expensive) devices. I still have a 10 year old phone kicking around that runs Android 4. The phone still works perfectly, so I'll test it against that.
Ooh nice! Google Chrome for Android 4 can handle CSS Grid. That was the only potential compatibility issue I was worried about. I guess I can just make my site however I want.
Some people might be annoyed by lots of animation, but that's a thing that CSS can check for.
I plan to organize the CSS by having each file represent individual things on the page, but not the page itself. So any page with a gallery on it will link to the gallery CSS and the thumbnail CSS. But most of the website's appearance is the same everywhere, so most of the details are in the website's global CSS file. The seperate files are mostly just minor adjustments. That's the key using CSS. Keep the design consistent and only load what you need.
Hmm... that gold "items" icon at the top contrasts very nicely against the green. What if I used that color? It's not as bright as white, but it could work for links if I keep them underlined. The gold also looks good as a title color. In fact, it looks great against both colors. I guess my website has a 3rd color now. (I count beige as a "neutral" tone.)
Then again, what else would I even use the green color for? My current website only needs the secondary color for links and text. Beige might work for links, but it might not contrast against regular white text.
... So what if I reverse the text colors? Beige for normal text and white for links? I have to admit, I like how soothing the beige text looks.
... so let's talk about menus instead!
One of my favorite things in Chrono Trigger is the way the menus slide around in the equip screen. Maybe I'll do something like this with the thumbnails when you hover over them.
"Semantic" HTML is about using HTML tags that represent the information well, so that machines like search engines can understand it. Ironically the trick to writing this way is to pretend a person is viewing this page raw with no CSS. Would they be able to understand it? Is everything labeled and visible?
Don't worry about how ugly it looks. That is 100% the job of CSS. HTML's job is to be raw data. Because when you separate appearance and data, it becomes easy to modify one without needing to modify the other.
[CSS Zen Garden](https://web.archive.org/web/20070430013246/http://www.mezzoblue.com/zengarden/alldesigns/official/)
That used to be kind of a lie. For 15 years you had to modify the HTML to control what order things appeared. CSS "grid" changed that a few years ago. Now you can rearrange things on the page using CSS.
But before I jump into any HTML generators, I should figure out what I want that HTML to be.
For example, if I take my old project page, and remove all the CSS, the result is basically a list of what's on that page.
I feel like that old HTML code is kind of bloated, so instead of copying everything I'll rewrite it. Same contents only simpler.
I think I'll try out another generator called Hugo. It's very similar but it might give me more options.
https://www.youtube.com/watch?v=xMv10E561WQ
https://www.youtube.com/watch?v=xMv10E561WQ
So I tried out a static-site generator called Zola. It could theoretically re-create my site as separate HTML files. The idea is that I would write all my stuff as MarkDown files and Zola creates folders and HTML based on the templates I give it.
https://www.getzola.org/
https://www.getzola.org/
Well that's interesting. Framesets naturally collapse down to navigation icons. That might actually be desirable. Although I personally think hiding labels is always a bad idea. You could add tooltips, but smart phones don't have those.
I took screenshots of the old color palette and the new shades of gray. In Photoshop I can overlap the greys on top of the colors and set the blend mode to 'Luminosity' to change the brightness of the colors. Now I have a set of colors that contrast better. I'll just use the eye-dropper to get their color values and paste them into my CSS color-palette file.
Next I'll check if things have enough contrast by temporarily setting all the colors to shades of grey. To test this the only thing I need to change is the hue-palette, the roles update automatically, and everything that uses those roles updates too.
Then I'll adjust the shades until they contrast against each other better, and check the thumbnail to see if links stand out next to text and if text stands out against the backgrounds.
Before I get too carried away with adding other things, I should figure out my website's overall color scheme. I usually use 2 colors in various shades, and neutral greys.
Gonna try something:
I'll define basic hues. (Greys, Browns, Greens)
Then assign them to color-roles. (text, clickables, foreground, background)
Then apply those roles to individual things in the HTML that fit those roles. (Buttons and Links are both things you click)
They're just variables, but I decide what they mean
I'll start with almost raw HTML. Just to figure out what information is going to be on the page. After I know what a thing contains, then I can figure out how it looks
You can invent your own HTML tags and they'll be treated as SPAN tags, it's just XML, but you should use existing HTML tags whenever possible if they have a specific meaning
🔗 https://www.semrush.com/blog/semantic-html5-guide/#html-semantic-tags-for-structure
🔗 https://matthewjamestaylor.com/custom-tags
https://www.semrush.com/blog/semantic-html5-guide/#html-semantic-tags-for-structure
🔗
https://matthewjamestaylor.com/custom-tags
Maybe I could have pixel girls sitting on the website's windows, like Kawa's Window-Sitters.
https://helmet.kafuka.org/windowsitters/
https://helmet.kafuka.org/windowsitters/
Then I discovered the WayBack Machine at the #InternetArchive and changed my mind about this. I wanted my website to be easy to archive for #DigitalPreservation, so I started storing all the information in the HTML itself with standard markup instead of using a weird custom JSON file that nobody else understands. That way when you save my site on the Wayback Machine, it can grab everything.
It's not just the boring flat colors that are bugging me. It uses a big complicated single-page JavaScript blob. And it *really* doesn't need it.
The irony is that this is technically a static website. There's no database. Everything is stored in the HTML itself.
Thank god I never fell into the trap of using a JavaScript FrameWork.
It has me thinking that my website's kind of boring. Nice navigation, but not much to look at... besides the porn.
Sure it's not a generic wordpress white rectangle-fest. But it's no NeoCities either. I miss all the cool-looking websites from 2006.
🔗 [My Website in 2022](https://web.archive.org/web/20221228130344/http://www.humbird0.com/content/show.htm)
🔗 [CSS Zen Garden](https://web.archive.org/web/20070430013246/http://www.mezzoblue.com/zengarden/alldesigns/official/)
I gotta admire #NeoCities, encouraging people to make their own personal websites, with all the quirky creativity that comes with. Custom cursors. GIF pets. Experimental navigation. It warms the heart.
https://mileshouse.neocities.org/
https://mileshouse.neocities.org/
I just noticed a minor plot hole. Misty entered the breeding factory from the north-east, where the pokemon holding pens are. And I have Jenny entering from the south-west shipping area so the audience can see the rest of the factory, but... Jenny's supposed to be following a trail of pink slime left by Misty. Er... we'll just ignore that, right?
The events are just a more-efficient way to do something simple: Waiting for a variable to change.
In theory, you could just use polling to wait for a variable to change by checking it over and over until it does. But it's wasteful for the CPU to keep looping like that. So instead you can use an event to announce when a variable changes, so there's no looping.
An egg will be at the end of a conveyor belt...
... until this person picks it up. Now the egg is no longer there, so this situation is no longer true.
Egg is on the conveyor belt: true => false
This allows each animation to be a different length. If someone takes a long time to set something up, multiple other characters will wait for them to finish.
Nope! They're event-driven. When one of them finishes something, they announce it, and then they're free to continue doing other things.
Meanwhile, a different character will animate and then wait until an event occurs before continuing.
They each have loops, with waits for specific events. The reason why this sequence is able to start is that one of them doesn't wait for anything at the start of their animation, but they do wait at the end.
Okay, maaaaaybe I put too much effort into this background animation.
This is not as easy as it looks. It's clearly a loop. And you might assume each of those characters are using equal-length animations with a careful delay to stagger their action.
I'm reconsidering whether or not to have Jenny searching for a missing reporter. Sure it makes sense for Team Rocket to abduct anybody caught snooping to keep them quiet, but Jenny's sudden onset of conspiracy theories means that she needs to be bored by the LACK of crimes happening to motivate her wild speculation.
How do I show a side enterance? Well there would be a lot of foot-traffic, so let's have some dirt sticking out from the side. Then a road leading up to it. Wait no. This is a secret warehouse hidden deep in a forest. No roads. Just a dirt path. The path implies that this whole thing has been going on for quite awhile.
Let's see... some crates and boxes. A little gap for Officer Jenny to sneak through. I should show the Rocket grunts loading a truck from this end.
The story says Jenny finds an exhausted pokemon while approaching the Breeding Factory. The map has truck loading areas on the left and right. She could enter one of those.
Entering from one of the loading areas might be better for showing the process to the player. In the previous scene Misty was travelling through the top-right, so Jenny should reveal the lower left. So I'll have her enter from the left truck-loading enterance.
I have 4 scenes made and there's only 1 map left to create. It's just a forest where Jenny finds an exhausted pokemon and a warehouse. That should be pretty easy to throw together.
A building... Trees... Truck. No wait, TWO trucks. It's a factory. Stuff goes in, different stuff comes out. Some crates. Where should I put the door? Wait which factory is this one? Let me check the story and the maps.
And as a side-effect, I now have most of the story's maps made. Usually that's the hard part. Now I just need to put the characters in them and make stuff happen.
One of the reasons why my stories often re-use maps is that making them usually feels tedious. But apparently making factories is an exception for me. I guess I just need a good puzzle to motivate me.
Now let's figure out how this all fits together. The story can reveal this process while stuff is happening to Misty.
What are the side-effects of the Rocket plot? What clues and foreshadowing can this create for the audience? This is useful for storytelling because it means stuff won't just seem to happen at random. There will be reasons backing up the events. Reasons that will get explained later. Mysteries are always fun.
So it usually starts with a basic vague idea. It's a good idea to write this down so I don't forget about the main concept that inspired me. Later I'll can get so buried in the details that I sometimes start to lose sight of what made the project interesting.
Misty and some pokemon get affected by some horny-gas. Some kind of aphrodesiac. Therefore... fucking. Now to figure out the situation that leads up to that.
A #video demonstrating my Mastodon cross-poster being used to post a message to both Mastodon and my website at the same time.
This also shows how I compress images and videos.
I typically record tutorials like these using a program called Camtasia.
I finally added alt-text to my website's update-feed editor.
The point of this editor was to make it easy for me to keep people informed with minimal effort. It has pictures to make the text look interesting enough to read. But... sometimes they also show something relevant, and encouraging people to include alt-text seems noble, so I decided to at least add the option. I do write stories sometimes. It's reasonable that a blind person might want to know what I'm making.
When I left Twitter, some people weren't sure about what was changing. Not much. I'm still making projects. Still using my website. The only difference is that I'm mirroriing the updates to Mastodon instead of Twitter now.
You'll see the same updates in both places.
🔗 http://www.humbird0.com/content/show.htm
🔗 https://aethy.com/@humbird0
http://www.humbird0.com/content/show.htm
🔗
https://aethy.com/@humbird0
#CloneZilla is slightly less intuitive than just plugging stuff in. The only hard part is trying pick between two drives of the exact same size. It doesn't show their names.
# Here's a trick:
1. Plug in just one of the drives and see what CloneZilla calls it.
2. Write that down. (and whether it's the source or the destination drive)
3. Plug in both drives and start over.
4. Now when you want to clone, and it asks you to pick the source drive, you know which is which.
Yes... that *is* a thing you can do.
http://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html
http://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html
CloneZilla should be way better.
What's the point of a fast backup if the results aren't reliable? The entire point of a backup is to *avoid* losing stuff.
It's not just about speed and reliability. I need a byte-perfect clone to preserve modify-dates and hard-linked files. The dates tell me when I created some of my projects and the hard-links allow me to access large files in multiple places on the drive without taking up additional space. Store the file once, display it multiple times.
I think I'll try CloneZilla.
https://clonezilla.org/clonezilla-live-doc.php
So far it looks like it'll clone the entire 14 TB drive just as fast as the duplicator could (In about 20 hours.) Which is impressive since copying everything using Windows or Robocopy used to take a solid week!
https://clonezilla.org/clonezilla-live-doc.php
So
Wow, my Orico hard drive duplicator went bad after only one year, and I barely even used it! It didn't "break" in any obvious way, but the replicated drives keep having corrupted files here and there.
The original drive is perfectly fine, but no matter how many times I duplicate, it's always the *same* files that get corrupted on the 2nd drive. I even tried writing to different hard drives. Always the same result.
I guess I can't trust this thing for backups anymore.
# ✏️ Story Editor for Pokemon Jelly Belly Mystery
💾 Download: http://www.humbird0.com/content/flash_stories/pokemon_jelly_belly_mystery/pokemon-jelly-belly-mystery-editor.zip
http://www.humbird0.com/content/flash_stories/pokemon_jelly_belly_mystery/pokemon-jelly-belly-mystery-editor.zip
# 📽 Pokemon Jelly Belly Mystery
This is a #finished #video story about Misty, a ditto, Team Rocket, and one crazy detective.
❓ About: http://www.humbird0.com/content/show.htm#/flash_stories/pokemon_jelly_belly_mystery/info
http://www.humbird0.com/content/show.htm#/flash_stories/pokemon_jelly_belly_mystery/info
⚠ Bug Fix
So the EXE version of this game had a bug. The "replay" menu was missing. I had actually already fixed this in the Flash version, but I forgot to update the EXE version of the game... 8 years ago. Whoopsie! Anyway, I replaced all the downloads with the fixed version.
I also updated the level editor with the fix.
💾 Download: http://www.humbird0.com/content/games/babysitters_club2/babysitters_club2_win.zip
http://www.humbird0.com/content/games/babysitters_club2/babysitters_club2_win.zip
Okay, now for the real test!
This post is being uploaded by my cross-poster to both Mastodon and my website. Will these look correct on both?
🎮 Game
📖 Story / Comic
📽 Video
✏️ Pencil
✍ Writing Hand
💾 Software
🎓 Tutorial
💡 Idea
❓ Question (already works)
🔗 Link
↘ Arrow (escaped)
↘ Arrow (literal)
Apparently the answer to my technical problem is just... look up the codes on emojipedia... and pray that website never ever goes down during my lifetime.
https://emojipedia.org/
Well okay, these are standard codes so there will probably be other places to look them up. You know, like ASCii codes.
https://emojipedia.org/
Well
That's strange. Emojipedia says the game controller DOES have a HEX code... a 5-digit hex code?? Also, this doesn't match what the HEX editor says. Where are they getting these codes from?
Hmm... what's a "shortcode?"
https://emojipedia.org/video-game/
https://emojipedia.org/video-game/
Well that sucks. Apparently multi-codepoint emoji's don't work with escape codes.
https://www.webnots.com/how-to-insert-emoji-in-html/
https://www.webnots.com/how-to-insert-emoji-in-html/
Maybe there's a way to tell NodeJS to open the JSON files with a different UTF? I'd have to guess until I found one that worked.
But maybe I don't have to. I might be able to get away with using HTML escape codes instead. It would look ugly in my Flash cross-poster, but who cares? All the outputs go to websites, and all websites use HTML.
So... it turns out that UTF-8 is unicode... but there's more than one? UTF-16 and UTF-32 are different "unicodes??" I guess "unicode" is not an encoding, it's just an umbrella term.
http://unicode.org/faq/utf_bom.html
http://unicode.org/faq/utf_bom.html
# ✏️ Level Editor for Babysitter's Club 2
💾 Download: http://www.humbird0.com/content/games/babysitters_club2/babysitters_club2_editor.zip
http://www.humbird0.com/content/games/babysitters_club2/babysitters_club2_editor.zip
# 🎮 Babysitter's Club 2
This is a #game about a babysitter and her friends deciding to use her annoying but naive sister to help them make money
💾 Download: http://www.humbird0.com/content/games/babysitters_club2/babysitters_club2_win.zip
❓ About: http://www.humbird0.com/content/show.htm#/games/babysitters_club_2/info
http://www.humbird0.com/content/games/babysitters_club2/babysitters_club2_win.zip
❓
http://www.humbird0.com/content/show.htm#/games/babysitters_club_2/info
I think everything's done? I've set this up to always attach posts about the same project to the previous post about it, as a reply. That way my timeline is automatically organized by project. You should only see a handful of posts, but each one will have its entire development history attached to it as a reply.
Except... apparently my post-maker program lets me use spaces in tag names? That won't work as a # Hash Tag. But I should probably add a fail-safe for that in NodeJS anyway. I'll just CamelCase and condense the spaces. Hell, why not put it in both places. ActionScript 2 is practically JavaScript anyway. I can copy and paste the same code.
It's all NodeJS from here, so I can edit this temporary JSON file that sends the post to my NodeJS program, and re-run this script to post it. This is basically what my editor does. When I tell it to post a message, it just writes a JSON file and writes this script. Then it runs the script and NodeJS does the rest.
Of course Mastodon prefers certain #HashTags, so I'll remap my keywords to the ones that Mastodon prefers. The way this works is that if my program finds any of the keywords on the left, it'll replace them with all the words on the right when it posts a message to Mastodon. It's also helpful when I mention characters since it can automatically include the cartoon or game series they're from.
I've added some fancy toggle-buttons for the content warnings.
Well, you don't really need horizontal rules if you're creative enough with Emoji and Unicode.
My house, my "rules"
https://aethy.com/@humbird0/109507848610374513
https://aethy.com/@humbird0/109507848610374513
Wait... it IS markdown! MarkDown itself lets you mix in arbitrary HTML, but Mastodon limits the features to a simplified version of MarkDown.
https://aethy.com/@humbird0/109507782419960371
https://aethy.com/@humbird0/109507782419960371
Aww! No image tags?
Actually this looks an awful lot like Markdown output.
https://aethy.com/@humbird0/109507762988252868
https://aethy.com/@humbird0/109507762988252868
I can also put HTML in the upload text... well, a little bit. I need to experiment to see which tags Mastodon will let me use.
https://aethy.com/@humbird0/109507734891302417
https://aethy.com/@humbird0/109507734891302417
The example already shows how to include a picture. But it's using a callback and I want to upload an arbitrary number of files. My old Twitter code would loop through the files and accumulate an array of promises for each upload. So I just need to wrap the upload code, spit out a promise, and resolve that promise within its callback function.
Weird... so behind the scenes, a post is called a... "status?"
https://docs.joinmastodon.org/api/
https://docs.joinmastodon.org/api/
I can re-use most of the same NodeJS code I wrote before. Just swap out the API and carefully study the examples on the GitHUb page.
https://github.com/hylyh/node-mastodon
https://github.com/hylyh/node-mastodon
I want to post project updates to Mastodon... and my website... and potentially other places in the future. All at the same time! Sure, programs like this already exist such as PostyBirb, but my website doesn't have a database. It's a static website, and I store all the updates as RSS feeds because I'm silly like that.
I hang these up as "attractor modes" for my projects, to try to entice myself to work on them... it doesn't work.
It's trickier in the side view since it's such a subtle detail, it ends up competing with the shading for the boob outline. Should I have the lower pixel be lighter to blend with the arm behind it, or...
Wait a minute. If she's moving up and down, shouldn't the hair be moving?
There's also a weird optical illusion going on here. The breasts have the same animation frames but they only look smooth when they match up with the motion of the hand underneath them.
# 🎮 Princess Rescue
This is a #finished #game about a queen asking you to rescue her princesses.
💾 Download: http://www.humbird0.com/content/games/yipe_fakeQueen/princess_rescue_win.zip
❓ About: http://www.humbird0.com/content/show.htm#/game/princess_rescue/info
http://www.humbird0.com/content/games/yipe_fakeQueen/princess_rescue_win.zip
❓
http://www.humbird0.com/content/show.htm#/game/princess_rescue/info
There was a bug in my old Pokemon game that froze the game when you try to get Squirtle. I have fixed it and updated the game. Basically one of the scripts was interrupting itself before un-pausing the player.
http://www.humbird0.com/content/games/pokemon/pokemon.zip
http://www.humbird0.com/content/games/pokemon/pokemon.zip
Maybe I could use a collapser instead of a checkbox? HTML has a native <details> element that does this without javascript. It's been around for years. For some weird reason NO website knows this tag even exists. It works fine.
https://www.w3schools.com/tags/tag_details.asp
https://www.w3schools.com/tags/tag_details.asp
Even without JavaScript, I could have the thumbnails expand when I click on them, by attaching some CSS to invisible checkboxes. I did this with my RSS blog experiments.
This also allowed the site to work without javascript with a nice-looking but functionally crude thumbnail gallery.
http://www.humbird0.com/index-nojs.htm
http://www.humbird0.com/index-nojs.htm
Eeek! A bug!
Okay… more like 10 of them. Apparently some of my code broke when I imported everything into a single file.
You can still play a non-buggy version here in its older form.
http://www.humbird0.com/content/games/yipe_fakeQueen/princess_rescue_win_2022-01-02.zip
http://www.humbird0.com/content/games/yipe_fakeQueen/princess_rescue_win_2022-01-02.zip
DOWNLOADS
Windows EXE http://www.humbird0.com/content/games/yipe_fakeQueen/princess_rescue_win.zip
Flash SWF http://www.humbird0.com/content/games/yipe_fakeQueen/princess_rescue.swf
Source Code http://www.humbird0.com/content/games/yipe_fakeQueen/princess_rescue_source_code.zip
http://www.humbird0.com/content/games/yipe_fakeQueen/princess_rescue_win.zip
Flash
http://www.humbird0.com/content/games/yipe_fakeQueen/princess_rescue.swf
Source
http://www.humbird0.com/content/games/yipe_fakeQueen/princess_rescue_source_code.zip
I also uploaded the source files for anyone who's curious about how it works.
http://www.humbird0.com/content/show.htm#/games/princess_rescue
http://www.humbird0.com/content/show.htm#/games/princess_rescue
It's called an ORICO Dual bay hard drive docking station and duplicator.
https://www.amazon.com/dp/B07MSJWGHV
Also, removing an internal drive from an enclosure isn't very hard. They're just regular hard drives. Don't be afraid of doing that.
https://www.amazon.com/dp/B07MSJWGHV
Also,
I just fixed a game-breaking bug where a certain scene would permanently freeze the player. If you re-download the game, everything should work now.
Yes, that is a thing.
https://www.yipesoftware.com/yipeiii_screens.html
https://www.yipesoftware.com/yipeiii_screens.html
I've uploaded the source code and design documents for my old Guardia Forest hentai game on to archive org, an online museum and library where they collect old software, art, music, and source code.
https://archive.org/details/guardia_forest_1_flash_game_source
https://archive.org/details/guardia_forest_1_flash_game_source
In fact, that big pokemon thing I just showed you with 6 years worth of posts in it... was actually an ATOM feed! You just didn't know it because I made it look nice.
http://www.humbird0.com/content/games/pokemon/updates.xml
http://www.humbird0.com/content/games/pokemon/updates.xml
And you could use a feed-reader to see all my website updates without you having to actually visit the website.
https://chrome.google.com/webstore/detail/feedbro/mefgmmbdailogpfhfblcnnjfmnpnmdfa
https://chrome.google.com/webstore/detail/feedbro/mefgmmbdailogpfhfblcnnjfmnpnmdfa
Here, see for yourself!
http://www.humbird0.com/content/games/pokemon/updates.xml
http://www.humbird0.com/content/games/pokemon/updates.xml
Some projects like my Pokemon Hentai game literally have YEARS worth of update posts, spanning from 2013 to 2019. It's something like 300 progress update messages. You can see the game's entire development in these!
... with one difference. Updates for each project will now get displayed with those projects. I already had this set up, but Twitter only sends the last 20 tweets so all my old projects weren't displaying their updates. Now I can show everything.
I'll have to update it from time to time. Maybe once a year? … If I somehow remember.
So I was recently browsing for some music extracted from SNES roms (as you do) … and I noticed that http://SNESmusic.org did a really cool thing!
They had a torrent containing an archive of their ENTIRE WEBSITE.
http://SNESmusic.org
It's kind of an interesting challenge. Drawing it was easy, but how does it "step?" How do the roots bend to support weight? How do I keep track of its movement across the ground?
Maybe I could have just made it levitate or vanish with some magical sparkles or something, but nope! I felt like animating WALKING TENTACLES today.
A grateful witch offers you a reward, and when you step outside her house one of the bushes stands up and WALKS AWAY... allowing you to access a treasure chest.
Okay so, I just spent the past few hours working on a, um... walk cycle?
So the plan for the cracked walls is they just need to set map collision to be a "wall" change the map tile to a "cracked" image...
I got it all working pretty quickly (maybe an hour?) It works pretty well. The garden maze now runs around 15 FPS on the Intel NUC, and probably faster on a "real" computer.
Set up a 16x16 pixel grid with snapping and it's pretty easy.
Hmm... I guess I'm supposed to give credit to http://www.rpg2knet.com http://www.rpg2knet.com
I decided to update my page about loli content. I think this better explains my thoughts on the subject, and why I create it.
http://www.humbird0.com/content/about/why_lolis/content.htm
http://www.humbird0.com/content/about/why_lolis/content.htm
By moving the spawn complexity outside of the NPC itself, its master script can choose where they are and what they're generally up to, simply by setting that single variable. That variable acts as their global state.
The actual code is similar but it just sets a single variable's value. Which acts as a spawn condition for the NPC's sprites.
This will also be easy to preview in the editor since it already lets me preview sprites based on spawn conditions.
The tricky part about this is that it pulls a switcheroo. The "follower" character turns invisible revealing an identical "scene" sprite that you can talk to. Wandering away from the scene sprite switches back and reveals the invisible follower again.
This took some tricky scripting, and I even had to add a new feature to the RPG Maker so scripts can wait for program events. But the result is working beautifully!
But if you wander away, the party member automatically rejoins you. There's no interruption. The player can just keep walking and completely ignore the potential scene if they want to.
This led to a clever idea. I love when characters banter back and forth or comment about things that are happening, so… what if a party member stepped aside and started staring at something, and when you talk to them you'll see what they have to say about it?
I've been watching a YouTube series called "Good Design, Bad Design" about how games succeed and fail at making good menus and things. It got me thinking about how I might make my little shop system more elegant.
https://www.youtube.com/playlist?list=PL8K0_g1wdQeoxta9RyvTK-DnhU4jI2QJN
https://www.youtube.com/playlist?list=PL8K0_g1wdQeoxta9RyvTK-DnhU4jI2QJN
I made a dedicated landing-page with links to all the places you can find me. I've seen other people making these. It's a good idea.
http://www.humbird0.com/contact.htm
http://www.humbird0.com/contact.htm
Snes Drunk on YouTube recently reviewed an interesting SNES game called Ihatovo. No combat. Just story and fetch-quests. kind of a 2D walking-simulator. Seems boring but it has an interesting structure.
https://www.youtube.com/watch?v=LNp0n6LAGSY
https://www.youtube.com/watch?v=LNp0n6LAGSY
The best game loop I ever made was my Tears of Inferno game. http://www.humbird0.com/content/show.htm#/games/tears_of_inferno
But I wasn't thinking in terms of gameplay loops. Instead it was about 3 forms of entertainment taking turns:
1) gameplay
2) sex scene
3) storytelling
http://www.humbird0.com/content/show.htm#/games/tears_of_inferno
So far, my list of possible quest / situation gameplay is something like this...
Guessing
Hiding
Searching
Chasing
Escaping
Aiming
Dodging danger
Searching for something hidden
Navigating mazes
Solving Mysteries
Figuring something out from clues
I re-wrote this story a few times to change events and characters to theoretically improve the suspense. Here's an older version of the story with very different scenes.
http://www.humbird0.com/content/stories/reds_wine/reds_wine_old_version.txt
http://www.humbird0.com/content/stories/reds_wine/reds_wine_old_version.txt
This is a story about Ridinghood looking for wine while trying to avoid wolves and her pervy aunt.
http://www.humbird0.com/content/show.htm#/stories/reds_wine
http://www.humbird0.com/content/show.htm#/stories/reds_wine
Both endings are good... hard to decide which one to use.
An RPG already has a contextual "talk" or "interact" so... make things animate in amusing ways when you "talk" to them? That seems too nonsensical for a story like this.
Aaaaaand... done! The only tricky part was changing the collision system to sometimes let the player walk outside the map. The scroll system instantly moves the player to the other side of the map and then tells the map to scroll to that spot. The effect is seamless.
This new approach to looping scrolling is much simpler to do, performs much faster, and won't be a fragile hack. Win-win-win!
And I can keep using scrollRect for fast scrolling the same way I already do instead of making additional draw() calls, so the performance will stay exactly the same.
I've decided to re-think my approach to looping map scrolling. It turns out I've already programmed something like this before when I made the 3D map system.
The reason why the character seems to be cut-off is because they're being overlapped by the image drawn by the looping code. That part is actually a picture of the other side of the map.
I made a thing that randomly picks a character and a pose for you to draw. You can replace all the pictures.
The Let's Draw button opens everything in the "lets_draw" folder. I put a bunch of reference material in there.
http://www.humbird0.com/content/misc/pic_idea_generator/pic-idea-generator.zip
http://www.humbird0.com/content/misc/pic_idea_generator/pic-idea-generator.zip
This is a story about a rich family getting a pet for their pet.
http://www.humbird0.com/content/show.htm#/flash_stories/dogs_pet
http://www.humbird0.com/content/show.htm#/flash_stories/dogs_pet
I finally re-recorded the audio for this story's video. Now your ears can stop bleeding.
http://www.humbird0.com/content/flash_stories/decoy_princess/decoy_princess.mp4
http://www.humbird0.com/content/flash_stories/decoy_princess/decoy_princess.mp4
# ✏️ Story Editor for Dog's Pet
💾 Download: http://www.humbird0.com/content/flash_stories/dogs_pet/dogs_pet_editor.zip
http://www.humbird0.com/content/flash_stories/dogs_pet/dogs_pet_editor.zip
# 📖 Pokemon Daycare Hypnosis
This is a #finished #story about pikachu trying to secretly fuck misty while they're at a pokemon breeding center.
📖 Read: http://www.humbird0.com/content/stories/poke_daycare_hypnosis/poke_daycare_hypnosis.txt
❓ About: www.humbird0.com/content/show.htm#/stories/pokemon_daycare_hypnosis/info
http://www.humbird0.com/content/stories/poke_daycare_hypnosis/poke_daycare_hypnosis.txt
❓
Finally added the new expandable blog-style thumbnails to the "tutorials" and "about" sections. Decided to use the site's existing JavaScript collapsers so the content only loads when you expand it.
http://www.humbird0.com/content/show.htm#/tutorials
http://www.humbird0.com/content/show.htm#/tutorials
Finished making an animated sprite version of that Sally Acorn pose drawn by @KV1NN4 https://twitter.com/humbird0/status/1259343727170146306 https://twitter.com/humbird0/status/1259343727170146306
Seems to work.
Managed to make it work. The shading and details took a fair amount of improvisation. Let's just throw a head on there and see the full effect.
Now to add some inbetween frames to the animation. I'll have her slow down as she goes deeper. Don't want it to look effortless.
It occurs to me that the torso should move too. Arch the back more. And if I tilt the shoulders at the same time it could look cute as it overlaps the character's face.
The angle makes the right knee move in unintuitive ways. Right thigh bends directly away from the viewer, foreshortening, so knee should shift left as it bends. Maybe I'll keep a slight upward angle to the knee to hopefully mirror the movement of the left leg.
That should be better. Luckily only the upper arm really needs to slope forward to exaggerate the back arch. And as a bonus, I might even be able to add some under-boob action!
This... might work. Shoulder's getting a little too wide though. I hope I can keep the inward slope of the arm to emphasize the back-arch.
Just for fun, I decided to try out my blog design with my website's tutorials. I'm not sure this works well for such complex content. The whole screen gets too busy and confusing.
Ironically I added some JavaScript to re-enable default features like selecting title text. The hidden overlapping checkbox was preventing that. Also added a delayed auto-scroll for easier reading. Without JavaScript it still works like before.
This seems like a good design.
I kind of like the thumbnails I already use on my site. But I can simplify things much more for a blog. Hovering is a good way to show more information without taking up extra space.
Added some social media metadata to my site using OpenGraph and just a little bit of twitter-card data. Which should make links to it display preview images and descriptions in things like Twitter and Discord. Let's test it.
http://www.humbird0.com/content/show.htm#/flash_stories/decoy_princess
http://www.humbird0.com/content/show.htm#/flash_stories/decoy_princess
Aaaand back to techy stuff. I finally accomplished smooth scrolling text in Flash! This is actually tricky to do because masking doesn't normally work on text, but I found a way. Animation is useful for this to show new text being added and show where the old text went to.
... and if I want multi-part scenes, then I have to let the player interact with something to trigger the next batch of text.
A scene's dialog ends up having to all fit in one textbox otherwise it'll scroll away before the player even sees it. I kind of like how this forces me to be efficient and tends to keep the player movable. No pausing for long cutscenes with this system.
The help file even includes a couple demonstration videos for some of the more elaborate stuff in the program.
If you download the help file, you'll need to tell Windows to unblock it before it'll display the contents, because the file was downloaded from the internet. There's also a PDF version of it if you prefer.
http://www.humbird0.com/content/misc/rpgMaker/help.chm
http://www.humbird0.com/content/misc/rpgMaker/help.pdf
http://www.humbird0.com/content/misc/rpgMaker/help.chm
http://www.humbird0.com/content/misc/rpgMaker/help.pdf
I'm rewritng the help files for my editor. Apparently a company called Helpware is closing down and releasing their software for free. Gonna re-write my help files in textile markup, convert to HTML, and use Helpware to make the file.
http://www.helpwaregroup.com/purchase/codes
http://www.helpwaregroup.com/purchase/codes
This is a story about a naive witch-girl summoning a horny dog-girl as a pet.
http://www.humbird0.com/content/show.htm#/flash_stories/familiar_pet
http://www.humbird0.com/content/show.htm#/flash_stories/familiar_pet
# ✏️ Story Editor for Familiar Pet
💾 Download: http://www.humbird0.com/content/flash_stories/familiar_pet/familiar_pet_editor.zip
http://www.humbird0.com/content/flash_stories/familiar_pet/familiar_pet_editor.zip
# 📽 Familiar Pet
This is a #finished #video about a naive witch-girl summoning a horny dog-girl as a pet.
❓ About: http://www.humbird0.com/content/show.htm#/flash_stories/familiar_pet/info
http://www.humbird0.com/content/show.htm#/flash_stories/familiar_pet/info
I think it looks... good?
Not sure whether the arms look wrong or not. I guess it's not enough to matter. The feet came out better than expected. And lifting her "details" was definitely the right call.
Hmm... Pretty sure I need to shift the "details" up a bit.
Finally starting the crawl animation for the "up" direction. Lots of tricky foreshortening. Can't be sure if it's right until it's rendered, but it looks promising. The odd square shape at the bottom is meant to preserve the "details" you see on the right.
I even made a short narrated video showing the whole process.
http://www.humbird0.com/content/tutorials/create_sprites/aseprite_antialiasing_animation.mp4
http://www.humbird0.com/content/tutorials/create_sprites/aseprite_antialiasing_animation.mp4
I updated my sprite tutorial with the latest techniques I've discovered for anti-aliasing and animation.
http://www.humbird0.com/content/show.htm#/tutorials/creating_sprites
http://www.humbird0.com/content/show.htm#/tutorials/creating_sprites
I've uploaded the source code and ALL the design and planning documents for my Pokemon Hentai game on to http://Archive.org. They want to collect every interesting program ever made. This one was a huge project in a now-dead language. (Flash)
https://archive.org/details/pokemon_hentai_flash_source_and_docs_20191123
http://Archive.org.
https://archive.org/details/pokemon_hentai_flash_source_and_docs_20191123
The final result is surprisingly convincing. To be honest I wasn't sure if the pose would end up looking right. It's hard to be sure until you see it with the character's head.
Adding anti-aliased outlines went pretty smoothly with the same technique I used last time, but adding details for the hands required some tricky manual tweaking.
This one was pretty tricky to figure out. At first I couldn't decide whether the arms should bend inward or outward. I eventually decided the silhouette read better if they go outward. The head will overlap the body.
Holy cow, I was NOT expecting it to come out this well!
I'm at it again. Getting lots of useful position hints from iS's Rouge animation.
https://twitter.com/isadultart/status/1170520352059006976
https://twitter.com/isadultart/status/1170520352059006976
Been obsessed with http://Archive.org lately. A HUGE online library that's collecting pictures, books, magazines, software. Backing it up online, making it available to everybody. Very cool.
I've collected a bunch of interesting things over the years to upload.
http://Archive.org
For the draft, I'm experimenting with first writing the story with no punctuation, no spell-check, and in ALL CAPS to just quickly figure out what actually happens in the story. The idea is I'll rewrite everything and polish things later.
By the way, most social media websites recompress pictures and strip out all the metadata. But art websites often preserve it.
http://www.embeddedmetadata.org/social-media-test-results.php
http://www.embeddedmetadata.org/social-media-test-results.php
But it IS possible to add metadata to PNG pictures using EXIFtool.
https://owl.phy.queensu.ca/~phil/exiftool
https://owl.phy.queensu.ca/~phil/exiftool
This looks better. Not sure if this looks idle or if she just has an itchy back.
Added another color and adjusted the boobs. Not sure if the color actually made a noticeable difference with the chest but there's a small improvement with the legs.
It works okay. The pose does communicate. But the boob motions are mostly too subtle to be visible. Maybe adding another color shade would allow me to add a couple more hints..
I only had to add some slight velocity follow-through to the right boob. The torso-twist-overlap of the left boob already implies the follow-through for that one.
Let's start by anchoring these puppies to the shoulders. Then add separation and overlap to make the torso "turn." I like the silhouette this is making.
Definitely got a better torso-twist going this time around. It seems to stick out awfully far, but that works for a "curious" pose and will probably do nice things with the boobs.
This time, I'll resist the urge to bend the knees. I've planned the "rotation" of the boobs as the body turns.
Okay, let's try making that swaying animation again.
I've decided to use this as a struggling pose. I've exported it to Photoshop and used linked smart objects to add an automatically swappable head so I can easily generate this pose for any of my characters.
I just realized that this actually looks more like the character has their hands tied behind the back and they're struggling. It's probably a combination of the fast frame-rate and the exaggerated motion. Maybe it'll look "idle" if I slow it down?
Welp, that worked. I discovered that instead of redrawing each frame from scratch it was easier to copy the previous frame and then just shift things around.
I think I got it figured out. Use a 2x2 brush snapping to a 2x2 grid and sample colors directly from the reference picture. Looks like this will work.
And now with some slight follow-through added to create delightful boob-collisions.
Tweened the body. I thought the boob animation looked off, so I'm redoing it by "attaching" them to the pits of the arms to anchor them to the body. I'll add velocity follow-through afterwards.
Boobs in place.
I think I have the basic motion figured out. Now to add the boob motions and then re-create it at half size with sub-pixel hints.
This is what Rottytops looks like in the Shantae games, by the way.
The challenge is my sprites are much smaller. This animation is mostly about subtle movements that can't be prototyped using big chunky pixels. It needs sub-pixel anti-aliasing. Normally that's the LAST step I do, not the first. So I can't use my usual process.
I made an attempt, but it's turning into RottyTops with most of the movement in the hips. It's kind of nice, but this was not my goal. I might come back to this version later after I finish the animation I'm trying to make.
I'm feeling inspired by @isadultart's Rouge animation. I think I'll try creating a boob-sway idle animation for my RPG characters. But I don't want to just re-create this exact same pose. https://twitter.com/servedasiS/status/1170512309007069184 https://twitter.com/servedasiS/status/1170512309007069184
# ✏️ Level Editor for Royal Pets
💾 Download: http://www.humbird0.com/content/games/royal_pets/royal_pets_editor.zip
http://www.humbird0.com/content/games/royal_pets/royal_pets_editor.zip
Apparently the recent Flash players in most browsers make the last scene run very slowly. The Windows version of the game doesn't have this problem.
http://www.humbird0.com/content/games/royal_pets/royal_pets_win.zip
http://www.humbird0.com/content/games/royal_pets/royal_pets_win.zip
# 🎮 Royal Pets
This is a #finished #game about a king and his pet rabbits adopting lots of princesses for mysterious reasons.
💾 Download: http://www.humbird0.com/content/games/royal_pets/royal_pets_win.zip
❓ About: http://www.humbird0.com/content/show.htm#/games/royal_pets/info
http://www.humbird0.com/content/games/royal_pets/royal_pets_win.zip
❓
http://www.humbird0.com/content/show.htm#/games/royal_pets/info
The picture on the left is how you would temporarily set this up. The script on the right is an alternative approach that uses WinSCP at the scripting level. The script runs once and WinSCP stays running in the background, watching your folder, with no DOS window visible.
I basically just tell my computer to automatically run this "run_syncScript.cmd" file each time Windows boots, and everything is ready. The folder automatically syncs whenever I add files to it.
Sure enough, it all works! And I only need to upload folders with pictures.
http://www.humbird0.com/gallery/subFolder/
http://www.humbird0.com/gallery/subFolder/
SecondCopy is a backup program that can run a script after copying files, but it can't pass any parameters to the script. So I'll just have my script recursively shrink larger images in the "upload" folder, hopefully without recompressing existing ones.
The checkerboard pattern is a fancy CSS gradient with sudden changes in color, and the folders are SVG's that are inlined into the CSS using url("data:image/svg+xml;utf8, ... ")
https://css-tricks.com/probably-dont-base64-svg/
https://css-tricks.com/probably-dont-base64-svg/
... So the question is, if players are completionists who are afraid of missing out on something, can any content truly be optional?
I also needed to figure out a name so that I can start posting about other new projects here.
Finished adding a replay gallery and a cheat code to unlock all scenes along with hints at the end about what the code is. Which hint is shown depends on end-game conditions so try to achieve tricky things like skipping early lessons.
http://www.humbird0.com/content/show.htm#/games/poke_training
http://www.humbird0.com/content/show.htm#/games/poke_training
…and also a little explanation in the "about" section.
http://www.humbird0.com/content/show.htm#/about/why_licenses
http://www.humbird0.com/content/show.htm#/about/why_licenses
Okay, but for-real. I'm using a Creative Commons license. Yeah, I know it's not "proper" to use it for software, but the MIT license is too vague about parts I care about, and this one's more clear about my intent, which is kinda the whole point.
https://creativecommons.org/licenses/by-nc/4.0/
https://creativecommons.org/licenses/by-nc/4.0/
I kinda want to use this one.
https://web.archive.org/web/20170327160245/http://www.freecreations.org/Against_DRM2.html
https://web.archive.org/web/20170327160245/http://www.freecreations.org/Against_DRM2.html
Looks like Europe's gotten all lawyer-happy on the internet, so I've been diving down the "what even is a license anyway??" rabbit-hole.
https://ufal.github.io/public-license-selector/
https://ufal.github.io/public-license-selector/
This is a story about a stubborn princess who wants to explore the forest. She's tricked into getting fucked by animals but is too stubborn to admit is was an accident, and decides to do it again to prove it. http://www.humbird0.com/content/show.htm#/stories/royalty_never_regrets http://www.humbird0.com/content/show.htm#/stories/royalty_never_regrets
# 📖 Royalty Never Regrets
This is a #finished #story about a princess being tricked into sneaking out and getting fucked by animals.
📖 Read: http://www.humbird0.com/content/stories/royalty_never_regrets/royalty_never_regrets.txt
❓ About: www.humbird0.com/content/show.htm#/stories/royalty_never_regrets/info
http://www.humbird0.com/content/stories/royalty_never_regrets/royalty_never_regrets.txt
❓
The FlashPoint game browser and full archive can be downloaded here
http://bluemaxima.org/flashpoint/
And people can submit and test games on his Discord channel
https://discordapp.com/invite/S9uJ794
http://bluemaxima.org/flashpoint/
And
https://discordapp.com/invite/S9uJ794
Okay, the new version of the website is online. In theory you should not notice anything different unless you turn off JavaScript.
http://www.humbird0.com/content/show.htm
http://www.humbird0.com/content/show.htm
Text data is like a molecule in computer memory. Literally anything else will take up 10x more space and bandwidth. It's just not worth splitting hairs over. https://twitter.com/humbird0/status/1104530655004815361 https://twitter.com/humbird0/status/1104530655004815361
UglifyJS was failing to compress my code for some reason so I switched to a new compressor called "terser" Apparently UglifyJS hasn't been getting updated lately.
https://github.com/terser-js/terser
https://github.com/terser-js/terser
I mean, I create most of my porn in code, how can this NOT be nerdy.
Finished adding ARIA tags to the new thumbnails. Google's Structured Data Tool is pretty much indispensable for checking the syntax and whether the ARIA data will be interpreted the way you want.
https://search.google.com/structured-data/testing-tool
https://search.google.com/structured-data/testing-tool
It's not that I think my stuff is particularly special or historically meaningful, but an artist would be naive to assume their art is going to preserve itself.
To clarify, my website is working perfectly fine. But the BACKUP on http://web.archive.org is not working. The Internet Wayback Machine is a website that preserves many parts of the internet for historic archival reasons
https://web.archive.org/web/*/http://www.humbird0.com/content/show.htm
http://www.humbird0.com/content/show.htm
http://web.archive.org
https://web.archive.org/web/*/http://www.humbird0.com/content/show.htm
http://www.humbird0.com/content/show.htm
I want to throw something together for @eevee's game jam, but I've gotten very distracted by the fact that my website doesn't work right on the Internet Wayback machine. This website is supposed to be an archive of everything I've ever made, so this is a big problem. https://twitter.com/eevee/status/1087215530937729024 https://twitter.com/eevee/status/1087215530937729024
This is a little spin-off game about a pikachu training his new naive trainer to be his pet.
http://www.humbird0.com/content/show.htm#/games/poke_training
http://www.humbird0.com/content/show.htm#/games/poke_training
# 📖 Bunny Intelligence
This is a #finished #story about a rabbit training a girl to be its sex pet.
📖 Read: http://www.humbird0.com/content/stories/intelligent_rabbits/intelligent_rabbits.txt
❓ About: http://www.humbird0.com/content/show.htm#/stories/bunny_intelligence/info
http://www.humbird0.com/content/stories/intelligent_rabbits/intelligent_rabbits.txt
❓
http://www.humbird0.com/content/show.htm#/stories/bunny_intelligence/info
Added controller support for the map-editor. This theoretically makes it possible for me to edit maps during my daily bus commute to work, using a bluetooth controller and a windows tablet. Doesn't necessarily mean I'll feel like using it though.
Finally updated my RPG Maker. Added controller support for the map-editor among many other things.
http://www.humbird0.com/content/show.htm#/misc/rpg_maker
http://www.humbird0.com/content/show.htm#/misc/rpg_maker
# ✏️ Story Editor for Decoy Princess
💾 Download: http://www.humbird0.com/content/flash_stories/decoy_princess/decoy_princess_editor.zip
http://www.humbird0.com/content/flash_stories/decoy_princess/decoy_princess_editor.zip
# 📽 Decoy Princess
This is a #finished #video story about a princess adopting a girl to act as a decoy against dragons.
❓ About: www.humbird0.com/content/show.htm#/flash_stories/decoy_princess/info
Modified many parts of the script to make things sexier.
http://www.humbird0.com/content/show.htm#/flash_stories/decoy_princess
http://www.humbird0.com/content/show.htm#/flash_stories/decoy_princess
Changed the website RSS feed to include the FULL text of every story I ever wrote, so you can easily read them offline in any RSS reader. Text is puny. The difference in total file-size is about the same as this picture you're looking at.
http://www.humbird0.com/rss.xml
http://www.humbird0.com/rss.xml
# 🎮 Amazon Offering 2
This is a #finished #game about a pervy girl who wants to adopt a boy, but there's an amazon conspiracy
💾 Download: http://www.humbird0.com/content/games/amazon_offering_2/amazon_offering_2.zip
❓ About: http://www.humbird0.com/content/show.htm#/games/amazon_offering_2/info
http://www.humbird0.com/content/games/amazon_offering_2/amazon_offering_2.zip
❓
http://www.humbird0.com/content/show.htm#/games/amazon_offering_2/info
Barely any free time these days, so I've mostly been creating sprites.
I updated this tutorial to better explain the outlining step, and added a short video showing a new sprite being created from start to finish, including anti-aliasing. http://www.humbird0.com/content/show.htm#/tutorials/creating_sprites http://www.humbird0.com/content/show.htm#/tutorials/creating_sprites
Made some revisions to make the events clearer and the scenes sexier. http://www.humbird0.com/content/show.htm#/stories/pokemon_daycare http://www.humbird0.com/content/show.htm#/stories/pokemon_daycare
# 📽 Kara's Puberty
This is a #finished #video story about a mother getting the hots for her busty daughter.
❓ About: http://www.humbird0.com/content/show.htm#/flash_stories/karas_puberty/info
http://www.humbird0.com/content/show.htm#/flash_stories/karas_puberty/info
This is a story about a princess adopting a girl to act as a decoy against dragons http://www.humbird0.com/content/show.htm#/flash_stories/decoy_princess http://www.humbird0.com/content/show.htm#/flash_stories/decoy_princess
Xial's Inkbunny Page
https://inkbunny.net/Xial
https://inkbunny.net/Xial
Version 1.6.9.3 - Xial updated my extension to work with slightly newer versions of Firefox. They set up a page for that version here. https://web.archive.org/web/20200828233656/https://ae.ascenci.space/ibdl/ https://web.archive.org/web/20200828233656/https://ae.ascenci.space/ibdl/
# ✏️ Story Editor for Fairy Pact
💾 Download: http://www.humbird0.com/content/flash_stories/fairy_pact/fairy_pact_editor.zip
http://www.humbird0.com/content/flash_stories/fairy_pact/fairy_pact_editor.zip
# 📽 Fairy Pact
This is a #finished #video story about an amateur witch girl trying to deal with her new fairy familiar.
📽 Watch: http://www.humbird0.com/content/flash_stories/fairy_pact/fairy_pact.mp4
❓ About: http://www.humbird0.com/content/show.htm#/flash_stories/fairy_pact/info
http://www.humbird0.com/content/flash_stories/fairy_pact/fairy_pact.mp4
❓
http://www.humbird0.com/content/show.htm#/flash_stories/fairy_pact/info
This is a #Finshed #story about pikachu trying to fuck Misty while they're at a poke breeding center
http://www.humbird0.com/content/show.htm#/stories/pokemon_daycare_hypnosis
http://www.humbird0.com/content/show.htm#/stories/pokemon_daycare_hypnosis
This story is about Ash and friends visiting a suspicious Pokemon breeding center
http://www.humbird0.com/content/show.htm#/stories/pokemon_daycare
http://www.humbird0.com/content/show.htm#/stories/pokemon_daycare
This is a story about a naive girl being trained to be a "proper" princess
http://www.humbird0.com/content/show.htm#/stories/bunnygirl_marriage
http://www.humbird0.com/content/show.htm#/stories/bunnygirl_marriage
This is a story about a sister pimping out her younger brother to her friends
http://www.humbird0.com/content/show.htm#/stories/pimp_sister
http://www.humbird0.com/content/show.htm#/stories/pimp_sister
This is a quick story about a girl getting adopted. But her new parent isn't a human.
http://www.humbird0.com/content/show.htm#/stories/wolf_orphan
http://www.humbird0.com/content/show.htm#/stories/wolf_orphan
This is a story about a naive teen adopting a daughter to distract her horny dog.
http://www.humbird0.com/content/show.htm#/stories/puberty_training_2
http://www.humbird0.com/content/show.htm#/stories/puberty_training_2
This is a story about a woman and her dog giving her new daughter training for "puberty."
http://www.humbird0.com/content/show.htm#/stories/puberty_training
http://www.humbird0.com/content/show.htm#/stories/puberty_training
This is a story about two girls finding a mysterious magic stage in the woods.
http://www.humbird0.com/content/show.htm#/flash_stories/magic_show
http://www.humbird0.com/content/show.htm#/flash_stories/magic_show
# ✏️ Story Editor for Amazon Sacrifice 2
💾 Download: http://www.humbird0.com/content/flash_stories/amazon_sacrifice2/amazon_sacrifice2_editor.zip
http://www.humbird0.com/content/flash_stories/amazon_sacrifice2/amazon_sacrifice2_editor.zip
# 📽 Amazon Sacrifice 2
This is a #finished #video story about a girl being given to an amazon tribe.
❓ About: http://www.humbird0.com/content/show.htm#/flash_stories/amazon_sacrifice_2/info
http://www.humbird0.com/content/show.htm#/flash_stories/amazon_sacrifice_2/info
# ✏️ Story Editor for Princess Rivals
💾 Download: http://www.humbird0.com/content/flash_stories/princess_rivals/princess_rivals_editor.zip
http://www.humbird0.com/content/flash_stories/princess_rivals/princess_rivals_editor.zip
# 📽 Princess Rivals
This is a #finished #video story about two princesses competing for the throne.
❓ About: www.humbird0.com/content/show.htm#/flash_stories/princess_rivals/info
This is about two princesses competing for the throne. Had this done a week ago but was super busy.
http://www.humbird0.com/content/show.htm#/flash_stories/princess_rivals
http://www.humbird0.com/content/show.htm#/flash_stories/princess_rivals
# ✏️ Story Editor for Parenting Guide
💾 Download: http://www.humbird0.com/content/flash_stories/parenting_guide/parenting_guide_editor.zip
http://www.humbird0.com/content/flash_stories/parenting_guide/parenting_guide_editor.zip
# 📽 Parenting Guide
This is a #finished #video story about a naive mother trying to figure out how to give her son sex-ed.
📽 Video: http://www.humbird0.com/content/flash_stories/parenting_guide/parenting_guide.mp4
❓ About: www.humbird0.com/content/show.htm#/flash_stories/parenting_guide/info
http://www.humbird0.com/content/flash_stories/parenting_guide/parenting_guide.mp4
❓
This is a story about a naive mother figuring out how to give her son sex-ed... with some help.
http://www.humbird0.com/content/show.htm#/flash_stories/parenting_guide
http://www.humbird0.com/content/show.htm#/flash_stories/parenting_guide
This is a story about a town with a sexy tradition.
http://www.humbird0.com/content/show.htm#/flash_stories/picnic_day
http://www.humbird0.com/content/show.htm#/flash_stories/picnic_day
# ✏️ Story Editor for Picnic Day
💾 Download: http://www.humbird0.com/content/flash_stories/picnic_day/picnic_day_editor.zip
http://www.humbird0.com/content/flash_stories/picnic_day/picnic_day_editor.zip
# 📽 Picnic Day
This is a #finished #video story about a town with a sexy tradition, and the goofy detective Wendy who is determined to learn all she can about it.
Fixed a map-corrupting bug.
http://149.56.5.190/content/misc/rpgMaker/RpgMaker_h.zip
http://149.56.5.190/content/misc/rpgMaker/RpgMaker_h.zip
Added the ability to edit hit-boxes. http://www.humbird0.com/content/misc/rpgMaker/RpgMaker_h.zip http://www.humbird0.com/content/misc/rpgMaker/RpgMaker_h.zip
# 💾 Source Code and Planning Documents
🔗 Downloads: https://archive.org/details/pokemon_hentai_flash_source_and_docs_20191123
https://archive.org/details/pokemon_hentai_flash_source_and_docs_20191123
# 📖 Development History
http://www.humbird0.com/content/games/pokemon/updates.xml
http://www.humbird0.com/content/games/pokemon/updates.xml
# ✏️ Level Editor for Pokemon Hentai Version
💾 Download: http://www.humbird0.com/content/games/pokemon/pokemon_editor_2019-12-04.zip
http://www.humbird0.com/content/games/pokemon/pokemon_editor_2019-12-04.zip
# 🎮 Pokemon Hentai Version
This fan-game is a hentai parody of Pokemon.
I spent nearly a decade making this game with various contributing artists but stopped working on it years ago due to burn-out, so while it's fully playable it's only about halfway done, with about 5 towns completed. The game is no longer being developed.
💾 Download: http://www.humbird0.com/content/games/pokemon/pokemon.zip
❓ About: http://www.humbird0.com/content/show.htm#/games/pokemon/info
http://www.humbird0.com/content/games/pokemon/pokemon.zip
❓
http://www.humbird0.com/content/show.htm#/games/pokemon/info
Added Drag & Drop to the pokemon level-editor. http://www.humbird0.com/content/games/pokemon/pokemonEditor.zip http://www.humbird0.com/content/games/pokemon/pokemonEditor.zip
Added drag & drop features to the RPG Maker.
http://www.humbird0.com/content/show.htm#/misc/rpg_maker
http://www.humbird0.com/content/show.htm#/misc/rpg_maker
# ✏️ Story Editor for Babysitting Services
💾 Download: http://www.humbird0.com/content/flash_stories/babysitting_services/babysitting_services_editor.zip
http://www.humbird0.com/content/flash_stories/babysitting_services/babysitting_services_editor.zip
# 📽 Babysitting Services
This is a #finished #video story about lesbian babysitter... hookers. Classy stuff.
❓ About: http://www.humbird0.com/content/show.htm#/flash_stories/babysitting_services/info
http://www.humbird0.com/content/show.htm#/flash_stories/babysitting_services/info
Bug-fix. Diving into water at a certain place used to teleport you into a table. That has been fixed now. http://www.humbird0.com/content/games/pokemon/pokemon.zip http://www.humbird0.com/content/games/pokemon/pokemon.zip
Bug-fix. The "ask" menu wasn't working before. The game has been updated. http://www.humbird0.com/content/games/pokemon/pokemon.zip http://www.humbird0.com/content/games/pokemon/pokemon.zip
Here's a new version of the Pokemon game! http://www.humbird0.com/content/games/pokemon/pokemon.zip http://www.humbird0.com/content/games/pokemon/pokemon.zip
Uploaded new version of RPG Maker today. Major improvements to the sprite browser. http://www.humbird0.com/content/show.htm#/misc/rpg_maker http://www.humbird0.com/content/show.htm#/misc/rpg_maker
Here's a summary of most of the new stuff in the RPG Maker. http://www.humbird0.com/content/show.htm#/misc/rpg_maker http://www.humbird0.com/content/show.htm#/misc/rpg_maker
Finally uploaded the latest version of my RPG Maker with lots of new features. http://www.humbird0.com/content/show.htm#/misc/rpg_maker http://www.humbird0.com/content/show.htm#/misc/rpg_maker
Colored a picture of Officer Jenny "interrogating" Ash. http://www.humbird0.com/content/show.htm#/pictures/%28bubba91%29_officer_jennys_interrogation http://www.humbird0.com/content/show.htm#/pictures/%28bubba91%29_officer_jennys_interrogation
Also colored Staryu's back pose.
http://www.humbird0.com/content/show.htm#/pictures/(bubba91)_staryu_(back)
http://www.humbird0.com/content/show.htm#/pictures/(bubba91)_staryu_(back)
Colored Staryu's horny pose. http://www.humbird0.com/content/show.htm#/pictures/(bubba91)_staryu_(horny) http://www.humbird0.com/content/show.htm#/pictures/(bubba91)_staryu_(horny)
# ✏️ Story Editor for Let's Go Camping
💾 Download: http://www.humbird0.com/content/flash_stories/backyard_camping/backyard_camping_editor.zip
http://www.humbird0.com/content/flash_stories/backyard_camping/backyard_camping_editor.zip
# 📽 Let's Go Camping
This is a #finished #video story about a girl camping in the back yard with her friends.
❓ About: http://www.humbird0.com/content/show.htm#/flash_stories/lets_go_camping/info
http://www.humbird0.com/content/show.htm#/flash_stories/lets_go_camping/info
Now also downloads stories as plain text in case they lack a download. http://www.humbird0.com/content/addons/ib_downloader/ib_downloader.xpi http://www.humbird0.com/content/addons/ib_downloader/ib_downloader.xpi
Fixed bugs
-Endings play fully now.
-Marle no longer sleeps standing-up
http://www.humbird0.com/content/show.htm#/games/guardia_forest_remake
http://www.humbird0.com/content/show.htm#/games/guardia_forest_remake
Finally finished this game. http://www.humbird0.com/content/show.htm#/games/guardia_forest_remake http://www.humbird0.com/content/show.htm#/games/guardia_forest_remake
📖 Development History
http://www.humbird0.com/content/games/guardia_forest_remake/updates.xml
http://www.humbird0.com/content/games/guardia_forest_remake/updates.xml
# ✏️ Level Editor for Guardia Forest Remake
💾 Download: http://www.humbird0.com/content/games/guardia_forest_remake/guardia_forest_remake_editor.zip
http://www.humbird0.com/content/games/guardia_forest_remake/guardia_forest_remake_editor.zip
# 🎮 Guardia Forest Remake
This is a complete remake of the first Guardia Forest #game that I originally created back in 2001. I #finished this remake in 2014.
💾 Download: http://www.humbird0.com/content/games/guardia_forest_remake/guardia_forest_remake.zip
❓ About: http://www.humbird0.com/content/show.htm#/games/guardia_forest_remake
http://www.humbird0.com/content/games/guardia_forest_remake/guardia_forest_remake.zip
❓
http://www.humbird0.com/content/show.htm#/games/guardia_forest_remake
Finished another pic for the game. Not much left now. http://www.humbird0.com/content/show.htm#/pictures/dual_tech:_egg_factory http://www.humbird0.com/content/show.htm#/pictures/dual_tech:_egg_factory
❓ About: http://www.humbird0.com/content/show.htm#/pictures/dual_tech:_egg_factory/infi http://www.humbird0.com/content/show.htm#/pictures/dual_tech:_egg_factory/infi
This pose is way too good to pass up so... tracing a bit for this one. https://www.sofurry.com/view/568945 https://www.sofurry.com/view/568945
That is one confused avian. http://www.humbird0.com/content/show.htm#/pictures/giving_a_flying_fuck http://www.humbird0.com/content/show.htm#/pictures/giving_a_flying_fuck
Finished the pic & made a video of the process. http://www.humbird0.com/content/show.htm#/pictures/roly_rider http://www.humbird0.com/content/pictures/roly_rider/recording_5x.mp4 http://www.humbird0.com/content/show.htm#/pictures/roly_rider http://www.humbird0.com/content/pictures/roly_rider/recording_5x.mp4
Finally got around to finishing this pic for the game. http://www.humbird0.com/content/show.htm#/pictures/fond_mammeries http://www.humbird0.com/content/show.htm#/pictures/fond_mammeries
Uploaded a comic about Peach trying to escape the Koopa castle. http://www.humbird0.com/content/show.htm#/comics/peachs_escape http://www.humbird0.com/content/show.htm#/comics/peachs_escape
Created an elegant comic viewer for the website & re-posted the Knothole Heat comic. http://www.humbird0.com/content/show.htm#/comics/(comic)_knothole_heat http://www.humbird0.com/content/show.htm#/comics/(comic)_knothole_heat
# ✏️ Level Editor for Beauty Hazard
💾 Download: http://www.humbird0.com/content/games/beauty_hazard/beauty_hazard_source.zip
http://www.humbird0.com/content/games/beauty_hazard/beauty_hazard_source.zip
# 🎮 Beauty Hazard
This is a #finished #game about a lesbian detective searching for a missing genie lamp.
💾 Download: http://www.humbird0.com/content/games/beauty_hazard/beauty_hazard.zip
❓ About: http://www.humbird0.com/content/show.htm#/games/beauty_hazard/info
http://www.humbird0.com/content/games/beauty_hazard/beauty_hazard.zip
❓
http://www.humbird0.com/content/show.htm#/games/beauty_hazard/info
Added an option for auto-downloading submissions. Handy for comics. https://addons.mozilla.org/en-US/firefox/addon/inkbunny-downloader/ https://addons.mozilla.org/en-US/firefox/addon/inkbunny-downloader/
Created a Firefox extension for Inkbunny. https://addons.mozilla.org/en-US/firefox/addon/inkbunny-downloader/ https://addons.mozilla.org/en-US/firefox/addon/inkbunny-downloader/
This time, Marle's hanging out with birds in the woods. http://www.humbird0.com/content/show.htm#/pictures/hang_in_there! http://www.humbird0.com/content/show.htm#/pictures/hang_in_there!
Made another picture for the remake. http://www.humbird0.com/content/show.htm#/pictures/how_many_licks_does_it_take http://www.humbird0.com/content/show.htm#/pictures/how_many_licks_does_it_take
# 🖼 How Many Licks Does it Take?
❓ About: http://www.humbird0.com/content/show.htm#/games/guardia_forest_remake
http://www.humbird0.com/content/show.htm#/games/guardia_forest_remake
Created a picture of Marle basking in happy afterglow for the remake. http://www.humbird0.com/content/show.htm#/pictures/marles_afterglow http://www.humbird0.com/content/show.htm#/pictures/marles_afterglow
My old FA gallery took a bit of a trimming. You can find most of my work on my website. http://www.humbird0.com/content/show.htm http://www.humbird0.com/content/show.htm
A straight-shota pic from the Guardia Forest Remake game.
❓ About: http://www.humbird0.com/content/show.htm#/pictures/childhood_not_ruined/info
http://www.humbird0.com/content/show.htm#/pictures/childhood_not_ruined/info
Created a pic of Marle with a Roly monster for a remake I'm working on. http://www.humbird0.com/content/show.htm#/pictures/roly_style http://www.humbird0.com/content/show.htm#/pictures/roly_style
Completed a picture of Marle stripping for a game I'm working on. http://www.humbird0.com/content/show.htm#/pictures/chaotic_strip-tease http://www.humbird0.com/content/show.htm#/pictures/chaotic_strip-tease
Completely rebuilt my website. More accurate searches that also morph and animate. http://www.humbird0.com/content/show.htm http://www.humbird0.com/content/show.htm
Colored one of BBMBBF's pictures for a coloring contest. http://www.humbird0.com/content/pictures/bbmbbf_amy_rain.jpg http://www.humbird0.com/content/pictures/bbmbbf_amy_rain.jpg
The website's up again. Same URL. http://www.humbird0.com/content/show.htm http://www.humbird0.com/content/show.htm
Added a cheat code to instantly jump to any scene and fixed some bugs. http://www.humbird0.com/content/show.htm#/games/babysitters_club_2 http://www.humbird0.com/content/show.htm#/games/babysitters_club_2
Made a new RSS feed for the website. The old link used a service that tended to fail. http://www.humbird0.com/rss.xml http://www.humbird0.com/rss.xml
Uploaded the level-editor and the Flash version of the story. http://www.humbird0.com/content/show.htm#/flash_stories/growing_princess http://www.humbird0.com/content/show.htm#/flash_stories/growing_princess
Made a story about a princess who outgrew ALL of her shirts. http://www.humbird0.com/content/show.htm#/flash_stories/growing_princess http://www.humbird0.com/content/show.htm#/flash_stories/growing_princess
Experimented with image conversion scripts to generate elaborate thumbnails. http://www.imagemagick.org/ http://www.imagemagick.org/
Played around with Kalei Styleguide. It makes HTML examples from your CSS & comments https://www.youtube.com/watch?v=1hOaGs6YyQI https://www.youtube.com/watch?v=1hOaGs6YyQI
Started using a css syntax called LESS. Discovered a better way to write css too. http://lesscss.org/ http://lesscss.org/
Learned how to use BackboneJS. Possibly useful, but overkill for a website like mine. http://backbonejs.org/ http://backbonejs.org/
Playing around with RequireJS. It's VERY nice. http://requirejs.org/ http://requirejs.org/
Been taking a break from projects and playing games for a change. https://dolphin-emu.org/ https://dolphin-emu.org/
Wrote a story about Sally Acorn, Lupe, and an accidental marriage. http://www.humbird0.com/content/show.htm#/stories/lupe_alliance http://www.humbird0.com/content/show.htm#/stories/lupe_alliance
📖 Tutorial: http://www.humbird0.com/content/show.htm#/tutorials/creating_sprites http://www.humbird0.com/content/show.htm#/tutorials/creating_sprites
# 📽 Sprite Anti-aliasing and Animation Tutorial
I made a short #tutorial #video explaining how I make animated sprites with anti-aliasing.
📖 Written tutorial: http://www.humbird0.com/content/show.htm#/tutorials/creating_sprites
http://www.humbird0.com/content/show.htm#/tutorials/creating_sprites
Created an Earthbound-style intro video for the Pokemon game. http://www.humbird0.com/content/show.htm#/games/pokemon http://www.humbird0.com/content/show.htm#/games/pokemon
Updated the current game with bug-fixes. You can get it here. http://www.humbird0.com/content/show.htm#/games/pokemon http://www.humbird0.com/content/show.htm#/games/pokemon
Fixed a game-breaking glitch at a camp scene. The game has been updated. http://www.humbird0.com/content/games/pokemon/pokemon.zip http://www.humbird0.com/content/games/pokemon/pokemon.zip
There's FINALLY a new version of the Pokemon Hentai game! You can download it here. http://www.humbird0.com/content/games/pokemon/pokemon.zip http://www.humbird0.com/content/games/pokemon/pokemon.zip
Built a new computer to replace my old 2004 Dell. http://pcpartpicker.com/b/NCp http://pcpartpicker.com/b/NCp
Discovered I made a backup of the now-dead SuperMegaTopia website back in 2004. http://www.humbird0.com/content/misc/superMegaTopia/supermegatopia_website_11-19-2004.zip http://www.humbird0.com/content/misc/superMegaTopia/supermegatopia_website_11-19-2004.zip
Made detailed icons for my "image collection" Download contains both ICO and PNG http://www.humbird0.com/content/misc/hCollection_icons/hCollection_icons.zip http://www.humbird0.com/content/misc/hCollection_icons/hCollection_icons.zip
Finished a Flash story about a boy being given to some Amazons. http://www.humbird0.com/content/show.htm#/flash_stories/amazon_offering http://www.humbird0.com/content/show.htm#/flash_stories/amazon_offering
# ✏️ Story Editor for Amazon Offering 1
💾 Download: http://www.humbird0.com/content/flash_stories/amazon_sacrifice/amazon_offering_editor.zip
http://www.humbird0.com/content/flash_stories/amazon_sacrifice/amazon_offering_editor.zip
Changed Terra scene. But it's angsty. So I'll split things up. http://www.humbird0.com/content/games/pokemon/updates/12-13-2013/new_terra_scene.mp4 http://www.humbird0.com/content/games/pokemon/updates/12-13-2013/mistys_discoveries.txt http://www.humbird0.com/content/games/pokemon/updates/12-13-2013/new_terra_scene.mp4 http://www.humbird0.com/content/games/pokemon/updates/12-13-2013/mistys_discoveries.txt
Created an alternate scene if you return to the Squirtle Squad hideout the next day. http://www.humbird0.com/content/games/pokemon/updates/12-12-2013/squirtleSquad_ownMisty.mp4 http://www.humbird0.com/content/games/pokemon/updates/12-12-2013/squirtleSquad_ownMisty.mp4
Created the scene when you return to the Squirtle Squad hideout. http://www.humbird0.com/content/games/pokemon/updates/12-12-2013/squirtleScene_normal.mp4 http://www.humbird0.com/content/games/pokemon/updates/12-12-2013/squirtleScene_normal.mp4
In progress...A naive woman hires a hooker to teach her new son to masturbate http://www.humbird0.com/content/flash_stories/parenting_guide/preview1.mp4 http://www.humbird0.com/content/flash_stories/parenting_guide/preview1.mp4
Almost done with another sexy story. Amazons make a deal to get young mates. http://www.humbird0.com/content/flash_stories/amazon_sacrifice/preview1.mp4 http://www.humbird0.com/content/flash_stories/amazon_sacrifice/preview1.mp4
Updated Squirtle sprites, the cutscene picture, and more events & effects. http://www.humbird0.com/content/games/pokemon/updates/12-04-2013/squirtle_scenes2.mp4 http://www.humbird0.com/content/games/pokemon/updates/12-04-2013/squirtle_scenes2.mp4
Working on scenes for the Squirtle Squad. Need squirtle sprites. http://www.humbird0.com/content/games/pokemon/updates/11-24-2013/squirtle_scenes1.mp4 http://www.humbird0.com/content/games/pokemon/updates/11-24-2013/squirtle_scenes1.mp4
I redesigned a Sally Acorn "Fan Site" @TeamAcorn http://teamacorn.net/new/index.htm http://teamacorn.net/new/index.htm
Created animation for "Ice Breath" attack. http://www.humbird0.com/content/games/pokemon/updates/11-16-2013/ice_breath_anim.gif http://www.humbird0.com/content/games/pokemon/updates/11-16-2013/ice_breath_anim.gif
Added some new scenes. The princess secretly uses her authority for more fun http://www.humbird0.com/content/flash_stories/growing_princess/updates/11-09-2013/growing_princess_preview2.mp4 http://www.humbird0.com/content/flash_stories/growing_princess/updates/11-09-2013/growing_princess_preview2.mp4
Also created a super-healing animation. The move sometimes makes the user fall asleep http://www.humbird0.com/content/games/pokemon/updates/11-08-2013/recuperate.gif http://www.humbird0.com/content/games/pokemon/updates/11-08-2013/recuperate.gif
Created a minor healing animation. http://www.humbird0.com/content/games/pokemon/updates/11-08-2013/refresh.gif http://www.humbird0.com/content/games/pokemon/updates/11-08-2013/refresh.gif
Created the "Fire Spin" attack animation. http://www.humbird0.com/content/games/pokemon/updates/11-07-2013/fire_spin.gif http://www.humbird0.com/content/games/pokemon/updates/11-07-2013/fire_spin.gif
Created an easy-to-use palette-cycling effect. Palettes are read from image files. http://www.humbird0.com/content/misc/rpgMaker/updates/11_06_2013/electric.swf http://www.humbird0.com/content/misc/rpgMaker/updates/11_06_2013/electric.swf
I have uploaded a NEW version of my RPG Maker. You can get it here. http://www.humbird0.com/content/show.htm#/misc/rpg_maker http://www.humbird0.com/content/show.htm#/misc/rpg_maker
Programmed some beach binoculars for seeing what's happening on the ocean. http://www.humbird0.com/content/games/pokemon/updates/10-11-2013/binoculars_demo.swf http://www.humbird0.com/content/games/pokemon/updates/10-11-2013/binoculars_demo.swf
A girl will steal Brock's swim trunks. What she'll do next is entirely optional. http://www.humbird0.com/content/games/pokemon/updates/10-11-2013/brock_swim.mp4 http://www.humbird0.com/content/games/pokemon/updates/10-11-2013/brock_swim.mp4
Came up with a sexy parody of the Squirtle Squad scenario, based on the TV episode. http://www.humbird0.com/content/games/pokemon/updates/10-11-2013/squirtle_squad.txt http://www.humbird0.com/content/games/pokemon/updates/10-11-2013/squirtle_squad.txt
Added early scene where Ash fails to get Pikachu into a pokeball & hits Prof Oak. http://www.humbird0.com/content/games/pokemon/updates/10-05-2013/oak_scene.mp4 http://www.humbird0.com/content/games/pokemon/updates/10-05-2013/oak_scene.mp4
Finished alternate escape scene & Coded a fancy rolling pokeball. So much matrix math http://www.humbird0.com/content/games/pokemon/updates/10-03-2013/alt_escape.mp4 http://www.humbird0.com/content/games/pokemon/updates/10-03-2013/alt_escape.mp4
Spent way too long creating a pokeball animation. It was challenging due to debugging http://www.humbird0.com/content/games/pokemon/updates/09-30-2013/alt_prison_scene.gif http://www.humbird0.com/content/games/pokemon/updates/09-30-2013/alt_prison_scene.gif
Found the perfect sound effects for pokeballs. http://www.youtube.com/watch?v=0ksAqZXjgkk http://www.youtube.com/watch?v=0ksAqZXjgkk
I colored a picture of Misty for the pokemon hentai game.
❓ About: http://www.humbird0.com/content/show.htm#/pictures/(bubba91)_misty_milked/info
http://www.humbird0.com/content/show.htm#/pictures/(bubba91)_misty_milked/info
Started another little story. Sleepover + Stopping time = Win! http://www.humbird0.com/content/flash_stories/times_mirror/times_mirror.mp4 http://www.humbird0.com/content/flash_stories/times_mirror/times_mirror.mp4
Created PSD thumbnail templates for InkBunny. http://www.humbird0.com/content/misc/inkbunny_thumbnails/inkbunny_thumbnais.zip http://www.humbird0.com/content/misc/inkbunny_thumbnails/inkbunny_thumbnais.zip
Created PSD thumbnail templates for art websites. http://www.humbird0.com/content/misc/skumorphic_thumbnails/skumorphic_thumbnails.zip http://www.humbird0.com/content/misc/skumorphic_thumbnails/skumorphic_thumbnails.zip
# 💡 Skumorphic Thumbnail Template
These #finished #Photoshop files let you create thumbnails or icons that look like the things you're posting. So if you upload a story to a website, you can make it look like an actual book. And a picture will literally look like a picture on the wall. You can easily replace all the pictures in these by editing the smart object layers in Photoshop. I also included the #fonts for these.
This is generally known as "Skumorphism." The purpose of this is enable people to instantly recognize what something is at a glance, because it resembles a familiar real-world object.
💾 Download: http://www.humbird0.com/content/misc/skumorphic_thumbnails/skumorphic_thumbnails.zip
http://www.humbird0.com/content/misc/skumorphic_thumbnails/skumorphic_thumbnails.zip
For posterity, here's what the scene USED to be. http://www.humbird0.com/content/games/pokemon/updates/09-08-2013/old_terra_scene.mp4 http://www.humbird0.com/content/games/pokemon/updates/09-08-2013/old_terra_scene.mp4
Spent 5 hours making new scenes for Viridian Gym's prison. http://www.humbird0.com/content/games/pokemon/updates/09-08-2013/terra_scene_2.mp4 http://www.humbird0.com/content/games/pokemon/updates/09-08-2013/terra_scene_2.mp4
# 📖 Sally Sneaks
This is a #finished #story about Sally sneaking into Tails' room each night, and later telling him he's having wet dreams.
📖 Read: http://www.humbird0.com/content/stories/sally_sneaks/sally_sneaks.txt
❓ About: http://www.humbird0.com/content/show.htm#/stories/sally_sneaks/info
http://www.humbird0.com/content/stories/sally_sneaks/sally_sneaks.txt
❓
http://www.humbird0.com/content/show.htm#/stories/sally_sneaks/info
Scrivener is an amazing program! Going to use it for organizing game docs and writing scenes. http://www.pcmag.com/article2/0,2817,2420636,00.asp http://www.pcmag.com/article2/0,2817,2420636,00.asp
Planned & wrote dialog for homewrecker girl's sidequests.
http://www.humbird0.com/content/games/pokemon/updates/08-07-2013/homewrecker_sidequest_ideas.txt
http://www.humbird0.com/content/games/pokemon/updates/08-07-2013/homewrecker-plans_incomplete.txt
http://www.humbird0.com/content/games/pokemon/updates/08-07-2013/homewrecker_sidequest_ideas.txt
http://www.humbird0.com/content/games/pokemon/updates/08-07-2013/homewrecker-plans_incomplete.txt
# 📽 Dog's Pet
This is a #finished #video story about a rich family getting a pet for their pet
❓ About: www.humbird0.com/content/show.htm#/flash_stories/dogs_pet/info
Improved the PK-Beam attack to add more impact and color.
http://www.humbird0.com/content/games/pokemon/updates/2013-06-08/pk_beam2.gif
http://www.humbird0.com/content/games/pokemon/updates/2013-06-08/pk_beam2.gif
Added PK-BEAM, a psychic attack inspired by Earthbound Zero. Created with AEflame.
http://www.humbird0.com/content/games/pokemon/updates/2013-06-07/pk_beam.gif
http://www.humbird0.com/content/games/pokemon/updates/2013-06-07/pk_beam.gif
Created the "harden" move
http://www.humbird0.com/content/games/pokemon/updates/2013-06-05/harden.gif
http://www.humbird0.com/content/games/pokemon/updates/2013-06-05/harden.gif
Updating website editor. Got distracted learning about programming "promises" http://www.youtube.com/watch?v=dkZFtimgAcM http://www.youtube.com/watch?v=dkZFtimgAcM
Created a simple walkthrough for my Pokemon game. http://www.humbird0.com/content/games/pokemon/pokemon_walkthrough.pdf http://www.humbird0.com/content/games/pokemon/pokemon_walkthrough.pdf
Created the "pebble" attack.
http://www.humbird0.com/content/games/pokemon/updates/2013-05-21/pebble.gif
http://www.humbird0.com/content/games/pokemon/updates/2013-05-21/pebble.gif
Created the "swim" attack.
http://www.humbird0.com/content/games/pokemon/updates/2013-05-21/swim.gif
http://www.humbird0.com/content/games/pokemon/updates/2013-05-21/swim.gif
Created the Bolt attack.
http://www.humbird0.com/content/games/pokemon/updates/2013-05-21/bolt.gif
http://www.humbird0.com/content/games/pokemon/updates/2013-05-21/bolt.gif
Added a Thunder attack.
http://www.humbird0.com/content/games/pokemon/updates/2013-05-21/thunder.gif
http://www.humbird0.com/content/games/pokemon/updates/2013-05-21/thunder.gif
Created the Spark attack.
http://www.humbird0.com/content/games/pokemon/updates/2013-05-21/spark.gif
http://www.humbird0.com/content/games/pokemon/updates/2013-05-21/spark.gif
Created the Napalm fire attack.
http://www.humbird0.com/content/games/pokemon/updates/2013-05-20/napalm.gif
http://www.humbird0.com/content/games/pokemon/updates/2013-05-20/napalm.gif
Re-made the Ember attack using new fire footage.
http://www.humbird0.com/content/games/pokemon/updates/2013-05-20/ember2.gif
http://www.humbird0.com/content/games/pokemon/updates/2013-05-20/ember2.gif
Added String-shot effect. Made with AEFlame.
http://www.humbird0.com/content/games/pokemon/updates/string_shot.gif
http://www.humbird0.com/content/games/pokemon/updates/string_shot.gif
Added Sand-attack animation. Made with AEFlame.
http://www.humbird0.com/content/games/pokemon/updates/sand_atk.gif
http://www.humbird0.com/content/games/pokemon/updates/sand_atk.gif
Animated the Ember attack.
http://www.humbird0.com/content/games/pokemon/updates/2013-05-03/ember.gif
http://www.humbird0.com/content/games/pokemon/updates/2013-05-03/ember.gif
The website is FINALLY done! http://www.humbird0.com/content/show.htm http://www.humbird0.com/content/show.htm
I just moved to a new place. I won't have internet for awhile yet. I'm posting this from work.
The download links are informative, but look kind of ugly. I need to give them a cohesive shape and/or color.
Adding JS modules & hash-based page navigation. Haven't figured out how to make "sandbox" objects yet. http://www.youtube.com/watch?v=vXjVFPosQHw http://www.youtube.com/watch?v=vXjVFPosQHw
My last Flash-story gave me an idea for this text-story. http://www.humbird0.com/content/stories/sleepover_lessons/sleepover_lessons.txt http://www.humbird0.com/content/stories/sleepover_lessons/sleepover_lessons.txt
# 📖 Sleepover Lessons
This is a #finished #story about a couple of mothers training and manipulating their daughters to make out.
📖 Read: http://www.humbird0.com/content/stories/sleepover_lessons/sleepover_lessons.txt
❓ About: http://www.humbird0.com/content/show.htm#/stories/sleepover_lessons/info
http://www.humbird0.com/content/stories/sleepover_lessons/sleepover_lessons.txt
❓
http://www.humbird0.com/content/show.htm#/stories/sleepover_lessons/info
Finished this story. My site crashed shortly after posting links on forums.
http://www.humbird0.com/content/flash_stories/pub/puberty.swf
http://www.humbird0.com/content/flash_stories/pub/puberty.swf
# ✏️ Story Editor for Kara's Puberty
💾 Download: http://www.humbird0.com/content/flash_stories/pub/puberty_editor.zip
http://www.humbird0.com/content/flash_stories/pub/puberty_editor.zip
# 📽 Kara's Puberty
This is a #finished #video story about a mother getting the hots for her busty daughter.
❓ About: http://www.humbird0.com/content/show.htm#/flash_stories/karas_puberty/info
http://www.humbird0.com/content/show.htm#/flash_stories/karas_puberty/info
I haven't uploaded any new versions of the pokemon game yet. I've only been announcing what I'm working on.
I tried to create a mode7 effect yesterday. Almost got it right. Need to figure out the math formula for perspective distortion.
# ✏️ Level Editor for Castlemania
💾 Download: http://www.humbird0.com/content/games/castlemania/castlevania_editor_08-28-2012.zip
http://www.humbird0.com/content/games/castlemania/castlevania_editor_08-28-2012.zip
# 🎮 Castlemania
This #finished #game is a parody of #Castlevania. It was inspired by Toonpimp's game, Curse of Cracklvania. I originally hid this entire game inside of another game, Babysitter's Club 2 as a hidden "minigame."
💾 Download: http://www.humbird0.com/content/games/castlemania/castlemania.zip
❓ About: http://www.humbird0.com/content/show.htm#/games/castlemania/info
http://www.humbird0.com/content/games/castlemania/castlemania.zip
❓
http://www.humbird0.com/content/show.htm#/games/castlemania/info
# Sexy Chrono Trigger Sprites
💾 Download: http://www.humbird0.com/content/misc/chrono_trigger_sprites/chronoTriggerSprites.zip
http://www.humbird0.com/content/misc/chrono_trigger_sprites/chronoTriggerSprites.zip
# 📖 Misty VS Caterpie
This is a story about what happens if Caterpie and Pikachu are left alone with Misty.
📖 Read: http://www.humbird0.com/content/stories/misty_caterpie/misty_caterpie.txt
http://www.humbird0.com/content/stories/misty_caterpie/misty_caterpie.txt
# 📖 Tails Peeks
In this #finished #story, Tails is the voyeur. And Sally is none the wiser.
📖 Read: http://www.humbird0.com/content/stories/tails_peeks/tails_peeks.txt
❓ About: http://www.humbird0.com/content/show.htm#/stories/tails_peeks/info
http://www.humbird0.com/content/stories/tails_peeks/tails_peeks.txt
❓
http://www.humbird0.com/content/show.htm#/stories/tails_peeks/info
# 📖 Rabbit Attack
This is a #finished #story about Cream and Vanilla, who are not as innocent as they look.
📖 Read: http://www.humbird0.com/content/stories/rabbit_attack/rabbit_attack.txt
❓ About: http://www.humbird0.com/content/show.htm#/stories/rabbit_attack/info
http://www.humbird0.com/content/stories/rabbit_attack/rabbit_attack.txt
❓
http://www.humbird0.com/content/show.htm#/stories/rabbit_attack/info
# 📖 Tails Tempts
This is a #finished #story about Tails discovering that Sally is a voyeur. What's a horny boy to do?
📖 Read: http://www.humbird0.com/content/stories/tails_tempts/tails_tempts.txt
❓ About: http://www.humbird0.com/content/show.htm#/stories/tails_tempts/info
http://www.humbird0.com/content/stories/tails_tempts/tails_tempts.txt
❓
http://www.humbird0.com/content/show.htm#/stories/tails_tempts/info
# ✏️ Level Editor for Bunny Farm
💾 Download: http://www.humbird0.com/content/games/bunny_farm/bunny_farm_source.zip
http://www.humbird0.com/content/games/bunny_farm/bunny_farm_source.zip
# 🎮 Bunny Farm
In this #finished #game a princess makes a misguided attempt to acquire more pet bunnies.
💾 Download: http://www.humbird0.com/content/games/bunny_farm/bunny_farm.zip
❓ About: http://www.humbird0.com/content/show.htm#/games/bunny_farm/info
http://www.humbird0.com/content/games/bunny_farm/bunny_farm.zip
❓
http://www.humbird0.com/content/show.htm#/games/bunny_farm/info
# ✏️ Level Editor for Guardia Forest 2
💾 Download: http://www.humbird0.com/content/games/guardia_forest2/guardia_forest2_editor.zip
http://www.humbird0.com/content/games/guardia_forest2/guardia_forest2_editor.zip
# 🎮 Guardia Forest 2
This #finished #game is a sequel to Guardia Forest. It takes place in Heckran cave.
💾 Download: http://www.humbird0.com/content/games/guardia_forest2/guardia_forest2.zip
❓ About: http://www.humbird0.com/content/show.htm#/games/guardia_forest_2/info
http://www.humbird0.com/content/games/guardia_forest2/guardia_forest2.zip
❓
http://www.humbird0.com/content/show.htm#/games/guardia_forest_2/info
# 🔞 RPG Maker + NSFW resources
This includes all the naughty sprites and sounds I use in my games, along with a copy of the RPG Maker itself.
💾 Download: http://www.humbird0.com/content/misc/rpgMaker/RpgMaker_h.zip
❓ About: http://www.humbird0.com/content/show.htm#/misc/rpg_maker/info
http://www.humbird0.com/content/misc/rpgMaker/RpgMaker_h.zip
❓
http://www.humbird0.com/content/show.htm#/misc/rpg_maker/info
# 💾 RPG Maker
This #finished #program is a custom-made RPG Maker created using Flash. It can also edit other kinds of games. It's something I made a long time ago but I still use it and modify it from time to time.
💾 Download: http://www.humbird0.com/content/misc/rpgMaker/RpgMaker.zip
❓ About: http://www.humbird0.com/#/misc/rpg_maker/info
http://www.humbird0.com/content/misc/rpgMaker/RpgMaker.zip
❓
http://www.humbird0.com/#/misc/rpg_maker/info
# 📖 Knothole Heat
This is a short #finished #comic about Sally being in heat and Tails unknowingly wandering into bed with Amy and Bunnie.
❓ About: http://www.humbird0.com/content/show.htm#/comics/knothole_heat/info
http://www.humbird0.com/content/show.htm#/comics/knothole_heat/info
# 📖 Ridinghood Underbrush
This is a #finished #story about Little Red Ridinghood following her mother's deliberately bad advice regarding wolves.
📖 Read: http://www.humbird0.com/content/stories/ridinghood_underbrush/ridinghood_underbrush.txt
❓ About: www.humbird0.com/content/show.htm#/stories/ridinghood_underbrush/info
http://www.humbird0.com/content/stories/ridinghood_underbrush/ridinghood_underbrush.txt
❓
This was created using a program called "MakeBook" created in 2004 by Pat Crowe, which generates e-book ROMS for Gameboy and Gameboy Advance.
❓ About: https://www.mqp.com/fun/gb_over.htm
https://www.mqp.com/fun/gb_over.htm
# 🎓 Gameboy Image Conversion Tutorial
This #tutorial and #Photoshop file explain how to make a drawing look good on a Gameboy.
💾 Download: http://www.humbird0.com/content/stories/creams_class/bw_image_tutorial.zip
http://www.humbird0.com/content/stories/creams_class/bw_image_tutorial.zip
# 📖 Cream's Sex-Ed Class
The girls of knothole try to give Cream a sex-ed lesson but get distracted by their visual aid. This story can also be downloaded as a ROM for the Gameboy and GBA
🎮 Download ROM: http://www.humbird0.com/content/stories/creams_class/creams_class_roms.zip
📖 Read: http://www.humbird0.com/content/stories/creams_class/html/standalone.htm
❓ About: http://www.humbird0.com/content/show.htm#/stories/gameboy:_creams_sex-ed_class/info
http://www.humbird0.com/content/stories/creams_class/creams_class_roms.zip
📖
http://www.humbird0.com/content/stories/creams_class/html/standalone.htm
❓
http://www.humbird0.com/content/show.htm#/stories/gameboy:_creams_sex-ed_class/info
❓ About: http://www.humbird0.com/content/show.htm#/pictures/bird_girl/info http://www.humbird0.com/content/show.htm#/pictures/bird_girl/info
❓ About: http://www.humbird0.com/content/show.htm#/pictures/first_velvet_drawing/info http://www.humbird0.com/content/show.htm#/pictures/first_velvet_drawing/info