Well, well, well… It looks like I've neglected this blog for almost a year now! Sorry, everyone that is checking this, hoping for new posts, but I just haven't felt like writing any blog posts due to…laziness, I guess. That and my mind's recent obsession with creating its own itches constantly, and my throat's inevitable destruction.
Although it's been months since it was done, I have an announcement: Mary has a new, 3D design! Let's take a look at her third design iteration!
|Mary Design 3D: The Trope (ignore the rug)|
Okay, for those that don't get the caption, I recall there's a trope where some movie franchises pointlessly make their third movie 3D, as in requiring 3D glasses. I assume this is just done because "third movie" and "third dimension" are too similar to pass up! In Mary's case, you don't need 3D glasses to look at her in full color, but it nearly fits that trope I think I'm sure about; It's her third design, and unlike the previous, worse designs, Mary's actually a 3D model now!
But, Why 3D?
So, why was this done? Mary worked well as a 2D design for years, used in the World of Kirbycraft and Mary's Magical Adventure "eras". However, over the years, I've let myself become way too ambitious for my own good; It started with the pointless addition of "race mode" in the earliest versions, then the minigames and the Hall of Challenges in ~v1.6, and now, in recent years, I've gotten an interest in having cutscenes with specific drawings of Mary and other characters, sometimes even animated.
I've tried a couple times to commission an animator to bring Mary to life, drinking from the Mary's restaurant kid's cup, but it fell through every time. In the end, I figured I'd never get to see Mary with anime-like animation and cuteness, so I considered making the cutscene animations myself. This also fell through, as I realized just how much work that would take. Also, when I watched videos of bad video games, I was reminded of just how bad a beginner's 2D animation would probably look…
|"Join me (and fail to animate), Xane, and I'll make your game the greatest in America, or else you will die."|
Yes… You see, I already suck at proportions and keeping them consistent from drawing to drawing, so you can probably imagine my attempts at animations would cause Mary's body to constantly warp, and it probably would look like a cancelled CD-i game by the time I was finished with it. Knowing that was my destiny if I didn't come up with something else, I decided to try out Blender, which I could never bother to even want to try using. (Years ago, I tried to "animate" Sonic in Blender, but all that resulted from that was a creepy video of an all-blue Sonic with his head popping off of his body then laughing in front of the camera.)
|So, this is Sonic's new transformation, "Demon Sonic"...|
Blender back then felt like entering an ancient temple and trying to understand anything the people left behind, like some kind of weird relic. It didn't look interesting, with a rather boring grey interface, strange menu options, and it wasn't obvious how to even apply textures to a 3D model, which is why Sonic was all one color in that old video.
Blender got an overhaul with the release of Blender 2.8, which changed how the interface looked, replacing the weird menus on the left side with more understandable buttons, and the interface itself now looks better, even without editing the theme. Due to that, and my desire for a new animated Mary, I took the plunge, watching Daniel Krafft's videos that each contained a lot of tips, like the one below:Yes, I didn't watch any videos about how to make a doughnut or the usual suspects for Blender beginners; These many helpful tips were enough for me to understand Blender, which shows how it may seem like a confusing program, but once you get over that hurdle, it's easy enough to use. If you are afraid of Blender like I was at one point, check out Daniel's videos then try out 2.93 or whatever new 3.x version is out by the time you read this. If you're thinking of using one of those over-priced paid programs like 3D Studio Max or Maya, just use Blender if you can avoid those other programs. I was using a pirated version of the former, but it was somehow more confusing than Blender, which says something. Now, I always use Blender; I may love 3DS Max's potential for 90's CGI renders, but Blender is easier to use for me.
|Here's how my Blender v2.93 installation looks, incomplete custom theme and all. Does it look cool?|
A 3D View
If you're interested in seeing the 3D Mary design, I uploaded a pre-posed version of her drinking from a cup she'll use in her intro cutscene. With this Sketchfab embed, you can look at the model from all angles!
So, What about the Game?
If you've been following the official Facebook, Twitter, Instagram, or VK page for the game, you may already know about this 3D model update, so you were wondering about that "great refactoring" I posted about back at the beginning of this year. Well, my memory is becoming increasingly bad with time, and the only way I keep track of changes to the game is through a changelog (the same one seen when I release a stable version on GitHub). I don't know what changes were done as of that post, but overall, scripts were refactored, some new features were added, and one object in particular has been upgraded…
|Nature hasn't looked better, and this time it's for real!|
Yes, the trees have received some nice updates since that old post about their previous improvements. As shown in this picture, trees are now procedurally-generated, both in layout and leaf color. When an area loads, trees spawn and are shifted around slightly, then their height and leaf color are randomly generated, allowing the trees to show an image at farther distances (which has already been talked about in that older blog post).
When you approach a tree, that's when it dynamically builds its form, starting at the base. The results are pretty impressive for DECORATE-based objects, but what makes them cooler is that they maintain their unique appearances even after you move away from one and it turns into an image again; Return to any tree, and it will look almost identical to how it looked the first time (minus leaf cluster positioning, which uses randomness). The secret to this is that the code responsible for building the trees uses their positioning for randomness, which makes generation consistent. The only randomness used for trees is the slight position offset, random leaf color, and random height used when initializing a given tree.
Oh, and there's other updates to the trees, only really noticeable in motion. Leaf clusters move up and down using Hexen's "FLOATBOB" flag (though with reduced movement), and leaves randomly drop from all trees, regardless of their "theme", which is controlled using ZScript instead of DECORATE. As for themes, there's four of them currently implemented: standard, autumn (seen in the screenshot above), snowy, and cherry blossoms, in that order.
There is another nice addition to the game, but it will be saved for another post, another historical one…