Categories
Game Design Game Development Geek / Technical

Freshly Squeezed Progress Report: The Other 90% of the Work

In my last report I was working on ports for the various platforms I wanted to release my second Freshly Squeezed Entertainment project called Clown Alley Creator, a creativity tool about creating your own fun clowns.

I put in some major effort to finish the porting work, and I have released the game!

Sprints 2024-34 and 2024-35: Polish, Porting, and Publication Preparations

Completed:

  • Create iOS port
  • Create Windows port
  • Create Mac port
  • Create Player’s Guide

That’s right. I released Clown Alley Creator! You can get it right now.

Clown Alley Creator - feature graphic

But if you want to learn about the end of the project’s development, read on.

But seriously, go get it! It’s free, and it’s available for iOS, Android, Windows, Mac, and Linux. And when you create your own clowns, please take a screenshot and send them to me! I’d love to see what you come up with.

Anyway, I found the porting work in general was simultaneously straightforward thanks to the earlier porting work I’ve done on previous projects and also frustrating because each year there seems to be something new that I didn’t have to worry about.

The iOS port was fairly quick, once I got the latest SDL2 libraries. I had essentially made some scripts that handle most of the work for me, and so I was able to get the build up and in the App Store using Mac in Cloud without too much trouble.

The Windows port was similarly quick.

The Mac port, however, didn’t have as many scripts to handle things for me, and so most of the time was spent trying to automate and cross-compile, and ultimately I did a lot by hand. I will unfortunately need to replicate that manual effort for any updates in the future until I can figure out how to automate it. But I created a universal binary, which means it will run on Intel-based Macs as well as the new Silicon-based Macs.

Finally, I created the Clown Alley Creator Player’s Guide, which is a 18-page, full color PDF you can get for free if you sign up for the GBGames Curiosities Newsletter (see below), along with all of the other Player’s Guides I have created for other games.

Clown Alley Creator Player's Guide

With all of the ports done, I published Clown Alley Creator this past weekend, which if you were already subscribed to my newsletter you would have gotten an announcement about because I told subscribers about the release first! Another reason to subscribe, right?

All that’s left is telling people about the game. You know, the other 90% of the work.

So other than needing to address any issues as they come up and potentially creating a patch for the game, I anticipate that my current efforts are exclusively focused on reaching out to players, reviewers, and various other people in roles involved in talking about games.

If you know a favorite reviewer who covers creativity tools, cozy games, and such, please let me know!

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: Linux and iOS Ports

Last time, I reported that I was working on the Android port of my second Freshly Squeezed Entertainment project called Clown Alley Creator, a creativity tool about creating your own fun clowns.

The porting work continues!

Sprints 2024-33: Polish, Porting, and Publication Preparations

Completed:

  • Create Linux port

In Progress:

  • Create iOS port

My goal was to submit the iOS version for review, but I found myself spending more time on the Linux port than I expected.

I had expected it to be pretty quick. After all, not only do I do my main development on a Linux-based system, I also setup build scripts to automate the work of building all of the custom libraries so I can bundle them together with the game in order to make the game work out of the box.

Unfortunately, my build scripts didn’t support the latest SDL2 libraries that I depend on, which required me to update quite a few things and change the process a bit to get things working. And then I had to figure out how to get the custom-built SDL2_ttf to not be 100+ MB.

For those curious about doing so, I had to run configure in a way that said not to build libharfbuzz:

1
2
--disable-harfbuzz
--disable-harfbuzz-builtin

Anyway, once I got the Linux port squared away, I focused my attention on the iOS port.

Luckily, my existing build scripts seem to still work mostly fine. I can build it and test it on my old iPhone.

Clown Alley Creator on iOS

Unfortunately, like the last time I needed to create an iOS port, my current Mac Mini is Intel-based and even though it is otherwise a perfectly fine and underutilized computing machine, Apple has decided it is obsolete and stopped supporting it with new OS updates years ago. And I need newer OSes and Xcode SDKs in order to publish or update my games in the App Store.

As I never use a Mac except to port my projects, and I don’t currently earn enough to cover the costs, buying a new Mac or even a used Mac feels too expensive at the moment. Last time, I used Mac in Cloud, and it worked out well, and I plan to do the same this coming week to finish the iOS port.

Hopefully I can do so quickly, get it up for review, and get it approved before the end of the month.

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: Android Build

In my last report, I was making preparations for releasing my second Freshly Squeezed Entertainment project called Clown Alley Creator, a creativity tool about creating your own fun clowns.

That’s basically the theme all this month, but last week was primarily focused on getting an Android build submitted for review on Google Play.

Sprints 2024-32: Polish, Porting, and Publication Preparations

Completed:

  • Create Android port

Now, I’ve been creating Android builds for some time, and especially so in the last month or so since it has been the easiest way to get play testers a build of the game to try out.

But preparing for release requires satisfying Google Play’s latest requirements, which required me to update the Android SDK/NDK. It mostly worked fine, but I ran into a problem in that I couldn’t update the app on my phone.

It turned out that I am using a new computer and needed to copy the debug keystore to my new computer to let me continue to update the app on my phone properly.

Anyway, I submitted it to Google Play for review, and while I wait, I started working on other ports.

I’m one step closer to releasing this game for you to play!

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: Prepping for Release

Last time, I reported that I was almost finished with my second Freshly Squeezed Entertainment project called Clown Alley Creator, a creativity tool about creating your own fun clowns.

I spent time creating, preparing, and updating store pages, as well as continuing to add finishing touches to the game itself.

Sprints 2024-31: Polish, Porting, and Publication Preparations

Completed:

  • Create privacy policy page
  • Create store page
  • Defect: When exiting gallery and pressing play, the assets reload even though they should already be loaded

Clown Alley Creator - itch store page preview

There are a few things that aren’t live yet that I created, such as the store pages for itch.io and Google Play and such. You’ll see them when the game is released! Not listed above is that I started work on creating the Clown Alley Creator Player’s Guide, which is a free PDF you can receive if you sign up for the GBGames Curiosities Newsletter (see below!).

I fixed an issue I discovered shortly after sending out the latest release to my testers in which the asset loading screen takes longer and longer each time you enter the game from the main menu. Basically, if the sprites and audio are loaded the first time, it shouldn’t need to load them again.

However, it was appending the media to load to the list of things it already loaded, and so it would take longer to do so each time.

It wasn’t a huge bug, as it would take someone entering and exiting the game repeatedly in the same session for it to use just slightly more memory than it should, but it’s fixed now.

I also added a pigeon to the game, as I would like to make sure each game I release has a pigeon somewhere, but I’ll let you find it when the game is released.

I did discover that Google Play’s requirements for new apps will force me to update my build tools to support the latest SDKs, but I hope it is a minor change to build my Android release and doesn’t require me to figure out where a bunch of different configuration settings have moved.

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: I’m Almost Finished?

In my last report, I replaced a bunch of placeholder art for my second Freshly Squeezed Entertainment project called Clown Alley Creator, a creativity tool about creating your own fun clowns.

I have continued to apply polish and respond to feedback from testers, and I am getting ready for the actual release!

Sprints 2024-30: Polish, Porting, and Publication Preparations

Completed:

  • Update Android/iOS/Windows icons
  • Ensure credits page is comprehensive
  • Tester feedback: swap the confirmation buttons when naming a clown for consistency with all of the other buttons
  • Center button in modal for exiting back to Gallery mode
  • Update delete clown confirmation menu to look nicer
  • Tester feedback: hard to tell what top-level creator mode menu currently on

I updated the app icons, mainly because what I had before was too garish. I ended up liking this one:

Clown Alley Creator - app icon

I got more feedback from more testers, so I made sure to add their names to the credits page, plus I made sure to give credit Kenney UI and Sound Rangers. It occurred to me that I should also give credit to game-icons.net. All of these helped make this game feel so much more polished and finished and less amateurish.

Much of the rest of the work involved minor polish, such as centering buttons or making things easier to read.

The biggest thing was something I’ve been meaning to address for a long time. I have some top-level navigation in the Creator Mode, but since I had cut quite a bit of scope, it really wasn’t necessary to have it.

I had two top-level navigation buttons, and despite testing this game for months, I still find myself confused or frustrated with being on the wrong menu without realizing it. That someone else was also frustrated by it was enough for me to finally make time to address it.

Before:

Clown Alley Creator - old top-level navigation menu

After:

Clown Alley Creator - new simpler top-level menu

Things feel so much smoother and clearer, especially now that the way to exit back to the gallery is a lot more called out by the top left button.

And another thing I finally addressed is a way to let players know that the make-up submenu has 4 layers to it. In-person testing has shown me multiple times that people just don’t realize that there are four separate layers to play with, so I’m hoping that providing these conspicuous numbers should help.

Clown Alley Creator - layered make-up menu

Clown Alley Creator - layered make-up menu

Much of the remaining work is related to porting to mobile and desktop platforms and creating store pages. Assuming nothing surprising happens with Apple and Google’s review process, I expect you’ll be able to make your own clowns by the end of June!

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: Replace Placeholder Art

Last time, I reported that I had started working on polish and addressing play tester feedback for my second Freshly Squeezed Entertainment project called Clown Alley Creator, a creativity tool about creating your own fun clowns.

In one of my more productive game development weeks, I managed to knock out quite a few tasks.

Sprints 2024-29: Replace placeholder art

Completed:

  • Replace Title screen BG placeholder art
  • Replace Quit confirmation screen BG placeholder art
  • Options Screen needs a BG
  • Create Credits screen background
  • Create Privacy Policy screen background
  • Create How to Play menu
  • Ensure in-game links take player to actual web pages
  • Replace Gallery Mode exit confirmation menu with modal

When I started this project, I made rapid progress by creating placeholder art and moving on. The title screen and various other screens either didn’t exist at all (and so showed up as a few buttons on a black background) or had something that was functional but not pretty.

Clown Alley Creator new title screen

Clown Alley Creator quit verification screen

Clown Alley Creator - options menu with audio toggle buttons

But thanks to spending my Indie Day focused on game development for a large part of the day, I managed to improve things.

Maybe. I’m not a professional artist, but I tried. And I didn’t use an AI to do it for me.

Clown Alley Creator - new title screen background

Clown Alley Creator - Exit confirmation screen

Clown Alley Creator - Options screen

I added some in-game help pages, and I got rid of a placeholder background for the in-game gallery exit confirmation screen by just replacing it with a modal menu.

I also spent time working on updating the app icon. The current one’s colors are too garish, and since I added more color options to the game weeks ago, I’ve been meaning to update the app icon to reflect it.

Here’s the current one:

Clown Alley Creator - app icon

And here are some updated versions with less obnoxious colors:

Clown Alley Creator - app icon candidates

With such a productive week, I realized that I am actually almost finished with the project. I know I’ve been working slowly but surely, and I know that I had a goal of releasing the game by the end of June which is right around the corner, but the fact that I’m almost done still surprised me! I can’t wait for you to play it.

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: 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.