Categories
Game Design Game Development Geek / Technical

Freshly Squeezed Progress Report: (Still) Upgrading to SDL3

In my last update, I said I was working on migrating my code from libSDL2 to libSDL3 for a Major Update(tm) for my strategic leaf-raking business simulation game, Toytles: Leaf Raking.

I continued the work this past week.

Sprint 2025-MJ_3: Preproduction

In progress:

  • Update SDL2 to SDL3

Toytles: Leaf Raking

I’ve modified almost 2,000 lines of build scripts and code so far. Most of them are renames of existing functions that didn’t change much, but some of them involved a bit more work.

For example, SDL_mixer is completely different, which means that my code now needs to be changed to create a mixer, then create tracks. Before I just had channels to worry about.

It looks like instead of getting one music track and a bunch of sound effects the way SDL_mixer provided before, I can mix and match multiple music and sound effects in a more unified way. So it will be nice when it all comes together.

Porting can be tedious, but it has been helpful to go through it step by step and see how this migration will directly impact things.

And there is a light at the end of the tunnel as the list of compiler errors is now fitting on a single screen.

So I’m almost done, but I’m not done yet, and these are the days when I wish I was able to dedicate full-time effort to the work.

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: Upgrading to SDL3

Last time, I reported that I had started working on my first sprint for a Major Update(tm) for my strategic leaf-raking business simulation game, Toytles: Leaf Raking.

This past week I started the work of migrating my code from libSDL2 to libSDL3.

Sprint 2025-MJ_2: Preproduction

In progress:

  • Update SDL2 to SDL3

Toytles: Leaf Raking

Technically, this work started in the previous sprint, but it was a very short sprint that started near the end of the week.

Also, this is a somewhat technical update.

Years ago, I wrote an abstraction over my usage of SDL2. SDL3 is a major change from SDL2, but I anticipated that the impact should be isolated to a few files that directly reference SDL2.

Even so, I’m finding that while many variables, constants, and functions are merely renamed, there are some areas in which SDL3 changed how it does things, or at least there is enough change that it requires me to spend time digging into it to determine if the changes are relevant to what I am trying to do.

For instance, the SDL2 to SDL3 Migration Guide mentions that “SDL_WINDOW_FULLSCREEN_DESKTOP has been removed” and that “Windows now have an explicit fullscreen mode that is set, using SDL_SetWindowFullscreenMode()” which makes it sound like I can’t do what I did in SDL2, which is use SDL_CreateWindow() for either fullscreen or resizable windows.

But when I looked into it, SDL_CreateWindow() still lets me pass in a SDL_WINDOW_FULLSCREEN flag. Creating a fullscreen window is still fine, but the way to set an existing window as fullscreen is different…something I never do in my code, so I don’t have to worry about handling this change in my own code.

It’s a little tedious, but the migration guide is very helpful, and the error codes are incredibly helpful:

1
2
include/SDL3/SDL_oldnames.h:1168:26: error: ‘SDL_RendererFlip_renamed_SDL_FlipMode’ does not name a type
 1168 | #define SDL_RendererFlip SDL_RendererFlip_renamed_SDL_FlipMode

That’s very thoughtful of the SDL3 developers!

And it also gives me an opportunity to look through some of my oldest parts of my code to see if there is anything I can also cleanup.

My hope is that I can get this migration work accomplished quickly early this week, and then I can make sure that the game still runs the same as before. Then I can start the work of updating the game itself.

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: Logos and Infrastructure

In my last report, I was concerned about how much work I identified for a Major Update(tm) for my strategic leaf-raking business simulation game, Toytles: Leaf Raking.

Last week, I put together an initial roadmap and started work on the first sprint.

Sprint 2025-MJ_1: Preproduction

In progress:

  • Update SDL2 to SDL3

Early in the week, I started looking into fun fonts to use for a new logo for the game.

The current logo, if you can call it that, is pretty simple and uninteresting:

Toytles: Leaf Raking old simplistic logo

So early in the week I started looking into fun fonts to use for a new log for the game.

I found quite a few, fell in love with one, then had to abandon it when it turned out that the font in question required me to pay a license fee for use in a logo for a limited number of uses.

So I found a few others and found that I can love a different font. Here’s an initial stylized logo that I really like:

Toytles: Leaf Raking new logo prototype

I toyed a bit with the kerning and outline, and a colleague added some iconography that showed some potential. Basically, don’t expect it to be the finished logo.

At the same time, though, I got really excited about the project upon seeing it. I think in the future I will spend time making a nice logo early in development of any new projects.

Later in the week, I set to work to finally update libSDL2 to libSDL3. I anticipate it might be tedious work, but I hope it isn’t going to require major surgery on my game’s code.

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: How Is this Backlog So Huge?

Last time, I reported that I was grappling with big questions regarding the scope of a Major Update(tm) for my strategic leaf-raking business simulation game, Toytles: Leaf Raking.

I started by putting together everything I currently would like to see in a Major Update(tm) and would worry about what to cut or streamline later.

For my last few projects, I have found that I tend to have close to 100 high-level tasks.

But those were new projects, built from scratch, and with my part-time efforts, they can take me sometimes a year to develop.

A Major Update(tm) to an existing game shouldn’t be so bad, right?

So why do I already have 70 tasks identified? It’s almost like I might as well create an entirely new project!

Many of these tasks are actually quite big, with some unknowns that I will need to identify and break out into their own tasks.

For instance, if I want to create a better looking town, it isn’t enough to just redraw the background, streets, and sidewalks. I would also need to redraw the houses in the neighborhood, including their yards, and the trees.

And of course the general store will need a facelift.

Store

And that’s just what I can think of offhand.

I’ve also been giving considerable thought to the general art direction as well as audio. I originally thought I would try to preserve the slapdash nature of the art while making it a bit more appealing, but now I am considering really focusing on the “toy” part of Toytles.

What if the game looked like it was a bunch of toys being played with by a kid with an active imagination? The houses would need to look like toy houses, with decals and painted blocks. The characters should look like action figures talking to each other with perhaps barks that sound like a kid is mimicking all of the voices.

Which of course might also impact the scope. But I’m taking my time with figuring this all out before I commit to development.

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: Asking the Big Questions

First, don’t forget that I’m asking for fan submissions for Clown Alley Creator. Send me your clowns, and I might share them here and on social media! See details at that link.

In my previous report, I broke down some of the ideas I had for a Major Update(tm) for my strategic leaf-raking business simulation game, Toytles: Leaf Raking, into a few major categories.

Toytles: Leaf Raking

This past week I had other priorities for my time and energy, so I didn’t make much progress on fleshing out the plan, but I did find myself chatting with a few people about what I am trying to do.

And it got me thinking about all sorts of things, such as:

  • What is the exact impact that I hope to have with this Major Update(tm)?
  • How much time do I want to commit to it?
  • Should I look into contracting an artist, which will cost money but save time (hopefully)?
  • Does one big release make sense, or should I break it up into frequent, smaller releases?
  • Even with the new look and feel I hope to go for, how do I find customers who want to play it?

No matter how big of a Major Update(tm) I want to do, I am confident that I can create a solid game development project plan for it.

But how do I determine how big of a Major Update(tm) to do?

Because I also have to think about opportunity cost: time spent on trying to improve the appeal of Toytles: Leaf Raking is time not spent making a new game.

The faster I can make this update, the sooner I can put it out there and promote it.

But I don’t work on GBGames full-time (yet), so I know that there is only so fast I can go. It takes me months to do what a full-time game developer might do in days or weeks, which means that while I might want to only dedicate a month, realistically I might find that I would put hardly a dent in the update in that time.

In the end, I’m trying to determine how much I want to invest in this Major Update(tm). It’s hard for me to determine because I do not have a ton of market research and insight that justifies such an investment.

It is entirely possible that my strategy game about running a leaf-raking business aimed at pre-teens and teens won’t benefit significantly from significantly improved production values. I want to see what happens if it does, but I also recognize that I don’t want to spend years of effort on 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: Getting Expansive with Ideas

Last time, I reported that I was starting to prepare for a Major Update(tm) for my strategic leaf-raking business simulation game Toytles: Leaf Raking‘s 10 year anniversary next year.

Toytles: Leaf Raking

This past week I spent time going through my old notes for the project, some of which date back to 2014.

I had some ideas that sounded good but got cut or changed as progress was made, and other ideas are…less good.

But I’m going through all of them to help me determine what I might want to put into this Major Update(tm).

I had a number of ideas that could be implemented relatively quickly, and other ideas that would require me to add entire features or systems.

At this point, I wanted to think about all the possibilities before limiting the scope by looking at the calendar, my capabilities, and reality.

But I’ve already started to categorize some ideas. Low-hanging Fruit are things like replacing background graphics, updating the font, using better sound effects, adding music, and updating the general user interface. These are things I can do without substantially changing the code or worrying about impacting the game play, but that I think will enhance things quite a bit.

Requires Some Effort to Enhance the Game are things that require me to add or modify code and art to support things that can’t be done yet. For instance, the game supports one save file, but there is no reason not to support multiple saves. There is no way to mute the audio, which makes sense since the game has no music yet, but I should allow the player to not only mute sound effects and music but also adjust their volumes. And I should create a proper ending, as right now the ending is quite anticlimactic.

And then there are Game Play Improvements, which not only require updates to the game but some hard design work to make sure that things are improved and not broken accidentally. I’ve mentioned this before, but I think the main game play of potentially getting interrupted by rain while raking leaves and needing to wait it out can be quite clunky. There are also awkward edge cases that result in what might be seen as unfair situations, such as finishing a yard at midnight and not getting paid because technically midnight is when leaves get added for the next day.

The first two are mostly technical in nature, as in I am doing art swaps or adding features with known constraints and parameters. The third is likely to be the most challenging because there is a risk of potentially unbalancing things and anticipating that I might need to do more work to rebalance the design.

I also have plans to update the app icon:

Toytles: Leaf Raking - app icon

Seriously, it could be a LOT better.

And I want to create a proper trailer and even add translations.

If you’ve played Toytles: Leaf Raking, I’d love to hear from you. What did you love about it, and what do you wish you could do in 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: Preparing for a Major Update

I recently released a few minor updates for my games on both Google Play and the App Store. As far as I know, any current requirements are met, and I have time before I need to worry about the next required update.

So I started turning my attention to planning a Major Update ™ for Toytles: Leaf Raking, my leaf-raking business simulation game that was originally released in 2016. I want to release that Major Update for its 10 year anniversary next year!

Toytles: Leaf Raking

So, what is going to be in this update? I’m still figuring it out, but the main pillars of the update will be improving the game play and enhancing the visuals and audio.

I still think Toytles: Leaf Raking is a good game, but there is a lot of room for improvement.

The gist of the game is that you are balancing a number of resources: time, energy, money, yard bags, the durability of your rakes, and your responsibilities to your clients. The weather plays a factor as well, as the wind on a given day will determine how many leaves you might need to rake to earn money, but any precipitation will slow you down as you can’t rake while it is actively raining.

But in practice, it is kind of clunky. If it is drizzling out, you’re supposed to wait 10 minutes and see if it stops. If the drizzle continues, you can’t rake leaves. So wait some more. And if you do get a dry spot, you might find that you need to stop raking if it is drizzling again. While drizzle operates in 10 minute increments, actual rain is an hourly event, so waiting 10 minutes doesn’t make sense unless it is to get to the top of the next hour.

And heavy rain is an all day event, which is likely combined with heavier leaf fall that you can’t actively manage until potentially the next day. Other than getting to rest earlier or meet new clients and shop for supplies, such days don’t let you do much, which isn’t exactly fun.

Later on, I wanted to retroactively make the game feel more alive, so I tried to give the neighbors personalities. Today, if you speak to them, they say different things throughout the season, but it was still quite limited, and in terms of your goal of earning enough money to purchase the Ultimate Item(tm), such dialogue wasn’t relevant.

I also recall that when I was making it that I purposefully made the graphics quickly. That is, I am no artist, and you wouldn’t mistake me for one when you look at this game. I found that I would spend way too long trying to make my art look less bad, and it was still bad, so I tried to avoid wasting time on improving the art and instead focused on making the game.

For example, here is a kitchen scene featuring your parents who give you advice and tips:

Toytles: Leaf Raking - the kitchen scene

I want to say that the background was a 2nd pass effort, but I also remember putting blobs of color on their plates without really having any idea what they might be eating.

In a way, the art has its charm (I hope?), and I want to try to keep it, but I also recognize that there isn’t a lot of consistency and it could be greatly improved. The HUD, menu buttons, and menu frames all look pretty basic and terrible.

The game doesn’t look too great in motion, which means it isn’t fun to watch someone else play and it is probably hard to follow what is happening. I added transitions between screens for one of the updates, which helped to make the game feel more user-friendly and intuitive, but most menus do not have it, so it is still quite jarring at times.

Music doesn’t exist, and the sound effects are very simple and minimal. There is a lot of room for improvement here.

I expect that the art and audio will be the easiest to improve, although it will still be a lot of work to add animations and effects.

But the hardest work will be improving the game play. I want to keep the core strategic focus on balancing resources, but I am considering a complete overhaul of the mechanics to make it more intuitive and more playful. I expect that I’ll be doing quite a bit of prototyping.

I am still figuring out just how much scope is going to be in this Major Update(tm). Maybe this should be a proper sequel? For those of you who have played Toytles: Leaf Raking, I will definitely be looking to hear from you about what you love and what you wish was better. 10 years is a long time, and I really want to celebrate.

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: More Google Play Updates

Last time, I reported that I was creating Google Play updates for all of my games to support 16KB memory pages.

I published those changes last week, so now you can play Toytles: Leaf Raking, Toy Factory Fixer, and Clown Alley Creator on your newer Android devices.

And if you’ve tried out Clown Alley Creator, send me your clowns! I shared my first fan submission last week, and I can share yours next! Learn how at this page, and I look forward to seeing what you come up with!

And don’t forget you can play all of my games on iOS, Windows, Mac, and Linux as well!

Meanwhile, I have started working on a major update for Toytles: Leaf Raking, which will be 10 years old next year. As I said before, I want to update the visuals and streamline the interface to celebrate, and I hope you look forward to it as well.

On a side note, I also did some decluttering of my office to make some of my game design prototyping tools more accessible for me to quickly pick up and use. I’ve been getting some ideas for new game concepts that are starting to excite me. Stay tuned!

Speaking of staying tuned…

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: Updating My Other Games

Because Google Play imposes new requirements each year, I find myself updating my games to make sure they can continue to be available and updateable.

I recently released a new version of Clown Alley Creator on Google Play which is mainly updated just for this reason.

I have submitted an update for Toytles: Leaf Raking, which is waiting for a review. It took a lot longer to get the game updated, partly because my homemade underlying framework code that I use from project to project needed to get updated with the latest version, which required me to update the game’s code, then test it out to make sure the game runs like it used to.

I expect to have an update for Toy Factory Fixer this week, and I hope it isn’t as challenging to update.

The original deadline to get these compliance updates done was August 30th. Despite plans to get it done earlier, priorities were such that I couldn’t start addressing them until fairly late, and reviews may take even longer. Whoops.

Luckily I was able to request an extension, so now I have until the end of October, but I do plan to get the game updates out earlier.

Also due by the end of October is compliance with a different Google Play policy related to supporting 16KB memory page sizes. I believe I just need to use a later version of Android’s development tools to get that support automatically, but I will work on getting my games compliant sooner rather than later.

Meanwhile, I feel a little behind when it comes to my plans to create a major update for Toytles: Leaf Raking. Next year will be its 10-year birthday, and I’d like to celebrate with improved graphics and a streamlined interface for fans.

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 General

Happy International Clown Week! 🤡

The first week of August is International Clown Week!

And I just got back from a family trip in which we visited Baraboo, Wisconsin, the original home of the Ringling Bros circus, and the current home of the International Clown Hall of Fame & Research Center.

Downtown Baraboo sign

The ICHOF houses the largest collection of clown artifacts in the world. Their holdings include props, wardrobe, make up, wigs, clown shoes, trunks, personal scrapbooks, diaries, programs, photographs, books, film, video and digital recordings. They present new exhibits every year and continue to locate historical and current artifacts daily.

For about nine months, I worked on a creativity tool about creating your own fun clowns, and the ICHOF website and Facebook page was incredibly helpful for me as I did research on the wide variety of clown wardrobe, wigs, and make-up, as well as general history and information about clowning.

By the way, Clown Alley Creator, my second Freshly Squeezed Entertainment project, is out now for iOS, Android, and desktop!

So to actually visit the ICHOF? Well, it was definitely a highlight of my trip!

The Executive Director of ICHOF, Greg DeSanto, was there to answer any questions and share interesting trivia about what was on display.

When we arrived, he asked me if I had a favorite clown, and I said, “Joey D’Auria, who was my Bozo growing up.” I didn’t learn about Bob Bell until I was much older, so the only Bozo I knew was the one portrayed by D’Auria for 17 years.

So DeSanto made sure to point out the new Bozo exhibit, and he let me know that D’Auria left the museum copies of his book My Favorite Comedy Sketches: Volume I. I was excited to pick up that souvenir, and even more excited to discover it was signed!

Me at the Bozo exhibit at the International Clown Hall of Fame & Research Center

My Favorite Comedy Sketches Volume I by Joey D'Auria

I asked if David Arquette, who bought the rights to Bozo, had been to ICHOF, and it sounds like he hasn’t yet. David, what are you waiting for?

The ICHOF had so many sections, with so much history on display. There were a variety of props, including the actual small electric car that Bobo Barnett somehow fit himself and a bunch of animals plus some luggage. I asked to see the inside, and DeSanto obliged. What I love about this car is that Barnett never let anyone see how he managed to get all 6’3″ and 240 lbs of himself into it, let alone everything else he fit in alongside him.

Bobo Barnett's actual tiny electric car

I particularly enjoyed Red Skelton’s letters. The one from his 84th birthday said, “Living in the smogfree part of California (that means smog is free) I heard a fellow robbed a bank and ran outside and disappeared into thick air.” In another of his letters, he forgave Joseph Grimaldi for stealing his routines, a line that made me laugh knowing that Grimaldi died in the 1800s, long before Red Skelton was alive.

The last time I saw the Ringling Bros and Barnum & Bailey Circus, Bello Nock was the master of ceremonies, so it was nice to see his face at the museum, if only in postcard form, and to talk about him with DeSanto. I felt quite emotional seeing all of the clown shoes signed by the last clowns of the Greatest Show on Earth, as well as all of the past clowns who are no longer with us.

What a pleasure and a privilege it was to be able to visit the ICHOF! I don’t know when I’ll be back, but I hope it is sooner rather than later. I highly recommend it to anyone else who loves clowns.