Unity 2018!

For those of you who haven’t been keeping up with current events in the indie game development space, there’s something really important that’s happened recently that you should probably know about.

It’s 2018!

Which leads me to another topic that we can spend some time discussing – Unity 2018!

 

Unity

Before we talk about Unity 2018, let’s discuss Unity itself. Unity is the game engine in which we’ve been developing Where Shadows Slumber for the past two and a half years, and even longer ago, when we were working on SkyRunner. Developing in a game engine makes things a lot easier for the little guys like us, because we don’t have to worry (as much) about things like platform-specific dependencies, rendering pipelines, mipmap implementations, etc. Without having to worry about that nitty-gritty stuff, we can spend our time focusing on the more grandiose parts of the development of WSS.

So the question is – how has working with Unity been?

1200px-Unity_Technologies_Logo.svg

Unity!

Overall, Unity is awesome. It has somehow managed to find the right balance between an engine that you could use to make a AAA game, and one that you can use in a small, bureaucratically-challenged team. This alone is a great reason to use Unity – compared to using more complex engines like Unreal, it’s much easier to get up and running from scratch.

Of course, there are trade-offs, and this is a particularly big one. In order to avoid inundating newer users with game development intricacies and high-level concepts, Unity does a lot of that stuff for you, behind the scenes. While this is awesome in a lot of cases, there are some cases where it can be more of an issue. Imagine you’re an experienced game developer, with a sizable team, who wants to do something very specific in the backend. There’s a decent chance that Unity will have hidden that part of the engine from you, or at least made it difficult to interact with.

This tradeoff is, at its core, the reason that you would or wouldn’t want to use Unity. The next most important feature is the ease with which Unity allows you to develop on multiple platforms. All of your development is platform-agnostic, and you only choose the platform as you’re compiling. Is your Android game a success, and you want to build it for PC? Simply hit a different button, and Unity takes care of the rest. I don’t have too much experience with other engines, but this seems to be a place where other developers give Unity a lot of credit, and I think it’s deserved. I can’t imagine having to go through all of the development we’ve done multiple times for different platforms.

Beyond these bigger points, there are a few other things that might sway you, though they’re probably a little less important:

  • Unity is very UI-based, which means that it might be a little annoying for a hardcore programmer, like myself, whereas this probably makes it easier for someone with less coding experience, like Frank.
  • Unity is a sort of one-size-fits-all solution, whereas some other engines are ready-made to create certain types of games. For example, Unreal has good support for creating FPS games. If I were to make an FPS game, using Unreal would probably give me a bit of a head start on Unity.
  • The only language Unity supports is C#. C# is a pretty awesome language, but for those of you who hate C#, or strongly-typed languages in general, it may take some adjusting.

Again, I want to say that Unity has been great for us, and I would probably use it again if I were to start another game. Frank and I wouldn’t have gotten to where we are with Where Shadows Slumber if it weren’t for Unity.

 

Unity 2018

I mentioned earlier that Unity does a lot of stuff for us, and I specifically brought up rendering pipelines. The danger of using a game engine (that you didn’t make yourself) is that other people are making decisions for you, and those decisions are set in stone to a certain degree. On one hand, we didn’t want to mess with the collision system, so we were glad to have it. On the other hand, we ended up in a position where we did want to mess around with the rendering pipeline, and we weren’t able to.

Enter Unity 2018.

image5_rs

The Unity UI, blatantly stolen from one of their blog posts.

I normally don’t pay too much attention to the ins and outs of the various updates that Unity makes. They’ve been marching out updates, both major and minor, for a while now, and we’ve just been going with the flow. Unity 2018, however, has managed to catch my eye. Unity recently released a blog post describing the updates they’ve been making to graphics and rendering in Unity 2018, and I have to admit that I’m pretty excited about it.

As I mentioned before, Unity does a good job of riding the line between too-complicated-for-new-users and not-powerful-enough-for-power-users, and the updates described for Unity 2018 somehow manage to play to both sides. If you’ve ever held a conversation with me about Unity and Where Shadows Slumber, then you know that I’ve been struggling with getting shadows to render the way I want, while also maximizing the efficiency of the rendering pipeline. Fortunately, Unity 2018’s focus on graphics and rendering has provided two huge features in this area, one for each of the two camps.

Scriptable Render Pipelines is the feature that I’m excited about, as it’s the feature aimed toward the entrenched coder. Rather than using the hard-coded rendering pipeline that we’ve been wrestling with for the past two years, we can create our own rendering pipeline that does exactly what we need it to.

“Programmers can now write custom renderers tailored specifically to their project.”

This is a huge boon to us, and to game developers everywhere. Rather than hacking together a shader that uses Unity’s shadow-mapping inefficiently, we can (hopefully) create a rendering pipeline that performs shadow-mapping exactly how and when we need it. This should result in more efficient rendering, along with less headache while writing shaders.

Shader Graph is the other great feature Unity 2018 will have, and is targeted toward less code-inclined users. Unity provides a standard shader with a bunch of options, so you can create the materials you want. However, if you need more customization than the standard shader provides (like we do), you’re suddenly thrust into the depths of shader-writing. With a masters degree in computer science, I’ve been just barely keeping up with writing our shaders, and there’s no way that Frank would have been able to do it. This is really a bummer, as the artist tends to know a bit more about the “look” they’re trying to get.

“[I]t’s simple enough that new users can become involved in shader creation.”

Unity 2018’s Shader Graph changes this – rather than writing complex shader code, Unity exposes a simple interface for creating shaders graphically. This would allow an artist with no coding experience whatsoever to build a custom shader to display things exactly as they want – giving the artist the control they need over the “look” of the game, and allowing the programmer to focus on the game itself.

shadergraph

A sneak preview of Unity 2018’s Shader Graph UI

I’m sure that Unity 2018 comes with quite a few quality-of-life updates, as well as some other new and interesting features. For me, however, it’s all about those rendering updates!

 

Beyond Where Shadows Slumber

A friend of mine recently asked if I would use Unity for my theoretical next project, and if I would recommend it to someone just starting on a game. The answer I gave him is one that applies to every question – it depends. In fact, it mostly depends on the factors described in the first section.

Overall, I’m inclined to say that I would use Unity again. After over four years, I’ve come to know it pretty well. It’s powerful, and allows you to create and iterate pretty quickly. That said, there are some exceptions; I would probably pass on Unity for my next project, or at least do some more research, if:

  • I had very specific backend/optimization requirements
  • I were working with people who had a lot of experience with a different engine
  • The scale of the game were much bigger
  • The game involved a lot of networking/server concerns

There are probably other factors that come into play – basically, it pays to do some research before you dive in. I would recommend Unity, but more than that, I would recommend knowing what you’re getting yourself into. There’s nothing worse for your game than getting halfway through it in an engine that won’t work for you in the end.

If you’re anything like me, at this point the word “Unity” no longer sounds like a word. I’m gonna take that as a sign and wrap this post up; I hope I was able to answer any questions you might have had about working with Unity, and that I got you pumped for Unity 2018!

 

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

If you have any questions about working with Unity, or if you have any other questions about Where Shadows Slumber, feel free to contact us! You can always find out more about our game 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.

An Indie Developer’s First Trip to Unite

I’ve been an avid Unity user for nearly 5 years at this point. Without this creative tool, I would not be making games. It’s as simple as that. I owe a lot to this engine; it’s making my dreams come true. It’s even changed the landscape of the commercial game engine market. (Remember when the Unreal Engine 4 had a monthly subscription?)

Despite my love for Unity, somehow I never had the chance to attend Unite, their flagship conference. At Unite, they gather developers, influencers, sponsors, speakers, and Unity employees under one roof for two days of workshops. I finally decided to go when I saw they were holding one in Austin, Texas. Just a short plane ride away, compared to some of the other places they hold this show. Just in the next few weeks, they have three events across the globe: Unite Melbourne, Unite Singapore, and Unite India!

Have you ever been to Unite? No? Then this is the blog for you. It’s a straightforward account of my travels this past week to Unite Austin 2017. If you’re deciding whether or not to go, I hope this honest blog helps you make a decision.

 

Keynote.PNG

Day 1: “Keynote? Never Heard Of Him.”

Time to confess… there is one problem with this blog: I completely missed Day 1 of Unite, so I can’t tell you what it was like!

I meant to be there, but my flight got rerouted in mid-air to Dallas because of weather in Austin. We stayed at that airport for 2 hours before taking off again. I was supposed to have gotten in around 4:30, which would have been just enough time to check into my hotel and walk across the street to the Austin Convention Center. Instead, we landed at 8:00 pm… right when things were wrapping up and badge pickups had already closed. Damn!

Perhaps you can consider this a cautionary tale. If your travel plan relies on everything going perfectly, you’re not planning – you’re dreaming.

You can check the schedule to see what happened, because your guess is as good as mine. There was a keynote talk, and I’m sorry I missed it! They put it online here.

 

20171004_080029

Day 2: Party Time!

Day 2 was my first real day at Unite. This was my chance to familiarize myself with the main showcase, the talks, and the crowd. My first impressions:

  • Unity gives out free food at breakfast and lunch and it’s really good
  • There weren’t as many people as I was expecting. Or perhaps Unity chose a convention space that was a bit too large for this show?
  • The main showcase seemed underwhelming…

The negative first impressions didn’t really last though. As I went about exploring I found there was plenty to do and tons of people to meet. In fact, Unity scheduled some meetings with me prior to the show, which surprised me! Their Analytics team wanted to meet face-to-face to ask me user questions. I really appreciated that, even if I didn’t personally gain from it. The fact that they want feedback that badly shows me they care about constantly improving the engine, which is a good sign.

The schedule for the talks is online (you can find them here), but if you were wondering what was in the main showcase, I saw the following:

20171005_114133

(a) This live talk show segment being filmed that you could watch

20171005_113554

(b) A live demo area that was for mini-classes

20171005_113645.jpg

(c) An Ask The Experts section where you could sit down with Unity employees

20171005_113654.jpg

(d) Unity demos with members of the company nearby to explain the tech

20171005_113758.jpg

(e) The usual showcase of professional, released games Made With Unity

20171005_113810.jpg

(f) A separate showcase for VR titles Made With Unity

20171004_113448.jpg

(g) A gallery of printed images, which I was not expecting!

20171005_113731

(h) Booths for sponsors and partner companies, like Nintendo

I didn’t realize this, but Day 2 is also party night apparently! Unity knows how to throw an awesome party. I went to three! First, there was an Amazon App Store party. I believe they invited us because the Where Shadows Slumber demo is on their store. After speaking with one of their developer outreach leads, they even gave me an Amazon testing device!

20171004_201055

What an unexpected surprise!

Then I went to the Unity Analytics party, which was a happy hour before the real deal – the Unite party. It was insane, man. They rented out an entire venue called Fair Market and had the whole thing catered! There were taco stations, chili bowls, dessert food trucks, an open bar… I went a little wild. I didn’t leave until 10:30. :0

20171004_220442

It might seem weird to keep mentioning the parties and the food, but it gets to the core of what Unite is. Don’t go into this expecting some kind of staid business trip. You can totally get a lot done – just networking with Unity employees was worth the money. But I think the real way to enjoy Unite is to treat it like a big gathering of indie devs who just want to talk, hangout, and get to know each other. I wish I knew that going in.

Recognize that the price of admission also covers events that are meant to promote bonding and companionship. Take the name literally! It’s not just wordplay – this is really about remote developers coming together and uniting!

 

20171005_083955.jpg

Unity takes their food seriously.

Day 3

By Day 3, I found my footing. I went to a steady stream of talks, with time in between to attend some of the mini-lessons given by Unity. Their employees are so friendly! I missed an entire talk about the Unity Profiler, so I went up to the presenter and asked for help. Not only did he help me, we went to the Ask The Experts section and spent a full half-hour going over Where Shadows Slumber and how to optimize mobile games. It was incredible!

The talks I went to definitely varied in quality. There were some I was looking forward to that really disappointed me (the “Lessons Learned from PSVR” one was not as fun as the description indicated), and others that didn’t seem relevant at first, but totally inspired me. By far, the best one was a talk about this Walking Dead mobile game by Jason Booth of Disruptor Beam.

20171005_101442.jpg

Go find this online when he posts it. There’s so much information coming at your face, your face is going to leave your body to find a new one. And that that body will EXPLOOOOODE WITH KNOWLEDGE! He wasn’t shy about the parts of Unity that he didn’t like. That just made me trust him more! Essentially the talk was all about how they got this ridiculous massive world to show up even on lower-end mobile devices. His command of graphics and optimization was impressive.

 

20171004_113454.jpg

Hoping to Return

I’m writing this from a hotel room in Los Angeles. (I went straight to IndieCade after Unite) Now that I’ve attended my first Unite, I’ve got just one piece of advice for anyone attending: fill your schedule. When I planned this trip, I allowed for gaps in my schedule to explore the main expo hall. I was expecting something along the lines of GDC – a massive expo hall you could never possibly see all of. Instead, I found it to be a bit lacking. I was able to make the rounds in an hour or two. So, avoid gaps in your schedule and fill your time with meetings or talks! You’ll find that more helpful than wandering around aimlessly.

I hope to return to Unite America next year! (I’m calling it “Unite America” because I don’t know if they’ll be in Austin again.) However, my one condition is that I’d like to return to give talks about Where Shadows Slumber and maybe have a booth in the Made With Unity showcase.

Which reminds me of another talk I saw, all about Unity Connect… time to jump on that!

 

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

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.