the Worthless Writeup Library @ szy.lol

Osaka for #256fes

work started on 2022-02 launched on 2023-05 ended on 2023-09

My attempt to make a low-poly model of an Azumanga Daioh character.



I think the original tweet that I got inspired by was this one, by artist Lee. It shows a character (ジュジュ様) modeled from 256 polygons and covered by a 256x256 texture, under a challenge named #256fes.

The tweet

The design is cute, and the challenge is interesting. However, much more important to the existence of this project was a response to a now deleted reply. Claiming that “It’s so simple. Knowledge of basic 3DCG is sufficient.” and, more importantly, linking a different tweet with some tips (and similarly cute model of Rin-chan), I guess I was inspired to try my hand at low-poly modeling.

Screenshot of reply


I had some familiarity with 3D software, I have had Blender installed for once-in-a-blue-moon bumblefuckery for quite some time now, managed to get through the traditional doughnut tutorial (though certainly an earlier version than I just linked), and attempted various smaller renders. However, while I had just enough passing knowledge to get confused with other software’s 3D movement (Fusion 360, come on, add a preset!), I have never done either low-poly nor character modeling. Doing an interesting yet clearly limited in scope project, that I even had the ability to brag about online, sounded like just the thing to learn.

This is the earliest screenshot I have, showing a bunch of references dragged in and an early attempt of making the head. Just winging it, the entire thing was built from manually placed points and tris, matched to my idea of the shape. Very messy topology, but that just adds to the fun!

By the end of the day, I have had the entire body modeled, textured with plain colors.

The next day I tried to optimize and texture the model. However, I had issues with drawing a good face. This displays my best attempt, using a stolen drawing for the face.

After this, I stalled for a few months. My next edits are from May 29th 2022, compared to February 25th. I remodeled a large part of the body to save a few tris and make the topology of the face slightly better. I also started drawing a better texture. I didn’t take any screenshots at the time, and have apparently overwritten the texture file since, with a rearranged version.

After this update, I stalled for almost a year, only picking the project back up on May 13th 2023. I “blame” finding the inspiration to finish this mostly on the Loud Burger short by brawlers world. I do recommend watching it. After getting back to work, this is what I had by the end of the day; notice the much easier to draw closed ^^ eyes.

The next day I changed the bags from being actual polygons to being just two quads with a transparent texture, and lifted the eyebrows into their own tris. This added a bit of neat parallax.

This is how the textures looked by the end of the day. So far it consisted mostly of plain colors, and using the natural shading of the default texture and colors of a random HDRi I had around. I also managed to get a pair of eyes that I was reasonably comfortable with.

Then next part would be shading the texture itself, as with #256fes you’re supposed to directly render the colors of the texture, without leaving the shading to the renderer. However, I cheated again, by using the Bake function in Cycles to generate a nice looking ambient occlusion layer, that I then adjusted and mixed into the texture in GIMP. I also added some stretched noise to the hair, and a cloth-ish texture over clothes. This is the final, quite tall, layer stackup.

I also figured out a way to keep both open and closed eyes in the same texture, by using two UV maps and switching between them within the shader. The choice could then be keyframed.

Then I started working on creating a skeleton for animation. I made a simple one, with one big bone for the body, one for the neck, one for the head, and three for each appendage. At first I tried using automatic weights, but that didn’t get me far.

After fixing… whatever that was, I also added four control bones for messing with IK. IK, or inverse kinematics, means only controlling the target position for a bone, and letting the computer figure out how to move the rest of them to achieve what you want. It’s much easier than having to control everything manually, but can be a bit fiddly to get correct. Once somewhat working, it’s also very fun to play around with.

With the model finished and somewhat controllable, I started working on a scene for the Twitter post. It’s pretty simple - it’s just the character in a large wireframe 1 meter grid box, standing on a wooden floor. There are also two labels, one with my @ and one with the #256fes hashtag. The camera has a circular track going almost around the model. There is also an easter egg, on the outside of the box there is a small image of Chiyo-chichi.

The animation is also pretty simple, starting out with Ayumu just standing, with subtle “idle” movements and looking around. Then, as the camera is finishing its path, she looks into it and waves, closing eyes when doing so.

The composition graph is a little overengineered, using a depth pass to create fog, intended to hide the end of the floor. Additionally, pixelation is added. Together with the low-poly style and the nearest-neighbour interpolated textures, it adds to the PS1-era effect of the result. All of the stylization techniques were lifted directly from this video by brawlers world.

I also rendered a static image of the model, to use in the attached description graphic, and a set of views of the model rendered differently - textured, in fake MatCap, and wireframe.

With all parts rendered, I published the final tweet. (ETA: Also on Bluesky now.) The media are also attached, in high quality, to this post.


Some time later I realized that I forgot an important attribute of the character, the knife. I stole a tri from the hair and added a knife.


A few months later, I decided to use the model to create derivative work of a meme. I modeled and rigged Chiyo-chichi in 60 polygons and with a 64x64px texture, and made a simple classroom.

The classroom is two planes with windows cut out. The “trees” are icospheres, slightly roughed up by moving them with random proportional editing, and swayed by being Displaced with a noise texture. The furniture is also very simple, consisting of a only a few quads, with most detail provided by texture and its transparency. All of the shadows are just tiny textures of a pattern of black pixels.

I then animated him to breakdance to Only You by Intense, and published the result to Twitter and YouTube and Bluesky.


This was a fun project to do. I haven’t done character modeling before now, and I had a great time trying to make something I have no idea how to do. The end result is quite cute as well. I still wouldn’t call myself a 3D artist, I’m still far from that, but even baseline knowledge might end up useful someday. If doing something like this sounds interesting to you too, feel free to give it a go! Model a donut, move around some vertices, and model something interesting. #256fes provides an interesting set of restrictions to work around, which helps creativity, and the 20-year nostalgia period for early 3D graphics is not over yet. You don’t have to participate, but I would recommend at least having a go at playing with Blender. I enjoyed myself, you might too!