Monday, February 13, 2023

Gardens of Vextro

I keep putting off writing a post for Gardens of Vextro. It's just such an insanely cool thing, one of the raddest projects I've ever been a part of, and I'm worried about not doing it justice. I'm gonna not overthink it and keep it brief -- especially since I said most of what I wanted to say in the included developer commentaries already.

Gardens of Vextro is a chain game anthology made over several months last year by me and other members of the Vextro community. Each game was developed sequentially, with each game responding to all previous entries. I kicked it off with a short twine in August called Buried Flower. The rest of the community proceeded to knock me on my ass with every single amazing subsequent entry. I don't know what happened exactly, but it felt like the chain game structure brought out everyone's A-game. I'm ridiculously pleased with the final anthology.

We've gotten a lot more writing than I'm used to getting for releases! Thanks a ton to folks who went out of their way to write pieces; I'm linking each of them here for posterity. Please remind me if I'm missing any!

Also many thanks to saori (author of another reverie) for this lovely piece in part on Buried Flower.

The only thing that gets me higher than making art is inspiring friends to make art. Gardens of Vextro was a feedback loop of everyone impressing and delighting the hell out of each other. It's some of the most fun I've ever had. I'm deeply thankful to all my friends who worked on it (and for being giga-brained super-geniuses), and I'm deeply thankful to everyone that engaged with this singularly and beautifully deranged collection of stories.

Wednesday, February 1, 2023

Why Did Trails Stop Killing People

Major Spoilers for the Sky and Crossbell arcs of Trails

Last year I finished Trails to Azure, the fifth game in the Trails series from Falcom and the climactic game of the Crossbell arc. The virtues of Trails are extremely numerous and I'm not interested in going through them all here. I wouldn't have played five 40-80 hour rpg's in one series if I didn't think they were stellar. If you're not initiated into the Falcom cult, don't take any of these criticisms to mean the dumb bad rpgs you like are better than Trails (they're not).

I want to talk about how the Trails series handles mortality. I've generally been very pleased with these games, but in Trails to Azure a lot of little problems with the series came to a head for me. I'm writing this because it's been several months and I still really want to whine about it. (If I make any mistakes or forget something please forgive me, these games are very long and I’ve played them over about five years.)

Nobody dies in Trails in the Sky FC. Fine, it's a prologue game. It's a little weird that a whole-ass coup attempt goes down and there are zero casualties, but whatever.

Trails SC introduces the series' favorite backstory: someone the character liked (usually a woman) died and they're secretly still sad about it. It's never someone the audience knows. We learn the barest details about one character's sister just in time to learn about his all-consuming guilt over her death. The very next chapter, we learn there was a separate woman another character knew, and how he is also consumed by guilt over her death.

This all works, although it's a bit cheap and repetitive, and it has some ugly undertones I've discussed in the past.

At the end of SC, 100+ hours into the Trails journey... a major character, who we know and like and have spent time with, gets killed off!! It's very good and affecting! A loathsome villain beefs it too. It's darkly cathartic, because a character we like kills him, and he doesn't feel great about it.

Trails SC is great. For a lot of reasons, not just that it kills people (but definitely in part because it kills people). SC is the reason I think the Sky trilogy stands toe to toe with genre classics like Final Fantasy VI or Chrono Trigger. It’s just a rad rpg, and it lands even harder because of the prologue game investing us in the world first, and the epilogue game letting us say goodbye in the most loving way possible.

Anyway, I didn't expect this would be the last time anyone died in Trails.

(In the first five games anyway. If Cold Steel contradicts any of this, please allow me to discover that for myself.)


Trails 3rd mostly takes place in an abstract dreamscape straight out of a weird arty rpgmaker game. It's essentially an excuse for a bunch of cute side stories about all the characters from FC and SC. The side stories are very good. The new main character has a strong arc (about two women he knew that died, and how he's sad about it) that ties the game together very nicely. (And from a play perspective, the final dungeon and boss gauntlet is one of the coolest setpieces I've ever played in an RPG.)

Nobody dies in 3rd, although they bring back the dreamscape ghosts of several dead characters so you can feel more feelings about them. It's easy to be cynical about this approach, but I think it works. 3rd's central Dead Woman Backstory is also a lot stronger than the ones in SC, because there's a bunch of flashbacks about her interspersed throughout the game. When we finally learn how she died, it's after getting to know and care about her, and it hurts a whole lot.

Even though no one dies in 3rd, it still reckons with mortality and darkness in a real, honest way. It's a story about untangling the knots of your past, about how hard and necessary it is to say goodbye. It’s my favorite story of any Falcom game.

I think it's telling about Falcom’s priorities that the later Evolution remakes censor 3rd's darkest scene, even though it forms the emotional foundation for the biggest catharsis in Trails from Zero.

No one you like dies in Trails from Zero. Fine, it's a prologue game. It's a little weird for a murder-cult to take over a whole city in a violent uprising and no one beefs it, but whatever. The extremely irredeemable villain dies, and everyone feels really bad about it. It's a well-done scene. You may think the guy's a huge piece of shit, but you know Lloyd wants to save him. You feel how much it hurts him when he fails.

No one dies in Trails to Azure. This is flabbergasting. I could not believe it as I was playing the game. It’s the reason I’m writing this piece. It keeps faking you out too, killing off small side characters who absolutely could die and the series could keep going just fine. Then a few scenes later, the explosive reveal: oh joyous day, they survived!

Azure introduces a character whose whole deal is that she's a craaaaaaazy murderer. She loves blood and death and the screams of the innocent. She uses a gun that's also a chainsaw so that she can shoot people and also carve them in half with a chainsaw. She kills a few nameless extras, mostly off-screen. She seemingly offs a side character, but then it turns out the side character is only injured. But she's permanently injured in ways that will affect her life forever, and there are a few heart-wrenching scenes where you watch her deal with that. Actually nevermind, we find out in the ending she's fully recovered. So the Crazy Murderer actually does not murder or even permanently harm a single named character.

A third into Azure, terrorists attack the capitol building while heads-of-state are there arguing over a treaty. It's a dramatic and exciting setpiece. It's weird that no one dies! Maybe this is just me as an American talking, but it's a little odd to play a game where terrorists attack a skyscraper with aircraft and it's ultimately bloodless. I guess some of the nameless terrorists die, off-screen.

So many violent dramatic things happen in Azure. Buildings gets bombed to the ground (don't worry -- everyone had evacuated beforehand). An entire fortress gets vaporized (don't worry -- someone has A Feeling that everyone in the fortress is actually fine somewhere). You fight an unstoppable juggernaut you have no chance of beating (but she has a code of honor and refuses to actually kill you).

 
It all starts to feel cheap, because there aren't any lasting consequences. You don't feel the violence of the political uprising or the power of the villains because no one you care about is ever in any danger. The main villain of the game is the worst casualty of this. She impales another villain on a half dozen energy lances and flings him across the room into a wall. He collapses in a pool of his own blood and utters his last words. After you fight, she reveals that the lances she stabbed him with really just put him in a state of "suspended animation", and he's actually fine.

None of the villains die. The ones who aren't redeemed more or less wave goodbye and go "see you again in Trails of Cold Steel!" It does not inspire much suspense when the main villain does this, considering she couldn't even off a tiny side character without 4kids-censoring herself.

There are a couple more "someone died in the past and I'm sad about it" backstories. It's never characters we know. Death in Crossbell is something that happens in the past, to other people, a trial of the heart to be mulled over and overcome. It doesn't exist in the present.

At the end of Azure, the heroes reject the easy answers offered by the villains, and the specter of war looms over Crossbell. This is what the story's been building towards for two games. Instead of sacrificing an innocent child for power, they'll face down a terrifying uncertain future.

Then there's a two minute montage of the war. The heroes win. At the end there's a big picture that shows all our heroes happy and alive and well and victorious.

Trails to Azure is full of beautiful, gut wrenching character journeys. (And I have to add: on hard mode, it's an absolutely enthralling and demanding game to play. That did a whole lot to soothe my angsts with the story.) But it feels resistant to meaningful status quo changes in a way that undermines its own drama. Villains can't die or do anything too evil because then they can't be redeemed and join your party in the next game. Main characters can't beef it because then they won't be able to join the 100,000-character cast in Cold Steel. Side characters can't die because... well because they don't want to make you feel bad, okay?

The character arcs in Azure are beautiful, but they don't have the dramatic weight they could because there's next to no stakes. And the Ultimate Feel Good Happy End is odd coming from a developer that very routinely has tragic endings. How many Ys games end with characters you really care about either dying or ascending into goddess-hood where Adol can never see them again? Azure sets you up to expect the same thing -- KeA is the most death-flagged RPG heroine in existence. Think of how much more the surprise happy ending would have landed if the characters had suffered and sacrificed more to get there.

Ys games don't have the cast size or the word count of Trails. I have to wonder if, in the process of making five games and writing millions and millions of words about these characters, the developers fell too in love with them. And they couldn't hurt them in the ways the story so often calls for.

Tuesday, October 18, 2022

Beach Balls

 

I made a little browser game recently! It's called Beach Balls. It's a tiny score attack game you play with your mouse. Some friends have gotten really impressive scores already!

I made Beach Balls in Love2D, a game dev framework for the Lua programming language. I made all the art myself -- I also made the music in Bosca Ceoil. As small as the game is, it feels like a pretty big milestone to me, because it's my first time making a complete game essentially from scratch. 

I cannot say enough nice things about Love2D. It's extremely light-weight, which is a huge plus after a decade of dealing with large and sometimes cumbersome editors and export sizes. It's also free and open-source, which is nice after watching YoYoGames work for a decade plus to slowly tear Game Maker away from the hobbyists that fueled its initial success. It's instantly familiar and easy to use. Lua reminds me a lot of GML -- once I got a workflow going, it honestly didn't feel that much harder than Game Maker. Even though I was making everything in a text editor! I followed Sheepolution's very good tutorial for the record, at least until I had enough tools to branch off and do my own thing.

I've always used medium-level engines like Game Maker or high-level dev tools like RPGMaker, Twine, etc. until now. I've told friends that the creative work of making and finishing a game is already very scary and demanding, and I don't want to add a bunch of hard technical work on top of that. I also enjoy working within the limitations of high level editors. I don't need to make an engine from scratch to fit a very specific preconceived vision. I find the stories of my games while working on them, within the constraints of my tools.

But also... programming is really fun! I loved it as a kid, even separate from game dev stuff. I think my love of coding got burned out of me for a while after college, just like I stopped reading for five years after high school. I've been having a blast learning Love2D and the Lua environment. I immediately jumped into a much more ambitious project after finishing Beach Balls, and I'm already delighted by the tech problems I've been wrestling with.

There's nothing more real or authentic about making your own game engine in a lower-level framework. The actual story I'm sharing isn't anymore inherently worthwhile because I had to make my own collision code and scene manager. But doing all this stuff is fun as hell for me, and I like the hand-crafted artisanal feelings I get from using all my own code and art and sounds and music.

I've put out two dozen games now -- the creative part of game dev is officially No Longer Scary to me. This is a new skill to learn, a new way to get excited about this hobby that's been bringing me joy for a decade now. I feel good about it!

Thursday, September 29, 2022

Licorice Recoil

New game! I put out a geocities-core MIDI-backed web fic a couple weeks ago. It's a style I've wanted to work in for a long time -- probably since reading RPGClassics sprite-edit OC chats as a kid. Give it a read right here for free, in your browser or on your phone.

Like A Cold Place, this one started off as shitposting on social media. I kept seeing cute gay art of the two leads from the anime Lycoris Recoil on my twitter timeline, so I wrote a little thread about them. My feeds often get bombarded with gorgeous character art for shows and games I know nothing about. The joke is that I wind up developing relationships with these characters in that weird online context vacuum, and that those relationships can be fun in their own right.

I liked the bones of the story I laid out in that thread. I thought about expanding it into a little VN, then gave up on the idea because it sounded like too much work. Two weeks later I was in the shower, thinking again about wanting to make a geocities-ass web story, then jolted as I realized the two ideas could work together. A lot of my projects start like that -- a little story I want to tell, and separately a medium I want to work in. Then, finally, snapping them together.


It actually wound up taking a lot of work. A big chunk of the effort was getting together a ~4000 word story I was pleased with. I'm still much more comfortable writing scary and tense scenes than I am cute quiet romance; it's something I've been struggling with since writing the middle parts of Wayward. But I think I'm getting better at this kind of writing, and it's nice to have more tools in my toolbox. 

I'd like to be able to write something like this that's more stretched out, with a slower burn and bigger payoff. But I think this story benefits a lot from the 10-15 minute runtime and density of art/music/ideas. It definitely moves fast, but I think the payoff is small enough that it still feels decently earned.

I really appreciate Zeloz and Deb's help with the early test reading. The first "finished" draft actually ended a scene earlier, before the last time-skip. They correctly said it felt a little abrupt, and I quickly drafted a new ending I'm a lot happier with.

The web dev stuff took most of the rest of the work. It turns out doing web development from scratch in 2022 is... pretty tricky! You can't just auto-play MIDIs anymore, browsers block that. I had to do a lot of CSS and Javascript shenanigans just to mimic the style of old-school personal web pages, and a lot of extra work on top of that to keep it mobile-friendly. I'm pleased with the final effect though, and it was fun to feel like an actual programmer for the first time in ages.

I got almost all the Flickgame art together in the last several days of dev, and that part FELT the hardest even though it went really quick. Making actual art assets from scratch Does Not Come Easy to me. Working with a very limited toolset like Flickgame helped keep it manageable though. It's a skillset I want to develop more, because even though it was hard it was still pretty rewarding and delightful.

All told I think it took around thirty hours. It's the most love I've poured into a project this year outside of Breathless, which is very funny for such a silly premise. Friends seem to have enjoyed the story a lot, both the ones who have and have not seen the show, and I'm very pleased with how it turned out.

I'm realizing this year that a big part of what makes creative work exciting to me is the process of learning new skills, trying new things. Basically every part of this project was outside my normal wheelhouse. I constantly had to stretch muscles I wasn't used to stretching. But I scoped small enough that it didn't get too overwhelming. 

I don't think I'm the kind of dev that finds a niche and then iterates on it endlessly (although I think that can be a dope approach!) Instead I want to keep trying new things and get Pretty Good at a whole lot of creative skills. I'm feeling pretty jazzed about it!

Tuesday, April 26, 2022

Breathless and Gorgon's Gaze

I put out two new games this month! Both are browser games, and you can play them on your computer or on your phone.

The first is a horror twine, Breathless. It takes about ten minutes to play. This one took a pretty long and winding development road for such a quick thing. It started as a very different prose short story right after I put out Wayward last year. I finished the draft but didn't really like how it came together. I tried rewriting it in Twine with a different approach, got some results I liked, then spent four months or so drafting and fiddling with it. Eventually I had something I liked a whole lot!

I think the finished game is really neat. I've had like six big false starts with Twine over the last decade. My issue is that I always tried writing in it like linear fiction, without taking advantage of the unique parts of the form. That was true of this project initially -- the intro and ending sequences were originally way more expansive and even more railroaded. But as I worked on expanding the middle part, I realized how much more fun it was when the game felt branching and responsive. 

It took a lot of work to get the middle part where I wanted it to be. I even watched playtesters to find obvious choice dead-ends to expand, and figure out which parts needed snappier pacing. (Thanks a bunch Drew, Narf, Cecille, and June!!) It was a hard but really rewarding process; I'm glad I stuck it out! I'm really excited about working with (and playing!) interactive fiction more in the future. 

The second is a block-pushing puzzle game called Gorgons' Gaze. It's ten levels long, and seems to take most players over an hour to complete. It's pretty tough!

I put together the engine and aesthetic ages ago, before the pandemic even. I got stuck there because the idea of actually making block puzzles was super-intimidating to me. I made a Sokoban riff in Puzzlescript before (Spider's Hollow, a game I still like a whole lot), but that game is really focused on story. There are maybe two "real" puzzles out of the game's ten screens.

I picked the gorgon prototype back up after releasing Breathless, and after a couple weeks I had a bunch of puzzles I really liked. I'd decided to embrace making a real puzzle game, and I tried to make the later levels as hard as I could without just making them convoluted or overly large. I did a lot of playtesting to make sure there weren't any trivial solutions I missed. (Thanks a ton Thom, Cecille, Drew, and Rhete!!)

The extra work and level drafting paid off -- Gorgons' Gaze has resonated with players to a hilarious degree. It got picked up by a couple rad-looking puzzle game blogs (Bonte Games and a Japanese LiveDoor blog), shared on puzzle game twitter (which I didn't know was a thing), and now it's my second-most viewed game on Itch (after Facets). I'm delighted it's connected with so many folks. I'm excited to make more puzzle-y games in the future!

I feel like the silly seal game last month reenergized me creatively. I'm excited to hammer out more small projects this year. I feel like I'm connecting with a part of my creative spirit I've neglected for a while, and it feels really good. 

Thursday, February 24, 2022

A Cold Place

 

I released a new short visual novel about a seal orb! I feel it best speaks for itself.

Thursday, December 2, 2021

Nymph's Tower

New game! It's called Nymph's Tower. It's a big exploration platformer about ascending a tall tower and finding hidden doodads. You could even call it an INDIE METROIDVANIA if you wanted -- it's the first proper one of those I've worked on!

Reshma and John made the gorgeous art. Muxer composed the haunting lovely score. Toby came up with the game in the first place, programmed all the player movement and boss fights, and did around 2/3rds of the level design. My role was building a lot of the maps in the back half of the game. I'm really pleased with how well our mapping styles meshed together. I think we built a super-cool world to explore!

I had a blast helping make it -- this was my first time contributing to a game in a firmly secondary role like this. I'd love to do more collabs like this in the future. Maybe it's just because I'm lazy, and I enjoyed helping make a big epic game come together without a corresponding big epic amount of work. Maybe it's because I was working with such cool talented people!

It's structured so you can approach certain obstacles in different ways; between that and the lovely expressive movement I think it's got a lot of fun potential as a speed-game. Whether you want to engage with it on those terms or just play through it once, I hope you have a good time!

Two down, one to go!