Blue In The Sky

We’ve been working on Flatlanders for 4 years. It’s been consuming almost every day of my life since May of 2022 and has gone through the phases of being an experiment, then a project, a love, an obsession, an addiction, and finally a problem… I work on the game as much as my body allows, dream about it, have nightmares about it. I love it, it’s a mess, it’s my daily hell and I can’t escape from it. It’s everything to me while being a total meal replacement for the fare of a healthy person’s life. I’m feeling incredibly nostalgic lately because the people I knew, the places I went, the way I felt when I could think about or work on anything else- it all lies years in the past.

This isn’t a post about Flatlanders. At least not so much outside of clearing up that it still exists and is very far in development… I have wanted to write a good long post about it, something positive about the experience and maybe getting into the technical stuff a bit. I’ve written half of that post a dozen times over the past few years, but no matter what I come up with my soul writhes. It cries for me to stop trying to paint this in a positive light, to stop advertising the product of my festering wound of a life like it’s a magic elixir.

I don’t want the future to happen, whether it’s good or bad. I’m afraid of anything more happening and even when I think back to good things there is a sort of retrospective fear towards them, like the past is just a series of narrowly avoided head on collisions. When I think about working on Duck Game, actually finishing and releasing Flatlanders, making music and experimenting with VST plugins, talking to people and getting back in touch or taking any other steps towards an assumed existence… It really freaks me out to imagine a future where I’m actually doing this stuff. Simple everyday tasks feel like embarking on an interstellar trip. I need to go to the store and get eggs just to prove that I still can.

The past in my mind has become such a corrupted place. The good moments have all focused themselves into single intense points- a computer desktop, the feeling of the sun or the look on someone’s face. Old friends, people, and things that used to exist. Sitting on the floor in the sun from an infinite cloudy sky, the Sega Saturn on the brilliant green carpet against the warm wood of the TV. The bad moments have grown into an encompassing reality, dull broad blobs consisting of accidents and mistakes, pain, the things people do, the things I do. The world. The things that keep happening. Things that seem more likely than a good day, a good person, or a good game.

When I try to work my soul screams at me in anger, like I haven’t done whatever it is that we where supposed to be doing. Like I’ve been putting it off for too long. Life is short when we go through the same motions over and over, the time spent in the repetition of things erases itself. My soul has lost respect for my mind, it realizes that time is accelerating and I’m never going to give it the future that we’d hoped for. Growing older isn’t what we expected because we always thought that we would be there. How is it that you don’t get to come along on a trip through your own life?

I’m afraid to be myself because I don’t want to water down the beautiful past with new memories of my tired present. The past is my muse and I need to remember it in the best way possible because I can’t live without its light. I wanted to make people happy, to tell a good story, to have things move forward without issue so I could look back and say that it went great and that nobody got hurt. Naivety is a beautiful gift, it makes it easier to pretend that things are going well. It helps us keep all the wires and motors on the inside, to keep the battery door on, keep the nasty chicken paste neatly inside the nugget’s crust. Pretending to be alright works well if you can do it with a little bit of honesty,  you let out just enough so that others can see what you’re trying to do. You communicate a bit of the stuff you’re working through like an engine that’s beginning to struggle, so people know when it’s time to go easy on the accelerator. When we let the belt slip a little it’s a reminder that we all have limits, and working within limits is the only way we can make decisions that work within our principles and anxieties while still being helpful.

But I lie, I lie, I run and run till I sputter and die. I know something isn’t right but still say I can make the trip because I really want to make it and I don’t know what else to do. The only power I’ve gained in adulthood is the ability to run on less cylinders, to bang on forward and hope that time will slow down and make less demands so I can take in the view for a moment and cool down. But it doesn’t slow down… especially not as you get older, as anyone who is older will repeat to you again and again because of how profound it is to watch time go by.

It’s been a long and lucky trip getting here, but I don’t have the energy to make that trip again. I don’t love today. I don’t want to take a class, to go out and party, to see a landmark somewhere or learn another language. I don’t want to watch TikTok or ask Chat GPT. I don’t want to be a rockstar, a pilot, an astronaut.

I want to be in front of dad’s computer, with the winter sun shining onto the green carpet through the living room window. With Game Maker and a folder full of Midis, the universe could cut away everything outside those walls and run comfortably on a Pentium II. If I could bring anything it would be memories of the people I love and an Age Factory CD. I’d put it in and let it all fade out like a movie that ends where it began.

I got blue in the sky
I got blue in the sky
I got blue in my mind
I got blue in my mind

海に星が燃える

-Umi Ni Hoshi Ga Moeru, Age Factory

 

 

Posted in Uncategorized | Leave a comment

Calm

I need something real. A dandelion or a hummingbird. I need a sunset and a simple song, the kind that doesn’t care if it’s been heard before. I need the kind of good clean happiness that comes from watching a caterpillar crawl and imagining the world from its perspective. It has nobody to impress, nothing to prove and nothing to live up to. Maybe it’s hungry or maybe not. It doesn’t know that it’s in a parking lot. It moves forward through time and space like a planet along its orbit, for no reason whatsoever, but it doesn’t care about that. The caterpillar is absolutely honest. It makes the endless stone expanse of the parking lot seem alright.

Outside of that snapshot of time, the caterpillar is doomed. It’s heading deeper into danger unless it turns around, but it doesn’t know that. I could be heading deeper too, in the scheme of things I don’t know where I am any more than the caterpillar and given enough time I’m doomed. Give it more time and the parking lot is doomed, then the forests and the water, the mountains and the Earth and the stars. With or without us time will change everything. Like kicking a block castle, no evidence of what was will remain except for a jumbled up pile of stuff. But we move forward, for no reason whatsoever. We don’t care about that.

I honestly think it’s beautiful. I refuse to believe that the universe has hard feelings towards us or any other creature or structure in general. I believe that if there is a higher power it has no favorites and no bones to pick. The passage of time, whatever its result, is beautiful when taken as a whole. I like that we change and grow old, that seasons pass and we forget all but the most memorable stuff. That we grow feeble, because it forces us to take a new perspective all the time. I like that we don’t have a reason and that everything is temporary, because it’s beautiful that we keep trying anyway. Your personal experience and your reasons for continuing are wholly your own, and that sanctuary of feeling is the only special thing about you. A moment with complete calm is the greatest gift we can hope for in life and it’s the hardest thing to find. But in those rare moments when I can feel everything, when I’m planted to the earth and my head is six feet off the ground, I feel heaven. Even in a parking lot.

 

I call out, trying to find some peace of mind.

I’m starting to lose control and I don’t seem to know what’s right.

Don’t know how I could turn this vision around,

Just wanna roll the dice and find out how this life plays out. 

-Found You There, OCULA & Nathan Ball

Posted in Uncategorized | Leave a comment

Bliss


Way long ago when I was about 10 years old, my friend Brandon and I where riding home from town in his mom’s Taurus. It had reverse facing seats in the very back, so we where able to watch the city receding into the distance as we left. As I watched it go with the sunset there was a sudden an empty feeling in the pit of my stomach, a few realizations came to me and I was hit with the saddest feeling I had ever felt. It was like the movie was over, and in a way everybody in it was gone forever. They where captured in time and we got to see them as they where for a little while, but then the bit of information we had left from the past ran out and they where gone. The town we visited that day, the people we met, even the people we where- they where all, in a sense, gone forever. One day everything else would go too.

It was the first time I can remember understanding that everything is temporary, that we’re not immortal and that our friends and family, our teachers, our neighbors, could all go away whenever. It wouldn’t be for some plan, to progress a plot point in the story of the universe or to even out some kind of energy. It would just happen at random. Like when a bird hits the window or a salamander gets all dried out in the sandbox. Nobody liked or disliked that salamander, and nothing made a conscious decision to sacrifice him for something more “important”. The universe plays dice, and that salamander was unlucky. Poor guy…

These melancholy realizations where mixed with a reserved but happy appreciation that we all got to go to town together, that the universe didn’t throw a deer or another car in front of us today. It was the first time I felt nostalgia.

I used to sit on the concrete floor in our basement and play through to the second level in Gadget Twins just so I could hear the Zeppelin Attack song, or load up the Lava Reef zone in Sonic & Knuckles and just lie on the floor listening to it until the timer ran out. My brother and I would play Toejam & Earl and let our dudes just sink into the quicksand while we listened to it’s funky beats. I’d play through the final boss in Sonic 3 solely to hear the special Michael Jackson version of the credits music that you could only hear without Sonic & Knuckles attached. The sound of FM synthesis almost makes me cry. That credits music reminds me of our drive home.

These feelings led me to try again and again, for years, to figure out how the heck to make a VST that made Sega Genesis sounds. I suck at math, like really seriously suck at it, but nostalgia had me learning C++, reading through technical documents and calculating frequencies. My only talents have always been naivety and persistence, I’m dumb enough to think I can and excited enough to go for it. Maybe that’s mankind in general. After years of experimentation I finally got a YM2612 plugin working, which lead to trying to make a game like James Pond 3, to a nostalgia for playing Toejam & Earl with my brother, to GENNY and then to Duck Game. And all just to recreate the past. To dig up lost times and bring those feelings forward because the thought of losing them is just too much.

Duck Game came out more than 10 years ago and hasn’t had an update since May of 2022. It’s original publisher, Adult Swim Games, is defunct. From it’s naive beginnings, a team full of passionate gamers who just wanted to publish cool games, to the confident momentum they where able to achieve once they had their bearings, and finally to drama and internal struggles before finally reaching the inevitable end that any honest company tends to reach before a decade is through. They weren’t printing money, so everyone was fired and they where shut down, that their umbrella companies might start over from scratch with some less passionate people and a more corporate strategy. They moved through childhood to old age, starting out with passion and a love for all things, slowly getting more cynical as life wore them down and people broke their trust, and finally died quietly at home once their cells lost the ability to regenerate. Why does everything take this course? Why is nothing immortal, even when not bound by any biological limits?

Westwood Games, Bullfrog, Maxis. Linkin Park, Radwimps, The Goo Goo Dolls. Spongebob, Adventure Time, The Simpsons. Apple, Google, Twitter. Tim Hortons. Everything gets death. Sometimes you get some peace underground, but if you where truly beloved they will string you up and dance you around. Your first puppet master watched the way you moved while you where still alive and they can do a pretty good imitation, but they too will die and each subsequent master will have less and less experience with what you where until finally they tie you to the flywheel on some machine because it’s cheaper and somehow less depressing to watch. As everybody comes to associate your flailing corpse with a deep sense of sadness, they turn away and hope never to see you again. The suits shake their head- they knew this would happen. The public has lost interest, trends must be changing. They liked your dance before but now they don’t. People are fucking fickle.

Where is Duck Game on this path? Where am I on this path? Are we still young, is there still more left to do? The world makes me tired. I’m tired of watching it crush things between it’s fingers and then wonder why those things died. I’m tired of getting used to seeing it, tired of the apathy and desensitization it brings. The things that used to make me angry only make me sad, because anger is an emotion that demands action. Action requires energy. I’m out of that.

I said I would start working on Duck Game again in January, motivated by nostalgia and sad thoughts of how incredibly long everyone has been waiting. I’m learning that I only have so much energy. Our new game, Flatlanders, has been in development for more than 2 years now and it’s half done. As of January we have a publisher, and I forgot how stressful deadlines are- a team of people are relying on me for critical features that I have to finish before they can do stuff. This, combined with what feels to me like an all out war on love and understanding in the states, fueled by nostalgia for a time when civilization was a candle burning at both ends, when we where able to do whatever we wanted without caring about tomorrow because a lack of experience allowed us to be ignorant of the fact that we where on a path to destruction.

I don’t want to make games as anything but a Canadian. Or do anything else, for that matter. God. This country has done everything for me, it’s a part of my identity. I don’t know what makes a country better or worse, all I know is that I feel completely different here than I feel when I’m in America, I feel intensely like this is my home. I don’t know what will happen, but all I can hope is that if the worst happens the shock of it will stop my heart, because that’s the only way my mind could bear the betrayal of it all.

And I’m in the dumps again, sorry. I started with the desire to say something happy, I’ve tried to do this half a dozen times now and I always end up in the shit pit. I wanted to write a post about Duck Game, about what’s up with it, because those of you who have been waiting patiently for an update deserve to know what’s going on. I wanted to maybe reminisce about the past again, about good times playing Duck Game, meeting people, talking to everyone on Discord. To thank everyone for everything they’ve given me, thank them for the sheer positivity and happiness they’ve blessed me with over the years. Seriously, thank you.

I can’t say what Duck Game is to other people, but I know what it is to me. It’s a collection of feelings from my past, a way to share jokes with my friends, a place to store happy thoughts for safe keeping when I worry that those feelings wont last forever. It is a yearning for the love expressed in all the games that came before it. As a kid, I imagined somebody sitting in front of a computer making those games, having that same feeling of excitement and wonder they gave me. We need to have that energy when we do things, or those things wont give any energy back. I’m trying to have that energy, and I’m trying to share it with everything else that wears on my mind right now.

I’m trying to work on Duck Game, but it really hasn’t been going well this year. I’m sorry. I feel like saying that I would be back on it in January was a betrayal, like it suggested that I’d be able to work on it full time, full of energy and ideas. That isn’t what happened. I won’t stop working on it, but I don’t know when things will happen.

I’ve always wanted Duck Game to remain a pure expression of things that I love, something that can still bring tears of nostalgia and that can remain untainted from any signs of a worldly desire for fortune. I don’t want to dance it around. The emotion is stronger than a want- I really can’t bear to see more things danced around. But I don’t want it to die… I know there is still love in this world, more good will be done, and a very special few things will sail off into the sunset leaving behind only sadness at the necessity of their departure, and a feeling of nostalgia. And in the silence afterwards, an intense happiness. The warmth of knowing that something good happened, that it was only there for the love of things, that the attention and care it represents is timeless. It was somebody’s reason to live.

Posted in Uncategorized | 33 Comments

Twenty Twenty Five

Soichi Terada – Arctic Wonderland 2 – Ape Escape 3 Soundtrack

Another year has passed and once again I’m sitting here trying to come up with resolutions that have any hope of being fulfilled. The same ones come to mind every year- Communicate with people, be more organized, have a work life balance. Start learning Japanese again, learn some songs instead of just noodling around, learn to cook more than like 4 meals. And finally, to make an effort to find an excuse to go out somewhere, possibly a place where thar be girls (more likely to start training to be an astronaut than follow through on this one). After so many years it’s starting to feel silly. New Years is a time to remember that I’m not happy with life outside of work, and that I don’t plan to fix it.

Oddly enough, though, it seems that as I get older I tend to be happier. I credit this to age wearing down my ability to give a fuck. Every time I say something stupid, see something anxiety inducing, put up a shelf crooked, it becomes easier and easier to shrug it off. Meh. When life gets out of hand I can just let it fall into my bib and eat it later. Let that fart turn into a shit. You can simplify things if you’re happy enough just to marinate in your own sludge, the smell will tell people to seek help elsewhere.

The problem with this plan, is that I still give a fuck. It pains me that I can remember giving more of a fuck, and it tortures me with worry that there could be a point in the future when I just don’t give a fuck.

I don’t believe that life is strictly necessary in this universe. Things where fine before, when rock was the sound of planets smashing together and heavy metal was the result of nuclear fusion. The universe was into it just fine. Then life shows up, along with feelings of joy and suffering. There’s nothing really wrong with life, creatures eating other creatures to survive is pretty impersonal and feels to me like the “no hard feelings” attitude of one sun swallowing up another. But then humans show up and introduce to the concept of being salty. We added hate, cruelty and apathy. We also brought awareness so we could feel guilt and recognize the consequence of our actions, and intelligence so we could do something about it. We can build it up or tear it all down, and how much beauty we bring into this universe is a direct function of how much we give a fuck.

So I don’t want to stop caring. Anything but that. I don’t know what my New Year’s resolution is, but what I’ve been struggling to find this past decade is some way to stop spending my free time staring at the walls in distress and to start enjoying life again. My heroes all focus their anxieties outward in some positive way, they prove again and again that when it comes to pain you don’t have to give what you receive. I still believe that, and have found that nothing brings me peace and tranquility more than to return a punch in the face with a pat on the back. If that somehow leads to our annihilation, then the universe is better off without us.

♫ Your life is over now, your life is running out.

When your time is at an end, then it’s time to kill again!

We cut without a knife, we live in black and white.

You’re just a parasite, now close your eyes and say goodnight!

You better get ready to die!

You better get ready to kill!

You better get ready to run, cause here we come…

Been a lifetime coming now you better get running, and you better get ready to die! ♫

-Ready To Die, Andrew W.K.

Posted in Uncategorized | 7 Comments

Duck Game, The Forsaken

It’s been a decade since Duck Game came out on the OUYA, which means this year was Duck Game’s 10th anniversary, though you might not know it if you where expecting me to tell you… Short of any events or celebration related to it, Warner threatened to remove it and all the other Adult Swim Games titles from storefronts and I continued working on our new game instead.

Some incredible news, is that a few heroes over at Warner took the reins and did the work to transfer all the titles back to their owners. Coordinating this seemed like it was an especially daunting task for console versions, and the Duck Game transfer only just reached completion this week, but- it’s done! Duck Game now belongs to Corptron Games Corp!

Some crappy news (well, it’s not really news…), is that Duck Game hasn’t been updated in well over two years.

It’s depressing, and I’m ashamed. What happened? It’s no coincidence that we’ve been working on Flatlanders for two and a half years. We’ve been trying to sort out a publisher for a while, and I’ve spent the last year flipping between trying to sort my life out and frantically trying to jam as much code into the game as possible before we’re on a schedule. We’ve finally just signed with a publisher, which I’m very very excited about, and I’ll make a post about that when I can. Figuring that out has relieved some pressure and allowed me get my mind off the new game just long enough to realize with full force that I’ve forsaken Duck Game.

It’s been hard to get away from the new project. As of January we’ve brought a programmer on board, who is a close friend of mine. We grew up playing Timesplitters/Smash Bros at lunch hour, and making Game Maker games. His games where cooler than mine and after we hung out I would always go home and try to figure out how he made them. We also have a funny producer-type guy who helps keep meetings in check and provides us with jokes. Since I brought everyone on board, it makes me the defacto lead when it comes to meetings and delegating work. I want everyone on the project to play the game and mess around with the editors so we all work as testers and designers too, which means everyone on the team is finding bugs and working around missing features. Since I’m the main programmer and the only one who understands the engine and editor code, a lot of movement depends on me fixing broken stuff. When I’m not actively on the project it leaves everyone hanging and the guilt comes, which makes me feel like I’m doing the wrong thing whenever I’m not working on Flatlanders.

Duck Game is way overdue for an update. It’s extremely out of date on Switch. The PS4/5 version has some arcade bugs that have never been addressed and the PC version has been having random issues. In particular, newer graphics cards (the Nvidia 40 series specifically, as far as I’m aware) have introduced an incompatibility with the original XNA framework that Duck Game still runs on. This causes random crashes (System.InvalidOperationException
at Microsoft.Xna.Framework.Graphics.GraphicsDevice.DrawUserIndexedPrimitives) and the only real solution will be to switch the game over to FNA or MonoGame. Phasing out the XNA dependencies is going to be a bit of work, the hardest part will be making the change without completely breaking mods. The thing that always takes the longest, though, is dealing with console versions of the game.

I’m still not familiar with Switch/Playstation APIs and when problems arise in those systems it can take serious time and energy to figure out the cause. This along with a fairly complicated patching/submission pipeline and a particularly tedious C++ transpiling stage for the Switch version makes the whole process heavy on brain pain for the terminally oblivious (me). I’ve worked with porting teams in the past on the original PS4 release and the Switch release, with mixed results. I ended up re-writing the PS4 port from scratch in 2022, since the old version had a ton of issues and was running on an extremely out of date Unity codebase that couldn’t really be updated. A team out of London did the original port, and though they where an excellent team they didn’t have much experience with online stuff and I think in particular Duck Game’s demented network code ended up being too hieroglyphic, delaying the project and ultimately leading to a release that wasn’t all there. For the Switch port, I got the game booting up to the title screen then passed that code off to Armature Studios, who did the hard parts of the port such as dealing with cert considerations and implementing platform specific API stuff. They did an extremely good job, working with them was a very harmonious experience and I met lots of great people who I really hope to meet again someday, somehow.

For both ports I worked alongside the teams helping them un-contort my twisted systems while creating new content for the game. I’d really like to work in a similar way again, and with the new game having a schedule and publisher finally figured out I hope to split my time between Flatlanders and Duck Game in 2025. The dream is to find a porting team and finally get the game to where it should have been years ago, the same on all platforms and with some long missing features. I’d work with them to add a bunch of new stuff and to finish a bunch of old stuff that never quite got done, releasing a big update on all platforms simultaneously and in the best case scenario releasing an XBOX version too. Localization and cross play would be things I’d want to look into as well, though if we did do cross play it might end up being between console versions only as there are some reasons why including PC would complicate things. Making the PC version harder to update is a major one, while PCs making cheating easy and fun is another. But at it’s heart Duck Game is designed to be played with friends rather than strangers, so anything that helps friends connect to each other (even if one of those friends turns out to be a filthy cheater) seems like a win.

I can’t give a timeline for this as it’s all pretty unknown, but I plan to start working on new Duck Game stuff in January. I’m sorry for taking so long and for keeping everyone hanging. I appreciate all your support, your kindness and most of all your patience as always. Some friends and even some avid players have told me that I don’t need to keep updating the game for the rest of my life. It’s nice of them to say that and the idea brings comfort at a time when I’ve left the game alone for a quarter of a decade, but it doesn’t sit well with me. One person tweeted that I’m “like an absent father” and that’s closer to how I feel. Duck Game is my kid and it’s only 10 years old… It’ll be another 8 years at least before it’s old enough to move out and until then I’m gonna try to be a better parent.

Now the old man sits and tells of days when time stood still,

the hours always seem to fade but the memory never will.

All the love that you gave me, all the dreams in the night

and I just want to thank you while the day is still light.

-The Man Who Would Be Santa, Vertical Horizon

Posted in Uncategorized | 10 Comments

Anti-Skip

IMG_1493_crop2

It’s been a long time since I’ve posted or interacted or tried to write anything sincere, and I think the reason is because I’ve been finding it harder and harder to find anything positive to say. Not necessarily because of an actual deterioration of positive things in general but more because of a change within myself, both mentally and physically. There’s a bitterness growing inside of me and I don’t want it to show itself. 

I’ve been having issues with stomach pain for the past 4 months, the first time in my life that I’ve had a chronic problem, one that’s changed the way I live and which feels like it will have no end. When you’re having a good day, working, walking, hanging out with friends, then pain bubbles up and pulls you out of it in an instant. People see it on your face and try to help, ask if you’ve talked to a doctor or tried this or that, but you’re tired of talking about it and just want it to go away. It’s hard to make plans when you’re not sure if this bout is going to last for hours or days. It makes me want to hide away until I know whether I’m coming or going, like a cat sitting out it’s illness under a pile of junk.

I’m not alone in this feeling, and it’s given me perspective. We never know where we’ll end up on the spectrum of suffering but I know many have it worse and I feel incredibly lucky to still have a pretty normal life. The thing I can’t seem to help, though, is that feeling of bitterness coming and going. Things I would usually enjoy- jokes that should be funny, good music or games that are really well made, even just wholesome experiences with people tend to have the opposite emotional effect when I’m in pain. It’s like an instinctual response, meant to shoo away beauty so my ugliness doesn’t rub off on it. In part, I understand what it’s like to be an ornery old man now.

There’s so much beauty in this world, despite the anxious people who claw at it in self defense because of their own suffering. We’re lucky to be living in this timeline and we all have so much potential. Especially with homes, jobs, education and healthcare, we’re so close to accepting one another and so many have the power to see the world for what it is and to love it, to love others and to help them have the same. It’s insane that people who have been given so much still find things to complain about, reasons to rip their own lives apart and to attack the things they love. How can we project our anxieties onto others and say “There, it’s you, not me. You’re the problem. I’m suffering because you’re having too much fun with life. How can you smile when you’re so full of shit? Shit that could blast out of your ass at any moment? How can you dance when you know there’s a spooky skeleton inside of you?”

To anyone I’ve kept waiting, hanging, hoping on my shoddy promises, I can’t help but spin my same lines and say “I’m sorry” again, like a tumbling CD player looping through it’s 5 seconds of anti-skip. I’m sorry. You’re not the problem. Like always, I’m the problem, I know it, and I’m still working on it and will be working on it till the bitter end. I just hate that the bitterness is showing itself. I’ve been given so much, have been so lucky to have lived so many good years and though I’m sure there are many more to come I believe that if it all ended tomorrow I’d have had more than my fair share of joy in this life. But, life continues whether or not you feel like your story has ended, and there tends to be more flailing than dialogue before the lights come back on.

You can bend, but you can’t break.

You can’t break.

Hey little girl, keep dancing.

Hey little girl, keep dancing alone.

Cause there’s not enough time in your life to stay here.

-Soldier’s Daughter, Tonic

Posted in Uncategorized | 7 Comments

The Future Of Duck Game

The rumor is that Warner may make all Adult Swim Games games unavailable in May. It’s still not totally clear whether or not that’s happening, but some devs have already been notified that their games will be removed which is depressing, and scary. It’s a particularly confusing kind of scary for those of us who haven’t gotten any notice yet.

I wanna talk about Adult Swim Games before anything else. We met at PAX West in like 2013 through my friend Andrew, whose had a few games published by them and seems likely to be in the same boat. They seemed really awesome, so once the time came to start porting Duck Game to Steam I decided to ask for their help. All the ASG people in the Duck Game credits played a huge role in making DG the game it is today, and there are very few names in that list which don’t bring a face and a whole wonderful and passionate person to mind. The only few that don’t are the names I don’t recognize. Everyone at ASG was like a friend and we talked and played DG together constantly. They where as dedicated to the game as I was and their producers/marketing people where constantly working to hustle the game and get it in front of as many people as they could. The testers played the game into the ground every time a new build was pushed and they where always showing up in multiplayer lobbies whenever a new update/port came out. They always brought the game to shows, always invited me and treated me like family at every second. They even invited me out to their offices a few times and flew me both to London and to Austin so I could work on the game directly with the porting teams. They would always send somebody along and the times we spent hanging out making games in different countries are some of the best times I’ve had.

This is all stuff I took for granted, but from what I’ve seen it’s an extremely lucky thing to have a publisher with people who care so much about what they’re working on and I didn’t know how good I had it. I don’t want to mention anyone specifically because my memory sucks and I’m bound to forget someone and make some mistakes but I dearly miss working with the old ASG folks and I hope we can meet again someday.

It’s funny how things change. Funny in that fucked up kind of way like when you’re laughing out of madness because life is the funniest joke. I’d always been weary of working with bigger companies and with ASG I thought I had finally found one worth trusting, but the mistake was assuming that forever trustworthy people make a forever trustworthy company. They don’t, and they can’t, because no matter how good a company is today there’s always a chance that the people will change, that the company will go bankrupt or get swallowed up, and that any agreements you made with them will slurp down into the shit pit. None of the amazing people who worked at ASG are to blame, but the fact is that those people where ASG to me, so without them ASG has become a frightening corporate puppet and Duck Game has lost the delicate care of it’s previous keepers.

In the midst of the drowning splash of this big stinky unfeeling mega steamer, what happens now? For some games the future is unclear and I really hope that everyone comes out of this with their own best case scenarios, or that at the very least they get their games back. Luckily for Duck Game, since when I first signed ASG had such honest people with such reasonable contracts, there seem to be a lot of options and possible futures for it.

One simple future is that DG doesn’t end up getting delisted at all. That one’s easy, everything stays the same and I can start feeling the full shame and regret of worrying any of you with the possibility that DG might be affected (Sorry…) The other, better, simple future would be that another publisher buys the contract and takes the reigns. As much as I’d like to get the game free of the possibility of something like this ever happening again, ASG’s considerate support was absolutely priceless over DG’s development and the support of another publisher who I respect and trust would help move things along more smoothly in the future (anyone who reads this blog knows how slow and unreliable I can be on my own).

Another future would be that DG is delisted, and Warner extends the same option to DG that was offered to the other games which have been notified so far, the gist of which sounds like: “We’re delisting your game and not giving you back your store page, but you’re free to remove ASG branding and republish to a new steam page if you’d like.” This is obviously a shitty future, but it’s not the worst one. This future assumes that delisting means people who previously owned the game would still have it, you just wouldn’t be able to buy it anymore (this is what I believe delisting will mean). In this case I would republish DG under Corptron. The ideal result would be that I could still update the old version of the game to be identical to the new one, and make the old and new versions connect to each other and share online lobbies so people with different releases of the game don’t even notice. If I can’t update the old version, which is a more likely going to be a problem with Switch and PS4, or if I can’t otherwise give the new version to existing players for free, then Duck Game will have to be republished as a free game to avoid anyone having to rebuy something they already bought. Some people have said they’d be happy to rebuy DG and I seriously appreciate the kindness everyone has shown- but you won’t have to rebuy it, it’s absolutely not going to be like that.

The most bleak future (and I seriously don’t think this will happen, but let’s discuss it) would be that the game is delisted, removed from everyone’s libraries, and an email comes saying I can’t republish or otherwise do anything with the game (this is the ‘Send Us Your First Born Child At Your Earliest Convenience’ future). In this case, I talk to a lawyer right away to make sure my assumptions about my contract are correct. If everything checks out, the next update would be published as a new version of the game without ASG branding and with a different name. I would never sell one of my IP’s (and this is why you shouldn’t) so I’m free to make “Duck Game 2” or “Hyper Duck Game Chronicles Prequel: Beginnings of the Shattered Ends” and doing a Game Of The Year edition a month later which includes a one DLC “season pass” if I want to. In the meantime I should also be able to make the old game into “Duck Game Classic” and release it for free.

In the extra special “Why Do We Live” and deluxe “Let Me Die” editions of the future where Duck Game Classic is not allowed, everyone will probably switch over to playing Duck King 2- which will suspiciously appear shortly after Duck Game is obliterated from the universe.

I’m hopeful for the future. It’s been a crazy ride, and many of the best moments of my life have been adjacent to DG somehow. I’ve been so lucky up to this point, everyone has been so kind and understanding that I could cry. Thank you. Duck Game will be 10 years old on May 13th, and it’s going to show up to it’s own party. DG belongs to it’s players as much as it belongs to me, and it belongs to all the great people who used to work at the best game publisher I could ever ask for. There’s no way anything will ever make it disappear, I will never stop updating it as long as my hands and eyes work and I’m sorry for scaring anybody in the heat of the news with my own fears otherwise.

I dreamed of this so long, this used to feel so strong…

Now I wait, wish these thoughts would go away.

I hope I dream of you, cause it’s taking my life away.

No, I don’t hate, but these thoughts won’t go away.

I hope I dream of you, cause it’s taking my life away.

-Taking My Life Away, Default

Posted in Uncategorized | 49 Comments

Flatlanders

20230424152207_1Welcome to the edge of the earth. (Art by Dayton)

For the last year we’ve been working on a new game! It’s called Flatlanders, and it’s being developed by Dayton McKay (@FarfinFarfin) and myself. I’m programming, he’s doing the art, and we’re both designing the game. We’re building it in Monogame with my patented “ElfEngine” (it’s not patented) which is a total rework of the Duck Game engine. It’s also designed in the same spirit of sorta dumb fun as Duck Game but Flatlanders is a completely different beast- it’s a turn based strategy game in the vein of games like Advance Wars or Civilization, mixed with a deck building card game. The gameplay is simple and completely based around placing cards and moving them around a map. Each player picks 40 cards and pairs together a Castle and a Sovereign that each have special abilities which affect the entire match. Your base area expands as you place cards around your castle, and the game ends when only one castle remains. 

partygifGeneral mood in the Corptron offices.

basicGameplay consists entirely of placing cards and moving them around.  

comboSome units move and attack differently, and setting up combos is important for getting the most out of your deck. 

promotionPromotions are a limited resource that lets you boost a card and move it again.

stealthSneaky units cannot be seen by your opponent until they’re revealed, and will stun the opponent’s card if they attack while hidden.

sealionTraits allow cards to share certain behaviors. The Sea Lion for example is a “Swimming Psycho Beast”- Swimming means they can move through water without slowing down, Psycho means they can attack friendly cards, and Beast means that they don’t require a citizen to build.

dekA typical deck. 

I won’t be going super deep into gameplay stuff right now but hopefully you can get a pretty good idea of how it works from these screens and gifs. We’re serious about balance but are taking a “Red Alert 2” approach to it where fun is a bit more more important than making sure every card is equal. Like Duck Game, this is the kind of game that you’re supposed to play with your friends and attacking your opponents in funny ways is more important than crushing them efficiently. We’re trying to make sure no cards are totally broken but if a card is a little bit bullshit but it’s fun to use we usually leave it in and if your friends don’t like it they can say “no bringing Crazy Legs, he’s for cheaters!”.

In addition to being designed for silly nonsense, Flatlanders is being made with a very strong focus on modding and we’re trying to make it easy as possible. All the cards in the game are built using the modding APIs so modders will be using the same code as we are. Every action in the game triggers events you can hook onto to make things happen, and you can even hook to events globally to say things like “whenever any unit card runs ‘effect.death’ destroy any cards adjacent to them aswell” or “whenever any card spends Blood give it +1 ATK”. Making your own card is pretty straightforward: 

lightening

select_arrow

witchcard

witchpromoVoilà! 

It’s going to have AI and a proper single player mode too! There are AI opponents to play against and we’re planning to do a full single player story mode where you walk around a map and duel teenagers and firemen and the like. Flatlanders can be played with 1 to 4 players in either local hot seat multiplayer or online (modders rejoice, all AI and online code in this game is absolutely automatic so you don’t have to write any).

worldYour quest to be the best.

office

So, who are you to resist it?? Flatlanders is coming!! We don’t have a release date or platforms totally figured out yet- dev is well underway but we want to take our time and make sure that we get everything in, that the base card set is solid and the UI flow is cool and good so right now we’re aiming to have it done by early next year. I’ll keep you up to date and will definitely be writing more posts about the game that get more into the mechanics and development aspects of it. Thanks for reading, good things are coming!

 

 

 

Posted in Uncategorized | 11 Comments

Genny 1.5 Beta (Genny X)

New version available as of May 7th, 2025!

genny15

Important: This is a Beta! It may not be completely stable and you’re bound to run into stuff. Please make backups of any older projects you plan to work on with this beta version of Genny!

After an exceedingly long delay (ah.. sorry…) and lots of rewriting the new version of Genny is finally ready for testing. I’ll be doing a full writeup and update to the documentation for release, but in the meantime the major changes include:

  • Channel 3 Special mode, allowing you to set the frequency of each operator on channel 3 individually. You can assign a midi channel to send notes to the operator, adjust the octave/semitone offset, and set the fine pitch.
  • Mono/Legato play modes allowing you to do note glides and arpeggios without re-triggering the attack envelope and fun stuff like that.
  • A Ping-pong system that lets you set a custom panning pattern, allowing you to have notes automatically pan based on a sequence of letters. (fore example, Left Right Center Left Right Center to make a sort of stereo effect).
  • Improvements to the drum sampling system, you can now set the sampling Hz, adjust pitch and volume and loop samples. You can also use a sample as an instrument by only loading a sound into the first slot.
  • Significant improvements to accuracy and DAC performance for anyone using the MegaMIDI output setting.
  • Improved automation support for all versions. Every control should be automatable now, and the VST responds to pitch bend messages properly now (you can set the bend range in the chip tab). Added support for note controls in FL, allowing you to bind Note Control 1 and Note Control 2 to various parameters in order to control them from the piano roll.
  • Number of instruments has been increased from 16 to 32.
  • Tons of bug and crash fixes of course. The UI has been rewritten to fix a number of memory issues and everything has had a going over.

Important Again: Please make backups of any older projects you plan to work on with this beta version of Genny! Due to major changes in the way the plugin’s data is stored, I had considered renaming the actual DLLs to GennyX and making this version of Genny is not compatible with projects built with the old version, but the backwards compatibility code works well enough that I wanted to try this beta as an upgrade to the original Genny instead of a replacement. I’ve tested saving and loading a lot of old projects and things seem alright but more testing is definitely needed. Please let me know if anything is amiss (controls coming undone, weird sound, crashes) and we can work to make sure the new version is completely compatible.

If you have any issues, suggestions, or problems with differences between this version and the last please let me know! Especially let me know if you’re using the MegaMIDI feature, as I don’t know anyone who uses it and would love feedback on the way it works.

Releases are now available through GitHub:

https://github.com/superjoebob/genny/releases

Or if you prefer (Remember, backup your projects before opening them!):

All Versions: https://www.wonthelp.info/genny_v151_all.zip

VST Plugin: https://www.wonthelp.info/genny_v151_vst.zip

FL Plugin: https://www.wonthelp.info/genny_v151_fl.zip

MegaMIDI firmware: https://www.wonthelp.info/genny_v15_megamidi_firmware.zip

Source Code 

UPDATE! The source code is now available through GitHub: https://github.com/superjoebob/genny

For legacy purposes:

I’ve decided to release the source code for Genny! A few important things to note about it, though: 

The code is TERRIBLE. It is so awful and so bad and it belongs in C++ jail. There are probably still memory errors in it, it’s build setup is a mess and there are inconsistencies everywhere. This has been hacked together over more than 10 years, it was started when I had no idea what I was doing and continued without the intention of ever having anyone else look at the code. It is not a happy codebase. For this reason, and because it’s just not something I want to deal with, I won’t be maintaining a Github or anything like that. I’m dropping a zip of this nasty source code like an animal drops a hot shit and then I’m hoofing it outta here:

https://www.wonthelp.info/genny_src.zip

It uses VS2019 to build, with the C++ Desktop Development and MFC components installed: installsettings

You can probably build it in a different version of VS but that adventure is up to you. You could probably even get it working without MFC if you’re keen. Go ahead and do whatever you want with this source code. Modify it, take things from it, laugh at it. You can give it away or claim it as your own (why would anyone want to take responsibility for this?). Release your own version of Genny sans bugs and with more hardware accuracy. You can even go ahead and make a public GitHub for it if you’d like. Just be warned about the mess of a codebase you’ll be getting yourself into, and make sure you blame me for everything. I take full responsibility, but only god can help you now.

Deep down deep down,

Da di da da da do da da-

Deep down deep down,

Da di da da.

-Hyperlink (Deep Down), Eiffel 65

Posted in Uncategorized | 12 Comments

One More Feature

daruma

It’s that time of year again when an explanation is in order for my disappearance. Anyone trying to get in touch with me will tell you that I don’t exist, and anyone playing Duck Game can tell you that I definitely haven’t been updating it. Not since the minor Steam updates in May, which where meant to be in preparation for a larger update, another PS4 patch for the 1.5 remaster and an update of the Switch version to 1.5. There where dreams of doing a beta for the PC changes shortly after the May updates, and grand plans of having the Switch version updated by the end of summer. In a sort of reliable fashion, It’s now November and none of this has happened.

There’s a stereotype that Canadians say “Sorry” too much, and honestly it might be true if I’m any representation of the average Canadian because I feel sorry as hell. I’m not sure I’ve ever written a blog post here that doesn’t have the word sorry in it and once again, like many posts on this blog, this one is an apology and another attempt to explain why it is that I disappoint. And another reiteration of the only promise it seems I’ve ever been able to keep, the promise that I’m trying and that something will come to fruition some day.  The reason nothing has happened since May is absolutely my fault, nobody else is to blame. I’ll also say that, like so many times before, I really thought it was going to happen this time. “Duck Game is finally going to be updated to 1.5 on all platforms this year, and it’s going to be incredible. Everyone will finally be playing the same version and it’ll be working perfectly. I’ll be able to fill in the eye on my Daruma.”

What happened? The year got off to a strong start with the PS4 version finally getting updated, a total rewrite that had been promised for a very long time. Things where looking good, the new code was running on Switch, and performance was great thanks to the Roslyn code generation stuff. Stress testing still needed to be done, and the online code needed to be ported into the new version of the SDK in order to allow friend invites and other fun stuff that came into existence on Switch after DG’s original release. The Proton support patch that came out for the Steam version in April helped get me back in the groove for doing Steam updates, and the patches in May helped prepare the Steam codebase for some of the new PS4 code. The first PS4 patch was basically lined up and ready to go. So why then, with everything moving so smoothly, did nothing ever come to fruition after May?

coilgunshockerExhibit A

I blame the The Shocker (once known as the Coil Gun, a long unfinished weapon of some renown). Or more specifically we can blame my poor attention span, a desire to get as much into one update as possible, and a guns blazing attitude when it comes to quickly jamming in new features at the last possible minute. Looking at the build, everything was ready to go and all that had to be done was to send off the PS4 update and move onto Switch- but something was missing. The change log consisted of a few (important) bug fixes and nothing else, and I thought “Wow, that’s really lame. Two weeks of cert and all people are going to get are a few bug fixes.” So I thought, what can be added on fairly short notice to make this update more exciting? What have people been asking for the longest? The answer was immediately clear- it’s The Shocker!! It’s a really cool weapon that probably wouldn’t take that long to get working. When you shock a live duck with it, they die. When you shock a dead duck, they come back to life. No problem. The Shocker was working within the hour, but once again… Something was missing.

The Shocker is a gun that shoots electricity, and electricity could be a really cool game mechanic. What if it could arc between metal objects, and run through wires to activate things?? This stuff had to happen so I got to work. It should also shock ducks who are in the water, and travel across the top of it. It’s a cool new gun so there has to be a few new levels to showcase it. Oh shit, it needs to work online too…  It was slowly getting out of hand, finally to the point where I sat down one morning and thought “Ah… I don’t even want to look at The Shocker today… What else can be done?”. There was some stuff I’d been sitting on forever that had been hastily pulled out before a previous update, where Chancy had a cheat menu and there was some pretty crazy stuff you could do with it. Instead of noticing that working on this would only get things more out of hand, I went for it. And it branched out from there, I’d promised to implement a friend’s Donut hat forever and decided upon putting it in that the hat should change colors in different temperature, that there should be a Donut you can actually pick up and eat (to unlock the Donut hat, of course), and that the donut should have it’s own special level that comes up really rarely. Oh yeah you should also burp after you eat it… and what if you could hold quack to hold in a burp? If you can do that then you should be able to hold quack through the entire game and let it out on the win screen… If you can store a burp like that, what if the burp did something cool? Like if you ate a ton of donuts and held them all in, your burp could become a laser beam that actually kills other ducks. Then you could let out a hyper burp to take the victory during your draw breaker match and it would be ridiculous. That’s gonna have to be synchronized online… But it’s gonna be great I can’t not do it, right?

donud2

These are just a few examples of the many things that got added to the update last minute, and each one of these things brought more questions and required more testing. There where still many unanswered questions and the new features desperately needed testing. So instead of just submitting a simple PS4 update with confidence, I had this mess of one that needed a good deal of attention before it was ready to go and that would probably have months of repercussions. The thought became that there needed to be a PC beta with these features first, to hold off on the PS4 update until the issues are worked out. I just had to finish up the new features and get the Beta out and then stuff would start moving again. It was almost ready too, almost all the features where implemented and seemed to be working perfectly- except for The Shocker. There was always another question being raised by The Shocker, and I could not for the life of me come up with even one good level design for it. I would sit down at my computer in the morning and think “Why haven’t I just released this beta already? Oh, oh yeah that’s right. The Shocker. UGHHHH”.

The right answer was to just go back on it, to revert the changes. Maybe even to go as far back as before the Donut/Chancy changes, all in the spirit of actually getting this update out and getting to work on the Switch version (honestly the Donut stuff was solid, it probably would have been fine). But reverting code is really hard to bring yourself to do after a whole bunch of work on cool new stuff and I couldn’t bring myself to do it, I was on the verge of having all this stuff complete but the unsolved problems and the anxiety of releasing it all in an update was keeping it from ever quite getting finished. I was losing sleep over The Shocker. It was summer now, company was coming over and an excuse to look away from Duck Game for a little while was just what this problem needed. It could all be solved after a little break…

In a way, that break is still happening. For some background on where my time has been spent the last few months: Back in 2015 or so, a friend and I started work on a game that was gonna be next after Duck Game. We spent years making the game but eventually stopped working on it, because -very very much just like The Shocker– it was getting out of hand (this is a pattern with things I work on and this isn’t the first Duck Game update it’s ruined). It was turning into an insane tree of features and complex implementation and we finally decided that we didn’t know where the game was going or if it would ever be done. After that, working with another friend we spent a year on a new project that ended up the same way. I had a lot of fun with those projects and will never forget the time we spent on them, but I’m sorry that my friends can never get that time back. The time they spent bearing with me on big dreams with little direction. 

oldgameThe Famous 2015 Cancelled Project. I was programming, Dayton McKay was doing the art, and we where going 50/50 on designing it. 

How this all relates to this blog post though, is that sometime during all of the indecision and the Donuts and The Shocker-s, my friend came to me with a game design document he’d been working on for a while. It was a re-imagining of the game we had been working on in 2015 with totally different art and very different gameplay, and it looked awesome. It always bothered me that we never finished that game, and this was a chance to pick up the pieces and keep all that work from being a waste of time. To prove to him that I could work more concisely on a project and help keep it’s scope under control. So I got to work on a prototype right away, first working part time alongside Duck Game’s update and later working full time. So full, this time was, that the project became a bit of an unhealthy obsession and it has helped keep me from communicating with anyone or doing anything else but work. With all that’s been going on in the world and anxiety that has been getting worse with age, staring wide eyed through a computer screen and slamming code into it as fast as I can is like a drug and I’ve been getting blitzed on it every day…

oldman

But It kills the pain. People forget the past, beauty deteriorates and disappears while time grinds away at your will to care. Memories of good things are lost forever and the energy you once used to find new experiences is now spent in the morning, finding the effort to stand up.

As kids, we dream about what we can start.
As adults, all we dream about is when we can stop.

 

Hey, though, we’re working on it. This post is part of my three-hundred-and-eighty-seven step plan to become human again. And, despite the distractions and a little bit of burnout the Duck Game updates are still coming. They’re not cancelled and the plan is still to update Switch to 1.5 and to patch the PS4 version. Whether or not these updates will come with The Shocker- remains to be seen. I’ve been off Twitter, off Discord, barely on E-mail and will most likely remain reclusive until next year. I’m sorry for never messaging you back, for always taking forever and for the ups and downs. Good things are always hiding just beyond sight, but you don’t need to see them. You only need to know they’re there.

 

Rising above the city, blocking out the noon-day sun

It dwarfs the mighty redwoods and it towers over everyone.

I still remember, when that delivery truck came down our block.

What a lucky guy, I hear he got the last one in stock and the neighbors are just screaming.

They say, 

“That’s the biggest screen we’ve ever seen.”

-Frank’s 2000 Inch TV, Weird Al Yankovic

Posted in Uncategorized | 11 Comments