Nicholas Lives
|
|
« Reply #13 on: November 30, 2021, 11:27:41 AM » |
|
Our latest devlog is now live! This month we tackled a wide variety of features, including bug catching, donation tasks, terrain population, automatic cliff detection and more. As usual, you can watch the video below, or else read about it in text form! I'll try to start providing transcribed text from the video's script from here on out.
TRANSCRIBED:
Welcome back to the Camp Canyonwood Devlog. I’m Nick Lives, one of three primary developers working on Camp Canyonwood, a game where you take on the role of a summer camp counselor. If that sounds intriguing to you, toss us a wishlist on Steam. With that, let me show you what we’ve been working on this past couple months.
Bug Catching + Bugs
We’ve added a brand new activity to the game recently in the form of Bug Catching! Provided you or your campers have the new Bug Net item equipped, you can swing wildly to catch any of the game’s 25 different species of bugs. These 25 bugs were split into 4 distinct categories behind the scenes, which will determine their movement and animation style. We have Crawler Bugs that slide around on their bodies, Skitter Bugs that skitter around on tiny animated legs, Buzz Bugs that fly with rapid buzzing wings, and Flutter Bugs bugs that flutter around on gentle wings.
New Critters
In addition to bugs, we’ve also populated our game with three other types of wildlife. We now have Racoons, who will eventually be able to steal items from your camp, Lizards, who scuttle around the desert, and Wild Birds, who will flap away on sight. With these new critters in place, we’ve finally added all of the wildlife that we’d like to have ready for our initial launch, but let us know if there are any other animals you’d want to see in the final game.
Developer Console
An often underdiscussed need in game development is the need for internal testing tools that allow developers and QA testers to more easily access game content. To that end, we recently added a very basic Developer Console function in-game that, once accessed with our super secret passcode, allows us to do things that help speed up testing or create marketing materials. We can now spawn any buildable item in the game at will, for example, or speed up the in-game clock, or turn on a no-clip mode that allows us to zip across the map. We are constantly adding new functions to this tool as time goes on, but already it’s proven quite useful for capturing specific footage and testing out the game’s increasingly large set of features.
Music Manager
On the music side, our composer David Johnsen has continued creating new awesome tracks for Camp Canyonwood’s different biomes. Specifically our forest, wetlands, and desert biomes.
These are meant to give each area of the map a distinct feel, and to vary up the music you hear as you travel around the campgrounds. With that, came the need for a way to switch tracks as you move around the map, so we’ve added new logic to our Music Manager to handle exactly that. Now, the music manager in our game is capable of fading in and out between different tracks for when you hit certain triggers, and on top of that, remembers where you left off in each track so you don’t wind up resetting the songs if you come in and out of a certain biome.
Cliff Detection
As mentioned in the last devlog, we are now primarily working in a more flexible graybox map, and one problem that propped up early with this new ever-changing map was that we no longer had colliders surrounding our water and cliff edges. Until now, we had just been hand placing these colliders to prevent players from falling into water, but now that our map is expected to change more frequently, we needed a way for the game to automatically detect cliff and water edges. With that, Jordan found us a way to detect sudden changes in elevation around the player using a series of raycasts, which stops the player from moving in that direction when coming across an edge. This means that if you hit a boundary, you sort of just walk in place as if a collider were there, but now its all done on the fly! While it isn’t perfect, and you can sometimes still fall off a cliff if the hill has a smoother slope to it, this is already going to prove quite useful for making this map fully playable while we iterate on it.
Terrain Populator
When discussing the merits of hand-placed content versus procedurally generated content, we came to the consensus that while hand-crafted maps are going to be more memorable and distinctive, if we were going to allow players to place their camps anywhere, we still need a way to prevent one dominant strategy from forming. If we hand place every in-game resource on the map, chances are that players will eventually discover one spot that is just objectively the best spot to place your camp every playthrough, and the creative aspect of finding a good spot for your camp will just be gone.
To that end, we decided to generate the game’s trees and other resources on the fly every time you start a new game. This way it will be a little harder for a dominant strategy to form in the same spot on the map each time, at least in theory. To accomplish this, we utilize the map’s textures to determine biome types, and create a perlin noise map of spawning locations. Deserts spawn sparse rocks and cacti, while forests are denser in tree types, snowy areas only spawn evergreens, etc. Now, every time you play a new game, you get a uniquely populated map! We’ll also be able to utilize this new biome-aware spawner to start populating our game’s map with wildlife, bugs, and other things that could benefit from a bit of randomization.
Conversation Categories
Up until now, NPCs in our game have had a very basic Conversation Manager that simply allows them to switch between two basic modes, a linear conversation path and picking from a random pool of things to say. While this works okay, we want to be able to better control the flow of different kinds of conversations you might have with an NPC, as well as significantly cutting down on repeat dialog, which pure randomization isn’t able to control very well. Sometimes we’ll want NPCs to give helpful gameplay tips, other times we’ll want them to give you tidbits of characterization, and sometimes we may want them to tease some backstory or progress their relationship with the player.
To accomplish this, we recently added Conversation Categories to NPCs, which can be swapped out any time to deliver specific kinds of dialog. These categories thus far are Tutorial, Tips, Character, Gatekeeping, and Done Talking. Once NPCS are done with their introductory tutorial dialog, they switch over to giving the player one piece of unique dialog per in-game day, after which they default to a Done Talking category that just lets the player know they have exhausted their dialog for the day. Right now we just switch between appropriate categories at the start of each day, and each dialog path progresses linearly, meaning no repeat dialog until a given category has run out of dialog. We can override the one-speech-a-day feature anytime by calling for a category swap manually, which we can use to provide newly unlocked dialog or event-specific dialog down the line. We hope to continue expanding these categories as time goes on.
Dialog Improvements
In addition to giving NPCs new things to talk about, we’ve also greatly improved conversations overall in a number of ways. Each character now has a variety of assignable facial expressions they can switch between while talking, which really lets their individual personalities shine a lot better. We’ve also added in support for bold, italic and colored text in our dialog which allows for a greater variety of tones and emphasis in any conversation, and lets us highlight important terms for the player when trying to teach them something. We’re also experimenting with a new audible speech system. In the past we would just play an introductory speech sound for a character as you engaged with them, after which a series of subtle beeps would play out as the text typed its way across the screen.
Now we’re trying out a new method that’s a little closer to Animal Crossing in the way it sort of emulates the character speaking different syllables. In this method, instead of playing a short sound for every letter typed, we play a speech sound with randomized pitch every 10 letters or so, which gives a better sense of a speaking rhythm, even if it doesn’t align 100% with the syllables in any given sentence. This works better on some characters than others since we’re using the existing speech sounds to test it, but with some tweaking and custom sound design better fitting this system I think it can give a lot more personality to any given piece of dialog. Lastly, these are more subtle changes, but you might notice we changed the font for dialog to this more clear-cut and readable sans serif font, and the arrow prompt now only appears when the dialog is finished typing, small tweaks but important ones for improving these interactions.
Donation Quests
Next, now that our game features way more items to purchase, we needed a way to unlock this stuff over time rather than dump it on the player all at once. Partially to gatekeep the player from the game’s full set of content right from the start, and partially to give the game a wider variety of short term and long term goals to pursue. For this, we added Donation Quests. On your first day after the tutorial, merchant NPCs will ask you to donate certain items or materials to them. This introduces a DONATE option in their menus, which allows you to track what materials they need and how much of them you wish to donate. Should you finish a donation quest, you’ll unlock new items for sale in their shop, as well as a new donation quest. It’s our hope that these donation quests will encourage players to perform a wider variety of activities and maybe be a fun way to surprise players with new unlockables as they make their way through them.
Readable Signs
One smaller feature we wound up adding this month was adding readable signage to the game. Camps and Parks often have these cute little informational sign posts giving factoids about landmarks, and we thought it would be cute to incorporate our own little information signs that give more insight to parts of the camp and its history.
Updated Store Page + Key Art
On the marketing side, one ongoing quest of ours has been to improve our store page to try and better attract organic wishlists, especially looking for a stronger “small capsule”. That’s the one that gets seen the most on Steam, and ours has been just this simple title and vague backdrop for a while now. So, this month we tackled creating some brand new key art and assets for the store page to try and breathe some new life into it, with some pretty awesome results if I do say so myself. Inspired by Sleepaway Camp, Monster Squad, and X-Files, I think this new key art does a better job at conveying the spookier side of our game, a more mysterious tone I hope we can continue to flesh out as we go forward. The small capsule is now this mysterious little cabin, and alongside some flashy new GIF banners on the storepage, will hopefully do a better job at drawing in organic eyeballs as time goes on.
End
If you’d like to follow our development on Camp Canyonwood, be sure to subscribe to our channel, and wishlist Camp Canyonwood on Steam! Thanks for watching, and we’ll see you in the next devlog.
|