Categories
Game Development Marketing/Business Personal Development

15 Years After Going Full-time Indie

Today is my Indie Day.

It’s a personal holiday that I observe, as I remember having quit my day job in 2010 to go full-time indie. Here’s my announcement blog post from that period:

Unfortunately, even with all of the optimism and well-wishes, I found myself back on “corporate welfare” as I found myself in a day job again in 2012:

My original plan, after licking my wounds, was to save up some money and try again within a year or two, but I didn’t anticipate how different such plans look when you’re married and making plans for a bigger family. Priorities shift, and the stability of a regular job, even if it is merely an illusion, starts to look good.

But I didn’t want to give up on my indie game development goals. My new plan was to try to slowly and surely build up my business until it made no sense to keep a day job.

Unfortunately, 15 years after my first time quitting my job and going full-time indie, I haven’t had a second time yet.

There’s lots of reasons for it, although I think a big part of it is not being prolific enough with my part-time game development efforts. On any given day, there are a ton of games getting released, and in any given year, I don’t have one of my own released to join them.

But each year, I take time off from the day job for my Indie Day to focus my time on my business. It’s a weird working holiday, in a sense, but it makes sense to me.

It is frankly more than a little disheartening that 15 years later I haven’t been able to build up a second runway yet. I can take solace that I had tried, once, in the past, but it can’t be enough, right?

For years I’ve been trying to figure out how to do it again, as an indie, as someone who is doing it his own way. I’m making plans, figuring out things that I never even thought of back then, and working, if slowly, towards moving things forward.

Today is the day I allow myself to give my business a little shove. Maybe it is just a bit of needed momentum, or maybe any benefit dissipates too quickly to matter since I can’t keep turning the flywheel.

But today is my Indie Day, and I’m celebrating it by acting as if I am once again a full-time indie game developer.

Categories
Game Design Game Development Geek / Technical

Freshly Squeezed Progress Report: Polish and Tester Feedback

In my last report, I added a neat transition effect for my second Freshly Squeezed Entertainment project called Clown Alley Creator, a creativity tool about creating your own fun clowns.

I kept on adding polish to the effect and started to get feedback from testers this past week.

Sprints 2024-28: Adding pizzazz!

Completed:

  • Create special effects when option changes clown preview
  • Defect: crashes whenever deleting make-up option on any layer

Last week I had a neat curtain closing and opening animation whenever you choose a different option in creator mode.

Clown Alley Creator - curtain animation

But I didn’t like that the curtain looked like it was standing on its own, so I created a nice background to go with it.

Clown Alley Creator - curtains background

Clown Alley Creator - curtain animation with background

I think it helps give the animation some context, but it still feels off to me. I think it is because the curtains and background are just kind of…there? There’s nothing anchoring it to the background.

I have some ideas on how to address it, but in the meantime, a tester discovered a pretty easy-to-reproduce crash bug. Basically, when working in the make-up submenu, which is a layered set of menus, if you select the trash button, it should clear the current layer’s make-up.

And it worked…until I added the curtain transition, in which case after the curtain was done closing, it tried to set the make-up layer to that trash menu option instead of a special NOT SELECTED value, and since there was no actual make-up sprite to render, it crashes.

I’ve fixed this defect and plan to send out another release for my testers soon.

Thanks for reading, and stay curious!

Want to learn about future Freshly Squeezed games I am creating? Sign up for the GBGames Curiosities newsletter, and download the full color Player’s Guides to my existing and future games for free!

Categories
Game Design Game Development Geek / Technical

Freshly Squeezed Progress Report: Transition Effects

Last time, I reported that I had started adding pizzazz to my second Freshly Squeezed Entertainment project called Clown Alley Creator, a creativity tool about creating your own fun clowns.

I managed to create a simple yet effective animation in the few hours I had last week.

Sprints 2024-27: Adding pizzazz!

In progress:

  • Create special effects when option changes clown preview

I know some people have access to a talented animator or use fancy shader effects, but I am pretty proud of this closing and opening curtain animation that I created using nothing but some math:

Clown Alley Creator - curtain animation

Basically, there is a static image of the valance above the curtains, then the curtains slide in, with the bottom easing in trailing the top to give the appearance of weight, then the bottom lags the top on the way back out. It’s a simple effect, and the animation is quick enough that it looks pretty good, and it is performant enough to run on machines that aren’t my more beefy development machine.

Meanwhile, I’ve sent off a build to my testers, and I am looking forward to getting feedback soon. I’ve got some more transition animation work to do, such as adding something to make it clear how the valances and curtain are staying up in the air.

I’m looking forward to the day you get to play it! To be the first to learn when Clown Alley Creator is released, sign up for my newsletter by clicking the link below!

Thanks for reading, and stay curious!

Want to learn about future Freshly Squeezed games I am creating? Sign up for the GBGames Curiosities newsletter, and download the full color Player’s Guides to my existing and future games for free!

Categories
Game Design Game Development Geek / Technical

Freshly Squeezed Progress Report: Animating Transitions

In my last report, I had finalized the color options and fixed a defect in my second Freshly Squeezed Entertainment project called Clown Alley Creator, a creativity tool about creating your own fun clowns.

I had started and continued working on some transition animations.

Sprints 2024-26: Adding pizzazz!

In progress:

  • Create special effects when option changes clown preview

Clicking on different clown noses or hairstyles and seeing them immediately change in the clown preview is nice and all, but it’s not quite satisfying.

It doesn’t feel fun yet.

Particle effects are the obvious thing to add, but I wanted to add some fun transition animations. Some of the ideas I have in mind include clown pigeons carrying noses in and out, or a giant hand with a giant brush slapping on make-up.

I spent some time trying to figure out how to make sure that if the player has somehow picked a second or third option while the first animation was still occurring that multiple transitions can occur simultaneously and everything ends up fine in multiple scenarios.

Luckily I found that the transitions were quick enough that it wasn’t necessary. They are very fast transitions and aren’t meant to be an entire song and dance, after all. Any strange overlap isn’t likely to be noticed in less than a quarter of a second.

I ended the week without finishing the work, but I have a proof of concept with a red rectangle sliding in and out that shows it can work just fine.

Clown Alley Creator - proof of concept for transition animation

I expect to finish the work this week. It’s already May, and I’m trying to wrap everything up before this project’s expected release in June. Sign up for the newsletter (see below) to be the first to know when it is going to be available!

Thanks for reading, and stay curious!

Want to learn about future Freshly Squeezed games I am creating? Sign up for the GBGames Curiosities newsletter, and download the full color Player’s Guides to my existing and future games for free!

Categories
Geek / Technical Politics/Government

I’m Ending my 1700+ Day Duolingo Streak and Uninstalling

I’ve had Duolingo for many years. My goal was to learn Italian, and while I am still not conversational, I do find myself understanding some music more easily, and I can more easily understand the variety shows my parents watch on RAI on TV when I visit. But enough has changed with the company’s priorities that I stopped using Duolingo, despite having a 1734 day streak, and I plan to uninstall it soon.

Duolingo is very aggressive about ensuring that I stay engaged

Duolingo is very aggressive about ensuring that I stay engaged

My mom says Italian was my first language and that I “spoke it beautifully” when I was a toddler. Legend has it that I came home from pre-school one day and said I didn’t “want to talk Italian anymore”, that I didn’t like the language. Supposedly she slapped me for saying that, but I don’t remember the slap, and I didn’t remember any Italian.

Since then, I had taken a Saturday Italian class when I was in elementary school for a couple of months, but it wasn’t very rigorous.

I took three years of Italian in high school, and while I did well in the class, there is only so much you can do with memorizing vocabulary and Italian Christmas songs. I still found myself unable to follow any conversation between my parents and other members of my family and their friends.

So enter Duolingo. Self-paced language learning using the latest understanding in learning technology? Nice.

Before they completely overhauled the system a few years back, I remember it said I was 18% fluent at one point, and while walking in San Francisco with my wife, I remember overhearing a couple of older women speaking and realizing that they were speaking Italian because I could pick up about 18% of what they were saying.

The new system encouraged me to keep doing new lessons rather than keep reviewing older ones like I had been, and I think it really did help. They don’t pretend to grade your fluency anymore, but I’m confident that I can mostly parse sentences I encounter in real life.

I kept thinking that I should pay for it. The ads were annoying. But then one day, I discovered that I had finished the Italian course.

Instead of lessons on a trail, there was a now a “Daily Refresh”, and while it seems to cover past mistakes, it was repetitive and seemed divorced from the lessons in question. I am aware, for instance, that there are two words for table: the feminine tavola and the masculine tavolo. There is an appropriate time to use one or the other, but I was long past that lesson and cannot tell you today when I should use one or the other.

I’ve been doing Italian lessons twice a day for many, many months. I resented the gamification because there seems to be a subtle difference between encouraging me to learn vs encouraging me to be engaged with the app, and many of the changes feel like they have started leaning into the latter. And it works, which is what really annoys me. I want to learn Italian, but I sometimes realized I couldn’t go to sleep because I had a streak to maintain and hadn’t done my Duolingo lesson yet. I started caring about keeping the streak, or getting ahead in the leaderboards.

A good piece on how obnoxiously effective these kinds of user engagement practices can be on Duolingo is from Aftermath’s Riley MacLeod’s. My favorite line:

I absolutely do not want to engage in this cursed feature and turn my learning into a competition against strangers, but also damned if I’m not gonna beat the person below me.

Anyway, despite finishing Italian, I was about to finally start paying for it, if only to stop getting ads, but then I saw ads pushing their AI-powered Duolingo Max offering. While it sounds like it could be a really good use for AI, it just makes me think about all of the water and other resources used to pretend to have a conversation with an AI agent, plus knowing how much of AI is trained through plagiarism. It completely turns me off.

And then there was the recent news that Duolingo was getting rid of all of their contractors and replacing them with AI, and that’s when I decided I was done with Duolingo.

Learning a new language is hard, and I imagine creating a platform to learn many languages is really challenging. Each language has unique quirks, idioms, and more, and so I am impressed with the system existing at all. Still, I found myself struggling with the app badly pronouncing some words occasionally. It’s frustrating to find out that I got something wrong in a way that wasn’t my fault, especially since sometimes it means losing my ability to keep learning until I wait long enough to gain a heart back.

Clearly the course only take you so far and I wasn’t going to measurably learn more at this point, and yet I was compelled to stick to the top of the Diamond League and keep my streak alive. The lessons sometimes introduce concepts without explaining them well, which meant encountering idioms with no chance of getting them right or words without a way to learn what they mean without just purposefully getting them wrong to get the feedback. And of course the ads are obnoxious and slowly stealing precious minutes of my life.

Basically, I realized that I was tolerating quite a bit already.

Now that there was a push for using AI instead of real people, I can only imagine the kinds of errors I already encountered only multiplying with no real way to submit feedback that will get meaningfully handled. I can’t see the app getting better, and I no longer wanted to support the company.

As for actually learning Italian? I might just need to make plans to travel to Italy, take actual classes, and just immerse myself in books, movies, and music. Maybe I can even turn on Italian language options in the games that I play.

I’ve seen some people talk about replacing Duolingo with other tools, such as Mango Languages, which is supported by my local library. Let me know if you know of a good alternative that you love, although I worry that more and more, it seems good technology goes bad, whether you believe it is due to “enshittification” or “The Rot Economy”.

But for now, I’m exercising my ability to opt out.

Categories
Game Design Game Development Geek / Technical

Follow Along with this Game Feel Book Club

Full-time indie game developers Tim Beaudet and Justin Six are starting a book club focused on game development-related books.

The first book will be Game Feel by Steve Swink, and Episode 0 was released yesterday.

In this episode, they haven’t read the book yet, but they did go through the chapter titles and talked about what they think the book will cover, plus they gave an outline and schedule for when they will live-stream their discussions.

It was insightful to hear them talk about how they think learning about Game Feel may or may not help in terms of what impact it might have on sales, especially since someone has to have already bought the game before they experience the feel of a game. Tim posits that any multiplier for a game’s success that comes from an investment in game feel is probably more downstream once the game already has a critical mass of players.

The next episode will be May 2nd at 11am Eastern Time.

I read the book a few years ago, but I think it would be great to reread it and follow along with Tim and Justin, and I look forward to seeing Justin learn what Metaphor Metrics are.

Categories
Game Design Game Development Geek / Technical

Freshly Squeezed Progress Report: Even More Colorful Options

Last time, I reported I had started adding shades of gray options and was figuring out how to add more colors to my second Freshly Squeezed Entertainment project called Clown Alley Creator, a creativity tool about creating your own fun clowns.

I managed to create something I feel satisfied with.

Sprints 2024-25: Color options

Completed:

  • Create wider variety of primary/secondary color options
  • Defect: Creator mode menus blank out sometimes based on what options were last selected

As I mentioned before, I had come up with a way to programmatically create the various color options. Originally I had 19 pages worth of color options to go through.

Clown Alley Creator - multiple color options

I showed my wife, and her immediate reaction was that it was too much. And she was right, especially when I looked at two different pages of green options that looked identical to me but that were in fact slightly different shades. It is possible to have too much of a good thing.

So I tried to reduce it to 10 pages, but then ultimately decided on 5 pages.

Clown Alley Creator - a sufficient number of color options

It feels like a good way to provide a wide enough variety of colors while also preventing the player from being overwhelmed with the options.

Once I finished this work, I then handled a defect involving menus disappearing in certain contexts, and I addressed it quickly.

So the next thing I started to work on was adding some pizzazz! When you make a selection in creator mode for a new nose or make-up option, there should be some feedback besides the clown instantly changing.

The simple thing is to add particle effects, but I wanted to add other possible animations as well. I ended the week in the middle of creating some code to support such animated transitions, and I expect to finish it this coming week.

Thanks for reading, and stay curious!

Want to learn about future Freshly Squeezed games I am creating? Sign up for the GBGames Curiosities newsletter, and download the full color Player’s Guides to my existing and future games for free!

Categories
Personal Development Politics/Government

Are We Invested Or Just Watching?

I subscribe to the great newsletter Reimagined by Nicole Cardoza (who, by the way, turns out to be a magician and now I hope to see her whenever she tours next), formerly Anti-Racism Daily, and the latest piece was about the weird publicity stunt of Blue Origin sending Katy Perry and an all-women group up into to space, presumably to promote and normalize space tourism.

Cardoza points out that while many people think that the science that NASA does is important, space tourism isn’t exactly a priority.

Yet, the current Republican administration seems focused on doing the opposite of what we, the people, want, and the marketing campaign to send an all-women crew seems to be out of step with the demolishing of DEI and erasure of women astronauts, among other prominent women in other industries and in history in general.

These private companies need public dollars to achieve their goals – including their hopes to scale their own commercial flights. That means that for this to work, the government will have to cultivate awe – not just for space exploration, but the billionaires that now govern it. It doesn’t help that Bezos and Musk, the new faces of space exploration that own Blue Origin and SpaceX, respectively, aren’t exactly media darlings. We deserve to be treated as active investors in this endeavor, not just people in the audience.

I liked this part. I think it captures some of what bothers me so much in tech and in politics. Many years ago, I remember Microsoft was going to invest a lot of money into schools to teach copyright to the youth.

That sounds kinda great, except when I read that it was geared towards teaching them to respect the creative works of major companies such as Microsoft, instead of teaching them that they, too, can create and enjoy the protections of copyright.

Basically, instead of teaching how copyright is for everyone, they just wanted to train everyone to be good consumers.

It was gross then, and it is gross now.

The destruction of the American government that has occurred over the last few months can be summarized roughly as the incredibly filthy rich thinking that they should control the fate of everyone else. The rule of law, equality before the law, checks and balances, regulations, etc … all of that just gets in their way.

And they strongly believe that they have the right and duty to get rid of it, and that your role is to be subservient to them, to be good consumers.

They expect everyone else to passively accept it.

As Cardoza says, we deserve to be treated as investors. But the rich and powerful are moving fast, because breaking everything quickly before everyone realizes how invested they were in the existing system means it is harder to recover.

I’m not sure how many people have come to the realization that there is no reversal of course, that we can’t go back. Our reputation in the world is in tatters, our systems are broken, and the only options are to dream up a new world order that is more in line with what we, all of us, want rather than what a handful of incredibly wealthy people had come up with.

Categories
General Politics/Government

Books I Have Read: Log Off by Katherine Cross

Social media may be fun. It may provide opportunities, economic or otherwise. It may allow individuals to find others with similar interests.

But according to what Katherine Cross wrote in her latest book, Log Off: Why Posting and Politics (Almost) Never Mix, social media is pretty much only good at solving problems…that social media created in the first place.

Log Off by Katherine Cross

And the problems it creates can be big. Ugly and sometimes deadly harassment campaigns that utilize social media to be efficient and impactful can likewise get shut down thanks to social media. But again, the problem only existed because social media made it easy to exist.

Cross argues that social media is NOT good at solving other problems. Despite promising movements such as the Arab Spring that seemed to indicate that social media was good for democratic movements and for activism, most social media-based activism is ineffectual and eventually fizzles out.

Posting an earnestly written message online to spread awareness might feel impactful. You are saying something important, and the entire world might read it instantly.

But the nature of the algorithms, the interests of the people who own the social networks, and the affordances provided by the dopamine hits when you see likes and shares and reposts (as well as the angry replies) all combine to produce what is essentially nothing more than a very compelling and distracting entertainment.

It’s a form of entertainment that you pay for with your attention, time, and energy, and it can give the illusion that it was attention, time, and energy well spent.

Real collective action, real social movements, real impact comes from doing real work with real people, and social media provides a very poor substitute.

Much of the book is spent juxtaposing individualistic and collective perspectives. Social media, like much of capitalism, tends to encourage personal, individual solutions to what are collective/systemic problems. I appreciated reading the chapter about how social media seems to encourage bleakness and despair, enough that people feel the need to defend themselves by buying a gun and learning how to be self-reliant in an apocalypse.

(Of note, this book was published before the 2024 election, and reading it today, it feels kinda quaint reading about a younger Bluesky’s potential and Twitter’s meltdown and the apocalypses that we could see then)

But getting yourself a gun to protect yourself is an individual solution (one that the gun industry would happily scare you into accepting).

“In such circumstances, it can be hard not to look admiringly at the one thing that has always seemed to stop fascists dead in their tracks. Literally. Armed resistance. So why not get a little bit of that power for yourself? To protect yourself, and your family, from evil people who wish you harm? Isn’t the Second Amendment there for you too – and isn’t that what’s it’s for? Arming the citizenry against tyranny?

In the US, in this exact moment of pitched terror about the resurgence of fascism and the impending climate apocalypse, there is a very real belief among a bunch of frightened queer people and leftists that all the extremists who cheered on the execution of trans people, or the rape of a celebrity, who called a white nationalist terrorist a martyr for the cause, will come after them, and that resistance will only come from the barrel of a gun. In reality, they’re simply soothing themselves with another private non-solution to a collective problem, sold to them by social media with all the ruthless precision of a targeted ad.”

Cross goes on to argue that Second Amendment rights and the protections that goes with those rights does not, in fact, extend to everyone. The law might say one thing, but historically we’ve seen how there are double standards depending on who is wielding the weapon and who the police and the state want to wield those weapons against.

“In theory, the Second Amendment should protect all Americans’ right to own guns equally, but it doesn’t. Non-white people, leftists of all backgrounds, and anyone else who doesn’t fit the aforementioned frontiersman narratives have all taken up arms only to be literally cut down by the state, without a single peep from the NRA in defense of people who ought to be, by all rights, their fallen martyrs.”

I’ve seen discussions by some trans people and various left-leaning people talking about how banning guns would actually leave them defenseless, that they need those guns. And while Cross doesn’t think no one should be able to defend themselves, she does point out that the fantasy and illusion social media presents hides the reality of the work it would take to become the kind of person who might be willing to use a weapon in self-defense. It’s more than the cost of the gun and learning how to shoot.

Cross argues that even if weapons do sometimes become necessary, what worked against fascists before was not merely random people shooting them. It was organization. Guns and violence get valorized, especially on social media, when the real work of revolution and resistance also takes an army of non-militant roles such as nurses, translators, and more.

In the face of Project 2025 rolling back or destroying almost half (as of today) of the US government so far, we’re going to need collective action and organization to meet the needs that the government will no longer provide (and more that it wasn’t already providing in the first place). It is entirely possible, and maybe even likely, that things will get violent in the near future, but merely arming people won’t be enough.

“I can think of nothing less effective against fascism than scared, isolated people quaking with guns in hand, not talking to each other or making serious efforts to organize and pool their resources.”

What I took away from this book was that social media is fine if you treat it as mere entertainment, and it might be fine for finding others who are like you or have the same interests, but if we want real solutions to real problems, posting and doomscrolling aren’t doing enough positive things to outweigh the psychological damage and sapping of energy it entails.

Social media tends to make some minor things loom large (especially when reporters from major media outlets report on them and make them “news”) and gives the impression that “everyone” is saying something, when in fact, a few handfuls of Extremely Online(tm) trolls do not statistically represent 340 million people. We don’t take cues of what to pay attention to from a classroom of 1st graders, yet it is easy to think an equivalent-sized group of angry replies means that the world agrees with them.

I’ve long stopped actively using Twitter, and for some time I was using Bluesky as my new online home, and to a lesser extent Mastodon.

I was already questioning how much energy I was spending making these networks stronger and more valuable for others when my home on the Internet is really this website you are reading this post on right now. And I was questioning how much of my energy and time could be dedicated to doing something real and lasting.

I help put on the Central Iowa Trans Lives Fest each year, for instance, and while social media might get the word out somewhat, much of the real work is in reaching out to people and signing up vendors and coordinating volunteers and emptying the garbage bins. It is gratifying being part of the group that puts together a major event for people to celebrate being who they are, especially in the face of despair in our political reality, especially as Iowa becomes more and more hostile to families and friends alike.

But if I spent a ton of time posting online, arguing with trolls, and pretending that was helping to make that event successful or improving the conditions of life in Iowa? I’d be deluding myself, and the companies that provide social media are happy to help me in that delusion as I help them create more value for their shareholders.

And I would be squandering opportunities to make real connections and organizing for real change in my community.

There is a lot that the Internet and the World Wide Web provides that can be a force for good. Social media hasn’t really lived up to its promises, and unless your job is being a social media influencer, it probably isn’t worth all the labor of making the owners of the platforms richer while we all get poorer.

Social media can be fun, but taking it too seriously, which is seriously at all, is a waste of time.

Categories
Game Design Game Development Geek / Technical

Freshly Squeezed Progress Report: More Color Options

In my previous report, I was working on logic for managing all of the extra colors I want the player to have access to for my second Freshly Squeezed Entertainment project called Clown Alley Creator, a creativity tool about creating your own fun clowns.

Despite other obligations, I managed to make some good progress, but I’m not finished yet.

Sprints 2024-24: Color options

In progress:

  • Create wider variety of primary/secondary color options

Most of the logic and infrastructure for this work is complete, so it is basically a matter of creating all the colors.

And I would like to provide a large variety of color options, and doing so has become one of those “Oh, I had no idea that there was some design and purpose needed” kind of things.

How hard is it to just provide a bunch of color options in various hues?

Well, I didn’t want to provide a bunch of colors in a seemingly random order, and I wanted it to be easy for a player to find the color they might want, so I can’t provide infinite options or I would risk overwhelming them.

So I decided that each hue might get a set of shades. Adding shades of grey is easy enough:

Clown Alley Creator - color picker with pages

I’m still in the middle of coming up with a good solution for more colorful options. If you are interested in the technical details, currently I’m trying to start from a particular H value for a color in HSL (hue, saturation, lighting) format, then creating variations by modifying the L value, then converting to RGB format.

I got to the end of the week before I got to finish the work, but I’m hoping it provides a variety of shades for each color that feels intuitive for the player while also letting me generate a decent quantity of options easily.

Thanks for reading, and stay curious!

Want to learn about future Freshly Squeezed games I am creating? Sign up for the GBGames Curiosities newsletter, and download the full color Player’s Guides to my existing and future games for free!