Showing posts with label devlog. Show all posts
Showing posts with label devlog. Show all posts

Wednesday, September 9, 2026

Rhythm Game Tutorial Final Product

Remember making a rhythm game with me, like on DDR or Friday Night Funkin? I put the final product from the videos on Itch, so you could play with it if you like: Click here to play it If you'd like to MAKE the game with me, you can find the whole play list here: Click here to go to YouTube. It's also a really great practice project to see how powerful the animator is in Godot. Hope these help!

Wednesday, July 8, 2026

Transparent Godot

I won't spoil it, but I'm working on a tutorial you'll see later in the year, and the final trick is to get the game to run transparently on the desktop, like the game is sitting there. So, howmst?

I FELL DOWN A RABBIT HOLE solving this problem! The best explanation I found is here:

Honestly, GOATed, very simple and clear. It's mostly a few settings. But what if you want to click through? NAD LABS has another tutorial, click here, where he gets that working using some Polygon2D nodes, but I couldn't get it.

I dug around forever, and finally tripped over this in the Godot docs: Click here to read about mouse pass through

Long story short, the polygon method works great on Linux and Mac, but not Windows, which I'm currently on. Barf.

You CAN get it working in Windows! Look at this reddit post.

Howmstever, the Windows solution:

  • Does not work in Linux or Mac
  • Is in C#, which is an absolute puke of a language, all my homies hate C#.
  • Yes I used to use Unity, how did you know

      So if you're making a game, are you expected to have a Windows version and a Linux/Mac version? Honestly, yes. That wouldn't be super weird.

      ... maybe I'll stick to making web games.

Wednesday, July 1, 2026

Juniper Jam 2026

I completed a game jam! You can play my finished game here: Click here to play Spore Spin I'm not wordy, the text under that is a pretty decent rundown of anything smart I'd have to say about making the game. Most of the assets I had laying around from a previous game jam I did, except the player character itself. I made em, I can use em how I like. The spinning mushroom head is okay, I wish I could shade it better, but then it would look goofy when it flips upside down to fire. I want my itch to have more smaller stuff in it, and this seemed like a great way to start.

Wednesday, April 1, 2026

Makealotl Music Updates

I updated Note Nab at Makealotl Music! I had a teacher request that the treble clef questions stick to one octave, she wanted to play Note Nab with young children who had just started reading music. So, now Note Nab has the Simple Treble mode, where all the questions stay inbetween middle and high C. Also, if Delia goes a minute without answering a question, a pop up now appears to tell the user to talk to a note. I got that idea by watching Note Nab played at Game Harvest -- I was surprised how many people were content to wander around the opera house lawn and never touch anything.

Wednesday, December 3, 2025

I Don't Get It Either!

I had an issue, I solved it, and I have no idea why my solution works. I also don't know why my old solution didn't work. This sort of thing makes me cranky, so I'm hoping someone else understands it and explains it to me!

Makealotl Music is getting a new game with a lilipad piano. I wanted to include a mode where you play Simon Says with Delia to learn some of the songs in the program. You can see the final version working here:

An oversimplification of what's going on under the hood is that the game stores the song in several different arrays, and then as you progress through the song, it glues the arrays together to build what Delia "listens" for to check if you're wrong or right. Originally I had the arrays stashed on the button itself that you click to pick a song. So, for example, the Mary Had A Little Lamb would store C D E D in an array, and then the game would load C D E D and see if that's what you were playing. You can read the code here in this Pastebin if you want the technical-atude of it all.

This worked great until I added a second button to add a second song. (Brother John, if you were curious.) Once I did that, Godot would not read any array at all, and would crash with a null reference error. (Are those called null reference errors in GDScript? That's what they're called in C#, I've never heard them called anything in GDScript.) I cannot explain why the code would work fine with one object and go south with two objects.

I got to a point where whatever the explanation was wasn't important, I needed the code to work. I got the idea to:

  • Have ONE object, just a regular ol node, run the code that lets Delia check what notes the user plays
  • Store all these arrays in a resource
  • Have the button send the resource up to the regular ol node and force it to read the arrays out that way. Tell me it's null now, you sonofabitch.

Godot 4.5 have a feature that I have been vibrating for. See that fancy "append node" checkbox? A signaling node can now send itself up with a signal! So we can store the resource on the button, have the button signal up, send the button on that signal, then read the resource!

Wow! Except it doesn't work!

If that song_data variable is null then I'm in Unity Engine. No. For whatever reason Godot simply would not read the resource off the button. Notice that the button itself isn't null? I guess it did manage to send itself, but none of its own data?????

Google suggested that sometimes you had to read the resource, duplicate it, then send it up. This doesn't work either.

So, like, don't do that, I guess, or suggest it.

Godot really loves the load() and preload() functions, those are pretty secure, so I tried this on the button:

Which doesn't work, but it lead me to the working solution. I don't love this solution, it's not slick and clean, but it's the only thing that actually works and allows the game to run multiple songs so let's goooo:

Using the connect dialog, send the resource's path as a string.

Then force the Teach Me object to load the path.

So I got this far, I got this working, party party, and then I remembered that I totally forgot that .bind() exists. Oh well, I can't promise that it would work, given that append node wasn't working.

Again, this makes me cranky, I'd rather just merrily be putting .tres files in the inspector by drag and drop. I'd love to know why the other solutions didn't work, and I'm curious to know if any of these will actually work in the upcoming 4.6. If you can explain it, let me know!

Wednesday, November 26, 2025

Wednesday, June 11, 2025

A Bad Word Filter

If you read this post, you're gonna agree that you're old enough to see some pretty bad words on the Internet!

One of the last tasks I had to program in for Delia's game was a bad word filter. I taught, I am 100% aware that kids cannot be trusted and have to have that filter. But: what bad words do we include?

I know that older games have bad word filters that have been cracked and are probably sitting around in the open on TCRF, but I didn't even know where to begin to find those. Soooooo I asked on the Kentucky Developer's website, and someone linked me to the Banned Word List. Did you know there's an official bad word list? Had no clue.

I'm gonna link it here, and it's obviously not safe for work, so you're clicking at your own risk: The Banned Word List

Just for good measure, some people put me up on these other two lists, which are also not safe for work, and you are also clicking these links at your own risk: Wikipedia's list of ethnic slurs and Wikipedia's list of common nouns derived from ethic group names. I went through and picked the ones I figured kids would be most likely to use.

Now, if you've read down this far, you're grown enough to know this, but I still need to say it: I'm not providing this information so you have a cool new list of awful things to call people. I'm providing this in case you're ever in the same situation and you need to block words. When I would let kids choose names on Kahoot, to put it politely, they would use something off these lists pretty much every time. Kahoot has a feature where it picks names for the kids. It made them complain, but it also meant that I wasn't displaying the Banned Word List on my projector.

I'm actually not sure how this factors into products for adults, but if you know I'd be interested to hear.

(You know, for whatever reason they'd pick nice names for Blooket. Can't explain that.)

Wednesday, March 12, 2025

SOUNDS!

Every indie dev has that one dream game they work on in their "free" time, right? Dang, they should if they don't. This one is mine. That's all I'm saying right now. I work on it inbetween all the paid stuff I should actually be doing. It took forever to get all the music and sounds made but I did it. Godot is excellent for audio handling, so the programming part was easy. (Seriously, I've used other engines, and Godot dog walks all the others when it comes to audio. No one says that enough.) I can't promise all the sounds are final, but wanna hear? I rarely record desktop audio, that was an experience and I'm not sure how well I did. Usually I'm just fighting OBS instead to make my weird ass voice sound like anything at all.

Wednesday, February 26, 2025

Progress on Delia's Game

All the testers had nice things to say about Delia's game! That's good to hear. (It still needs a name ...) But that also means I can start designing the second level, inside the Opera House.
I love when I can peek out from behind stuff in games.
You can also roll into the plants and watch em shake:
I should put the notes in this week, make it function like a real game. ... I should put more stuff to knock into, as well.

Wednesday, February 19, 2025

My Testing Process

This is a screenshot from my newest project! I don't have it named though. But the pink axolotl is Delia. It's an educational game. If you're old like me, this game is similar enough to Treasure Mountain, it just has a fresh coat of paint on it. It's through it's first testing phase, and everything has gone great so far! That's a lie, the first test was actually kinda rough -- that's what testers are for. I thought it might help if I outline my current testing process. If it helps, you can steal it.
  • First, I test it. If I can't break it, we're doing great.
  • Then, I make my husband test it. He's a software developer, and he ususally works okay after I remind him that if his testers don't come back with extremely detailed reports he gets mad, so yes, actually, he is expected to play my game longer than 30 seconds.
  • At this point, I stop and fix things that he's found.
  • I send it out to my local programming club's discord.
  • I beg for testers on Bluesky. Seriously, don't sleep on this step, plenty of people are willing and ready to help you. Use the #indiedev and #gamedev hashtags.
  • I take the comments, and if I like the suggestions, I integrate them into the next build. I don't always change everything. That's art, baybay. But I do pretty much 95% of what my testers say, because the program has to make sense to people who aren't me.
  • My programming club, my husband, and Bluesky all get copies again to beta test
  • HOPEFULLY that's the final boss of testing and I can go on to something else
That's where I'm at with Delia's game! I'm hoping this week to get her second level started, she's more than overdue for another level. The hardest thing to get rolling with her game was the touch controls. Everyone has a different opinion on how she should control. My programming club really encouraged me to not have controller buttons on the screen. The thing is, Delia rolls a lot. When I test on my iPad, she rolls if she thinks she detects a change in pressure. In the end, the control scheme I wound up with actually wasn't the most accurate -- Delia still rolls around the screen sometimes unintentionally. But my husband and I agreed it was the most fun, because she flips a lot and moves the fastest. Maybe like Sonic the Hedgehog I guess. Hey, if you want me to test your stuff, my contact info is always here.