So far I made the bulk of my games with Phaser.js + Photoshop. Simple stuff, good enough graphics for html5 games. But as I'm considering (and working) on larger projects I feel the need for better, more advanced tools.
Oh boy, those curves. Those beautiful animation curves.
Are you in a similar position where you're unhappy with your current pipeline? Here are the changes I'm making (and I hope you'll draw some precious insights for yourself):
The most important piece of the puzzle. Bashing code in .js and having the game refresh in the browser is cool. Using console.log to debug (and visualize your game) is not.
The biggest two options for 2d games are hands down Godot and Unity. While at first I was tempted to go with the classic Unity I said to myself that I'll give Godot a quick run at least. And Godot has surprised me so pleasantly
that I've decided to use IT instead of Unity.
It feels lighter, more elegant, more concise and even MORE POWERFUL. Yes, nodes and animate everything. Not to mention the easy and fast to use GDScript.
C# is a beautiful language but I feel that it makes development somewhat cumbersome with all that OOP syntax. Probably good for LARGE projects but small-medium games can do just fine without it.
Godot game engine.
Terrains are almost in every 2d/3d game. In my opinion terrains are a very important piece of the game environment.
Photoshop is good at many things but creating amazing 2d terrain isn't one of those things. Sure, you can paint it by hand. Sure, you can generate a black&white noise/cloud and use that as your heightmap. Decent alternatives BUT there are better tools out there.
For simple terrain generation, I've considered L3DT, World Creator and Gaea. Ended up using Gaea because you can generate good results fast AND it's incredibly powerful and versatile.
For terrain rendering Vue and Terragen where the only serious contenders. I've choose Vue because like Gaea you can get good results fast. Terragen seems to have a steep learning curve and after all I DON'T have all the time in the world to learn everything.
Experimenting with Gaea color nodes.
Vue render after couple of days of using it.
Yes. I think fractals are underused in gamedev. Me, I can see fractals heavily as textures and why not, height maps.
I've sampled lots of fractal software (including the veteran Apophys which I've used in the past) and I've decided on 2 pieces of beautiful software: JWildfire and Mandelbulb 3d.
JWildfire has a SH*TLOAD of tweaking options and produces good looking results right from the start.
Fractal generated with 3 clicks and in 15 seconds.
4) 2d Animation
Ah, animation! My favouritest thing - although I'm not as good at it as I'd like.
This, this was a hard choice. Lots of good contenders: Adobe Animate, Moho, Spine, Asesprite, Toon Boom.
Moho especially was high on my list since I've used it before and recommended it to everyone.
But if I'm honest I kinda struggled with Moho. Drawing vectors is clunky. Importing complex vectors from Illustrator doesn't work. It is packed with a lot of great animation tools but the workflow doesn't feel as smooth as one would like.
So I've decided to go with Creature 2d. I still have to learn it but from what I can see it's a very interesting choice. It has even more tools than Moho and the workflow seems intuitive enough.
BONUS - (very important bonus) - it integrates with Godot (at least from what I read in the docs).
Here's some cool animations
other people made with it.
5) 2d Particles
This is a more specialized type of tool but I like to have options when it comes to particles.
I've tried Magic Particles, Timeline Fx and Particle Illusion. They are all very powerful but Timeline Fx is the easiest to start with.
6)General 3d application
Lots of good applications, lots. Sadly time is limited so I chose the obvious candidate: Cinema4d.
Easy to learn, powerful enough for almost anything you can throw at it in terms of gamedev.
I do intend to learn Houdini, Blender and Maya in the future as they all have some unique strengths. 3ds Max is not on my list because frankly I just didn't felt at ease in it.
7) 3d Sculpting application
Drums.....Zbrush. You knew that already, didn't you? Zbrush is the daddy of all 3d sculpting software out there.
Mudbox is decent enough. 3d Paint seems powerful. But Zbrush is just...Zbrush. So that's that.
8) 3d Texturing application
Painting in Zbrush can be painful.
That's why I decided to stick with Mudbox which allows for easy breazy painting. It's easy, very easy to get started with. And if Zbrush is too much for you Mudbox has decent 3d sculpting capabilities.
I've heard good things about Mari but no time for it now. https://preview.redd.it/erahzwujqzu41.jpg?width=960&format=pjpg&auto=webp&s=0e40f4f173f3a6910513b935db979d0859824255
9) Video Editing.
Believe or not there's a need for video editing in gamedev.
Trailers for once. Cinematics second. And why not even in-game backgrounds (Godot has Video Player node, yay). And Photoshop even lets you apply filters on videos. OHHH, I'm tingling thinking on what I can create with this much power. :P
While I love Adobe and the kickass products they make, Premiere fell as a choice in favour of DaVinci Resolve.
I'm a hipster at my core so I go against the grain by default (that's why I started using the Dvorak layout but it was a very wise decision ergonomically speaking). :)
But seriously, Resolve is fking awesome. The interface seems more intuitive to me. It's powerful. It has all the tools you need for video editing in ONE PLACE whereas with Adobe you'd need external tools (After effects, Audition, etc).
It's just a very well rounded and performant piece of video editing software. Again, I'm not an expert but I can produce decent results fast with Resolve.
10) Video Compositing.
"REALLY? Video compositing....for games???"
Normally I'd agree. But there's a certain technique which allows for heavy customization (thus power) with animations exported from Vue which aren't possible in Vue.
Basically when you export your animation (with beautiful terrains and trees swaying in the wind) you can FURTHER make them look even better with a compositing software by using various masks.
You can check out this video
to see what I'm talking about.
Two big video compositing solutions are Fusion and Nuke. Fusion is integrated with Resolve so that's a plus. Properly importing exr's doesn't WORK (or at least I couldn't make it work) so that's a HUGE minus.
That's why I decided to stick with Nuke. It seems like a beautifully powerful beast and I can't wait to get my hands dirty with it. Ahh, the passion of game development and graphics creation.
11) Audio editing.
Nowadays having great audio in games is not an option, is basically a requirement.
There are a lot of costly (and powerful) DAW's out there but Reaper stole my heart. It's so pleasant to use. Feel intuitive. Powerful AF. I was up and running with Reaper in 30 minutes as a complete music NOOB. Not editing the audio for the next Gangnam Style mind you. But doing decent enough mixing and cutting.
And you can try it for free for an unlimited time if your budget is tight.
No, I didn't forget about Audacity. Although it's simpler it's also easier to get started with. Great for quick fixes, quick recording, etc.
12) 3d Renderers.
As a noob in 3d (although I am a 3d noob , even a 4d noob if I think about it and consider time) I did't thought at first much about renderers. You just fire up the render screen and go with the native solution, right?
Well, it seems the world of 3d renderers isn't as simple as you'd like. There are lots of options and usually these options are more powerful than the "stock" renderers that come with most 3d software.
Me, I've decided to stick with Corona. I haven't spent much time with it yet but from early experiments, it seems easy enough to set up and get going. Bonus - it works from Cinema 4d.
13) 3d Material Editors
Haven't decided yet on this one. Knald, Substance Painter and Shader Map all seem powerful. I'll probably go with Substance Painter since it's the most popular choice out there.
(I'll probably also use Filter Forge in paralel as it has a beautiful library of procedurally generated textures).
Default Filter Forge Alien texture.
14) Plant Creation Software
I love, I just love beautiful environments in games. And trees and plants play a BIG ROLE in achieving a great looking environment.
While you could create your trees and plants in general 3d software there's specialized software to help you.
On the left corner you have Speed Tree. I don't much about it but it seems geared towardds procedurally generated plants/trees.
On the right corner you have Plant Factory. I'm currently learning it and it seems geared towards hand drawn plants/trees.
AND THE WINNER IS......Plant Factory. I love the artistic freedom AND the UI is very similar to Vue so I can learn it so much faster.
Speed Tree, I'm sorry for your black eye but maybe you'll have another chance in the future.
15) Game writing and story.
I have one word for you - SCRIVENER. Forget about Word.
Scrivener is one of the best tools for writing. PERIOD. I use it to keep notes about a game's structure, plot, etc.
(If you're on linux you can get it for free
16) Coding IDE
I used to love Sublime Text. Many of you still probably use it to this day. But I kept hearing good things about VsCode OVER AND OVER. At the time my rig was almost as ancient as the Antikythera so VsCode didn't run smooth. But once I got some decent equipment I gave VsCode a try. Haven't looked back since. It just works, and it works well.
16) Extra 2d/3d tools.
There are lots of little useful utilities that'll just make your life MUCH EASIER.
Here's some that I used (or intend on using and learning):
a) SqCheck - great utility for checking your 2d animations. I almost always end up deleting the last one or two frames to make the animation snappier (but it would be hard to decide that in the animation software).
b) PixPlant - for creating tileable textures AND extracting 3d maps such as normals, bumps, etc from photos.
c) Topaz Gigapixel. This amazing software allows you to resize your photos with minimal loss of detail. Let's say you have a 512x512 pixel texture of an unicorn's skin. That's the only unicorn skin photo in existence BUT it's not big enough for your 3d objects. With Gigapixel you can resize it up to 4096x4096 (and more) and it'll still look good enough (as compared to Photoshop resize).
d) Colour Constructor. That's a new kid on the block BUT it's a smart kid. I only experimented a little with it and it seems promising. Basically it allows you to create a believable/realistic color scheme based on your ambiance and main light.
e) Color Schemer - hands down the best piece of software on Windows for scheming. Color scheming. My favourite feature is that you can open a photo and it will automatically extract a color palette for you (which you can furtherly customize).
f) Texture Packer. The texture packing solution you didn't know you needed. It'll pack those atlases so tight that not even a pixel will be wasted.
Color Schemer on windows.
Let's be honest, hardware can help IMMENSELY with game development. While you can make games (simple 2d) on a 10-15 year old pc, having a decent rig will make the process so much easier.
a) Decent Cpu. Ryzen is the name of the game. Cheap BUT Powerful enough for 10 times your game development needs. Currently I'm sporting a Ryzen 2600x and it covers all my computing needs wonderfully well.
b)Decent GPU. For a VERY long time I used to have an ancient GeForce 8400 GPU which made gamedev HARDER and my life miserable. While I didn't want to spent lots of $$$ on a fancy GPU I still decided to get at least a good entry level one. GTX 1050 Ti was (and still is) one of the best deals you can get in terms of GPU power. Sure, I'd love an RTX 2080 or even an RTX 2060. But this will do the job just fine and it won't deplete YOUR funds.
c) Graphic tablet. If you do even the smallest amount of graphic work you NEED a graphic tablet. Even if you can't draw for sh*t (not yeat at least I can't but It's high on the list of NEXT SKILLS to learn) it's still a very important piece of the puzzle.
Post processing in Photoshop, vector art in Illustrator and 3d sculpting are HARD to do well with a mouse. After lots of research I ended up buying XP-PEN Decor Pro Small (there's a bigger medium version too). According to some people it even beats a much more expensive Wacom. I don't know about that but so far it performs BEAUTIFULLY and it's well worth the $150 I spent buying it.
XP Pen Deco Pro
d) Midi Controller. I admit that I haven't actuall purchased one but I'm looking very hard towards M-Audio Keystation 49 III. It's cheap ($100), it has lots of keys (for it price range), it has a sustain port and it just makes sense.
While I'm not a big music man I play a little guitar and I can probably throw some quick game transitions in a DAW. Sure, I could just scrounge the internet for free SFX - there's plenty of places. But making your own SFX is just so much more rewarding and makes the game more personal.
I'm not even talking about advanced stuff - just simple sounds to play when a menu pops up or an event happens. Anyone can create these type of sounds with a midi controller and a decent DAW (and don't forget about a good sound pack such as Garritan Personal Orchestra or Garritan World Sounds).
e) Microphone to record SFX and for other purposes (such as vlog, game trailer, etc). I bought couple months ago a Superlux 205U and can only say good things about it. It's also very affordable.
f) A vertical mouse. If you don't have one aready, buy one now. Your hand isn't made of steel and RSI is a real danger if you're using a mouse ALL DAY, 6 days a week. At first I wanted to purchase an Assus MX but it is really pricey (~ $110). Luckily I found a Trust GXT 144 (~ $25) and the pain in my wrist IS GONE. YEAH!!! If I'll get my hands on a Kinesis I'll consider myself a very lucky basterd indeed.
g) An ergonomic chair. Sadly I can't afford a good one yet but I'm highly considering either an Ergohuman or an Embody. If you can afford one, buy now. Your back will thank you 10 years from now. (make sure to try it first).
As you can see it can get hairy fast behind the scenes when making a game. Lots of skills to learn, lots of software to get familiar with. Right now I'm barely at 30% knowledge for the above pipeline. I estimate that'll take me at least 1 more week to be decently familiar with most of the tools listed above.
I'll be honest - it can be a nasty grind sometimes to FORCE all this knowledge into your brain fast. But it is worth it. And if I can do it so can you. It's an investment that's going to pay itself a HUNDRED TIMES over if you're serious about gamedev as your career.
If you're curious about HOW I'm learning these programs fast, here are the steps:
- a )I start by watching the most basic tutorials out there and follow them. Half a day at most spent on that.
- b) Go through every menu and click every button even if I don't understand it completely. It helps me get familiar with the interface and get comfortable using that piece of software.
- c) Follow more advanced tutorials.
- d) Play with it on my own and try to create real world work.
- e) Very quick read up on the documentation to see if I missed something important.
This way I can learn decently even complex software in no more than 3-4 days. It helps if you have experience with other similar software. Also some will take more time to learn than others (mainly Cinema 4d and Godot).
I'm not becoming an expert ASAP but I'm getting plenty of foundational knowledge. As long as I have a solid basis I can learn the intricacies in time while working on lots of real projects - AND SO CAN YOU!
Don't get me wrong - it is a chunky time investment. BUT for me it's worth it because I'm serious about gamedev AND I want to be able to express myself more fully.
This is NOT the BEST gamedev (graphics) pipeline in the world. But as far as I'm concerned one can get started relatively fast with it. And it can be supplement later. What's important is to get THINGS MOVING, get something out there, FAST.
Boromir. Fun fact - in Romania there's a flour brand called Boromir.
Don't leave me yet!
If you liked this post you can follow me on Twitter
for more gamedev insights. You'll also be among the first to see how a game made with the above pipeline will look.
Wanna see more content like this?
You DON'T HAVE TOO, but you can buy me a cup of coffee on Patreon
if you're not tight on funds (or a bowl of tasty food for my cat Bijou. We work together on most games. :)) ). This way I'll be able to get YOU more gamedev insights.
Bijou the cat. Photo made with a potato, srry.
Am I missing something? Are there any other awesome pieces of software for gamedev I forgot to mention? Plz let me know in the comments below and forgive the typos above. Holy crap, I didn't intend to write this big ass post. I thought it would take me no more than 30 minutes. 4 hours have passed.