Sunday Night Jam!?

That’s right! I’m off tomorrow (for my birthday, thanks Linode!) and so we decided to do a second game jam this weekend! This time, I split my time into two broad categories: items of interest, and quality improvements.

Items of interest included looking into 2D lights (which can add some pretty cool effects, and I’d like to use more of) - if you grab the stool and put it in front of the fire, you can see the fire’s flickering as the feet case shadows on the floor. It’s really cool, even if nobody’s going to notice it right now.

Quality improvments were split between improving the code/project quality (for instance refacotring all clickables to use the same method of handling click events, making them more uniform across the board) to making the game higher quality. You now only get to interact with select things before the backpack is collected, which effectively prevents you from hoarding all the items at once and then doing everything and “just winning” - the game now has to be explored in some order (the above refactoring helped with this a lot too).

I’m going to put up another build shortly; I’m very happy with how this is coming. Sara’s nearly done the bedroom, too, so I’m very excited to see it with even more finished graphics.

Godot 3.2

Yesterday, Godot 3.2 was released. That’s super exciting, as it has a slew of new and improved features that have made working on this project a lot easier; for instance, the node editor was totally overhauled so that linking functions to objects isn’t a pain in the neck anymore. I upgraded immediately, and it works great.

I got the bumblebee working, finally. Turns out the angle function I was using was returning the angle from the X axis, in a range of -90-90 degrees (but in radians of course), and the real solution was to think of everything as Vectors instead of Points and Angles. Now, the bee has a Vector2 of velocity, and uses the desired direction toward its goal as a modifier on its velocity vector. It works pretty well. Some tweaking to add acceleration when fleeing from the mouse and lose it when turning, and it’s a fairly natural motion.

I also started on the stool, another big part of the game; there are several things planned that the player can’t reach without it. I needed a way to show the player where the stool could be placed without having to have them click around randomly, but also without being too obvious and intrusive - I settled on a phantom-stool that appears (and shimmers a bit!) when the stool is in the inventory. That’s all coded up (I wrote my first Godot shader, even!) and will be included in the next release, so check it out.

Bee Physics

Tonight, in our third Game Jam Friday (Friday Night Jam? Whatever it was called) Sara finished the graphics for the kitchen! Which is really exicting, and I’ll publish the updated game tomorrow!

But that’s not all - I spent like four hours working on bee physics. I’ve clearly been away from the mathy side of game development for a while, and after a few rough attempts at getting a bee to fly around correclty, I figured out an approach that should seem pretty natural: The bee has a point he wants to go, and an angle he’s currently travelling in. Each step, he takes figures out the angle he wants to be travelling, then turns as far as he can in that direction. His velocity increases if he’s not turning much, but decreases the harder the turn was. The point he wants to reach is fixed, but he’ll avoid your mouse if possible unless you’re holding the item he wants, in which case he’ll travel toward your mouse instead.

That sounds pretty reasonable, but I think I’m doing something wrong geting the angle between two points, as it isn’t working like I expect.

I also got an issue opened on github earlier this week asking for a license to be added to the game’s repo, which is wild; I didn’t realize anyone would care to look at the source. So that’s coming soon too I guess.

It’s now after midnight, my energy drink (bang! if you were wodnering) is wearing off, and I’m turning in. Update should be published tomorrow.

Dialog Profiles

This Friday Night Jam, Sara had prepared a few profile pictures for use in dialog boxes, so I went ahead and implemented them while drinking White Claw because I’m not too old to be hip yet! Also they’re good.

This update, and others going forward, should be published to itch in the next day or so; we’re gonna keep going until we’re asleep, so it won’t ship tonight.

To control the dialog profiles, I extended the parsing to include |P as a token that controls the profile for the line - only the profile on the first line of a dialog is respected. That’s not perfect, but it fit nicely into the existing system, which I don’t expect to need to further extend. The token following |P and before the next | is the name of the profile image in res://img/dialog, meaning that as new profile pictures are added I can simply change the text prompts to include them.

I went through most of the text in the game and added profiles where appropriate.

Launched!

Maybe more of an “early access” launch, really, but we’re live on itch.io at https://dorthu.itch.io/working-title and I’m pumped! Also naming things is hard!

This is obviously a huge milestone for the project, but we’re not even close to done yet - we’ve still got three more quest lines to put into the game, all of the backgrounds need to be finished, and I have aspirations for “cutscenes” in the intro and outro of the game. Lots to do future friday nigths, that’s for sure.

I’m still excited to see if anyone tried it, and if they do, what they think. While I’ve been making games off and on for years, I’ve seldom gotten something so far along that it could be “shipped” somewhere, and certainly never a point-and-click game.

No More Placeholder Graphics!

Sara’s finished at least a sketch of all the graphics for the game, meaning that I’ve been able to remove all the placeholder graphics I made from the project - we’re now running entirely with the real deal!

We’re going to sleep on it, but right now I’m leaning towards uploading this to itch and making it public tomorrow. Very exciting!

Almost Ready

Last night’s Friday Night Jam was very successful, with the kitchen being finished, many of the remaining resources being completed, and the a huge amount of cleanup work being done throughout the project. I got rid of almost all of the temporary resources, redid the folder structure, and excluded the metadata folder from the game (which should reduce the file size significantly).

This is all we need for an “initial release”:

  • An arrow for transitioning rooms
  • A background for the inventory

Going forward, we’ll also need to finish up all the room background and get the last three quests finished, add some sound effects, maybe even spice up the intro.. but for getting something public on itch, that’s all that’s left.

Friday Jamz

In an effort to finish up this project, Sara and I have decided to make Friday night “Game Jam Night.” Tonight, we got a pair of bang energy drinks and some long-winded YouTube videos, and we’re hanging out getting this done! Weekend warriors!

I got a custom export tempalte configured so that I don’t need to manually mangle the exported HTML to get it to render how I want on itch.io, which is nice. Sara’s working on finishing up the kitchen background. We’ve only got a few more resources left before it’s “releasable” as an in-progress demo game. Once that’s done we can focus on the remaining quests, which should be pretty light on resources and heavier on the coding effort; luckily I can get those going while Sara does the color on the existing background, and hopefully we can converge on a finished game together.

I’m glad this is still happening.

Itch.io

This project is going to be hosted on itch.io, and I did the initial export and configuration this morning. Turns out, you need a title for a game when setting it up on there… and we didn’t think of that.

Anyway, the initial draft is up, and it kinda works? It’s not public yet, and with good reason; the viewport is way too long on the exported game, and at the same time the game itself is not scaled (so it’s actually rendering at a height of 600px). I think it’s an issue in the export settings, so I’m gonna fiddle with it. To be honest, it exported and runs on a webpage on itch.io, and that’s more than I expected from the first draft.

Anyway, our plane home leaves at 2:30, and with any luck it’ll be an uneventful flight. Sara is going to use it as an opportunity to finish up the remaining graphics, I’m going fiddle with the export settings, and we’ll hopefully have this uploaded and public before too long.

The Longest Night

Last night we got to the airport to catch our flight home at 5:30 to find it delayed from 7:40 to 10:05. While waiting, it was further delayed, twice, before finally being cancelled at 11. The next flight we could book even close to home was on Monday, so I had to take another day off, Pat’s missing another day of school, and we’ve got another flight to get through. Also, I cannot recommend flying with Frontier - I get that things happen and flights get cancelled, but the way they handled it was terrible; they didn’t even announce the delays at the terminal, and the cancellation came up on my phone long before they said anything. Horrible.

But it does give us more time to finish this project up! Or, at least, “finish” it up. Sara has the last two rooms sketched out, and I got the backpack quest fully implemented. It even took a customer Clickable class for the Sink, which exchanges an item for another item. I might make that more generic, if I decide I need it elsewhere.

At this point, I need an opening dialog to run, the last graphic for the kitchen imported, to setup the initial game state, and to figure out how to export/host the final product.

So, we’ve got a day. I think we can do it.