Storywise, it’s somewhat like if Saving Private Ryan was rewritten as a Shadowrun campaign. A corpo Scion – an invincible mech suit that lets the very rich play at war – has gone missing in a questionable and ugly war. Now it’s up to a ragtag group of disparate expendables and at least one bio-horror to rescue the business boy.
2022 was a hard year for me and my family. We had terrifying medical issues, home emergencies, and worse. Not even work was an escape, because my projects weren’t going very good either.
But what we didn’t have to deal with was death or or the grief that comes with it. In that way we were lucky.
In 2023, we had to grieve a lot. I suppose we were overdue.
First it was my dog of 12 years, Lacey, who became lost and presumed dead. We never did get closure, and we never will, but we did grieve.
Then there was my neighbor and good friend. He was only a little older than me with two very young kids. His death was a freak accident, a tragic medical emergency that happened at the worst possible time.
Another neighbor and friend was diagnosed with terminal brain cancer. She had managed to beat breast cancer, and her reward for a lifetime of fighting was a terminal diagnosis? It was impossibly cruel. You don’t want to consciously grieve for the living, it’s too early and presumptuous, but you do anyway.
We had many other close calls. Loved ones ended up in the hospital with COVID and worse. Heart issues we thought fixed for at least a year are back. A fall down the stairs that makes us reconsider everything.
Last night my grandmother – my Memere – fell out of her bed. She had been suffering from dementia for several years, and in her confusion she injured herself very badly. This morning she died. We grieved.
I’ve come think upon is how we grieve, and what we grieve for and why. Not just for the death or loss of loved ones, but more abstract areas of life. We grieve when things change, but especially when they end.
Last year my wife and I made the decision to move from the house we built together for over a decade back to where we grew up. We grieved for the things we’d miss – our friends and neighbors, our house, the river, the mountains, Huxdotter coffee, Fred Meyer.
In January of last year an online community I had been apart of since I was 13 years old shut down. How much can a message board mean to someone? A lot, actually. These were people I grew up with. They helped me get started in my new career, they were a huge source of inspiration and funding for Village Monsters and other projects I’ve worked on.
I grieved for it too.
I’ve had a lot of practice now, and I’ve come to appreciate grief as a skill.
It seems crazy and overdramatic to think of grief during the times my computer shuts off unexpectedly during a storm, causing me to lose everything I worked on. Or when I’m working on a project only for a bugged algorithm require me to refactor the entire thing.
But it feels like I’m using the same muscle. The frustration, anger, sadness, and feeling of helplessness are far less pronounced, but they are similar nonetheless. As I get better at grieving the big losses of life, I’ve found it’s easier to brush off the smaller problems.
I didn’t respond to the problems of 2022 very well, so I’ve been trying to look at the brighter side of things. It’s not easy. It is, in fact, frequently impossible. But this realization on grief feels like a win.
When my Memere passed this morning, I did not cry. I will at her funeral, and in the moments later. But for now I reflected on my favorite memories, the times we walked together, rode in her beloved PT Cruiser, took pictures of landscapes, and talked about how to best swear in French. This is how I’m grieving, at least for now.
Grief is the bridge to cross from one part of life to another. It’s not so scary to walk over it anymore.
There are obvious dangers serving on a colony ship headed for a potentially habitable planet. Will the crew manage the effects of isolation, zero g, and continuous existential crisis? What about the time dilation effects due to travelling at near light speed – can people cope with the fact that the planet they’re leaving will experience decades of change in their 5 year journey? What if the planet can’t actually sustain life – can you imagine having to go back? Even more practically: will you even survive the journey?
Tau Zero explores all these types of questions before grinning mischievously and throwing one last monkey wrench into the equation: what if the ship is damaged en route – not in a life-threatening way – and now can no longer stop? In fact, it can no longer even slow down; its crew is able to survive indefinitely, but time is dilating further as minutes on board the ship become centuries outside. They can’t land, call back to home, or even make repairs, and the stars and planets and galaxies they’re able to see outside their windows are looking ever stranger and out of reach.
It’s a really cool idea. Tau Zero is a hard science (well, for 1970) sci-fi book first and foremost, but at many points throughout it feels closer to a post-apocalypse story. After the aforementioned disaster strikes, the crew of the Leonora Christine become survivors of a very personal apocalypse. The world they knew is gone in every sense of the word, and they themselves have become ghosts without a home or purpose.
The book excels when it explores these ideas, or when it dips into the poetic to describe cosmic phenomena, or when dives into paragraphs of big, crunchy technical jargon for the all the science work being done. It’s wonderful scifi writing.
The problem is everything else.
A book detailing a disaster really needs to get the human element right. People should respond to it believably, which might mean some acting irrationally, others rising to heroics, still others falling into depravity or doom or hysterics. The drama and tension naturally arise from people overcoming their weaknesses, making tough decisions, and so forth.
But Tau Zero’s characters aren’t really people; they’re barely even 2D cardboard cutouts. They wander from scene to scene expositing dialogue at each other, or saying their internal monologues out loud to advance a thread, or suddenly acting out of character because it’s convenient for the plot at the time. There’s very little conflict (the most physical it gets is a single fistfight over cards) and drama is often resolved with a handwave.
The dialogue is especially embarrassing. There are some scenes early on where characters are literally just stating their backstories to one another intermixed with current world history that would surely be obvious to them. It’s the type of thing that’d get you in trouble with your 9th grade English teacher.
The worst by far is the protagonist. He’s a military man, a cop-esque figure on the ship. But also he knows everything about space and astrophysics and chemistry and planetary colonization and can stand toe-to-toe with experts in their field in any scientific discussion. His arguments are always correct, and those who doubt him eventually regret their words and deeds. He’s a better captain than the captain. He’s a master manipulator, with networks of deputies and secret deputies and spies. He can pilot star ships better than anyone. He’s the best melee fighter, the best at navigating zero-g, and the only one with a gun. He’s also naturally handsome, rugged, and is worshipped by at least two women.
He’s absolutely ridiculous.
It’s such a shame, because I love so much else about this book. Though the science never really rang true to me, I still suspended my disbelief because it’s explained so well. The premise is excellent, equal parts terrifying and exhilarating, and the tension it weaves throughout the book left my palms sweaty.
All it needed was a handful of characters who behaved like humans. Instead, we get these weirdos. You get the sense that Anderson viewed humans as an unfortunate necessity to write about a cool spaceship flight. I wish he hadn’t even bothered and made the Leonora Christine an unmanned expedition.
You’ll likely notice that I missed last week. But can you guess why? I don’t think you can, because it is one of the most unlikeliest things to happen.
Yeah. My entire house got COVID… again.
Again! It hadn’t even been a full month yet! Is that even allowed?
Well, as much as I hate to do this, I am forced to once again make the hard decision to…
…announce a release date!!
Did I fool you? That’s right, baby! No more delays, no more tales of woe, no more excuses.
I am beyond thrilled to announce that the oft-discussed but much delayed v1.1 finally has a release date: Monday, October 30th!
So yes, COVID sucks, but this time around I was able to huddle with my blanket and mug of TheraFlu and just cranked through my to-do list day by day. It was like one of those perks from Fallout where your stats increase if you’re sick with radiation poisoning.
Now the Big Board sitting around 90% complete, so I’m giving myself a 10(ish) day buffer to finish that last 10% and test the heck out of it. No launch disasters this time!
I didn’t want to announce anything until I was absolutely, positively confident. And, well, I am confident. Finally.
Look for a trailer next weekend and a weeklong sale to celebrate. I’m planning on one last weekly update prior to the 30th to outline what additions and changes you can expect.
And I’ll try my best not to go for the COVID hat trick. But no promises.
Not even COVID can stop this train, though it gave a good run for it.
The best part of this week – beyond being able to implement missing Kickstarter backer rewards – was the creation of The Big Board, which will track our progress towards v1.1. We are still on schedule for an October release.
By far the biggest accomplishment was creating The Big Board.
Every single task I have left to do on v1.1 is listed, categorized, and now tracked via The Big Board. When the bottom line reaches the left side we’re ready for release. Not all tasks are weighted equally (for example, art and writing issues are generally much easier than code / testing tasks, etc.), but it’s good as a rough guide.
Code Refactor refers to slower and more measured manual code migration from the corrupted source. Features include testing / implementing / reimplementing features of the game.
Feedback and Bugs are similar to each other. Both have been reported by players and testers in the last year, but the latter are defects, while the former represent suggestions or ideas to improve the game.
Finally we have Art / Graphics / UI and Dialogue / Writing. They are probably self explanatory.
Kickstarter Rewards Implemented
All the missing Kickstarter rewards have been implemented into the game. About 30% in total were missing, which is too many though thankfully less than I feared.
There are a number of backers who never got back to me, or perhaps their responses were eaten up by KS’s survey tool or email. In any case, as far as I’m concerned there’s no time limit. If you never sent me anything, or if you did but it’s still not in the game as of v1.1, then please reach out and I’ll get you sorted.
The Bad
First Day Blues
I discovered a number of crashes that could arise on your first and second day in the village. The reason has to do with the scheduler: villager schedules are purposefully simplified so nothing goofy happens while you’re trying to meet everyone.
But the scheduler wasn’t playing nice with everyone, especially visitors, which could result in a seemingly random crash depending on the time of day and the visitor who was trying to barge in. Thankfully it’s fixed now, but what a mess that was.
Technical Slog 2: Electric Slogaloo
The technical slog continued through this week and I’m ready for it to end.
The Weird
Terrible Night for a Curse
Sometime last year I was joking with some friends and family that Village Monsters was cursed. Seemed like whenever I began to work on the game in earnest, something bad would happen in the real world to yank me away from it.
Last week I made the formal announcement on Kickstarter and Steam that development has resumed, and what happens? Myself and nearly everyone I know gets COVID. The curse is nothing if not consistent!
Thankfully everyone is fine. For the two kids it was just a bad cold, and for me it was an issue of extreme joint paint, a sore throat, and a killer headache.
The weirdest part is that getting COVID in 2023 feels very… othering. Absolutely nobody wants to deal with COVID anymore, and that includes doctors and nurses who seemed generally annoyed about answering questions.
Flyswatting, aka fixing the small (but annoying) things First thing I did was update GameMaker and look at all the errors, warnings and “suggestions” it made to me. There were… a lot.
Most of these are false positives or can be ignored, but going through them and fixing them was a really useful way to get back in the swing of things. The code base is now much more robust and should be less prone to breaking as I continue to bring it up to release condition.
Music and sound compression One of the “small” bugs ended up turning into a bigger but worthwhile fix: many sound files (including music) were being incorrectly converted into a different format and then back again. This resulted in both crunchier sounds and audio bugs. It’s fixed now!
The Bad
Slow Going I had hoped this part would go faster. I know that it’s all so necessary and important to dig my way out of my self-inflicted hole. But I had hoped to be able to show off more things, while 80% of the screenshots I took this week are all of code or bugs. Blech.
Missing Kickstarter Rewards While auditing something unrelated, I noticed that one of the Kickstarter backer messages wasn’t where I knew it should be. I went and checked and found that many of them are in fact missing.
I added almost all the KS backer rewards during a two week stretch in early 2022. Most were just text appends and I hadn’t noticed their absence among all the other missing or corrupted files.
This is a huge oversight and was not intentional. I’ll need to re-add these items by hand and it is a priority to fix in this next week.
The Weird
The Curse…is real? My wife and I have joked (well, “joked”) that Village Monsters is cursed somehow, as every time I go to work on it again something bad happens to pull me away from it. That hadn’t happened yet… until yesterday.
I had planned on posting this yesterday, Sunday, but had to delay it because one of my kids is sick. Turns out he has COVID and an ear infection. The Curse strikes again.
Thankfully he should be fine, as he’s vaccinated and loves the pink antibacterial meds – it’s probably a net positive for him. But I mention it so that we can plot another datapoint for proving the Curse is real.
When bad weather crashes the title screen. Depending on the (in-game) season the weather on the title screen changes. However, some update or other changed how particle systems work when destroyed, and the punchline is this: bad weather could crash the game before it even started. That’s fixed now.
I’ve been putting off writing this post for far too long. That probably goes without saying, eh?
So let’s jump right to the good news: active development has resumed on Village Monsters! The fabled v1.1 will release this October. Yes, that’s next month.
More details, a new trailer, and a firm release date will follow soon.
If that’s all you’re interested in knowing then you’re good to go! But for the sake of accountability I wanted to explain myself. I owe you all that much. Keep on reading to understand what’s been going on.
(Note: This post contains no new info on VM itself, no new screenshots, etc. I thought that’d muddy the waters too much.)
tl;dr
Over the last year I’ve had the worst luck imaginable in my personal life. Eventually, I was forced to focus on my family’s health over working on projects until I got my head above water.
It Rains
I’ve mentioned a lot of this stuff previously – here, on Twitter, via emails and DMs – but it’s been long enough that I felt I should put it all down on paper from the beginning. Let’s revisit March 2022 and the disastrous release that was v1.0.
It all began, unbeknownst to me at the time, with a bug in my version control software introduced months before release. Version control let’s you maintain and organize the huge amount of code changes you make to a project; I use git and SourceTree. It’s very important even for solo devs.
I did not discover this bug until the day before release when I created the final “build” of v1.0, which basically means creating the files that let’s you play the game. Instead of taking 10-15 minutes and spitting out the necessary files, GameMaker instead ran for hours and then silently failed and froze my entire computer. Not good.
The nasty part was that Git said everything looked good, and GameMaker showed no errors, not even when the build process failed. The only clue pointing at my source control was that my directories were full of junk files that coincided with times I’d push / pull from my remote git repository. It seemed that GameMaker was “choking” on these junk files when it came time to build the game.
Of course I had backups – local and online – and went through them slowly to find a “good” copy of the game that’d build successfully. I did find one… but it was many months old. I had been crunching for weeks on v1.0, and all that work was lost. I’d have to do it all over again.
I should have done the rational thing and delayed the release so I could fully examine and fix the problem programmatically. I’m not an expert on git or source control in general, so the problem may have had a simple solution if I had time to dig at it.
Instead I panicked and attempted to fix everything by hand using the old backup from my laptop and manual “cherry picks” from git. I pulled multiple all-nighters and worked 16 hour days in an attempt to release and fix the game simultaneously.
This was a very silly idea and made a bad situation much worse. Now my codebase – which was already a delicate house of cards – was full of errors, half-fixes, copy / paste mistakes, hardcoded data, etc. etc. A total mess, and even months later the game was still broken regardless of how many patches I shoved out there.
I had the plan for a v1.1, a reboot of sorts to get everything back on track. I just needed a good chunk of time to work on it. Instead, I got much less.
It Pours
Separate to all this, my family was dealing with its own (unrelated) major stresses and problems. These had been building up prior to the release, and had resulted in some major shifts in my life and schedule to accommodate.
But the situation became untenable after the difficult birth (and even harder infancy) of my son in the summer of 2022. This was unfortunately around the time I was first designing v1.1 and planning what a “redo” release might look like.
Suddenly I was put into a position where I had to choose between family and work. I put it off as long as I could and tried to juggle between the two priorities in my life. But turns out I stink at juggling, and I was dropping things more than I was catching them.
I ultimately throttled back my work to the barest minimum so I could focus on my family. I figured a break of a month or two would let me stabilize my own life so I’d be able to focus on stabilizing VM.
Of course it didn’t work like that. The problems somehow kept adding on, some urgent and very scary, others minor but extremely tedious, and Village Monsters became more and more distant down my priority list. I never fully stopped working, but I wasn’t putting in enough time to get a release out.
Now What?
It has been a very, very long year. But things are better now.
I’m now 3000 miles away from where I was this time last year. I’m on my same desktop, using my same keyboard and monitor, but everything else is different.
We’re in the process of moving closer to our relatives – turns out you really miss being around your safety net when crap hits the fan. However, this means means going back from Seattle to New England. It’s an ongoing process, but we have a good (albeit temporary) setup now where I can work.
It feels good to work on VM again, though it’s a bit like waking up from a deep sleep after throwing a very irresponsible party. I vaguely recognize the comfortable shapes of my house under all the trash and broken furniture, but putting it back together won’t be easy.
But it’s doable, and I left myself in a good place before hitting pause, so I’m able to start from 70% as opposed to 0%.
I’m also using this opportunity to reevaluate things. To be frank, I may end up turning indie vidcon development back into a side effort, and not my main career. I’m still defining what exactly that means and I’m currently exploring all my options. It won’t effect v1.1, but it may change future releases of VM or any other titles I may work on. We’ll see.
Anyway! You can look forward to more progress updates here and on Twitter (…X?), and I can pinky promise that v1.1 will be ready by October. A monster month for a monster game. Seems as good of a fit as any.