2016 Year In Review

Christmas is behind us, and the year is coming to an end. For the final blog post of 2016, we decided to recap the major events in the lifetime of Where Shadows Slumber that occurred this year.

When we began 2016, the game’s demo (currently available on iOS and Google Play) was only 2 months into development. As we created and refined our 10 level demo over the next 12 months, we also had the opportunity to attend some incredible game industry events. Here are some of our favorite development milestones!

 

indiecade

Jack got cropped out of this picture, as punishment for being too darn tall.

April / IndieCade East

At the very end of April, we had the great fortune of attending IndieCade East. This juried “Show and Tell” event required us to submit an application and go through an approval process before being allowed to showcase the game. We’re so glad that the judges were impressed with our game, even during its infant stages. This was the earliest feedback we got from total strangers, and it was positive yet constructive.

 

dan

Dan Butchko, the CEO of Playcrafting.

July / Playcrafting Summer Expo

Throughout the year, we attended two of the gaming nights hosted by Playcrafting at Microsoft’s offices in New York City. These intimate gatherings are great for indies looking for a foothold in the industry – lots of people go to them, admission is free for developers, and there’s even free pizza! Both the Spring Expo and July’s Summer Expo were excellent opportunities for us to show off the game and get some candid feedback from strangers.

 

Us.PNG

September / Studio Madness

After a busy summer, we finally got a chance to sit down with Earl Madness, a photojournalist we met at IndieCade. Our long form interview is available to view on YouTube – in it, we discuss our hopes and dreams for Where Shadows Slumber, as well as some general thoughts about the game industry.

 

website

October / Website Launches

Web developer Caroline Amaba pulled off an incredible feat in October – creating a website as beautiful as our game! The site launched in October and has been a massive source of subscriptions to our newsletter, which means traffic is high as well as interest. Keep up the good work, o Mistress of Webs!

 

02

October / Gameacon

We attended Gameacon 2016 in Atlantic City, NJ for the first time in October. For a new convention, we were pleasantly surprised by the crowd that came to our table to see Where Shadows Slumber. To top it all off, we were nominated for a Crystal Award – Best Mobile Design! Unfortunately, we did not win. But the experience really helped shape the future strategy of the game, and for that we are thankful!

 

boat

November / The Demo Launches

On the first day of November, we launched our game on Google Play! Shortly afterward (November 2nd, or midnight on the 3rd…) we launched our game on the App Store. We don’t like to talk about that scheduling mishap, but we should.

A word of caution: when you schedule an app to “release” on the App Store at a certain time on a certain date, the game is not available at that time on that date. Rather, it begins processing at that time and date and will be on the store a solid 24 hours later. The good news is, it happened to the demo and not the final game’s release! We won’t make that mistake again.

 

mivs

November / Accepted Into MIVS

After an arduous submission process, Where Shadows Slumber was accepted into MAGFest’s Indie Videogame Showcase (MIVS). We’ll have the good fortune of attending this event in just over a week (Jan 5th – 8th) at National Harbor, Maryland. This is our first time attending the Music and Gaming Festival in any capacity, so it’s going to be a wild ride! We’ll keep you posted on how that turns out just after we return.

 

bunni-18-of-80

 

December / Playcrafting and 16 Bit Awards

Our previous attendance at two Playcrafting events made us eligible to apply for a ’16 Bit Award. We had no idea at the time, but apparently Playcrafting holds a massive award ceremony at the end of every year! Our submission was accepted and we were officially nominated for Best Mobile Game. Although we didn’t take home the grand prize, we had a blast at the ’16 Bit Awards. They went all out for this thing! The event had free food and a live band, and we got to hang out with some really cool developers. 10/10, would go again!

 

fireworks

That’s All For Now!

We’re going to save the “look ahead” for a future blog post, where we’ll discuss what to look forward to in 2017. Some major events are just around the corner – and there is at least one morsel of news that we are legally barred from publicly announcing. (Don’t worry, it’s good news!)

This year has been good to us. We hope it has been good to you, too. If not, well… just wait longer! 2017, here we come!

 

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

How was your year? We’d love to hear about any cool projects you’re working on. Maybe you’ve made progress on your game in a significant way – or perhaps 2017 is the start of something new? Whatever the case may be, feel free to use our comments section as a way to get the word out about your game! See you in the new year.

Frank DiCola is the founder and CEO of Game Revenant, a game studio in Hoboken, NJ.

Mechanic Spotlight: Shadows, Part 1

Throughout this blog, I’m planning on doing a number of posts which outline the mechanics of Where Shadows Slumber, and how they work. Now, there are plenty of very interesting mechanics that I can (and probably will) go over. However, there are probably a lot of blog posts and tutorials out there describing path finding, object pooling, shaders, and everything else. So, the mechanic I’m going to start with is the one that is the most unique to Where Shadows Slumber – the mechanic behind the shadows.

A quick disclaimer on the nature of this post – please note that this is not an in-depth description of the exact code we used for the shadows, nor is it an attempt to tell you the correct way to think about or implement such things. I’m sure a seasoned veteran of coding and game design will be able to point out a few inconsistencies or inefficiencies in our shadow system. Rather, this is meant to be a high-level overview of my thought process while I created this system, and how those thoughts changed throughout the process. Also, since we have been working in Unity for the production of this game, I will probably be mentioning how Unity does stuff pretty often.

When playing Where Shadows Slumber, you may have noticed that sometimes, things change when they’re in shadow. In fact, you shouldn’t have been able to beat the game without figuring that out.

shadowtransition

I think I’m just gonna use this GIF in every post…

Things change when they’re hidden by shadow and then revealed, but there are two (basic) ways to think about it – they can always change when put into shadow, or they can only change when you move around the object casting the shadow, so you’re on the other side of the casting object, relative to the changing object. One of these methods ended up making more sense to use in the game, but I implemented both of them on the way there, so I think it only makes sense to go over them both (even if it means stretching this post into two parts).

Now, these are both pretty simple problems at their cores, but there are a few interesting lessons. Let’s start with the first type of shadow, using the naive approach, which is exactly where I started a year or so ago.

So when an object is covered in shadow, the next time you see it, it should be different. The steps involved should look something like:

  • Detect if the object is in shadow now
  • Check if it was in shadow before (last frame)
  • If it wasn’t, change it!

Using these steps, the object will change every time it’s put into shadow and then revealed. So, clearly, the most important thing to be able to do is detect when an object is in shadow.

Since the light in the game comes from the player’s lantern, everything that’s in shadow is essentially ‘blocked’ from the player’s view by some obstacle. Thinking about shadows in this way leads to the first pass at detecting when an object is in shadow – basically, just draw a line from the player (or the lantern) to the object. If it hits anything along the way, that means that the light isn’t going to reach the object, which means it’s in shadow.

Image result for unity raycasting

Looks like Unity’s ray casting…

 

This process is pretty much the description of Unity’s ray casting: draw a ray from a point until it hits a Collider. So we just add a Collider to any object that might get in the way, and we have a simple ‘IsObjectInShadow’ function!

However, you may have noticed that there are a couple of reasons this won’t work, the most important being that it doesn’t behave correctly. Since casting a ray will only target one point, the shadow detection will only work for the exact position of the object. Anything with any amount of width or depth (so, anything) will say it’s in shadow when the center is in shadow, but the edges are not. This happens when the object is at the edge of the shadow, when it’s only partially shadowed. This is a pretty big problem if we’re going to be changing the object at that time, since the whole point is that the player won’t see the object when the change happens.

So we can detect when a point is in shadow, but just checking the exact position of an object isn’t enough. The easy solution is to simply check more points! By casting two rays, one toward the leftmost side of the object, one toward the rightmost, we can check if both of them are in shadow. If they are, then the whole object is in shadow. This version of our theoretical ‘IsObjectInShadow’ function works much better – as we move a character around a pillar, the object will more accurately determine whether or not it’s in shadow.

We can get the object’s leftmost/rightmost positions (relative to the player/light) by getting the objects dimensions, which we can either get from the Renderer component on the object (Unity will measure the visible object), or simply by placing some restriction on the size of the objects. Since Where Shadows Slumber uses a grid system, everything that changes with shadows is restricted to a 1 x 1 x 1 unit cube, in order to make shadow calculations easier.

Now comes the question – why is this version not good enough? We have to do a little math up front to get the left/right bounds, but after that, we simply have to cast a few rays, and we know whether or not our object is in shadow. Seems pretty good! And it is pretty good. It only works in two dimensions – if you move upward, above the object, the object will still think it’s in shadow – but that’s not too bad, and most level designs don’t involve a lot of vertical movement, so we can ignore it for now. The biggest problem with this version is that we have to add a Unity Collider component to every object that might cast a shadow. Then, every ray cast will test collision against every collider every frame (the reality is not quite this bad, but that’s the idea). This can become a problem in a scene with a lot of shadow objects and a lot of shadow casters, especially if you want different casters to affect different objects. We can improve upon this version with a little math and some clever thinking.

If we think about the way that shadows are cast, we can come up with a better way of determining if something is in shadow:

shadow-radii

(There’s a reason Frank’s the artist, and I’m not.)

 

If we specify that every object is restricted to a 1 x 1 box (in the two non-height dimensions), then we can use some trigonometry to determine whether something is in shadow. I won’t get into the details of the actual math, just the overall conceptual parts. No matter the angle, the radius of the blocker will always be at least r (0.5). In the same way, no matter the angle, the radius of the shadow object will always be at most R (√2). Thus, by taking distance into account, we can always tell if the entirety of the shadow object (everything within the bigger circle) is put into shadow by the blocker (everything in the smaller circle).

By using this method, we can tell if a shadow object is in shadow without ray casts or Colliders, and we can do it for a specific object. In this way, we can specify which blockers affect which shadow objects, which gives us a lot more control over level design.

Now that we’re able to tell if an object is in shadow, the hard part is over. Every frame, we just follow the steps outlined above, for any shadow object. We check if it’s in shadow, then check if it was in shadow (meaning we have to keep track of whether or not it was in the previous frame). We change the object to the next state. The object will only change once, until the user sees it, when it’ll appear differently. Then, if it’s put in shadow again, it’ll change again. This allows us the flexibility and consistency of shadow objects.

As it turns out, this version of the shadow mechanic didn’t end up being the one that we needed for Where Shadows Slumber. The shadow mechanic that we actually did use will have to wait for Part 2. We already did a lot of the heavy lifting this time, so it shouldn’t be too hard to make some small adjustments to the work we did here.

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

I hope you enjoyed this first highlight of the shadow mechanic in Where Shadows Slumber. Hopefully it wasn’t too complex, and I was able to explain it well. Let us know if you have any feedback! As always, you can find out more about the game at WhereShadowsSlumber.com, find us on Twitter (@GameRevenant), Facebook, itch.io, or Twitch, and feel free to email us directly with any questions or feedback using contact@GameRevenant.com.

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

Where Shadows Slumber: Inception

Welcome to the Where Shadows Slumber blog! I know Frank posted something last week, but this is my first post, so I’m going to pretend like I’m important or something. In case I’m not important and you don’t know who I am, I’m Jack – the head designer and lead engineer for Where Shadows Slumber. We’ve decided to do a blog to keep in touch with the people that really matter in the production of our game – the users!

So, since this is the very start of our blog, I figured that a good topic would have something to do with the very start of Where Shadows Slumber – the inception of the idea itself. If you haven’t played yet, you definitely should (and how did you end up here?). If you have, then you probably know that the core mechanic of the game is rather interesting, and isn’t something you see, or think of, every day. So how did I come up with it? I get this question a lot, and I never have a satisfying answer for it.

shadowtransition

Watch the bridge – it appears and disappears!

I’ve always been a gamer, and thus a game designer, even if it’s usually just in the back of my mind. I’m always thinking about what might be a good game design. A kid walking down the street, avoiding cracks in the sidewalk? Maybe that could make a good game. The picture on that billboard? Looks like a cool puzzle to me – can I expand on it? These thoughts are always floating around my head, and, to be honest, 99% of them are completely worthless. Almost everything I think of has an inherent flaw, or has already been done, or just wouldn’t be fun.

However, it’s the other 1% (it’s probably far less, honestly) that matters. I find that these few half-decent ideas often come up when I’m thinking about the design of existing games, since they’re often far more in tune with what users might be looking for. And I think that’s an important point – no one wants to play Generic Shooter 257342, but a lot of people are willing to give a new, quirky platformer a shot.

Enter Monument Valley. Yeah, I said it, and I’m gonna pander commit a whole paragraph to it. Monument Valley is one of the greatest mobile games I have ever played. Monument Valley took a simple idea and a simple aesthetic, polished them both into a well-oiled game engine, and gave us an incredible experience based around an interesting, understandable mechanic. It wasn’t difficult, but it made you think. I love Monument Valley, and if you haven’t played it, you should go do that. If you have played it, you can probably tell that it was a pretty big inspiration for Where Shadows Slumber, and despite the many reasons for that, there’s one word (which I just learned) that I would use to describe why that is: frisson.

fris·son
frēˈsôn/
noun
  1. a sudden strong feeling of excitement or fear; a thrill.
    “a frisson of excitement”

The way I think of it, frisson is that feeling you get when something really cool happens. When you figure something out, and it makes you realize that the universe fits together in a really awesome way (the math nerds out there know what I’m talking about). In short, it’s the feeling you get when you solve, understand, and appreciate a really cool puzzle. That feeling stood out so drastically when playing Monument Valley that it made me realize – this is why I play puzzle games, and this is the feeling that puzzle games should strive to inspire.

So Monument Valley came out, and I played it, and I loved it. This was right around the time of the lackluster culmination of our previous project, SkyRunner (go check it out!), and it made me want to try to create something just as unique, interesting, and beautiful. So I continued thinking about potential game ideas, but I started aiming for something new, something interesting, something that hadn’t really been done before. I never sat down and tried to think of a great idea, I just tried to let them come to me.

whereshadowsvalley

Left: Monument Valley, by ustwo games. Right: Where Shadows Slumber, by Game Revenant.

And then (and this is the unsatisfying answer that I have to give everyone), the idea came to me. I don’t remember how or when or where, but it just came to me – gradually. It didn’t start out as shadows – basically, it was the idea that anything that you can’t see might be different from the way you remember. You don’t know – you can’t see it! This eventually developed into the idea of shadows, because we decided on creating a third-person game, and shadows are a good way to show that something ‘can’t be seen’.

Now this idea is by no means new. Erwin Schrödinger stuck a cat in a box with the same general concept. If you look, you can find other instances (in fact, you don’t even have to look – just click here or here.) In fact, I remember watching a proof-of-concept demo for a video game based on this exact idea – anything you couldn’t see could change. So it wasn’t a brand new idea, but it was definitely something novel, something interesting, something that we hadn’t seen in the mobile gaming space, and something we thought we could design a lot of fun puzzles around. After a few conversations with Frank, we decided to put together a small initial demo for the first version of Where Shadows Slumber.

We ended up falling in love with both the concept and the aesthetic we had managed to cultivate. For probably the first time in my life, I can actually say that, 18 months or so after I had the idea, we have managed to create a game that actually looks every bit as good as what had first popped into my head. I’m really proud of the work we’ve done to get here (which you’ll hear about if you’re willing to continue reading my hackneyed posts), and I’m very excited for the upcoming phase of production.

 

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

Thanks for tuning in, I hope you enjoyed reading about the inception of the idea for our game, Where Shadows Slumber. As always, you can find out more about the game at WhereShadowsSlumber.com, find us on Twitter (@GameRevenant), Facebook, or Frank’s game development Twitch stream – and feel free to email us directly with any questions or feedback at contact@GameRevenant.comNext week, Frank will talk about our development process and how we manage our time.

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

Where Shadows Slumber: Welcome!

Hello! Welcome to the first of many blog posts about Where Shadows Slumber, a moody puzzle game coming to a mobile device near you. We have so much to talk about when it comes to this game, but today I’d like to pause and introduce you to this series.

Have you played our game yet? Download the demo for Where Shadows Slumber using the links below:

The App Store: bit.ly/WSS-AppleDemo

Google Play: bit.ly/WSS-AndroidDemo

Blogging is kind of a new thing for my friend Jack Kelly and I. The same is true for social media. At our core, we’re game developers. This single-minded focus is necessary for creating a beautiful, lasting work of art together. However, it does not behoove us to spend 3 years in a cave making a game and only make our presence known once the game is complete. Trust us – we tried that already. To avoid repeating the mistakes of the past, we’re going to spend some time every week talking about our process as we develop Where Shadows Slumber. I’ll begin today’s blog post by introducing the team, and then answering some made-up Frequently Asked Questions.

 


The Team So Far

 

team-frank

Frank goes to bed each night in a full suit and tie, including loafers.

My name is Frank DiCola. I’m a life-long lover of video games and gamer culture. I credit my love of gaming to spending long hours as a child watching my older brother Paul beating games on the Super Nintendo, as well as a fascination with my muse “Yoshi”. I have a Bachelor’s Degree in Visual Art & Technology from the Stevens Institute of Technology, as well as a Master’s in Software Engineering. Stevens’ art program is heavily focused on digital artwork, and let me explore skills like digital illustration, 3D modeling, and animation (my true passion!). My Master’s is not so much a “programming” degree as it is a “software team management” degree. I serve as the lead Sound and Visual developer on Where Shadows Slumber, as well as Chief Marketing Guy.

team-jack

Jack’s only had tea once in his life. This is the only photographic proof.

Jack Kelly is also a video game lover, growing up with computer games like Diablo II and StarCraft: Brood War. He also graduated from Stevens Institute of Technology, with a Bachelor’s in Math and a Master’s in Computer Science. He spends basically all of his free time acting as head (i.e. only) developer and designer for Where Shadows Slumber.

team-caroline

Check out the beautiful website Caroline is working on!

Caroline Amaba is a Senior Web Developer, currently hustling at VaynerMedia. She’s a huge nerd, in love with video games, board games, and dungeon-delving. Caroline’s got a B.S. in Computer Science and a B.A. in Art & Technology from Stevens Institute of Technology. In her spare time she’s either writing up table top RPG lore, streaming videogames of all sorts, gathering some friends for board games, or doing web and some production stuff for Mad Bracket Status, a pop-culture bracket podcast (look it up). She got involved with Where Shadows Slumber when, well, Frank asked. Anything for the games! Follow her on Twitter (@clineamb), Twitch (knilly_line), and Instagram (@clineamb).

 


What We’ve Created

Where Shadows Slumber is a brooding puzzle game that takes place in a shadowy, abandoned world. You will aid the main character in his search for redemption – a search that spans numerous worlds and introduces you to a cast of mysterious figures. Who rules this forgotten land? And who will be left once the adventure draws to its inevitable conclusion?

wideaqueduct

The only tool at your disposal – besides your intellect – is the chaotic nature of the universe. Anything that is not touched by light has the freedom to change. This governing principle will be your guide in the darkness, but also your undoing. After all, if you are not touched by the light, you have the freedom to change as well. What will you become?

 


Q.T.H.N.B.A. (Questions That Have Never Been Asked)

What website is this?

The Where Shadows Slumber blog series is being hosted on the publisher’s WordPress blog. The publisher (my company, founded November 2015) is Game Revenant.

Why do I see posts about Mr. Game!?

Game Revenant, the publisher, has two few active projects going on at once: Mr. Game!, a tabletop board game, and Where Shadows Slumber, a mobile puzzle game. There will be more projects this company publishes in the future, as well as more projects in the past. (Not true) You can use the search bar on this website to filter out any content you don’t want to see. Every one of the posts in these series will have the ‘where shadows slumber’ tag as well as more descriptive tags like ‘mechanics’ or ‘marketing’.

What’s up with that Dishonored post?

Sometimes opinion articles about gaming and gaming culture will appear on the blog roll too! If you don’t like them, then… keep scrolling!

I thought the game was called Where Shadows Grongus?

No, that’s incorrect. There is no game by that title, and that is certainly not the name of this game, nor will it ever be. Please refrain from engaging in some of the online petitions that have been sprouting up asking us to change the title. We will continue to ignore these requests, no matter the number of co-signers.

What will these blog posts cover?

Everything about the game! If you’re looking for the inside baseball of developing a mobile game in 2016 on a shoestring budget, you’re going to enjoy each and every article. We’ll cover everything you’d expect about the game development process (art, music, programming, working with Unity, testing, project management) as well as some behind-the-scenes things that few developers ever discuss (how to work remotely, our marketing plan, working on a tight budget, user acquisition methods, contract writing 101, time management tracking). No matter your role on the team, you’ll find a post that speaks to you personally.

When can I play the game?

The final game is not ready yet, and it won’t be out for a while. A release date has not been finalized at this time, so don’t expect the game any earlier than end-of-year 2017. However, we’ve created a demo of the game that is available on the App Store and Google Play for you to download and play. This small snapshot of the game is 100% free and always will be.

When will the next post come out?

We will post one article about the game every Tuesday at 1:00 PM EST. Currently, we plan to rotate authorship back and forth between the two of us, although we’re not against the occasional guest blog post. Don’t miss a post! Follow this blog on WordPress and Like / Subscribe / Follow / Chain Yourself to the links below:

Game Revenant’s Official Facebook Page

Game Revenant’s Official Twitter Account

Game Revenant’s Official YouTube Channel

Game Revenant’s Official Email List

 

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

That’s it for today’s introduction. Come back next week as we delve into what makes the game ‘tick’ with a blog post by Jack Kelly, the game’s lead engineer!

Frank DiCola is the founder and CEO of Game Revenant, a game studio in Hoboken, NJ.