
Chef Wanted “Box Art” by Sian & Kane
Hey guys!
So firstly, as most of you know, Chef Wanted was originally created to be an entry to the FNaF subreddit’s “Fangames at Freddit’s” Game Jam event, but we decided to drop out of it so that we could work on the game for a bit longer, making sure that it felt big, fun, and complete.
And today, the Game Jam has officially come to a close, with voting spanning the next week or so. So, because of this, we felt today would be a good time to show off some new content, and give an update on what we have been up to! This post will be laid out to show off the news and thoughts of TeamEKS’ members: Emil, Kane, and Sian. Thank you guys so much for supporting Chef Wanted!
E: Working on the technical design and programming of Chef Wanted has been (and still is) a challenge and an absolute pleasure! The game involves many interconnecting sub-systems that all make sure the game looks and feels polished and efficient. Though I’d argue many of these things are standard for most games, I’d still like to list out a few of the things we’ve been making:
Save System:
OH MY GLOB YOU CAN SAVE THE GAME? Don’t be fooled, making an efficient save system for a game can be quite tricky! Miss even one variable in the code, and the game will boot up with Freddy standing out of the bounds of the map! Or maybe only half your items got saved? Noone knows what could possibly happen.
The game has a ton of pre-mapped or “static” variables that always need to exist in the save file, or the game won’t know what in the world to do. But for more dynamic entities in the game that come and go as they please, and get added later in development, I created a self-assigning ID system. This ID system calculates a unique ID for every entity in the game’s levels, which each entity then uses to save its own unique variables in the save file. For example, this lets an enemy save whether or not it has been defeated in battle. Without saving that information to the save file, the game would have no idea, and just respawn the enemy as usual once the player enters the room.
In short, this system allows each entity to manage their own variables with unique names in the save file (so no two variables get the same name and overlap). It’s a pretty clever system that saves me the trouble of having to manually assign unique variables within the save file for every enemy in the game (and other entities).
Dialogue System:
For this, I wrote an on-the-fly command interpreter for all the colors and effects we’d need for the dialogue. This means we can write commands inside the dialogue text which the game reads and interprets as the dialogue is written in the dialogue box. This allows for individual words (or letters) to have unique colors and movement effects. Even the speed of how fast letters are written to the screen can be altered with these commands. This whole system is pretty much based on formatting systems like Markdown.
Items, Inventory, and Menus:
Using lots of Arrays, the game can keep track of lots of items, each with unique bits of categorized info (name, description, effect, etc.) The inventory itself has been programmed from scratch (no, no not with Scratch, I said from scratch), along with all the other menu elements in the game. The game will also provide the player with a map of the level that they’re currently in, and keep track of what rooms have been discovered. Everything in the pause menu (inventory, map, settings, etc.) is confined in a neat little window overlain on top of the game screen, which can be opened at (mostly) any time!
Settings:
The game of course comes prepackaged with plenty of options that you can tweak to your liking. This includes a Master Volume and Music Volume slider, toggle for fullscreen, toggle for the shader (though you wouldn’t possibly want to ever turn it off!), screen resolution selection for windowed mode (which, if possible, should be able to go up to 4K and the range around that), and alternate control-scheme layouts.
Overall Streamlining of Code:
It’s probably no surprise (or maybe it is), but there’s a lot of code in Chef Wanted. So my work-pattern consists of SCRIPTS! Scripts everywhere! Scripts are specialized little bits of code that enhance efficiency of both writing and running code. It means I don’t have to rewrite the same old functions and tidbits of code everywhere, when it could all just be referenced via a script. So this is what fuels most of those white-outlined boxes that will appear in a lot of the UI. Just a script that can draw such a box at whatever position and scale needed. A prime example is how the dialogue box stretches open at the beginning of a conversation. They can be animated to do any kinds of movements. Custom sound-effect scripts for playing and controlling sounds (and music) with the best possible overview.
Music System:
All music will be streamed from and external location on the harddrive, which means the game won’t need to hog all your RAM with music that isn’t even playing. (This is exactly what Undertale does with its music, for example.) And don’t worry, you won’t need to install the game for this to work. The game will still be compiled into a single ready-to-play EXE file when you download it.
K: For Chef Wanted, I’ve been working on three major components of the game. These being the music, the UI design, and the map design.
Firstly, with music… Chef Wanted has by far the biggest soundtrack I’ve composed so far, with over 30 minutes of new music in over 16 decently long songs. For some context, the OSTs for the POPGOES Arcade games were both less than 10 minutes each, I believe, and POPGOES Finale’s soundtrack is just over 20 minutes. In the past two months I have been working hard on completing all of the music needed for the game, and I’m super proud with the result!
Next with UI design. The game, being half RPG and half cooking simulator (and it being based on old computer games), requires comfortable, sleek UI design that also works well with our scanline filter. With Emil helping with some important data, I have designed a full pause menu, and almost all of the elements for battling enemies. It’s super satisfying to work on interactive “pixel art” for games like this, and I think you’ll enjoy it.
Lastly, with the maps. Chef Wanted has turned into a much larger game than we ever expected. Without the restrictions of the Game Jam’s deadline, we have been determined to make this game feel like a full FNAF fangame experience, with lots of characters, dialogue, story, secrets, and… environments. And that’s where the maps come in. Since the very first week of the Game Jam, I started working on the layouts over five different “floors” for the basement, with varying sizes and complexity. These floors need to include the major ingredients for the pizzas you cook, items that help you in battle, and much more. While Sian has been working on tons of environmental props to pretty-up the different maps for this game, I’ve been placing them all down in the maps that I initially architectured, which has been lots of fun. This fangame definitely has the best visuals, of any I’ve ever worked on!
I’ve also worked on dialogue for all of the characters in the game, and we are really trying to make this game have the most expressive and memorable take on the FNAF gang so far. It’s been hard work, but I think the script is going to be really fun to read (I’m looking forward to seeing YouTubers show their take on their voices too, of course). And that’s all from me!
S: Over the past few weeks I’ve focused on creating the background visuals for the game, as well as painting the piece for the box art (which I am very glad to have out of the way!). I’m still much more comfortable working on very large canvases with smooth brushes, so being forced to work on such a small and unforgiving scale for the pixel art is definitely a bit of a challenge, but it’s always rewarding to see things come together. Most of the basic textures for walls and floors in the game have been completed, as well as a host of different props to fill in the spaces and make it feel like a genuine and real environment (and believe me, there is certainly no shortage of spaces to fill in this game).
The main task I’m working on now is creating all the visuals for the cooking section of the game, which we only recently managed to nail down to a state we’re happy with. Creating a well-balanced layout for this section was something that took a fair bit of thought, especially since we didn’t want it to be too similar to the other cooking games coming out of the Game Jam. Most of the basic sprites are done for this section, such as the environment and the various ingredients, but there’s still a whole lot of pizzas to be done. Hopefully it won’t be too long before we can start showing off this part of the game!
Now, unfortunately, we’d prefer to wait until the visuals for a major section of the game is complete, before showing off any more of the gameplay. Though this shouldn’t take too long, there’s nothing that is truly visually finished at this point. But we didn’t want to leave you with nothing, so of course you now have the official “box art” of the game, with brand new, amazing artwork of the main FNaF gang from Sian, and Kane editing it into a vintage Nintendo Entertainment System style cover (check out the artwork for “Ghosts ‘n’ Goblins” for the main inspiration). But we’ve also added “The Manager” to the Game Jolt page, which is a new song that plays near the start of your journey in Chef Wanted.
We hope you enjoy the new content, and that this update helps tide you over, until the next one!
~ TeamEKS
7 comments