Author: Martin Isla

Martin Isla

8 June ’18 – Dev Blog #7: We’re Not Making a Game Anymore

Since the very beginning, we’ve been struggling with the same problem. We had decent skills for art and programming, amazing music and a story to tell. However, we didn’t have gameplay. How would we make our game a game?

“Let’s add puzzles”, we said. That’s not easy to do. That’s actually really hard. In fact, every person who ever designed a puzzle should have their name written on the Moon’s surface or their image immortalized on a statue, or both.

“Let’s add platforming,” we said. Yes, there aren’t enough platformer games out there.

Last Thursday we finally decided what to do.

We talked about To The Moon and their mini-games. To the Moon is one of my favorite games ever, but I think the developer faced the same problem we are facing right now and solved it by adding the “memento” puzzles. I find those puzzles ridiculously unnecessary. You solve them in 10 seconds or so, they don’t make sense in the story, they stop you from continuing, they break immersion by not fitting into the world and — in the end — they’re not fun. They’re obstacles. The dev felt that it was necessary to turn their masterpiece into a game and came up with this abomination that makes their wonderful game a tiny bit less awesome.

Then we talked about Far from Noise. Far from Noise is a small yet amazing game. You play as a character stuck in a car that wavers on the edge of a cliff, facing death and talking to yourself. It has a story that’s incredible in how it unfolds. Some people loved it. It got outstanding reviews. And yet, there’s no “gameplay.” It’s you, your car and death. It’s deep, it’s great, it tells a story. It works.

I know this, I know these games worked really well. But then, I get scared. I love The Worst Grim Reaper, it’s the greatest game I’ve ever worked on. The art, the music, the mood, the characters and the story come together in a way I could have never expected. I deeply admire the Marks and I love their work. I’m emotionally connected to it and want everyone to enjoy what we’re doing here, but what if it’s boring? What if people like everything about the game, but never finish it because the lack of “gameplay” makes it feel like a tedious task? I’ve been working on this since last year, and I’m pretty sure I’ll still be working here next year. And probably even the next one. I’ll be destroyed if people end up not enjoying our work.

But then, I remember the advice many great developers in the industry give: make a game you’d play. Would I play The Worst Grim Reaper? Yes. And I even got to know two other people who would, so there are probably many more. Yes, our game won’t be for everyone, but no game is.

The concept of a game has evolved. And I think that’s important. It’s not just about fun anymore. It’s about experiencing, telling stories, sharing feelings and points of view. Games are one of the most complex art forms you’ll find. The interactivity between the player and a controlled environment allows developers to create art that can be understood more deeply.

We’re committed to giving you an experience that you won’t easily forget. That’s our goal, and if it’s not a commercial success, that’s fine. I want to wake up some day to a fan email saying they liked our game for what it is. That’s all I need: I got to make a game I love and someone else liked it too. That’s enough of a reward.

For the first time since we started development, we know exactly what we want to make. And if turning The Worst Grim Reaper into a game means we’d have to add unnecessary, experience-ruining gameplay, we’re not making a game anymore. We’re making something better. And hopefully you’ll love it as much as we do.

Martin Isla

20 April ’18 – Dev Blog #6: Moving to Unity 2018

After doing some testing and spending a few hours doing my research, this week I decided it was time to move to Unity 2018.

This is a -sort of- technical post aimed at developers!

“But it’s still in beta!”

I know that and guess what – we’re in beta too! Actually, we’re in pre-alpha, so it’s not a bad idea at all to move to Unity 2018 and I knew we were going to do so sooner or later, so why not do it sooner?

Since Unity 2018 was announced and I started understanding what the new features were about, I immediately loved it. The scriptable render pipelines, the C# Job System, the performance upgrades. Nothing to hate about this new Unity version. I was so excited to try out these new features!

I talked a bit about it on Twitter (Warning: spoilers ahead), but wanted to expand a little more so other adventurous game devs out there willing to explore new lands (or features) know what to be prepared for.

But if there’s something I learned in my short (but rich) game dev career is: stick to a Unity version!
It’s something everybody tells you. Choose your Unity version and stick to it. It’s usually time-wasting and project-breaking to upgrade to a newer version. But then again, I was so excited to try out the new features, I couldn’t even wait for the beta to be over.

I created a local back up of my project and launched Unity 2018.1.0b13. As soon as I opened The Worst Grim Reaper -for no one’s surprise- a zillion errors immediately filled up my console window. Reading one of those errors, I realized it was TextMesh Pro. After 2 seconds of googling, I found out the older version was no longer supported in Unity 2018.

Unity’s Package Manager

Luckily, I also found out there’s a thing called the Package Manager, which is great. It adds modularity to Unity without the need to download packages from the Asset Store (downloading official packages that should be native always felt a bit weird to me). This is cool because it’s some sort of the middle point: you get native packages without being forced to download them with the editor. Moreover, if a package needs to be updated, you don’t need to update the entire editor, just the package.  Thank you.

Following the instructions in this post (sort of – I suck at following instructions!), I updated to the new, compatible version of TextMesh Pro and no further changes were needed. Everything was working again, I could even run and play!

Perfect: updating to Unity 2018 wasn’t as painful as I expected. But hey, I like to suffer! I wouldn’t be a game dev otherwise. So let’s give the feature I was most excited about a try.

The Scriptable Render Pipeline

Disclaimer: I’m not a graphics programmer. I have no idea what I’m talking about here.

This feature is probably the #1 reason why I wanted to play with Unity 2018. I saw the Unity GDC talk about it and it sounded exciting.

As you might know, The Worst Grim Reaper is a 2D game, but it uses dynamic lighting to achieve more appealing visuals. Using dynamic lighting means the Sprites Shader isn’t enough because it doesn’t accept normal maps. Therefore, we had to use the much over-complex Standard shader. That, combined with Mark Lohmann’s passion for overusing real-time lighting… The Worst Performance1. But there’s so much in that shader we don’t need, we just want simple lighting – no weird PBR stuff, no shadows.

And our dreams came true thanks to 🌈The Lightweight Render Pipeline🌈.

Again, importing the Lightweight pipeline was super easy with the Package Manager. The painful part came later.

Thanks to some really nice person at Unity, a tool is shipped with the Lightweight pipeline package that allows to automatically change every material’s shader from Standard to Lightweight Standard (with PBR). However, that tool doesn’t work with custom shaders. Basically, because pre-existing shaders don’t work with the SRP -custom shaders need to be written for each pipeline-. Lucky for us, we only used one of those, and I’ll talk about it and why we don’t need it anymore.

As I mentioned before, we had to use the Standard shader because the default Sprites shader doesn’t support normal maps (and, therefore, no control over how light affects a sprite!). The problem is sprites can only be seen from one side, so if you flip a sprite that uses the standard shader, it’s gone!

Lohmann had fixed this problem before for his Dynamic Lights video (where we met) by creating every animation twice, and two animations for each state: one looking left, one looking right. You should’ve seen that animator controller. I almost had a stroke.

Actually, let me share the horror with you:

Yup.

There must be a better way to do this, I said when I saw that. And there was. We shamelessly stole the shader from this post, which basically renders the sprite twice.

But now that shader was useless! How are we gonna do this! I started to panic. I loved the lightweight pipeline so much and I couldn’t use it because I have almost no idea how to write a shader. But then, a magic check-box appeared in the material inspector.

Two-Sided just beat Cellar Door

I clicked it and yes! I could flip Sebas without weird shaders!

Finally, after about one hour of having lots of fun, The Worst Grim Reaper worked in Unity 2018.1.0b13 using the Lightweight pipeline just as it worked in Unity 2017.

So, now…

The moment of truth

It was finally time to test the results. Was all this pain finally worth it? I disabled VSync, launched Fraps and compiled the game using both Unity 2017 and Unity 2018.

I’ll go straight to the results. Framerate is in the top-left corner. Click the image to see a full res!

Unity 2017

Average framerate: 250 FPS

Unity 2018

Average framerate: 560 FPS

 

Final words

Upgrading to Unity 2018.1 was, without a doubt, a good idea. Getting over two times the frame rate with no noticeable quality loss and very little work is priceless. However, albeit amazing -can’t wait for you to play it- The Worst Grim Reaper’s code isn’t a super weird or complex thing. The upgrade was easy because we rely on nearly no external code (except for Wwise, which did get a few errors after upgrading but was a super easy fix).

I think Unity is doing a great job with 2018. The Scriptable Render Pipelines allow huge control over the graphics quality of your game, the C# Job System (which I didn’t really need to use yet) is really good for heavy-load tasks (I recommend watching this video which demonstrates the power of this feature), the visual shaders scripting (Shader Graph)… I really hope I need to use it soon!

Well done, Unity. Keep it up!

 

If you want to stay informed about The Worst Grim Reaper, please visit our home page, where you can subscribe to our e-mail list (we don’t spam!) and follow us on Twitter, Facebook or Instagram!

Martin Isla

30 MARCH ’18 – DEV BLOG #3: CODE CHAOS

Hi there. I’m Martin, programmer and tech guy behind this beautiful game.
I got to know Lohmann in June 2017 thanks to a comment on a YouTube video. A few months later, we started working on what was going to be The Worst Grim Reaper.

He told me his idea for a game and I fell in love. This idea with his art (and my amazing skills, of course) would make such a beautiful piece of art.
We started working right away. For two months, I dedicated my life to game development. I had a freelancer job that took me about 6 hours a day and as soon as I finished with it, I started working on The Worst Grim Reaper.

I came up with amazing ideas to deal with the complicated mechanics of the game. I was so proud.

However, this game wasn’t always the same.

When Benis arrived, he brought all these amazing ideas with him which slowly started changing the game here and there. After a month, I was working on a completely different game. So different it would’ve been a good idea to just start a new project. This means that about two months after starting development, I had written code for a game that didn’t exist anymore. And it was a lot of code. It was two months of code.

Of course, most of what I had made still worked and some things still were useful and we’re always in a rush, so I never deleted anything. Actually, I kept working on top of it.
The game is currently over 10.000 lines of code. And all of them are chaos.

No happy ending and no lesson learned. Time needed to be saved and depression started beating me down again, it would’ve taken me months to remake everything.

There is a good thing, though. The game evolved to become a better version of itself and, in my experience as a game developer, that’s priceless. I worked on too many projects that weren’t finished because we ran out of ideas and these Marks come up with about ten thousand new ideas every time we skype (on Discord).

I’m so happy to be working on this thing, and I’m sure you will love it as much as I do.

© 2019 Moon Moon Moon

Theme by Anders NorenUp ↑