A tale of two paintings

I was under the weather this weekend, and it had been forever since I made any progress on any of my projects. So I painted.

Painting strengthens my artistic skills by forcing me to exercise observation and translation of form and light in ways that my normal, casual, caricature does not. I prefer cartooning to painting. I am more pleased in general with my results when cartooning than when painting. But painting makes me a better cartoonist. And besides: despite my lack of satisfaction with the results, I get absorbed into the process.

And when I have a big project, and progress is slow, it helps to stop and do a picture that takes all day, so you have a finished picture you can point to and say, “hah! I was on this day productive!”

First I did this one:

Interestingly to me, this more realistic version of Wren grows less and less disappointing every time I look at it. The first instant I declared it finished, I hated it. But now, I kinda sorta think it’s okay.

It’s a little stiff. A little plastic. But not terrible for all that. Anyway, whenever I try one of these paintings, I proceed from an energetic, lively, cartoony sketch to a kind of plastic, stiff final painting. Observe:

The picture got more detailed. The picture got more polished. But it also lost something of the personality. By finishing it, I killed it. And not in a good way.

This is not a problem outside my painting These pictures are finished, but retain all the life I poured into the sketches:

So, in a fit of dissatisfaction with my study in yellow and orange, I thought I’d try an experiment on Sunday. Instead of trying to create a fully polished painting, I’d try to paint a cartoon. I’d use a rough brush, and force myself to keep things loose, and abandon the project the moment I had successfully expressed whatever it was I was going for.

This picture runs into the constant problem of Wren’s cartoon proportions looking too young/old. I tell myself that it’s a function of the style I’m trying to build/imitate..

But I know it can be done. Betty Boop has a bigger head than cartoon Wren, and yet nobody thinks she’s supposed to be six.

But other than the problems I willingly gave myself by creating a female half-goblin lead, I really like the style of working from vague to precise, keeping it loose and scratchy all the while. Wren’s face is clear, her hands and feet are almost gestures rather than paintings. The monster in the cave look comes across clearly, but I only put half a day’s work into the painting. It has the life and an energy that the study in yellow lacks.

This semi-impressionistic work is a matter where I have mixed feelings. I like impressionism. I like attempts to go in art where the camera cannot go. As I’ve said before, I like caricature and pixel art. On the other hand, I have a well-honed distaste for abstract for the sake of abstract, for deconstructive or worse, masturbatory art that has typified the notion of art in the West my entire life.

But one of the things I like about text rather than art is that the audience participates in building the world. You write, “short ginger,” but each audience member fills in the details of the picture himself. And making the art messier, more suggestive, more abstract, pulls some of this superpower of writing into artwork.

I think I’ve concluded I want to do at least one book like this. But I need to do more paintings like this to try and explore this visual space and decide what I like or dislike about it. I’ve discovered not a solution to my problems, but a passage that may lead to a cave filled with gold, but may lead to a dead end.

At the very least, this form of picture generation is honest. I’m not trying to hide what parts of the painting I cared about and which I didn’t. It’s right there in front of you.

But I can’t explore today. I’m sorry, Mario, but our drawing tablet is in another office.

Captain’s Log 21·6 | 07·A: Do Overs

The game world is in pixel art, the interface is in HD. I have decided this is acceptable.

However, my action system needs revamping from the ground up. In this particular gif, you can see it almost functioning properly, but it has two huge bugs. One is that the mouse doesn’t work on the radial menu once the choice menu is coded. Second is that the mouse doesn’t work properly on the choice menu either. I don’t remember either of these bugs plaguing the project I stole the code from, but I could be mistaken.

Another issue with my action system is that actions can call each other and overlap in messy ways. When you select something from the radial menu or the choice menu, the menu should go away, then the selected action should take place. But this doesn’t happen.

What I’m going to do is rewrite the whole thing so it operates cleanly. It’ll probably take me all week, but it’ll be worth it in sparing myself future pain.

In preparation for this, and because Unity 2020 still rubs me wrong, I tried downgrading my project back to Unity 2019. It did not go well. As expected, the project broke, but when I tried to use git to roll back to a working version of the project, it didn’t unbreak. I’m an artsy type. I’m probably using git wrong. But, eh. I’ve decided to start a new Unity Project in 2019, skip the fancy 2D lights for now (not essential to the game), and proceed from there.

Normally, I would find wheel spinning like this demoralizing, but for some reason I don’t this time. I feel like I’m doing what I should.

I’m going to go sleep now.

Captain’s Log 21·6 | 03·B

Here’s roughly the neighborhood of where we are:

The navigation is done via the A* project, which in turn, feeds commands to the virtual pad…

Which is *not* how I did it before. Before, I just made the character walk in the direction you clicked, oblivious to any obstacles, and then the virtual pad fed commands to the “click on the ground” components.

What this means is I can reuse my old code for clicking on objects and creating dialogue, etcetera, but I’m going to need to tweak it to play nice with the completely revamped navigation system.

It should be easyish. But I’m having trouble getting started. Maybe because it should be easyish. I may push it eventually, but I spent yesterday getting the pathfinding up, usually a day off, and I only have a couple of hours before I need to clean up and head to my day job for orientation. So I’m letting go of making more progress on the game today for the moment while I get some thoughts down.

Also, I drew this last night. So let it not be said I have not made progress:

Sometimes I consider making a picture book that is just that: pictures. No words. But that is neither here nor there.

Here and there

Redesigning Wren

So, here’s kind of the oldest “official” art of Wren. I say kind of, because older drawings exist, but they don’t survive.

Wren was created because I needed a lone wolf wanderer to explore a setting I had just devised by extrapolating from earlier stories I had told my siblings. The last set of stories I’d worked on with a lone-wolf wanderer had starred a reformed supervillain dude, so I wanted to change things up, make it a girl with zero tragedy in her backstory.

Wren canonically is a privateer. She got a scholarship to mystic knight school because she was competent and tiny (mystic knight armor is more powerful on small people because it has to devote less energy to covering them. Kinda like tiny people being sought out as jockeys in the real world). But she dropped out of mystic knight school. Her outfit was designed in the story to be pragmatic and something you might see on a wizard/pirate. In the stories, I didn’t get too specific. Boots. Belt pouches for holding her Aether Arts (which are stored as crystals). A couple of knives forged by her crippled brother. A bucklet, which is a glove designed for wizardry.

When I got around to drawing it, I of course went the exposed navel route because I was single and lonely. I am no longer single and lonely, but there it is.

The first time I converted Wren to pixel art sprite form, this happened:

All the details make it into the sprite. But it’s too much. It’s confusing and disjointed. Her jacket looks like it could be pauldrons or, you know, Cap’n Cruch cereal boxes glued to her upper arm. It’s not clear. So the character was simplified dramatically.

This outfit was significantly better to animate. Arms and legs are separated out and easy to see. It works for the same reason Mario wearing overalls works.

In my head, this was a streamlining needed for animation and because the sprite was so small. She still canonically wears the jacket. In fact, she probably wears a full on tank top rather than just a scarf around her bosom. As you can see in the first cover I made for a potential Wren book:

She’s a privateer who operates out of an airship. Well, an airboat anyway. Very steampunky. Look, I gave her goggles! The goggles aren’t in the sprite. Too much detail, make it hard to read.

Around this time, I also got it in my head that instead of making her a pair of daggers, her brother made her bucklet, and in fact, a pair of bucklets that have a built in ability to generate crystal swords. They serve the same purpose

Anyway, in the one story I wrote, Wren acquires a shevlar harness. It’s a suit capable of generating armor. Feeling less and less justified in drawing Wren as half naked, I started drawing her with the harness on instead.

In the stories, she’s not described as half naked. She’s not trying to show off her physique or attract a mate. (In the stories, she’s not even particularly attractive. She’s a 5 or maybe a 6. Mind you, she’s a 5 or maybe a 6 in a culture that isn’t morbidly obese like ours…)

She’s just out there with a houseboat hunting monsters and pirates for bounty. Presumably, since she runs her boat alone, she spends a lot of time in warmer climes wearing nothing from the waist up but a sports bra to keep her bosom from bouncing painfully as she battens hatches and trims sails, but also presumably she puts a shirt on when it get cold out or she flies to town for supplies.

When I realized I wanted to make a Wren RPG, I defaulted to the sprite-based design, though. For two reasons: I enjoy drawing half naked women, (who doesn’t?) and again, it’s well optimized for animation.

But, slowly building up was something of a crisis of conscience. I’m not trying to appeal to the coomers. Frankly, I don’t need to: if a Wren-based RPG takes off, they’ll generate their own art without my help. Also, I wanted the design to be fundamentally true to the character.

Wren is not discount Shantae. She doesn’t exist to be shameless. She exists to be a wandering do-gooder loner. I’ve focused on her because I like drawing her and my wife wants more stories about her and she is well suited to the micro RPGs I want to make. It’s kind of a perfect storm.

Sexiness in character design is also a bit of a tricky subject for me. I grew up Baptist (don’t drink, don’t smoke, don’t chew, don’t go with girls who do), but I’m not Baptist anymore. My current theology regards the old, ’80s Baptist prudery (Whoa! She’s showing navel!) as legalism worse than Rome’s, because in Rome you can actually get absolution. Indeed, we should not lust nor inflame lust, per the Sixth Commandment. But if putting sexy characters in stories is only and always violating the Sixth, then putting badass characters in stories is only and always violating the Fifth.

Add on top of this the fact that the Social Justice religion has turned to prudery that would make a Puritan blink, and I don’t want to de-sexyify Wren. I want to spit in the eye of my ideological enemies, as long as I can do so at no expense to the story.

And then, making a JRPG with navel in it is a good way to get retweeted by Mark Kern. I probably should ignore that, but can I?

Yesterday, I had to go sell jam at market, and my crisis of conscience reached a head. By the time I got home I was resolved to redesign Wren. I decided my chief guiding light would be character itself. I needed to find an outfit that was true to the character, but still optimized for animation.

I tried just making her wrap a tank top.

Image

It didn’t feel right. I considered that Wren must spend 90% of her time on an airship, working and living by herself. I considered that Wren, often as she faces human foes, faces therians, with power levels that make the differences between humans largely irrelevant.

And I kept coming back to this sprite:

She’s got a pugilist look. Lady boxer kind of thing going.

The design works. It’s consistent. It makes sense. But does it make sense for Wren?

Let me consider the mechanics of her world. The setting is early firearms. Swords and guns and light armor are the norm. Pistols are single shot, but devastating weapons, but not much use against aether shields. However, inside towns, chaos fields are erected that repel therians and prevent the efficient use of aether arts. The average adventurer is going to favor one or two pistols, a smallsword as a sidearm, maybe a spear for genuine combat, and everything is going to be as enchanted as possible, to give him a fighting chance against wild therians.

Wren is not the average adventurer. She is a wizard in her own right, able to manipulate aether directly and to craft her own Arts. But pistols and a smallsword still kind of make sense. Pugilism kind of works anyway for her. Not as a serious tool against man and beast, but as a backbone for an energy based fighting style. Using aether to DBZ foes.

Maybe she just likes boxing.

Maybe her wizardry is optimized for use with fisticuffs because there was a boxing class in college and she took to it like a fish to water.

So, in summary:

I had a moral dilemma weighing on my mind because my character dresses too much like Shantae. I thought about it long and hard, talked it over with my wife, considered some relevant theology and…

…Decided to make her shirt two inches longer.

This may not be where the journey ends, but at the moment, this feels right. I don’t know why. It’s such a tiny change. But here we are.

Aseprite 1.3; Mixing Pixels and HD

Yesterday, the beta version of Aseprite 1.3 dropped for Steam users. I use Aseprite to make pixelart animations…

…and Pyxel edit to make the tiles. Pyxel Edit lets you edit a tilemap with your tiles in it that gets live-updated as you work on the tiles, allowing you to very quickly make a very functional tileset.

Now you’ll note that not everything on the screen is my tileset. I like to dedicate layers to characters and objects so I can preview how the whole thing will look together.

Well, Aseprite 1.3 added tile features. And…

… they don’t hold a candle to Pyxel Edit’s. They’re a very good start. And I like these tiles better mostly because I made them with the lessons learned from making a tileset in Pyxel. But you can’t easily flip tiles. Rearranging your tile palette changes the tile map because the tile map stores the tile indices and doesn’t change them when you monkey with your palette. Oh, and you can’t export your tileset.

I’ll repeat that. You can’t export your tileset.

You have to build the image you want to be your tileset and export that.

That’s not 100% a deal breaker. Some people would rather export an image because it is more convenient to them to have the tileset arranged a specific way.

On the other hand, Aseprite’s general pixel art tools are, for the most part, way better, and the two programs do not gracefully copy and past art to one another. There’s a huge amount of convenience in saying, “You know what, I’m tired of working on the tiles right now, I’m going to tweak that tree.

I also added a third character to the mix and discovered that Wren was too short. When compared to “normal” people in the game, she will look like a child in a bikini. Wren is not entirely human, and canonically characters do assume she’s younger than she his because of her unusual height, but it was too far. So, I fixed that.

At the end of the day I don’t know whether I’m going to stick with my current, split workflow, or switch to an all-Aseprite workflow. The pros and cons of each workflow are dancing on a razor’s edge.

High Definition

So, let’s do a quick mockup on how the game might look if we use pixel art for the world, but a high definition interface:

If I’m going to put conversation on the bottom of the screen, I might want to consider pushing the world design so that the action happens higher up. The top of the screen certainly is more spacious, and a more reasonable place to put interface. If I move dialogue up there, I’ll have to change the visual metaphor for the character graphics, maybe stick the face in a box. But overall, I don’t hate the look.

I was planning on making combat menus radial, bursting out of the player when the time comes to menu, but in my mockup test, it felt right to have buttons materialize under a character’s stat bar. But I’m not decided.

I need to try it out, see what works. At this point, the next step is to give Wren a walking animation and get gameplay up and running.

I’m sad that you can arrange a palette in uneven rows in Pyxel, but not in Aseprite. Ah well.

I love pixel art

Remember when I did this:

Well, try this one out.

Oh, hey, there’s a capdjack and Dr. Stump. Who’da’thunk?

From a business standpoint, HD art is way better than pixel art. No doubt. Customers love it more. Half the reviews you’ll get on a pixel art game boil down to “It’s not 1980 anymore, loser.”

It’s not entirely one-sided. If you are selling yourself as a retro revival, and leaning on the nostalgia button, pixel art can be a plus.

And it is more economical to produce. So, if your goal is to make a lot of games fast, or you are an indie studio, or you don’t care about sales, or you just don’t have the time or budget to do more for whatever reason, HD art may be the best corner to cut.

And this is the source of the “It’s not 1980 anymore” reviews. Gamers perceiving that they’ve gotten the budget option when they were owed the name brand.

From a personal standpoint, HD and pixel art are two different art forms, and I love them both. I want to make a hand drawn game, but I also want to make games where the hand-drawn-ness of the art doesn’t actually matter.

I mean, it matters for my bottom line. I just got an interview for a part time retail position, and I’m going to go to that interview in part because nobody buys my stuff.

Yet.

But let’s eliminate the profit calculation from the equation. Profit doesn’t strongly motivate me. It would, perhaps, be better if it did. My family would be much better off. But I have tried to change this, and it will not change.

If I do not stick with it, there is no game, and if my primary calculus is profit, I will not stick with it. What then of pixel art?

Well, to me, pixel art has a drastically different connotation than HD art. HD Art is bespoke. High effort. And that means the dev team diverted resources that could have gone into making more of the game.

Pixel art says freedom, depth, and breadth to me. Breadth because you can build a bigger world out of legoes than you can simply assembling each space by hand. Depth because the game developer is more likely to let me burrow into a tile, or throw it, or set it on fire, than a pen drawing or a 3D model.

Many of my favorite franchises became hollow when they switched to HD. Once upon a time in Pokemon, you walked into a town and it had only five buildings, but each of those buildings was something. Now, in Pokemon, you walk into a town and its practically festering with architecture, but each of those structures is just a hollow plastic shell.

And because the age where pixel art is required has ended, pixel art made now has a timeless quality to it. It’s not going to be more invalidated when displays switch from 4K to 32K.

Finally, I love pixel art for the same reason I love drawing cartoons instead of drawing realistically. It speaks. It gets in, says what needs to be said with no more elaboration than is absolutely necessary. It is laconic art, therefore it is witty.

At least, such is the stuff I tend to appreciate.

Captain’s Log 21·5 | 24·A: The Random Adventures of Wren Valen the Wanderer

So, for context, I’m going to tell you roughly how I’m beginning to organize my life.

I keep a deck of blank, poker sized playing cards, on which I take notes. Both to-do lists, but also anything I need to remember for whatever reason.

The numbering format is WW·X | YY·Z where WW is the two digit year, X is the one digit month (A=10, B=11, C=12), YY is the two-digit day, and Z is the note. When notes follow up on each other, a series of numbers goes underneath the note ID.

At times of my choosing, I go through these notes, and rewrite them to put in my Zettelkasten. This is my permanent external memory. Cards that get copied from my journal to my Zettelkasten get cross-referenced so I can go to my monthly archive and see the context of the thought.

Well enough, but what if I need more illustration and room to write? Well, I take the comic format I developed for Bunny Trail Junction…

… and decided was too intense, and bean-ified it..

And I simply index it the same way.

So here’s a gif of the game as it sits so far:

And here are the Wren Beans I’ve collected, making this post the official stop for the Wren Valen RPG

Today’s big projects are contemplative, though I may do physical work as well. By integrating bullet journaling but on playing cards with the Zettelkasten, I have brought together a collection of lessons that have changed how I approach the question of what I should create and how, and I’m going to navel gaze about it below the fold.

Continue reading “Captain’s Log 21·5 | 24·A: The Random Adventures of Wren Valen the Wanderer”

Testing 2D Lighting with Spriter

Based off of this video.

  • Make sure the Universal Render Pipeline is installed via the Package Manager.
  • Create>Rendering>URP>Pipeline Asset
  • Create >Rendering>URP>2D Renderer
  • Slot the 2D Renderer into the Pipeline Asset.
  • Slot the Pipeline Asset into Edit>Project Settings>Graphics
  • Hit Edit>Render Pipeline>URP>2D Renderer>Upgrade scene or Upgrade game

Annnd…

Our Spriter Character is Lit. But will the lighting remain as animations switch? Well, my existing animator is designed to work not with spriter, but with Unity’s animation system, but let’s tweak it.

Awww yess baybee. I wasn’t sure it was going to work, but it works! Praise be to God!

So I can do fancy lighting shenanigans with Spriter. Theoretically, I can use my palette swapping shenanigans too, which can wait until a game is funded.

This is half the reason I ditched Spine for Spriter. Spine uses a special shader of its own in order to implement its features. But I want to be able to use Unity’s lighting and shaders. Why make an HD game if I’m not going to go all out, after all!

Update

Got basic movement in play. Imported my action/mouse framework and got a cursor moving around on the screen as well, though that’s not in this gif.

Committed the repo before I forgot…

I need water, and my aminals need food.

Digging into my Slip Box

So, I’ve been sort-of-kind-of bullet journaling, except on blank playing cards. The same ones I use in my Zettelkasten. And then indexing the cards in a manner like unto the zettelkasten.

Hilariously, even though when I took to Bullet-Journaling™ and realized I could combine techniques from Smart-Noting™, the idea to dip back into my deck and see how my current thought meshes with lessons from my past didn’t occur to me.

But last night, I started reading Not All Fairy Tales Have Happy Endings, and today I decided since I was going to consolidate my notes from that and decide how I would proceed with my Candy Raid sequel from there, I figured I might as well break out the Zettelkasten itself and see how it all worked out.

And well I did. I have learned several lessons in the past that I was ignoring. As well as several lessons I learned recently As well as several lessons I learned recently AND in the past.

Here are a handful of lessons I decided I need to be daily reminded of. Some are good advice in general, others are tailored to my specific personality and style, and are probably bad advice for people who are not very similar to me.

  • SAY WHY. Even to children. Even to yourself. Nobody is motivated without a WHY.
  • COMMIT strongly but rarely, and CUT your losses swiftly when your gut says to do so.
  • PROVOKE yourself to action with challenges. Race the clock. Make bets with yourself.
  • The correct challenge is seldom the easy one. CHOOSE the challenge with the right amount of meaning and awesomeness.

So, heck with it. I’mma make a JRPG. Not an adventure game, we’re gonna get the combat right in. And instead of tinkering with a property I’m apathetic about, I’m breaking out the Naval Navel herself, the Girl Goblin, my wife’s favorite of my past creations, Wren Valen, the Flying Privateer!

“Wait, did she magically become a redhead halfway through?”

Yes. Hollywood has decided to blackwash all the gingers, and I have decided in return to gingerwash every one of my own characters whose hair and skin color is inessential to the character. This is why John Michael Jones, who is supposed to be a bog-average boy, is a redhead instead of having brown hair.

Obviously Jump the Shark is a shark, and Sera Mermaid was already published as a blonde. Most of my characters cannot be ginger for one reason or another. But those what can, are. And Wren can.

Allons-y!

Captain’s Log 0210416.105: It Could Be a Bit More Awesome

Thanks to a retreat last weekend with my best friend, I realized that I’ve been focusing heavily on what is pragmatic in my constant quest for a golden workflow road.

No project is worth doing unless it’s full of awesome. Now, all of my projects have that potential, but I have not been specifically seeking that potential out. I’ve been looking for a way to do cheap and easy, instead of investing time.

I’m not sure how this revelation (which I need to rediscover from time to time) is going to shape projects in the immediate future. Awesome Moments itself may resume being my focus on the other side of the Weekend. However, we shall see.

In the mean time, here’s a workflow for making HD animations using Spriter & Krita:

Step 1: create prototype graphics at half size. Be careful about form and posture, and sloppy about everything else. The initial version of a character, especially if I intend to use character maps, should have out-jutty things designed to ensure each part takes up as much space as it ever likely will.

Here’s the Solar Guard, created for that exact purpose:

Step 2: Export at 4X size (that is, 2x the intended size; 4x the ‘sketch’ size) and animate in Spriter. Here, I am intending to shrink the graphic in Unity. By going to 4X size, I can allow for an amount of zooming without losing detail.

Step 3: Open the generated graphics in Krita and save them as *.kra files. Double the size once more, draw final quality art on new layers, then export it to a new skin folder at half size as png.

Apply skin in Spriter and see how it looks.

I may abandon shading on characters, in line with old cartoons where the backdrops were carefully painted and shaded, but the characters had flat coloring except in extreme situations. But I am content with this workflow and this art style.

I think after I’m done with Awesome Moments and in between books, I’m going to work on making a hand drawn game with Piqha. Maybe it’ll be an RPG. Maybe a platformer. Maybe I’ll work on both and see what happens. Maybe I’ll backburner Awesome Moments until my heart is in it again.

We’ll see what happens. But I need to feed my kid and the farm aminals.