Hello fellow devs and jammers!
First up, I’ll be posting breakdowns of the most interesting things I learned in Substance Designer on this Youtube channel later, so click that link and subscribe if you’d like to know more!
During the first weekend of October (2nd – 4th), I attended the King Game Jam, which was run in cooperation with Game Jam Stockholm. As far as jams go, this is definitely on my top two list, and I’ve been to a lot of jams!
The first thought you may have is “I don’t have any friends who are interested in game development, can I go alone?”
Well, I went alone this time. Without the comforting embrace of a friendly coder, it was my first time not knowing whether a game would be finished or not, scary? Yes, exhilarating? Very much so!
In other words, if you don’t have any friends, go alone! The things you regret are the tings you don’t do!
I’m no expert (it’s very difficult to jam for 10.000 hours), but I’ve attended many jams since my first one back in 09 and I’ll try to include as much useful information as possible in this post.
Building your team
When the team building process starts, it’s important to try and find someone who possesses the skills you do not, as artist you’ll want to find a coder and vise versa.
You will also want to take into consideration what your goals for the jam are, is it to learn something new, connect with new people, create a game based on the unknown topic, or to plain and simply have fun?
In all of these instances, what I do, and this is the main idea I want you to take away from this post, select your jam-project based not upon the base idea of the game, but what you, yourself, will take away from it.
What!? You say, the idea is the most important part! Yes, and no, if your plan was to prototype an idea of your own, or you can only enjoy yourself if you’re working on an idea that inspires you, simply disregard this advice.
However, take into consideration that even if you are an amazing 3D artist looking to speed model a paleo-world, the team creating Dusty the Dino’s Sweeping Adventures might want to go with 2D, maybe you want to explore Unreal but the team wants to use Unity.
If speed modeling was your plan, maybe moving over to the group creating Mr. Generic, the Unreal Shooter Saga and creating scaffolding for their post-apocalyptic world will be a more rewarding experience for you. You could even ask them if they’d consider placing the game in a lush forest instead!
Then again, maybe not, maybe this is your chance to finally prototype that idea you’ve had in the back of your mind for the better part of a decade, I mean, no matter the theme, you can make it fit! I’m not saying it’s not worth a try, but unless you bring your own team, don’t count on this happening, and if it doesn’t let it go.
My King Jam team
My goal with the jam was simple, I wanted to learn something new, with a recently downloaded trial of Substance Designer on my hard drive, what mattered most was getting into a group who would utilize either Unreal Engine 4 or Unity 5.
During the idea spawning process I came across Chris, a fellow technical artist, he had an idea for a car survival game using Unity 5, with him not minding doing most of the coding, and being fine with whatever art-style would come out of my substancing, we decided to team up.
Whilst spawning ideas for the game, we were approached by Joel, my personal mesh-maker and Leo the car scripter. With that, I at least, felt we had a full team.
To be honest, I hoped no one else would join us at this point, five, I’ve found is the breaking limit for not having one person spend half of the jam scurrying about and micro-managing everyone else. Additionally, we didn’t have access to a team license and my previous dealings with Git told me that even five in this case, would be too many.
This is an important step in any project, no less so at a jam, this may only take 15 minutes and shouldn’t be allowed to take more than 1 hour, but in the end, you’ll be happy you did it. Telling an artist to just create more rocks while trying to figure out why your for loop has unreachable code won’t be good for anyone, least of all the game as a whole.
We headed off into an empty corner and using post-its, we created a to-do list for each and everyone. With assets and tasks enough to fill at least 72 hours of work per person, we decided upon the order of importance and set our first deadline.
By now it was quite late and we decided that a first semi-playable would be created by 01:00 (1AM), that is, three hours later and 1 hour before the jam-site closed down for the night.
Try to create a few deadlines for which you will have a working prototype with everyone’s content up to that point, make sure to synchronize your projects as often as needed, it’s more often than you think! Even if it takes some time, I have on more than one occasion experienced a final build which lacked a lot of graphical content. Others where features developed on different machines break the entire game completely, leaving something barely playable or even completely broken to be submitted or shown.
We had decided upon working in a way that allowed coders to code and artists to art with minimum interaction. Since I barely talked to the coders until the final integration, I’m not really going to cover that part, I’ll just say that they did a great job and finished everything that was needed for a functioning project on time!
With that said, it should come as no surprise that the first semi-playable was finished before we packed up for the night, we were all pretty stoked to continue on the following day.
Over the course of the next day, while things were going really well, I noticed that no one else was using my updated substances, this wasn’t a problem in itself but when it wasn’t around in our noon build, I brought it up.
It was at this time we realized that Git didn’t work at all, a lot of code had been lost and none of the graphical content was ever updated, if the first version itself, at all, made it into the others’ projects.
With Git not working we became sloppy, we made sure art worked in one project and the code in another. Because of this we broke one of the (or at least my own) sacred rules of jamming, we waited until the very last moment to merge all assets, levels and code. This lead to the final version being uploaded lacking a lot of art as well as the final beautification pass, it’s sad, but those are the rules.
There’s a what went well and what didn’t section below, as well as a link to the final game. Check it out, it looks a lot better!
My Jam or Substance Designer
After a few hours of putting the MESS in messing around the night before, I had started to get my head around how Substance Designer works, it feels in some way as if this program was made for technical artists.
Watching the nodes come together, add some functions to extend their usefulness further and all of a sudden, I had my first dessert/dune material.
(Dune breakdown video here but also on the Youtube channel.)
Yes, it is a bit much, my plan at this point was to do some shader magic inside of Unity later, to blend this into a calmer, flatter sand material.
As it so happened, with barely any time to spare on shaders, I decided to add some variation inside of Substance Designer instead, here’s the final substance.
In a game, nothing is more important than its rocks, screen shots of rocks can make or break any AAA ad camping, imagine what it can do to your indie/jam game! This is true, you read it here, on the internet.
I started off by creating a simple rock, sculpted in zBrush, opted using Decimation Master and UVed using UV Master. A grand total of 15 minutes later I threw the low and high poly meshes into Substance Designer. Within seconds I had baked a Normal, World Normal and SVG from UVs map (I’ll explain this in my rock break down on my YouTube channel).
To get the edge wear I simply plugged my normal map into a create curvature map node and voila, perfection.
With these maps as my base I created a simple substance which we would be able to hue shift, select amount of edge wear as well as over all dirt levels of, inside of Unity.
I’ll come back to this in a future post called Substances vs/and Shaders .
What better way is there to signify the destruction of a world than overflowing it with magma? None that I can think of, up next therefore, was an ocean of fiery death.
Creating a first draft didn’t take very long, much thanks to the way you can easily screen grab gradients without having to import anything into substance designer, that is just wonderful.
The image is an approximation from Substance Designer as I didn’t keep the original broken file inside of Unity.
With this substance however I got some major issues, I’d opted for using the noise node Cell 3, to get something nice, semi-realistic, and more importantly, visually pleasing in a short amount of time.
Images are approximations from Substance Designer as I didn’t keep the original broken files inside of Unity.
The image to the right is set to 1024×1024 and the one to the left was put to 512×512, while the darker of the two has a certain charm to it, I mean, imagine driving around on a field of barely cooled down Planet Melt™, the second one looks awful and none of them look anything like the preview in Substance Designer.
I made a quick adjustment, above you can see the difference in the graphs, and below is the new look inside of Substance Designer, a lot better!
(By now you should know that there will be a breakdown of this asap on my Youtube channel).
The impact crater had to look good on a flat plane, yet sell the fact that there was a depth to it, I asked Joel to create a quick normal map i zBrush, I wasn’t positive creating a something like this would be easily doable for this inexperience Substance Design user.
While it turned out creating this deep crater in Substance Designer was possible, Joel’s normal map made the graph more manageable inside of Unity.
As you can clearly see in game, we decided that we wanted the craters to add to the difficulty of traversing the terrain, so instead of a plane, a convex mesh is used to give us some extra bumps.
This created the adverse effect of the car getting stuck when a direct hit was scored, jam-style we instantly decided this to be a feature, a car hit by a meteor should be all rights be destroyed, now instead you are welded to the ground until the magma turns into sand, this may still kill you but then again, tell me, do you want to live forever?!
Really!? Yes YouTube!!! Channel… Subscribe to it, don’t you want to learn stuff!?
I treated the title screen like any classic 2D artwork, getting a basic composition down before fleshing the scene out, well… Sort of at least. There wasn’t time for any new content, with Substance Designer however this isn’t an issue. The textures inside of the imported Substances are easily accessible, therefore creating new versions with edited tiling or without alpha etc is not a problem.
After placing all assets, it was just about placing some additional particles and using semi transparent planes to add darkness and light wherever that felt necessary.
Next up was one of my favorite parts, lighting, post-processing and color tweaking, there’s not really a lot going on, a single directional light, AO, DoF, and a single reflection probe with an extra magma plane upside down high up in the air to add some extra red ambient lighting.
Lighting the Game World
With the title screen done, this didn’t take long, drag and drop prefabs containing the camera and lights etc, tweak DoF add some motion blur, make sure it runs smoothly on my ancient laptop and voila, beautificated.
While this is usually where I enjoy spending my extra hours, I barely had any time for it this time around. Might be for the best, I no longer have access to FumeFX and it’s not as if my laptop could handle even the simplest simulation.
I sent some fire I had laying around to Chris and he created some really nice nitro and impact effects from them!
With the post running on for way too long, let’s get to the
The game -> Desert King <- was born, here’s a -> downloadable <- version (for PC) as well, ’cause no one likes 128×128 web textures.
What went well
Creating the game was a lot of fun!
I think everyone was really happy with what we managed to create in 48 hours. We also managed to get enough sleep to stay human, this made for a nice change.
Everyone had something to do at all times and enough knowledge of either coding or art asset creating to be of use to the team.
King’s office has the best coffee in the city, there was also Vitamin Well, Vitamin Well now has carb-free versions and we were fed! Lovely beyond words.
What went worse
Playing the game isn’t as much fun as the creating part.
Trying to use Git was a terrible experience, again, I’ve tried it in three projects and and while coders are semi-happy most of the time, assets in the form of textures, meshes, materials, you name it… never had it work well enough.
If you know of a way, send me a mail on how to make it work for real! If I manage to get it to work as well as the old Unity asset server, I swear that I’ll create a video to spread the word of Git.
Send me a mail or leave a message on YouTube/Facebook and I’ll get back to you asap.
Hope you enjoyed the read!