Devlog 5 – Toast Trouble

One of the first tasks I decided to work on was maybe the most simple one of the game, which is for the character to go to the fridge, collect an uncooked sandwich, try and toast it, plug the toastie machine in, and successfully toast it. Right now I’ve go the collecting of the sandwich and putting it on the toastie machine sorted, so today I want to work out the mechanics of making the character have to plug in the toastie machine. The current code looks like this:

and it works as it should, but I still have to make the player lose the sandwich from their inventory after using it.

It was refreshingly and surprisingly easy, all it took was this command player.LoseInventory(iSandwich); in the oToastieOpen_UseInv bracket. Onwards to the plug socket.

It’s difficult, I knew it would be. As it currently stands, my code looks like this:

What this should be telling the game to do, is that if the toastie maker isn’t plugged in (oSocket.Visible = false), then the game should tell the player that the toastie machine isn’t working. To its credit, the game does do that, but immediately afterwards, it puts the toastie in the machine and makes the plug socket visible for some reason. I think I’m supposed to have an if/ else function here, but the else part kept on giving me parse errors. Maybe the visible socket thing isn’t a strong enough anchor for creating conditions that allow object interactions.

Okay, I had a look at the AGS forum, which has been incredibly helpful for getting answers to many of the things I have been struggling with, I went over this entry: https://www.adventuregamestudio.co.uk/forums/index.php?topic=51533.0, and it helped me a little bit. So now my code looks like this

but, it still doesn’t work the way I intend it to. Now what happens is that as long as the player has yet to interact with the plug, the toastie machine stays broken, however, once the player has completed the plug interaction, the game gets rid of the socket objects, and it still says the toastie machine is broken.

I think I might understand the issue though, so all is not lost. I believe that rather than using the visible commands as the basis for other actions, the code is just making them the actions. So it’s like I’m saying if ________ then make the sockets visible/invisible, when I really want to be saying if the socket is visible this thing happens, if the socket is invisible something else happens. Understanding the problem is the first step to fixing it I guess, so I’ll try and figure that one out.

Devlog 4 – The Toils and Troubles of Making my Cauldron Bubble

I want every asset to have a little animation to make the background more interactive, and it is hard.

This is a rough idea of what I’d want these pots on a hob to look like, ideally there’d be another 2 or 3 frames to make the fire look smoother, but for now all I wanted was to make the illusion of movement just to test if it works.

Currently… It does not work. At least not in the way I want it to. I’ve gone through lots of different codes and lots of different forum pages to try and get this little animation to function the way I want (which is that I want it to constantly loop for the duration of the game) but the closest I’ve been able to get is that it performs a little animation once a minute.

What the code should be telling the pots to do is to first lock the view so that it has no reason to be displaying anything else, then setting the starting frame of the animation, then choosing the delay (the speed essentially), and saying that the animation should play forwards. All this is meant to happen when the room loads since that’s what function room_load is supposed to do, but it doesn’t for some reason. So I have to spend more time scouring forums to figure out why my pots won’t do their little animation.

I promise this isn’t a static image.

While this is really really annoying and I would love to figure it out so I can have a universal script for animating small background assets, I have about 4 more rooms to draw and make assets for so this will have to wait.

Devlog 3 – There’s a Rat In Mi Kitchen

The player character for my game is a rat, and as a result I’ve had to draw a lot of rats. Initially the rat sprite looked like this:

This was because I wanted the character to look mostly innocent and a little ambiguous. I liked the idea of the game potentially getting more and more twisted but the character still looking like a generic rat. However, when it came to animating a movement animation for my little rat character, it became very obvious that that design is not optimised for movement. So I looked at a few rat run cycles like this one: https://www.youtube.com/watch?v=MEQYjEWBfWg&ab_channel=MaryamAbdul and changed the design a little bit. I work mainly in paint tool sai for sketching out frames, and then use Gimp or an online gif maker to test them before importing them into AGS.

I made a short run cycle with a few base frames to get a feel for the movement, then I made a clean lined version which I coloured and was ready to import into AGS. I think there’s still room for improvement with the run cycle, there are features like the tail that I feel I could get to move more smoothly. However, I would rather have all the animations done and working before I start going back and perfecting them.

[video-to-gif output image]

So here’s my rat running around in the kitchen, I still plan on implementing a nicer idle sprite (as it stands right now it’s just the first frame of the run cycle) and also implementing a small idle animation if I have time after completing all the fundamentals.

As AGS uses views and code to make animations happen, I thought I’d include this screenshot of the frames how they’re displayed in the view screen. As my game is mostly a point and click adventure (although there is the option of moving with the WASD keys there’s no need for up and down movement sprites.

Movement is luckily one of the codes that AGS comes equipped with, so all that I really needed to do was to create the frames and import the existing script onto my character. I’m still having doubts about the background, something about it feels a bit off to me and I can’t quite figure out what. I also had a dream last night that my game was in a pixel art style, and for a moment I did think about overhauling all of this and redesigning everything. But then the reality of how long that would take set in and I think I will stick to the current art style.

Devlog 2 – Background / Assets and assets and assets

Since the levels in my game span around 7 or 8 rooms, I have a lot of backgrounds and assets to design and finalize. The levels are all shown as different careers/ employment opportunities, and the one I am focusing on is the culinary level as that’s the first level that I aim to show hints at the idea that the player doesn’t have to do the tasks to complete the game.

So for the chef rat I have decided on 7 rooms; the kitchen; the staff room; the dining area; the walk-in freezer; the back office; the storage closet; and the back alley. The first room I had designed was the kitchen:

-Painted in paint tool SAI, my preferred art app for essentially everything, even animations-

I work in a kitchen at a Wetherspoons pub and I pretty much modelled the kitchen off of the one I’m used to working in, with a few adjustments to make the background appropriate for the sliding flat view that my game has. After coming up with the design I had to decide how much of the background was going to be interactive. From the game’s conception I had always envisioned a highly interactive background, either by giving objects small animations (either idle or that activated when they were clicked on with the ‘interact’ feature) or by having the narrator (or the player character) making funny remarks about the objects.

So with that in mind I realised I would have to make each background item an asset, so that’s what I did:

I haven’t given them all interactions yet, but in an ideal world they will hopefully have fun animations or commentary before my deadline. After I had outlined, imported, and placed all my assets into the kitchen, I had to change the background because there was all sorts of overlapping and messiness with the old background showing the objects before they were assets. I also felt like the grey background made the whole room look a bit dull and there wasn’t a lot of contrast going on, so I chose yellowy orange with a few different textures.

But this made a sort of floating effect for all the assets and didn’t really give off the style I was going for; it almost looked too defined whereas I still wanted the assets to look like a background rather than a bunch of individual assets. So I decided to try and make the background more interesting without making it look too crowded.

As I wanted to make all my assets interactive I had to import them into AGS as characters with their own individual views. The way AGS animates is with the views for an asset having several different frames and using code commands to know when to activate the different frames, so it made more sense to make my objects into characters. Also characters have more benefits and freedoms to them than objects do. While I still have lots of work to do in regards to making and animating assets, it’s good to see the first room start to come together.

Devlog 1 – Choosing an Engine

The first step I took towards actually creating my game was choosing what engine to create it in. Honestly I am not very talented at coding, I feel a lot more at home when it comes down to the more art based side of game design. So I had to choose an engine to accommodate that. I settled on Adventure Game Studio as it is really helpful to beginners and people less technically inclined. There are also a lot of helpful resources/tutorials for it, as well as a pretty active forum page full of people eager to help with specific issues.

This was the first tutorial I watched and it was one of the most beneficial videos I’ve found in terms of helping people who are a little slower when it comes to understanding how code works. Obviously I aim to make my game more in depth than this tutorial allows for, but in terms of getting the basics for most actions into my head, it would’ve taken me a while to find my footing without videos like this one and other similar ones.

Adventure game studio comes packed with a few presets for different type of adventure games. I chose the Sierra style format because although my game likely has a lot of aesthetic differences than the typical adventure games people tend to create in AGS, it seemed like a very fitting engine to try and create my vision with.

Before being 100% set on using AGS, I did a little research on games that had been created with the engine in order to see the versatility and the limits of it. I’ll do individual blog posts for all the games I played but I’ll list them here too; Bruises by LeafThief; IAMJASON by Calicoreverie; (cont. this later)

Menus

A couple of different ideas I had for the pause menu / task list. I think the style of the bottom is more visually appealing with the colour scheme and font, but I quite like the simplicity of the top two designs so hopefully I can find a way to marry those ideas together. I wouldn’t want to have a separate pause menu and task list.

In regards to NPC interaction, as I would like my rat character to be as undefinable as possible so people can project onto them more, I will not be making specific phrases for the player to say, but instead suggestions of things the player could do. For example, in the above image, the player initially has the choice to argue or to point out the condiment stand. If the player chooses argue, the customer will repeat that they are not finished with their Ratchup™, and if the player points out the condiment stand, the NPC will say that they are not interested in the other Ratchup™s.

I’m implementing a interaction system where information gained from other NPCs or items that is relevant to the scenario will show up as a yellow option. More often than not, the yellow option is necessary to complete the interaction and therefore the task.

In this situation, the player has learnt from one of their co workers that a certain boss is on shift and that they are likely to give out free drinks to curb conflicts. I think the option shouldn’t appear automatically because that might make the game too easy, but instead the player has a list of things that they have learnt in a section of the pause menu, and they can apply that information to make the option appear. In this case the customer will leave to go and get a drink and the player can top up the bottle of Ratchup™.

Backgrounds

In an attempt to make the levels feel bigger I have opted to make most of them have elements of side scrolling so the whole background should not be visible at any one time. Only around a third of the room should be visible.

This is only an approximation of the art style that I will be using for the backgrounds. Since I’m aiming to make almost everything interactable, I would have to make all of the background items into assets. So it would be during that process that I would refine and outline them more clearly. For now, this is mostly to give me an idea of the composition and placement of all the different components.

Epilepsy Warning:

I have also included ideas of the changes that would happen to the background if the player chose to keep doing the questionable tasks. The gif is to test the affect of having flickering lights… Game would need an epilepsy warning.

It wouldn’t happen all at once, and the aim would be for the changes to be so subtle that they wouldn’t realise things were changing until the majority had changed. However, I might also include some on screen changes, such as the tile falling off the wall, or make the flies move around make shadows.

With the changing backgrounds, I don’t want the message to be that everything is getting worse because of the bad tasks getting completed, I’m hoping that it could act as a hint towards the fact that the player doesn’t have to do the tasks.

Interactivity

As my game is mainly a point and click experience (with the possibility of keyboard movement if there is a bad enough response to it being point and click) I have decided to really focus on the interactivity of pretty much everything displayed in a room. Although there will be a lot of things that have no value or purpose to the player, I think it would make the game a bit more interesting if everything the player clicked on had some kind of funny quip or interesting note.

Especially with regards to NCPs, the interactions that the player has with these things, while not directly helpful, could hide hints or suggestions with the intention of aiding the player if they feel a bit stuck. For example if the player spoke to the head chef enough times, then that character might drop some helpful information about how to fix something or how to get a different NCP to behave in the way that the player wants.

Blog at WordPress.com.

Up ↑

Create your website with WordPress.com
Get started