BUGS!

What up team?!

If you’re reading this blog, then you’re definitely among the people who know about the iOS release of Where Shadows Slumber last week. If you somehow managed to miss that news, then guess what – we released Where Shadows Slumber for iOS last week! If you have an iOS device and you haven’t gotten a chance to download it yet, you should – and if you have downloaded it, make sure you give it a 5-star review!

The whole team has been working really hard on this game for a long time, so it’s a great feeling to finally release it into the wild. On one hand, it’s very freeing – theoretically, the game is done, so I don’t have to spend all of my time working on it. On the other hand, we’re all very anxious to see if the rest of the world likes the game as much as we do. However, there’s one thing that’s on our mind right now above all else.

Bugs.

We’ve put a lot of work into making sure that Where Shadows Slumber is as stable and bug-free as possible, but with such a small team, some things are bound to fall through the cracks. Unfortunately, experiencing a bug, especially a bad one, leaves a terrible first impression. People are justifiably upset when something they’ve paid for doesn’t work – and that’s a perfect recipe for bad reviews and poor sales numbers. We’re spending this week working on addressing many of the bugs that have come to our attention, and, in the interest of transparency, I want to share some of them with all of you!

 

pexels-photo-276160

Unexpected Crashes

The bug: The biggest issue people have been running into so far is that the game will crash unexpectedly. This usually occurs just as a level is starting, or shortly thereafter. For most users, it will happen consistently, although some users might see sporadic crashes.

Cause: We somehow missed some poorly-compressed textures before releasing. This caused the game to consume way more memory than it should have. For older devices, or for people with something else running on the device, the operating system will kill the process to retrieve the memory, thus closing the game.

Fix: Obviously, the fix to this is to update the compression settings on the offending textures! We’re currently going through all of our assets to make sure they have the correct compression settings (along with making a few other tweaks to our memory usage).

Workaround: Until the next patch is published, the best way to play the game is on a device with enough RAM to handle the memory problems. This means either making sure that nothing else is running on your phone, or using a relatively recent device, which has enough RAM that it’s not an issue.

 

freezing.png

You can tell just by glancing that this level is freezing.

Unexpected Freezing

The bug: During some levels (particularly in the Hills and Summit Worlds), the game will simply freeze. The OS won’t kill the process, so it’ll still be on the screen, but nothing will be moving. Sound will still play, but the only option you have is to kill the game.

Cause: At some point, we thought it might be due to the snow particles (since it only seems to happen on snowy levels), but it seems that’s not the case. Rather, it’s due to Obe’s footprints.

Whenever Obe (or any character) takes a step, he leaves behind a little footprint. These stay around for a bit (usually up to 15 seconds), and then they disappear. This gives us the juiciness of footsteps appearing, without peppering them all over the level.
This bug is caused by some of the footprint objects (specifically the snow-related ones) having bad settings. Rather than disappearing after 15 seconds, they disappear after 150. So, when you walk around the level a lot, wayyyy too many of the footsteps are being created. The overhead of managing so many game objects is causing Unity to freeze up.

Fix: This one’s an easy one – we just updated the number from 150 back to 15. After some testing, we’re unable to reproduce this bug, so it seems like this one is in pretty good shape.

Workaround: You’ll have to beat these Levels in as few steps as possible, to reduce the number of footprints. If you can beat the Level in under two minutes, you may be able to escape the deep freeze.

 

summitTitlecard

Go ahead, try to click it. See? It doesn’t work!

Level “Titlecards” Not Working

The bug: A few people have mentioned this bug – apparently, the level titlecards (which let you know which level you’re about to play) will appear, but they won’t disappear when you click on them! This prevents the user from continuing into the level.

Cause: Unfortunately, our team hasn’t yet been able to reproduce this bug. We’re going to continue to try to do so on our somewhat limited range of hardware until we can figure out what’s causing it. Since the titlecards themselves are pretty simple, the cause of the bug is most likely something fairly innocuous.

Fix: Once we’re able to reproduce the bug and know the cause, it should be fairly simple to fix, as the titlecards aren’t incredibly complex.

Workaround: Until we push out a fix to this issue, the only way around it is to close the game and restart it, since you can’t access the menu from the titlecard.

 

ralkingblock7-5

Those who’ve watched the story know that a lot of people ask Obe this question…

Disappearing Blocks

The bug: If you’re savvy enough to fight your way past the other bugs mentioned here, you might get a chance to experience this one. As the final level of the game, World 7’s fifth level is a tricky one which introduces a mechanic not seen anywhere else in the game. It involves “teleporting” blocks from one section of the level to another. Unfortunately (and apparently randomly), the blocks will disappear from one section, but never appear in the other! Obviously, this is pretty bad, since you need all of the blocks in order to complete the level, and some of them just get ejected into the æther!

Cause: When the blocks are teleported, their parent gameObjects change in Unity. I’m expecting there’s some error in the code which is causing the gameObject to inherit the wrong parent, so it doesn’t appear where it’s supposed to be. This bug has also given us some trouble in terms of reproducing. Since it’s likely an error in the code, it’s only useful to reproduce on a device where we can do some amount of development, but we have never successfully reproduced it in the Unity editor. We’re going to keep trying to do so, but do so on a variety of devices until we find the root cause.

Fix: This one is pretty straightforward, if not easy in the traditional sense. Once we determine why the blocks are disappearing, we simply have to determine how to update the logic of the mechanic to ensure that it no longer happens. Obviously, it’s more complex than that, but I don’t want to get into the nitty-gritty of it here (especially since I don’t know what the exact fix would be).

Workaround: Aside from the bug that literally prevents you from playing the game, this is the workaround that I’m least happy with – the only way to fix this issue is to reset the entire level through the menu. Since it’s such a long level, that means losing a good bit of work. We’re working on all of these bugs, but this one in particular I want to fix. Since it’s the last level of the game, and you lose so much progress when you restart it, the user ends up with a bitter taste in their mouth, which is exactly how we don’t want players to finish Where Shadows Slumber.

 

Burnout

Other Issues?

Of course, these aren’t all of the bugs. That’s one of the first things you realize when you let someone else use a piece of software you’ve created – there’s always a fresh horror just around the corner. This list is just the biggest offenders we’ve discovered so far. I can personally guarantee that there are others, and I’m tasking each and every one of you with finding them!

If you do happen to stumble across a bug that I haven’t discussed here, there are a few things you can do for us:

  • Tell us about it! We’re active on Facebook and Twitter, and you can always shoot us an email at contact@GameRevenant.com or join our Discord Channel. If you do, make sure you include details about your device. We want to make Where Shadows Slumber as awesome as possible, but we can’t fix bugs we don’t know about!
  • See if it happens repeatedly, and if there’s some pattern to when and how it’s happening. This helps us immensely when we’re trying to reproduce the bugs. After all, it’s a lot harder for us to fix a bug that we can’t reproduce. Screenshots are great too!
  • Don’t leave a disparaging review. All too often, we see people giving us a poor rating and review because of a bug. In a lot of these cases, it definitely makes sense – you paid for a product, and it’s broken. One out of five! The problem with this is that reviews and ratings are our best way to get other people to start playing the game. If our ratings start to tank, nobody is going to download the game! It’s definitely better to tell us about a bug and help us fix it than to simply hurt us by leaving a bad review (and then not updating it when we fix the bug, thus leaving us with a permanent scar on our rating).
  • Share app analytics with the developers. I think that this is a setting somewhere in iOS that will share data and statistics about app crashes. A detailed email from you is usually better (because not all bugs count as “crashes”), but checking this allows Apple to send the crash logs straight to us.

 

Thanks for taking the time to read about some of the bugs we’ve experienced. Putting something that we’ve worked so hard on out into the wild is always a big question mark. We’re happy with the amount of publicity we’ve managed to stir up, but we’re also a little annoyed by these bugs, as I’m sure many of our players are. We want to make sure that you all know that we know about these issues, and we’re doing everything we can to fix them as fast as possible.

If you are experiencing these bugs, never fear! We’re fixing the major ones, so you can keep your eyes peeled for a new version of Where Shadows Slumber later this week! Once it comes out and you update the app on your phone, some of these bugs (and maybe some others) should be taken care of.

Next week we’ll share more details about how our iOS launch is going!

 

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

You can always find out more about our game (and tell us about bugs) at WhereShadowsSlumber.com, find us on Twitter (@GameRevenant), Facebookitch.io, or Twitch, join the Game Revenant Discord, and feel free to email us directly with any questions or feedback at contact@GameRevenant.com.

Jack Kelly is the head developer and designer for Where Shadows Slumber.

Hell Week

Jack and I first met in a sketch comedy group in college back in 2010. In that group, and in theater troupes around the globe, the week before opening night is usually referred to as “Hell Week.” For big productions, some things can only really be done at the last minute. (Lights, sound, final props, rehearsing on a real stage instead of a temporary space, catering) That means the final week before “showtime” is often spent running around like crazy doing a bunch of little tiny things that have been put off until now.

Is it procrastination? Is it just how this always goes? Who knows! Jack and I have only ever done this once before, years ago, when we released SkyRunner on Google Play and the App Store. (It has since been removed from the App Store because we let the Jack and Frank’s Magical Cruiseline Developer License lapse. Whoops!) Back then, things were much more relaxed. No one was really anticipating our fledgling student project. And we were fairly certain it was never going to go anywhere – we were just proud to make a game. We built it on a Saturday, hit submit, and never looked back.

This time around, things are different. There are a lot of moving parts to game development. Everything starts off cool and slow when you’re first testing out an idea. Then, international partners become involved, and a real schedule is expected of you. For the past few months, we’ve been emailing Apple saying “don’t worry, it’s coming, we just need more time!” This past week, we made good on the most recent roadmap we sent them.

Early this morning, we submitted Where Shadows Slumber to the App Store for review!

To celebrate, let’s explore what Hell Week looks like for a small team of distributed indies collaborating online to finish a game…

 

HellWeek-OptimizedLevel

A Week Full of “Do It Later” Tasks

I must admit that I’m a severe procrastinator. My skill is to take something (like, say, a cutscene) and do a really great 80% job on it. Then, because there’s no one watching me to tell me to finish it, I’ll go: “Cool! Looking good. I’ll finish that later.”

As it turns out, the week before you build your game for the last time is what experts commonly refer to as later. This week, the tasks I put off for so long finally fell on me like a ton of bricks. I spent the majority of this week finishing the game’s remaining cutscenes as Jack optimized the game’s final Levels and cutscenes. Because my work wasn’t done, it held up his progress on optimization. For reference, optimized Levels look like the image above – they’re solid black since the lights work totally different in those Levels. That means it’s impossible for me to work in those Levels, so Jack needs to wait for me to finish my work and then duplicate the scene in Unity and optimize that. By Friday, I was finally able to get those done in time to review the text translation sent to us by Logrus IT. Jack put in the new text file and tested the game to make sure the final build worked as a cohesive whole.

Alba and Noah spent Hell Week adding the game’s final missing sounds and improving the cutscene audio. We neglected to put sounds into the game’s UI for a long time, just because there’s an unspoken rule that you do UI last because everyone forgets about it. Whoops! This is also the time to work on the “mix” – which they described to me as the audio volume of every different sound as they work in tandem together. Without this crucial polish step, sounds can crash on top of each other during gameplay. Alba and Noah worked to make them weave together smoothly.

 

HellWeek-Jack.jpg

Hell Weekend

Everything came down to the two build days – two days, Saturday and Sunday, focused entirely on testing and small changes. We were in Jack’s apartment huddled around his desktop as Alba and Noah worked fiendishly from Miami and Queens, respectively. I counted a total of over 18 hours over the course of both days spent just optimizing the game and doing a bunch of final changes! (Shout out to Jack’s fiancée and her sister for bringing us food on Saturday :D)

Like I said, some things have to wait until the end of the project before you can really do them. The weekend was spent putting in Jack’s final optimizations so the game runs smoothly on all phones. Then, those changes had to be tested on all of our iOS devices to make sure they didn’t cause other problems. I didn’t work nearly as hard as Jack did in these final hours, but it was important that I was there to give the artwork a final check. During optimization, a lot of the art rules changed: lights that used to stack on top of each other now blend smoothly together, for example. That looks awesome, but some tiny tweaks to their intensities and colors had to be made before we could ship it. That’s just one example of many little things we did over the weekend.

(Shameless plug: if you want us to come give a talk at your school, organization, or church, email me at contact@GameRevenant.com! We would love to go into more detail about how hard it is to make games!)

I don’t know if Jack knows this, but the main reason I wanted to work on games with him is because of his determination. Going into this Saturday build session, it didn’t look like we’d be able to send the game to Apple. The optimization process caused an unexpected crash on one of the game’s middle Levels, and I was pretty certain we’d need to delay internally again. But Jack never gives up, so we handled that bug, found some more, crushed them, and got everything done in time!

 

AppStoreImages.jpg

App Store Monday

Monday was another “put it all together” day, and it was technically the day Apple was expecting to receive the game. I spent all day putting our Store Listing together in iTunes Connect as Jack finished some tests and Noah and Alba worked on “mixing” the sound. Since I submitted the game early this morning at around 3:30 am EST, I guess it came in a bit late since that’s 12:30 am in California. Some things never change!

But even with all the stress, I can’t help but be astonished by what we’ve created. Look at the pictures up there, from our iTunes Connect submission. Seeing these beautiful images lined up like candies gave me a feeling of pride and accomplishment that I haven’t felt in a while! I’d totally buy this game if I saw it on the store… wouldn’t you?

At this point, our app is In Review, which means that the App Store employees are checking it for egregious errors or incompleteness. They’re strict about what they allow onto the store, but I have no worries that our app will be approved. Whether it will get promoted by Apple, or even the vaunted Editor’s Choice tag, is another story. We’re not releasing the game on iOS anytime soon, so they have plenty of time to look it over and decide amongst themselves. But the hard part is over – our game is fantastic, it’s uploaded to the App Store, and I’ve never worked so frantically before in my entire life!

This is also a long-winded way of saying you shouldn’t expect the game on Android anytime soon. Testing and perfecting for iOS took longer than we thought it would. (What else is new? LOL!) How long do you think it would take to test the game on Android while simultaneously not breaking anything we already did for iOS?

Please be patient with us! One of the coolest things about Where Shadows Slumber is that it is a labor of love created by hardworking indie developers collaborating remotely across the greater NYC area. That also means everything’s going to take a bit longer than you expect. You can send us nasty comments on Facebook about how Android owners are being treated like second class citizens, but that won’t help us make the game faster! (Besides, Jack and I both have Android phones, and we’d like the game on our devices one day too. Lighten up!)

 

20171110_204906

What’s Next?

Now, we enter an exciting new project phase. Jack and I are going down different paths now: I can only help him so much with the Android release. While he’s testing the game on tons of Android devices, I’ll help however I can with all-night testing sessions and really detailed QA reports.

But my job now is to coordinate our team’s marketing efforts and make the most of that iOS launch “bump.” We’re going to meet as a team to brainstorm ways to make the most of our upcoming release. We’re also working on a launch trailer that will make die-hard fans proud, and newcomers interested. It’s going to be epic! And yes, when the trailer launches, you will finally know our release date! Thank you for waiting so patiently.

This is the progress update I’ve been dying to write, and it’s finally here. The whole team is eager to show off the final game when it comes to iOS, and we’ll be working hard to make the Android version really awesome.

Next week, we’ll dive into our marketing efforts and the plans for our trailer. Or is it… trailers? Find out next week!

 

 

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Thanks for reading this project update! If you’re new to this blog, you can find out more about our game at WhereShadowsSlumber.com, ask us on Twitter (@GameRevenant), Facebookitch.io, or Twitch, and feel free to email us directly at contact@GameRevenant.com.

Frank DiCola is the founder of Game Revenant and the artist for Where Shadows Slumber.

Going Gold

We’ve come to the part of the development cycle that no artist ever enjoys: the gold-stamping process. What is this mysterious “gold-stamping?” Why do artists despise it so? You thought it was just fixing bugs and making small tweaks, didn’t you? Well, read on to find out…

 

You’re reading the development blog for Where Shadows Slumber, a puzzle game coming to iOS and Android later this year. Check out our free Demo here.


 

 

LevelProgress.JPG

Gold Stamping: The Point of No Return

Every project must come to an end eventually. In order to make sure your game is ready for the whole world to see, every piece of it must be tested individually. Then, the entire game has to be tested as one unit. Before we can move on to that final testing phase, every Level, Cutscene, and Menu in the game needs to be approved by three teams: Art, Sound, and Development.

The Art team is just me – and the Development team is just Jack. Alba and Noah work on Sound together. That means we need three approvals for each Level, Cutscene and Menu. Approval means “I’m done working on this Level forever – there is absolutely nothing left to do. Put it in the game.” (See the screenshot above for a look at our spreadsheet that has each Level listed as well as the “Gold” stamps)

There’s a specific order we have to do this in, as well. I need to put my “Gold Stamp of Approval” on Levels before Sound does, because I’m in charge of the game’s visuals. If I add a blazing torch to a Level after Sound has “gold-stamped” that Level, they’ll need to come back and give that torch some kind of looping audio. Art and Sound need to gold-stamp the Level before Jack takes over, because he’s duplicating each Level in the game into a separate file and running an optimization process on that Level.

This optimization process takes time, and destroys the editability of the scene. (By way of analogy, consider what happens to a Photoshop file when you Flatten it into a JPG file. The JPG takes up less space on your computer, but you lose the editable Layers from Photoshop) Jack is able to lower the time it takes your phone to render a frame of the game by “crunching” these Levels. If your phone can render a frame faster, the game will feel smoother. Players hate lag more than they hate bad graphics or design, because it interrupts the flow of play. Everything we’re doing now is to make the game run smoothly even on older devices.

But you can see the problem: if Art or Sound has to tell Jack that they made changes to a Level, one of two things happen:

(a) We need to make that change in both the original Scene and the crunched Scene

(b) OR… Jack needs to start the optimization process for that Scene over again

Option A introduces the possibility of human error. Have you ever made a mistake copying something down by hand over to another sheet of paper? Imagine that with a bunch of tiny numbers and sliders in Unity! Unfortunately, Option B wastes time we don’t have. And since “crunching” makes these Levels unable to easily edit, there is no Option C.

In the late stages of the project, we’re in a mad dash to finish each Level and hand them off to Jack. We’re a bit on top of each other at the moment, and tensions are high. Some of our beloved changes won’t make it into the first release of the game and may have to be stealthily added as a patch later on. (Shhhh don’t tell anyone I said that, blog reader)

Those are all the downsides of gold-stamping. Enough complaining: let’s talk about why this process makes the game so much better!

 

HowEmbarrassing.png

iPhone X Stretching

We began working on this game long before the iPhone X was announced. Since we designed the game in portrait mode, we planned for it to work in 9:16 resolutions as well as 3:4 resolutions. The plan was simple: we would assume you had the tiniest screen there was (9:16) and make sure you could solve the puzzle using everything you saw. And then, if you had a large screen, your screen would show more of the artwork surrounding the puzzle… but not any more key information. (Our demo works this way. Download it for free on a few devices to see what I mean.)

The iPhone X dashed our hopes when it launched, since it has a very thin and tall screen. When we booted it up on an iPhone X earlier this year for the first time, we noticed that key puzzle information was being cut off! Furthermore, there were sections above and below the Scene that I never planned for human eyes to see. We had to fill those sections in with art, or iPhone X users would know the game wasn’t made for them.

Here’s another analogy: imagine if you were designing the set for a Broadway musical. You do all your work, and then a week before opening night your director comes to you and says: “Listen, we’re lowering the stage by 2 feet and extending the ceiling by 2 feet above the stage. Do you think your set will still look good?”

The correct answer is: “yes, but I need to extend the artwork so it doesn’t cut off!” It’s ok if your art bleeds over into a section that human eyes will never see. But you can’t have your screen bleed over into artwork that isn’t finished or cuts off arbitrarily!

Fortunately, Jack solved our width problem by writing a Camera Resizing script that adjusts the Orthographic camera size to the proper width depending on your hardware. (Thank God for Jack, lol. Just that script alone would take me the full 3 years we spent working on this game to complete) I am solving our height problem by extending the shadowy silhouettes on each Level where appropriate, and adding more art where it’s necessary.

 

TooManyVerts.JPG

Low Poly Means Low Poly

When you set out to make a low-poly game, you aren’t just deciding on an art style. You’re also setting boundaries for how much the game will need to handle. This is why you’ll see a lot of cartoony artwork on mobile games and MMOs. Both of those are situations where you want the game to run on low end devices like old phones (mobile games) or old computers (MMOs). Cartoony graphics let you show what you want without having high-resolution textures or incredibly detailed model topology. It isn’t just an artistic decision – it’s also a marketing, business, and programming decision.

However, just because I said that I would do low-poly art doesn’t mean I kept my promise. There are a lot of Levels that go wildly above our Triangle / Vertex budget. (See the screenshot above, with emphasis on the Tris and Verts) Unity counts the number of Tris and Verts that are displaying on the screen at one time. Jack wants us to be well under 100k of each. That may sound like a high number, but you’d be surprised by how even simple scenes can skyrocket to 150k. When he finds Levels that are egregiously “over-budget,” he sends them over to me so I can make reductions.

Fortunately, Tri / Vert budgets are not like monetary budgets. If Jack told me not to spend $100,000 dollars, and then I bought a yacht, we’d be $100K in the hole. (But, we’d have a boat. Jack, I urge you to reconsider this proposal.) With polygons, as long as I cut down on fatty models before the game launches, no one will ever know. Except for the readers of this blog, of course. But you’re sworn to secrecy! Don’t share this post.

There is one more thing about this I discovered: Unity’s lighting system counts polygons in a very strange way. You can’t always trust their readout. I discovered that multiple lights require Unity to count the same object multiple times. If a cube has 8 Verts and one light is lighting it up, Unity will show 8 Verts. If there are six lights on it, Unity will show 48 Verts. So there’s some Levels that Jack will reduce once he does his big crunch, since he rewrote how our Lights will work to make them all act as one super-Light. (More wizardry, I’m sure.)

We’re doing all we can to make the game run fast on your phone. If it’s still lagging, get a new phone!

 

TextureAtlas.png

File Formats and Compression

This is the kind of boring stuff that puts artists to sleep, but it’s important. Unity imports textures, models, and audio files according to a standard. You can set the standard somewhere, but we never did. Instead, I am going through every file in the game and asking the had question: does this really need to be as large as it is?

The answer is usually “no!” which is good. I’m crunching a lot of textures down from 1024 x 1024 to 32 x 32 pixels, Unity’s smallest maximum size for images. Noah and Alba also did a bunch of audio crunching that I can’t really explain properly. You’ll have to wait for their revealing tell-all novella (Where Shadows Is Grongus: Nightmare Stories From Development Hell) for all the juicy secrets!

One more thing about textures: it might not be super necessary for me to make these textures smaller after all. Jack is actually doing this crazy optimization thing where we have every texture on one big image called a Texture Atlas. This image is as small as I can make it and has every texture in it laid out like a grid. We have one of these for every Scene in the game (Levels and Cutscenes) and when the game wants to render an object that uses a texture, it’s going to go to this image and pick from the proper coordinates.

This is insane and Jack explained it to me once and it’s insane and I’m sure it will make the game run super fast. If I’m remembering correctly, Jack told me that the rendering system needs to pause and switch gears every time it has to render a new Material. (So if the grass is GreenMaterial and the tree is TreeMaterial, the renderer needs to pause and switch) If it never has to switch like that, the rendering process should go way faster. The way to do that is to make one Material with the Level specific Texture Atlas called “Scene-0-2-Atlas” or something and put that on each object with the right coordinates. We’ll have fewer batches to render, and you’ll never even know what’s going on under the hood!

I’m going to stop giving the layman’s explanation here before I embarrass myself by showing my limited knowledge. But look forward to Jack’s upcoming tell-all blogella (Life With Frank: The Man Who Knew Nothing) for all the juicy secrets!

 

rubber stamp APPROVED

See You In Hell

This is going to be a rough week. This lengthy process is taking longer than I would have liked, and I’ve been pulled away from animating the final cutscenes. I desperately want to get back on track so Alba and Noah have enough time to work on the audio score for the final cutscenes.

Thanks for reading this blog post – I have to get back to gold-stamping!

 

 

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

We hope you enjoyed this update about the game’s development. Have a question about aesthetics that wasn’t mentioned here? You can find out more about our game at WhereShadowsSlumber.com, ask us on Twitter (@GameRevenant), Facebookitch.io, or Twitch, and feel free to email us directly at contact@GameRevenant.com.

Frank DiCola is the founder of Game Revenant and the artist for Where Shadows Slumber.

Crunch and Burn(out)

If you’ve been following the development of Where Shadows Slumber, then you know that we’ve been working on it for a while. It was early 2015 when the core concept first came to me. Three years ago this month was when I put together the first proof-of-concept to show to Frank. The demo version of the game has been out for over a year and a half.

Game development takes a long time, especially with a tiny team, little to no funding, a full-time job, and, the biggest time-waster of all, life itself. As Frank discussed in a previous blog post, we are holding ourselves to a pretty high standard for Where Shadows Slumber, which makes development even slower.

Fortunately, after all this time, we’re finally closing in on the end. As happy as that might make you, the fans of the game, there are two people who are definitely happier about it than you are: us. As frustrated as you might be about how long it’s taking, we’re even more frustrated. Frankly, as much as we love Where Shadows Slumber, neither of us can wait until the moment it’s over.

“But Jack”, you ask incredulously, “if you love it, why do you want it to be over? You’ve managed to work on it for three years – what’s another few months?”

There are two phenomena that often creep up at around the same time in the development cycle of a game (or any project, really). Here they both are, followed by something I’ve said in the past week that represents each of them:

  • Crunch – “There’s only a little bit of work left, but there’s even less time left!”
  • Burnout – “I’ve spent so long on this game, I’m just sick of it!”

 

Night.jpg

Crunch

I’ve discussed before the “ninety-ninety” rule, so I’ll just summarize it quickly here, since it’s relevant: not only does software development take a long time, it takes significantly longer than you think it will. This is an issue when you first start your project (“it’ll probably only take 18 months or so”), but there’s no scheduled release date or external pressure at that point. Nobody really cares yet! However, it becomes a bigger issue when dealing with shorter time periods. For some reason, people have a hard time realizing that their estimates are wrong and adjusting (at least, we do). Because of that, we’re still making poor estimates for how long something will take!

This is the reason that developers inevitably end up in the dreaded state known as crunch time. We thought there were about 6 weeks of work left, but it turns out there were 12 weeks of work left. Too bad we already gave a bunch of outside parties a solid release date! Since they’re now depending on us to meet those deadlines, we have to do 12 weeks worth of work in 6 weeks!

This is the phenomenon that leads to crazy overtime, too many all-nighters, and an incredible amount of stress. If you follow game design, you’ve probably heard about it, because it somehow ends up happening to pretty much every game. If you’re involved in game design, then you’ve probably gone through it, and you know how awful it can be.

It’s a little better for us than for bigger, more established studios – we don’t have employees to pay, stockholders to appease, or a public release date to hit. That said, we don’t want Where Shadows Slumber to turn into an indie game for which development takes forever that people are perennially waiting for. It’s now or never!

 

Burnout.png

Burnout

Cascading into crunch time at full speed is pretty bad, but it’s not the worst thing in the world – we’re been working on Where Shadows Slumber for a long time, and we are both willing to put in a little extra time as we reach the end. However, one of the biggest problems is that crunch time is also usually accompanied by burnout.

When you’re just starting out on a project, everything is pretty exciting. You enjoy working on interesting problems like pathfinding and game mechanics, and you don’t even mind fixing any bugs that come up. On the other hand, once you’ve been working on a game for a long time, you’re pretty much sick of it. All of the interesting stuff is already implemented, so the only things left to work on are tiny quality improvements (“does this look better when the position is 0.4 or 0.41? How about 0.42?”), annoying, subtle, or hard-to-reproduce bugs (“this was working last week, but a change to a different piece of code is somehow causing it to break, but only ~10% of the time”), and tasks that you intentionally avoided because they aren’t interesting or fun (“how many setPass calls will this scene render when running on a 6-year old Android phone? Is that too many?”).

None of these tasks are really very enjoyable – so not only has your excitement about the work decreased, but so has the objective fun-ness of the work that’s left to do. This leaves you in a state of never actually wanting to work on the project. Combine that decreased drive with the increased amount of work you have to do, and it starts to become pretty obvious why the end of development for a game tends to get pretty hairy, and why we’re looking forward to being done with it.

 

Tunnel.jpg

The Light at the End of the Tunnel

Don’t worry, though – it’s not all bad! We’re both still really excited about Where Shadows Slumber, because of the amount of work we’ve put into it. We’re both dedicated to the cause, and we’re not gonna let a little extra work put a stop to it (even if it ends up slowing us down).

The purpose of this blog post is two-fold. On one, more selfish hand, I want to offer up to our adoring fans an explanation for why we haven’t finished the game yet. We know a lot of you love the game, and are really looking forward to it, and many of you have shown us that by popping up and saying hi at various conventions. The past 8 months or so have been a real whirlwind, both personally and professionally, and our timeline has been shifting around quite a bit as a result. So I wanted to offer a bit of an explanation, as well as reassure you that we’re still working on Where Shadows Slumber, and we’re not gonna let it fall by the wayside!

The other reason for this post is to serve as a sort of warning, albeit a likely redundant one. For anyone working on their own game (or any project, really), it’s very important to take time management seriously. Ending up in the crunch time/burnout trap is an awful place to be. Despite this, most developers (indie and AAA alike) end up here, because it’s hard for people to grasp how time-consuming the last 10% of a project can be. So, if you take away anything from this post, I hope you do your best to allow enough time at the end of development to get your game out without ending up there. You’ll end up there anyway, but maybe by knowing about it ahead of time, you won’t be there for long.

 

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

You can always find out more about our game and how freaking long it’s taking us to finish it at WhereShadowsSlumber.com, find us on Twitter (@GameRevenant), Facebookitch.io, or Twitch, join the Game Revenant Discord, and feel free to email us directly with any questions or feedback at contact@GameRevenant.com.

Jack Kelly is the head developer and designer for Where Shadows Slumber.

State of the Art – July 2018

Welcome to the State Of The Art, July 2018 edition! This monthly progress report is written by Frank DiCola and is focused entirely on how the game’s visuals have improved in the past month.

Before we reach the spoiler part of the article, I’ll give you a brief update about the state of the art, and how much work is remaining on the aesthetic side of things. There will be no pictures, GIFs, videos, or bulleted lists, so don’t worry about seeing spoilers! (Just don’t scroll down too fast. You’ve been warned!)

Missed last month’s State of the Art? The June edition is right here.

 


Spoiler-Free Progress Report

When June began, 5 out of 10 cutscenes were animated and World 7 was less than half complete.

As of July 3rd, 7 out of the game’s 10 cutscenes have been fully animated and World 7 is finished! (There’s a tiny amount of work remaining for these two cutscenes, but cut me some slack here) I also did something I don’t normally do and programmed the cutscenes to have a pause menu where you can skip the cutscenes. Does that count as “art?”

What’s next: Later today, I’ll finish the two cutscenes that are nearly complete. This month will then be dedicated to finishing the final 3 cutscenes and putting the finishing touches on the game’s artwork.

You’re all caught up. Now, if you want a sneak peek at some of the artwork I did this month, read on… but beware of game spoilers!

 

 

 


SPOILER WARNING: The rest of this article contains screenshots, GIFs and videos of later sections of the game. If you want to experience them in all their majesty for the first time on your mobile device when the game launches, don’t read on!


 

 

 

 

 

 

 

World-7-Header.JPG

Paradise is Complete

My work on World 7 is officially done! It took longer than I would have liked, but the Levels came out great and it will serve as a proper final sendoff for those who complete the game. Here are the full screenshots from the three Levels I had to finish:

SOTA-7-3.png

SOTA-7-4.png

SOTA-7-5.png

There will still be GitHub Issues to address in these Levels, so I’m not completely done. However, the same is true of every Level in the game at this point, so it doesn’t matter! I hope you like the look of these Levels. Since you’ve journeyed into spoiler-land, you may as well tell me what you think in the comments below!

 

 

Header-King.JPG

Two More Cutscenes Are (Nearly) Complete

Once I finished World 7 about halfway through June, I moved on to two more cutscenes. I do these chronologically, so check out last month’s blog if you’re trying to piece the story together through short GIFs. Here are some teasers from these cutscenes:

 

Cutscene-Short-Leopard.gif

Obe runs into an old friend on his way out of the Aqueduct…

Cutscene-Short-King.gif

“Can I interest you in a golden circle, by any chance?”

At the beginning of this month, I had a long sound recording session with Alba and Noah. You can read all about it here. The short version of the story is that we recorded voices for all of the characters that “speak” in cutscenes. (By speak, I mean “loud unintelligible grunting”) For the past month, they’ve been working on implementing those into the game, so the cutscenes I completed in May are going to have finished audio soon.

 

 

WilliamChyr.JPG

Back to Work

Sadly, this blog post reveals that I didn’t get as much done in June as I’d hoped. Because World 7 took a long time to finish, that delayed my progress on the cutscenes. Being behind schedule is a slippery slope!

As soon as I finish this post, it’s back to work finishing those two cutscenes I mentioned. I’ll record them and send them off to our audio team for scoring. Then, there are three more cutscenes that need my love – and one includes a full credits sequence that may just be too ambitious to put into the game. I’ll also need to take some time just to address the mountain of GitHub Issues that Jack logged as he played through the entire game. Some Levels require artistic changes to make the shadows look better. I can save those for later, but we’re running low on “later” – and I don’t want his progress to be stopped because I couldn’t take a break from cutscenes for an hour to read all these emails. Finally, there is a Level Select screen for World 7 with my name on it. Those tableaus are beautiful but each one takes a few hours to complete.

The tweet above, from William Chyr of Manifold Garden fame, is appropriate. I always expected the end of development to feel like less and less work as we neared our goal, but it’s the opposite! There is so much to do, and so little time.

Back to work!

 

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

We hope you enjoyed this update about the game’s artwork. Have a question about aesthetics that wasn’t mentioned here? You can find out more about our game at WhereShadowsSlumber.com, ask us on Twitter (@GameRevenant), Facebookitch.io, or Twitch, and feel free to email us directly at contact@GameRevenant.com.

Frank DiCola is the founder of Game Revenant and the artist for Where Shadows Slumber.

The Triangle of Truth

Hello again, everyone! It’s Frank again. I know you are all eagerly reading our weekly updates to find out when the game will be finished, but this week you may be disappointed. Rather than announcing a launch date, I’m going to explain to everyone the project management principles behind why Where Shadows Slumber has had such a long development cycle. We’re going to discuss the Triangle of Truth!

 

 


 

 

triangle

The Triangle, Explained

The “Triangle” refers to a project management principle that has gone by many names, visualized in the image above. This diagram has been used to describe everything from project strategies and economic models to government healthcare systems and construction projects. It’s one of those mantras that just always seems to hold true, no matter the circumstances. When you are creating something, such as a mobile video game, you’d ideally like for it to be as good as possible for the cheapest cost and have a fast development cycle. Sadly, the edicts of being demand that you must sacrifice one side of the triangle to achieve the other two. As the desired two metrics increase, the sacrificed metric must decrease. Let’s define these bolded terms first, and then talk about Where Shadows Slumber.

Good: The product stands out among the crowd as something special. We want quality to be as high as possible.

Cheap: The cost incurred creating the product. (Not to be confused with the price a consumer pays for the final product) We want our cost to be as low as possible.

Fast: Time is money, so the sooner the project is done, the better. Life is short! We want our development cycle to be as short as possible.

When you see how Where Shadows Slumber lands on this diagram, everything will start to make sense.

 

We Chose “Good” and “Cheap”

Jack and I are two recent college graduates who teamed up together to make video games. The development of Where Shadows Slumber is not too dissimilar from the development of SkyRunner, our previous mobile game. We decided not to spend a truckload of money on the game, so that it could be as good as we can muster at the lowest personal cost. Essentially, we decided to spend time on the game rather than cash. This is because we have no money, so it was an easy decision.

That’s not to say that I’ve spent $0 on this game! It’s fair to say tens of thousands of dollars have gone toward the development of Where Shadows Slumber, easily. But our budget is a pittance compared to large indie studios and AAA development houses. The sides of the triangle have been chosen: we want a good game, and we can’t spend a lot of money, so we’ll just have to spend as long as it takes to get the job done.

What would Where Shadows Slumber look like if we sacrificed a different portion of the triangle? Let’s analyze where we are now, and then look at the others. Right now, we’re sacrificing time.

 

SACRIFICE: TIME  / /  GET: QUALITY, LOW COST

Time: We’ve been working on the game since the spring of 2015, and we’ll continue to work on it over the next few months. That’s a 3 year development cycle!

Cost: Game Revenant has spent ~$25,000 to pay our audio engineers, travel to conventions, and equipment. We work from our apartments and meet in coffee houses, so we don’t spend money on rent or utilities. Jack has a full-time job and I mooch off my generous, loving and forgiving family.

Quality: The game is superb, beautiful, and time-tested. We even created a free Demo that went through extensive user testing and has stood the test of time. This informed our approach to the final game, but it took a while to get to this point.

 

SACRIFICE: QUALITY  / /  GET: TIME, LOW COST

Quality: We always knew we wanted Where Shadows Slumber to be an awesome, premium mobile game. But if for some reason we decided to release a poorer quality version, we’d be done by now. What would happen if we sacrificed quality by having fewer puzzles, no meaningful story, and low-quality audio produced by Frank making noises with his mouth?

Time: We already created a rudimentary throwaway version back in 2015 when we first begun work on the game. We could have cut it off right there! Also, our Demo has been available for download since November 2016, so that gives you an idea of how much time we could have saved.

Cost: Obviously you don’t need to spend a lot of money if you don’t care about the final result. Jack and I could have just created a shorter, worse game and it only would have cost us a few app store developer fees (Apple, Google Play) and the cost of buying development devices for building and testing.

 

SACRIFICE: MONEY  / /  GET: QUALITY, FAST DEVELOPMENT

Cost: It is possible to get investors for indie games, either by getting a loan from the bank or by appealing to groups like Indie-Fund. Jack and I briefly considered this a year ago, but by that point we had put in so much of our own time, we felt like reaping the full benefits. (Remember – investors don’t give out money for free, they want a cut of the sales!) We could conceivably have gotten $500,000 – $1,000,000 to work on this game if we put our own money in and also got some investments. If we did…

Quality: Along with our personal efforts, we could have hired a small team of veteran developers to aid me and Jack. Veteran programmers would help Jack organize his code, and veteran artists would produce work superior to mine. With Jack and I to guide their efforts, we could take a management / visionary role and let the experts do the hard work. I think the quality would be the same it is now, but it would have gotten there faster. Speaking of which…

Time: My work would be cut in half if we paid an Animator / Character Gui* to handle all of the cutscenes and humanoid animation in the game. That would free me up to work purely on environments with Jack. On the development side, we could hire a full-time Quality Assurance Gui to test the game on various devices. A full-time Marketing Gui would handle our social media efforts, press relationships, and business travel. We could have also brought Alba and Noah into the fold a lot earlier, meaning most of their work would be done by now. Every gui we hire is another hat Jack and I don’t have to wear!

*Gui is a gender-neutral version of “guy” that we used to use in Off Center

 

2305701220_0fc3d01183_b

There Is Always A Drawback

It should be stated that when you sacrifice a portion of the triangle, you don’t get it back. There is always a cost. If you spend money, it’s gone. If you sacrifice quality, your game suffers. And if you spend three years working on a game, you suffer.

I’ve lived in isolation for a period of three years ( ! ), all the while neglecting personal relationships with friends and families, turned down jobs, rejected business opportunities, let my body grow fat, and forgone other personal life goals in order to work on Where Shadows Slumber for as many hours a day as possible. (Imagine my surprise when I discovered that women are not eager to date a man who spends 10 hours every day in front of a computer and rarely leaves the house. Shocker!)

Jack has been working his fingers to the bone every day at not one, but TWO tasks: his full-time work at a startup in NYC and his passion project Where Shadows Slumber. He’s written about this before on our blog, and I encourage you to read his past writing. I was particularly mortified at the mention of how he has to find small scraps of time throughout the day (30 minutes in the morning, 25 on the train, 45 between arriving home from work at night and making dinner) just to work on the game. I have no right to complain – in light of his sacrifice, my life is a breeze. What kind of person would lead their friend into this kind of a life?

I don’t mean to be dramatic, but the point of this blog post is that the toll is real. Choose your sides of the triangle carefully, because the side you scorn will stop at nothing to seek revenge.

 

MiyamotoQuote.png

Where Shadows Slumber: Eventually Good

Miyamoto’s famous quote that “a delayed game is eventually good, but a rushed game is forever bad” may not be true anymore in a world where games can be patched and DLC can be sold. In a world where software is now a service, rushed games might eventually become good, given time.

However, this is also an industry where you live and die by your first impressions. Users don’t ever return to write a second review, and journalists move from game to game quickly. Jack and I are making a sacrifice of time to ensure that Where Shadows Slumber makes a splash when it hits the market. We can’t spend money we don’t have, but we can always put in just a bit more work.

Are you a game developer, artist, musician, writer, or creator working on a passion project? Feel free to share this blog post with your friends and family, especially if they have ever asked you “gee, when are you going to be done with this darn thing?” Let me know what they say in the comments below!

 

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

This has been a project management blog from the creators of Where Shadows Slumber. Have a question about aesthetics that wasn’t mentioned here? You can find out more about our game at WhereShadowsSlumber.com, ask us on Twitter (@GameRevenant), Facebookitch.io, or Twitch, and feel free to email us directly at contact@GameRevenant.com.

Frank DiCola is the founder of Game Revenant and the artist for Where Shadows Slumber.

State of the Art – May 2018

Welcome to State Of The Art, May 2018 edition! This monthly progress report is written by Frank DiCola and is focused entirely on how the game’s visuals have improved in the past month.

It’s hard to believe the past month was just 30 days – everything feels so long ago, from our hilarious April Fool’s Day post to my trip to PAX East. As we wrap up production on the game, I find we have more work to do, not less. Not what I expected, but Jack and I are up to the task!

Missed last month’s State of the Art? The April edition is right here.

 

 

 


SPOILER WARNING: This post contains screenshots, GIFs and videos of later sections of the game. If you want to experience them in all their majesty for the first time on your mobile device when the game launches, don’t read on!


 

 

 

 

LevelSelect-5-6.gif

More Gorgeous Menus

The GIF above is a little teaser of what I have for you in this update: two more Worlds have been polished and are now App-Store-ready. As I hinted at last time, I completed World 5 (the Hills) and World 6 (the Summit). Check out their Level Select menus! I know it seems weird to show these off, but I always love how they come out. It’s so cool for me to get an opportunity to visualize the game world from a different perspective. This 2D view allows you to appreciate the scale of Obe’s journey as he climbs to the top of a massive mountain towards the game’s end.

 

SOTA-April-Hills

The Rainswept Hills

These two Worlds posed a unique challenge to me because they take place in the wilderness. Up until this point, I tried to stick with my modular tool-set for as much of the game’s artwork as possible. However, sometimes you just can’t do that. When it comes to mountains, valleys, and rocks, they demand a jagged unevenness that just can’t be achieved by cookie-cutter pieces. Every Level in this World has a custom ridge that is 100% unique!

Jack will kill me if I show off every Level in this World, so I’ll have to settle for my two favorites. Level 5-2 has always looked great, but now that it’s raining like hell the Level has really come to life:

Then, towards the end of the Hills, we transition to a snowier climate. Obe is getting to the top of the mountain. He sees a cottage at the edge of the cemetery where he can rest for the night. Here is the last Level in this World:

I love doing weather effects because they really challenge me to think of how every tiny thing in the scene ought to change. Leave a comment and let me know what you think of “the Hills!”

 

SOTA-April-Header

The Forgotten Castle at the Summit

Obe is making his way through a blizzard to a lonely, abandoned castle at the top of the mountain. Once again, I got the opportunity to polish the weather effects here and I think they look incredible. I can’t show off everything, so here’s a quick look at two different Levels.

The first is Level 6-1, “Pass.” Obe is making his way through the snow as he attempts to cross this old bridge. Thanks to Jack’s terrain setup, Obe will actually use different animations depending on what terrain he is standing on. Notice how he interacts differently with Buttons and bridges.

In the shadows, another kingdom is revealed. Are we looking into an alternate dimension? Perhaps the shadows are a window to the past? The future?

Level 6-4 takes place inside the castle. Now, a snowstorm rages outside as a lonely sentry patrols the entrance.

This World does some amazing things with shadows, so I don’t want to give too much of it away. It looks a million times better than where I left off a few months ago, so I appreciate the chance to come back and punch it up.

 

SOTA-April-Cutscene.JPG

Next Up: Cutscenes, Cutscenes, Cutscenes

Rather than move on to the final World of the game, I’m going to take the next few weeks to animate the game’s remaining story cutscenes. World 7 needs a bit of love right now, so Jack is going to spruce it up a bit before I make my glorious return to polish. Cutscenes are tough because every minute of animation is roughly 40 hours of work ( ! ) so I’m going to be nerding out in my room for a few more months, it seems. Two of the cutscenes have been animated and shown off at festivals, but they need sound. The other eight have not been started, although their scripts were written long ago.

At some point I may enlist Alba and Noah to help me input the sounds into the animation, because I think we can cover more ground that way. But as far as character animation goes, it’s just me and the keyframes. Some people at PAX East asked me if I ever use motion-capture for these short films. The answer is: No way! We don’t have a crazy setup like that at Game Revenant (read: at my apartment or Jack’s apartment). It’s all animated by hand, baby.

Wish me luck as I make my descent into animation hell. See you next month!

 

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

We hope you enjoyed this update about the game’s artwork. Have a question about aesthetics that wasn’t mentioned here? You can find out more about our game at WhereShadowsSlumber.com, ask us on Twitter (@GameRevenant), Facebookitch.io, or Twitch, and feel free to email us directly at contact@GameRevenant.com.

Frank DiCola is the founder of Game Revenant and the artist for Where Shadows Slumber.