Going Away Tomorrow

Tomorrow, we’re flying down to Florida to visit with family. I’m really looking forward to the trip, and I hope to continue working on this project in the margins while I’m there; there won’t be much time left after I get back to finish is.

This update includes improvements to mouse tracking (using global mouse position instead of managing it ourselves) and improvements to the dialog system (namely, clicking completes the current dialog box, and multiple lines are allowed to be displayed now).

Hoping for a safe, uneventful flight; next time I post here the weather will be a lot nicer.

Added Room Transitions

Now we’re getting somewhere - when you mouse over a door, an arrow apperas indicating that you can go through, and when clicked, you do! Right now the second room is just a reversed version of the first room, but that’s fine; it’s enough to prove that it’s working.

Up next, I’d like to make the mouse tracking more simple (i.e. using the global mouse position instead of trying to record it) and maybe add some additional features to dialogs (like multiple lines, text completion on click, etc).

Merry Christmas! Fixed camera bounds.

It’s Christmas day, and after cooking and eating all day, I found a minute to throw in some progress here - the camera now won’t scroll outside the bounds of the room. I’m thinking this is close to being good enough to post a build somewhere.

Ambience and Click Detection

Merry Christmas Eve! I stole a few minutes to myself this morning to keep this project moving while the holiday takes over, and I feel pretty good about it - first off, Josh’s awesome ambient music is now playing by default, and secondly clicking only interacts with the clickable objects if the click occurs within its collision box. Those two things together are a big improvement. I think up next is getting the camera correct/to stop panning at the edges of the room…then maybe making room transitions work.

Music, concepts, & progress

Yesterday, I reached out to the extremely talented Josh Sager (a friend who I’ve worked with for some time on unrelated things) asking if he’d have any interest in making some ambient music for this project (he’s been doing a lot of ambient music lately with some really facinating technology) - and today, he text’d me out of the blue to share the track he put together. I haven’t gotten to implementing it yet, but it’s included here in the project now, and should be in soon.

I also wanted to dive into the concept work Sara and I have been doing; chiefly this:

concept

This is the result of Sara and my original disucssion of this project, including going over the core mechanics, the structure of the story, and what this game should aim to be.

concept

This is the concept for the first quest, wherein the hero must retrieve their backpack from a living hook that’s got a hold on it.

I thought these might be interesting to share to break up an otherwise dull dev blog, where I might’ve just written “dialogs can now appear when you click, and can be dismissed.” I next need to show the dialog for only clicks on objects.

Working Text Animations

After a bit of work on the dialog interface, I now have three different text “styles” that can be used when displaying dialogs. They’re governed by the | character in the text string, and the character following it. For example, I string like This is normal. would appear at the normal text speed, but a string like |_This is slow. would show up much more slowly. You may’ve seen this kind of effect in other games (I’m lifiting it right out of Undertale, personally, but take your pick), and I find it conveys a lot of emotion with little/no animation (which is what this game is going to have). For example, a string like I need you to |!stop |!it |!now. would appear normally until “stop”, then “stop”, “it”, and “now” would all appear at once, which conveys the emphasis put on the words when spoken. I’ve found this to be equally impactful and intuitive; nothing in a game told me that the way the text appears conveys this feeling, but I got it immediately anyway.

My next step is to make objects that can live in scenes and that can display dialogs when clicked on; I intend for the editor to have a slot for putting their descriptions in, and that said descriptions are parsed using this formatting. This should make developing rooms pretty quick.

In other news, Sara and I have come up with the first two objectives - to fetch a backpack by convincing the plant that is the hook it’s hung up on to unfurl and allow its taking, and to appease some kind of monster so that you can take a potion of some sort (which will itself require attracting a bumblebee to get the item the first monster wanted). I guess I need to put some thought into an inventory pretty soon too.

Working Dialog Box

I got just the basics done; so far you can set text for the dialog box and have it appear slowly. The input text isn’t parsed into different pieces yet, but it will be. As far as an initial pass goes, though, this works. The next step is parsing, which will split the input string into different pieces that should be disaplyed in different ways (for instance, a string might have some words that appear slowly, then some that appear all at once).

Stared a Dialog System

Most of the technical elements of this game are relaitvely simple, and moreover require graphics to work on. Instead of making test graphics, I’m focussing for now on one of the more code-heavy pieces; the dialog box system. While this can likely be achieved with a simple GoDot text field, I’d really like to get those cool effects you see in other games, where letters appear one at a time, and some words appear or animate differently. This entire game is going to be light on animation to save time, so having some in the text might compensate.

So far I’ve added a DialogController that can create Dialog Boxes, and can keep them in a static position on the screen regardless of where the camera is panned to. That doesn’t sound (or look) like a lot, but I’m also still learning this engine, and it took a decent amount of reading docs to figure out how to do it right.

Started a Collaboritve Game Project

I’m very excided to announce that for my 2019 Christmas Vacation project, I am collaborating with the lovely and talented @pointyearsillustration on a short, old-school point-and-click adventure game. We’re still hashing out the details of the story, but the game will follow a boy preparing for an adeventure who has to overcome a series of ridiculous obstacles and setbacks before he can be on his way. We’re combining simple point-and-click game design with Sara’s signature style aiming for a short, lighthearted adventure that’s “done” before Jan 6th.

For this project I’m using the GoDot Engine, which I chose due to it’s excellent documentation, ability to develop cross-platform (I’ll be using Linux and OS X), and its easy exporting to the web. I’ve never really used GoDot before (except for that one thing I did years ago), but the docuemntation should be enough to get me going quickly, and exporting to the web is crucial to making this something people might actually try. If we have time, I’m going to look at making this mobile-web friendly as well, but for the initial goal I just want a finished game that works in brower on desktop.