Search Unity

A PSA to Beginners to Unity (and the game industry)

Discussion in 'Getting Started' started by awesomedata, Oct 2, 2020.

  1. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    A PSA to Beginners to Unity (and the game industry)


    You will not be able to rely on forums (or other users) to answer your (very specific) questions for you.

    People are genuinely busy -- This is not personal.
    The reason is that you are asking (professionals) for their years of experience -- in a nutshell -- for free.
    No matter your expertise, experience is a very difficult thing to package up -- even for the best of us.
    But some still make the effort. And so should you.

    As a courtesy to anyone in the industry you might need to ask for help, do the following first:

    Look up everything yourself -- and do it as if nobody will ever help you.
    This is for two reasons:
    1. You will probably have to do this anyway.
      More specifically, to have any chance at getting help, you need to speak intelligently on the subject. And the only way to do that is to know something about the subject you are trying to speak on (so you can ask specific questions about it -- and you can't do that without knowing something about it.)
    2. So that you can get used to it.
      Because, unless you're a major corporation / AAA developer, you have to rely on this skill for practically everything you'll ever want to do in Unity. Again, this is a skill (not luck), so best learn it early. You will have to face disappointment constantly. You will be alone. You will likely not find ANY documentation or youtube videos to help you with your (very specific) problems. So, rather than watching tutorials or having someone show you "step-by-step", it's best to learn things more generally anyway. And there are no shortcuts to this kind of learning. So don't expect anyone on the forums to hold your hand on that kind of thing either -- most of them are still learning, and just aren't yet comfortable enough to offer a solution. Learning this way is slow, and many give up early. You'll have to deal with this loneliness and frustration constantly. Except for professionals who (graciously) lend their time, you are on your own.

    There's a reason everyone cites for this phenomenon (if you're curious):


    The general consensus in the industry is: "Making games is hard. If you can't figure out how to do stuff on your own, you probably shouldn't be doing it."




    Elitism in the Games Industry


    While I disagree with the inherent elitism vibes built into the above line of reasoning (as well as the delusion that the person in need of help isn't somehow a human, just like them, in need of a little help to fulfill their dreams and ambitions - just like the 'elite' were at one time until they gave up asking for help for one reason or another, most likely because they didn't actually _receive_ it), I still feel there is a small hint of truth to that thinking that gets lost in the distorted reasoning.
    There are many many people who feel "entitled" to others' time and experience. But as we all get older, time becomes more valuable to us, and experience gets harder to fit in a neat little package -- even when it is unpacked (which takes a lot of time!) So in order to maximize time (or sometimes it's just out of sheer exhaustion), many experienced people find a way to dismiss others in order to save themselves time (and/or heartache -- for example when the other person doesn't heed their advice, which happens very often). And when you can't listen to others -- you are likely heading down a terrible path in life already and no amount of interactions on a forum can save you from yourself. Listening is extremely important -- no matter how much we know (or 'think' we know) -- and the older we get, the more often we feel the world really is not listening to us. There is obviously bias and jadedness in that sentiment, but as it stands now, it is "true enough", and it is such sentiments that you'll be dealing with constantly in this industry -- especially if you are independent.


    AAA developers have less of a hard time in this area -- but they also have less "time" in general, not to mention a lot of them are stuck behind NDAs (non-disclosure agreements) that they have to be careful about breaking, so it's best for them to stay silent, rather than sharing how they solved a particular set of problems to help out the "little guy" like you.
    You definitely pay for your independence as an "indie" developer.
    The costs are still not well known -- but lack of knowledge / proficiency is definitely one of them. However, the amount of time it takes to gain that proficiency is probably the worst cost.




    The Asset Store - (And You)


    We are constantly "reinventing the wheel" as indies -- and the Asset Store clearly demonstrates the cruel and capitalistic ramifications of that fact. The Asset Store would be great for getting "cutting-edge" technology that Unity itself lacks. But the reality is -- after a while -- you'll realize, most of the technology there is far from "cutting-edge" -- it is only marketed as being so. This hidden fact hurts indies who believe that the Asset Store is actually the answer to the "lack of experience/proficiency" they face every day. If they throw money at the problem (rather than facing it themselves), their non-stop development problems will magically "go away" when they purchase enough stuff.
    While this idea is alluring, and while there are many helpful assets on the Asset Store that will honestly save you a LOT of time, there are still smarter ways to use the Asset Store than we might initially expect. However, the dumbest way to use the Asset Store (which more aligns with the scope of this article), is to truly expect it to solve your biggest programming needs and challenges.

    The reason for this is not the Asset Store itself -- but actually in the fact that tool developers don't know how to develop artist/designer-friendly tools (or more specifically -- workflows). You often have a great programmer designing these tools who can program just about anything -- but being a great programmer doesn't make you a great UX designer. Or a good listener.
    Independent developers are often out loads of money because the author himself doesn't believe you "need" a feature, or promises to deliver it -- and then fails to do so (or delivers something else instead). This is often unavoidable, and is something you should really remember when purchasing expensive technology from the Asset Store -- even when it has plenty of 5-star reviews.

    As a personal example of what I mean -- I paid $50 for a "world streaming" solution years ago, only for the author to use that $50 to hire someone else (this year) to reprogram the asset with a (usable) interface. I bought the "new" version for another $50 and came to realize that the "new" asset he's charging $50 for (version 2.0) is actually the same "old" asset, just with a new coat of paint and one (very specialized) feature made explicitly to help him sell more of his tree-model assets. I am now out $100 -- and I still have to program my own streaming solution (after years of waiting for the few features I need in the workflow -- i.e. imposter support). Thankfully I was working on a very low-priority project and that I know how to program my own tools / streaming solution -- however, I am a very busy person, and so to save a bit of time, I made an easy (and very common) mistake of trusting that the author's intentions were the same as mine (i.e. a great, highly-usable, tool) -- but he just wanted to sell more assets. So you live and you learn. Sadly, this is a very common user story though, so please don't take it as complaining -- These are just the facts.

    Technology is a bit of a mixed-bag on the Asset Store, but _art_ is where it's at (because it can be modified). However, you should be careful there too -- if something is extremely high-quality and sold at a moderately-high price, it is possible that it has been ripped-off from somewhere. I've seen both models and animations fitting the bill here -- and they're still being sold on the Asset Store. So be very wary of copyright issues, and when making a game based entirely on (unmodified) assets. -- Be sure you can heavily modify them first! In a pinch, this _may_ get you out of hot-water with some independent artists -- or some AAA developer's legal team.




    So it's not all just Fun and Games?


    After reading the above, you will be hard-pressed to not be scared out of your mind of the many hurdles that you will have to be mindful. Game development is a long and dangerous journey. You will be alone. You will be stressed and frustrated. And all of this to create a "game" that's supposed to be "fun"? -- Looking at that world view, it's amazing how any indie game is still "fun" at the end of the day.
    But the truth is -- those who find the right mindset are usually pretty positive people, who see the "challenges" as "opportunities". In other words, they don't say: "Aw.. I have to do that??" -- They say: "Wow!! I get to do that!!"

    To be successful, you have to have someone standing behind you -- someone to get your back. Someone who is as passionate about your success as you are. This is usually your team. But a good team doesn't come out of nowhere. In AAA circles, you are very lucky as this is usually provided for you. In most cases, independent developers be warned -- this has to be you -- getting your own back. Standing behind yourself -- when nobody else will.

    If you can't do that -- then you won't succeed.
    You have to have fun making games -- even when all the "fun" has run out.




    The Beginner's Lie


    "How?" you might ask.

    Nobody tells you how to do this -- How to have "fun" when all the "fun" has run out. Nobody tells you that this is even possible -- much less that you HAVE to do this in the first place. Most beginners just poke around at stuff and think "huh. programming/art is fun, not hard. I can make games." -- Their next step is to download Unity and expect to make AAA titles like Ori and the Blind Forest or WhateverTheLastHugelyPopularFPSwas. But the truth is -- There's a gap in our thinking. A MAJOR gap.

    "How?"

    The less we think about that question, the better we feel as beginners -- BUT this a lie. This part is the most important part of the process. Thinking about this question requires us to ponder every single step of the process, as well as what hurdles we might face along the way, including our own shortcomings -- and this scares the hell out of almost anyone. Those shortcomings are HUGE -- and inevitable -- and affect the entire plan, down to the very process (and scope) of the game's development, down to the individual choices that guide every single aspect of the game! If there is some fundamental problem or shortcoming in yourself -- it affects ALL of that, since it's you who is the BOSS of everything. Unlike art or game design, you can't just copy/paste who you are! -- You can learn a few new skills, but who you are is all you have to work with. It's why no other studio could make Metroid Prime -- and why no other company can make Zelda but Nintendo. You are simply stuck with your strengths and weaknesses -- the good and the bad. Even with a skilled team, you can't "fix" who you are. So who you are better be badass from the outset, right??

    Wrong.
    In fact -- The one thing you need to always remember is that weakness can be strength.
    But only if you let it be.
    When I was a pixel artist, I learned how powerful limitations can be. I had millions of colors at my disposal, but I still managed to make the guy you see below use only 3 color indexes (4, if you include outline, which would be transparent on the NES) and a "colorful" tree, which including background/trunk/leaves/grass, is only 10 separate color indexes (which probably still could have been displayed on the NES) -- and, arguably, these both still look okay:







    Love Your Shortcomings


    Chances are, you find it hard to forgive your own shortcomings.
    But I propose a new way of thinking about them:

    "A shortcoming is nothing more than a self-imposed restriction."

    A restriction (or self-imposed limitation), which is no different than the number of colors in a sprite.
    As you can see, some sprites can look great with only 3 colors -- others need 10. The trick is, if you're a 3-color guy, use only 3 colors. 10 color tree? Use your full range if you desire -- but why not only use 5, or even 3 in some places? -- Why always push for 12 or 16 colors? (Metaphorically-speaking of course).
    If you have difficult restrictions / limitations -- why not just make them part of the plan?
    Limitations can be fun.

    When you're bound by limitations, why not push back? -- Why not own them and make them yours?
    Even if they prove unpopular, at least you'll know where (and what) they affect, better than anyone else -- and this knowledge lets you act on them and use those tendencies to your advantage -- instead of letting them exist only to destroy you.

    Besides -- forgiving yourself for your shortcomings is important.
    We should all do this more.
    So. Stand beside yourself -- and be your own advocate.



    In Closing

    I am sharing this because I too was a beginner once, both at games -- and at life. I always wished somebody would have shared this stuff with me when I was going through my own journey -- It took years to fully understand what was going on (in the industry and in myself), and some people who have been in the industry longer than I have still don't have a full enough grasp of this problem to prevent it. Therefore, I am spelling it out to you so you can have that helping hand that I wish I had in the beginning -- and maybe be able to one day offer a hand to others who need it too.
    Even while being your own advocate, never forget -- Others are rooting for you too!
    I wouldn't have written this if I felt any other way!

    So please take my words to heart. They might help you one day -- in game development -- or in life. :)

    You are the future of game development -- and the industry.

    Good luck on your journey.
     
  2. Vryken

    Vryken

    Joined:
    Jan 23, 2018
    Posts:
    2,106
    Well said, especially the part about the asset store.

    There have been a few cases where I've seen threads started by users stating that they're brand new to Unity & programming in general, but they've already spent hundreds on stuff from the asset store, and unsurprisingly, they still didn't know what to do next.

    Assets on the store are great for speeding up your development workflow, but they won't help if you don't know what that workflow is in the first place.
    You still need to know what you want to make, and how you will go about making it. Assets are just tools to help you make what you want, but they won't make it for you.

    And just in general, it's never a good idea to splurge a ton of money on anything you've just started learning; you're still at the stage where you're not even sure if you want to keep pursuing that path yet.
     
    awesomedata and vfn4i83 like this.
  3. Schneider21

    Schneider21

    Joined:
    Feb 6, 2014
    Posts:
    3,512
    I think a big contributing factor is a lot of people that run into problems all the time are the ones that already committed emotionally to making a game / being a professional game developer that they become frustrated when it doesn't manifest quickly enough.

    With how much information is available online, and how connected the world is, there are so many things you can do simply if you just decide to do them and spend a bit of money. You want to be a Twitch streamer? Buy a fancy microphone, webcam, and a GT-Racing chair, sign up for a Twitch account, and boom -- you're a streamer. Want to take up painting? Buy some brushes, canvas, and paints, watch some YouTube videos and follow along, and boom -- you're a painter.

    Game development is similar... except it's a TON of disciplines all rolled into one term. You need to be able to problem solve. Learn a programming language and the logic of the programming process. Understand physics and basic math (sometimes even complex math!). Know enough about art to make appealing content, and understand the theory of art to make compelling content. Be competent with sound design, properties, and terminology. And UX. And maybe storytelling or writing. And you have to come up with ideas and know how to tell when something's fun...

    It's so much to take in, and it takes quite a bit of time to learn how to do everything well enough to be able to actually put a game together by yourself. Or to become highly proficient in one or two of those things so that you can apply for jobs (but you still need that portfolio, so you gotta figure out the other stuff somehow anyway!) and have any hope of success.

    If I start streaming and find out it's way more stressful than I realizied, or I start painting and my first few paintings are garbo and were a slog to finish, I can just quit at any time and I still have something to show for it. I did that thing. Whereas with game development, many of us wouldn't say we actually completed the task until we've actually made a game (for some it's different, of course. some are happy making tool sets that other game devs use, or maybe just do it for fun tinkering with no interest in finishing and releasing projects). So if we spend all that time trying to do something, and then quit before doing that, we'll be leaving unfulfilled. The natural tendency in those situations is to push forward through those situations to avoid losing the invested time. And that's when we find ourselves stuck in misery.

    The thing is... it takes time. There is no real substitute or shortcut for experience. It's not enough to have just done something. It takes doing it well, and doing it enough times to sew it into the fabric of your mind. Where the technical and practical element of what you're doing can fade into the background a bit, allowing you more cognitive function to push your craft forward.

    Best advice I have is that if you want it, you can do it. But you have to stick with it, give it your complete attention and exert your maximum in effort.
     
  4. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    This is a great point.

    With technique and experience, one can let the cognitive side of things fade away a bit and just be creative.

    However, I want to offer a bit of perspective on just how long (basic) skills take for the average person to learn:

    Starting off, you need to learn to draw and concept, then paint in some form, then tweak colors/designs, then animate, then model (or at least tweak them), then rig 3d models (or tweak them), then animate/UV them (or tweak them), then learn about shaders (and be able to tweak them), then learn about particle systems (and how to creatively use them), then learn how to design 3d architectural spaces/concepts, then design and then light 3d spaces, then make those 3d spaces practical/fun for gameplay, then learn how to write and structure stories, and then how to write good dialogue, then 3d math, then how to actually program, then how to program with that math, then how to structure your programs, then how to structure your programs (as systems) for your particular game, then how to design and lay out the systems for use in designing the gameplay structure for that particular game, then how to handle the audio, then how to handle music and atmosphere, and then how to amplify moods through visuals/audio, and how to ensure these are consistent with (and amplify) an overall visual style, then how to handle the nuances of audio/visual/motion in order to enhance visual design and graphical appeal, then learn about video file formats / encoding to make videos to promote your game one day, then be excited enough to handle marketing and distribution models -- and guess what? -- we haven't even talked about how to actually _design_ the damn game yet.
    Oh, and god forbid you want to go multiplayer. Get ready to learn more about game design, technology, customer-service and retention, marketing, network architecture, and yes -- even business/revenue models -- than you ever thought you wanted to know.
    Game development isn't for the faint of heart. Yet -- this is what it actually takes to be a professional.

    If time is something you want to devote, and a varied skill set is something you desire above all else -- you might just be on your way to being a real game designer.


    Indeed.

    After reading the above (non-exhaustive) list of just some (basic) requirements of an indie game designer's knowledge, you will probably come to understand (at least on a surface level) whether the amount of work, time, and effort really is worth it to you -- or not -- pretty quickly.
    It is CRITICAL that you listen to this feeling -- It can save you YEARS of pain.
    It's easy to be passionate about making games and ignore naysayers like me -- But the tools to create games are still very far from being "fun" to work with (though they are getting there). However, there are still plenty of things that are NOT fun about game development (and never will be). For example, there is no replacement for direct experience and learning. If you don't enjoy giving away your time (for free), you probably won't enjoy game development. You could have been a full-on doctor (PhD) by the time you 'get' the basics of game design. Guaranteed to be making lots more money too. So don't abandon your common-sense. Know when something is NOT for you -- and when it actually is.



    This is scary. -- I've seen it too.


    A word of advice if this is you:

    If you think making games is "easy" because you can simply go on the Asset Store and buy and "re-skin" a game somebody else made, then sell it on the iOS store -- think again.
    Thousands of other people have the same 'new' idea each and every day. There is no shortcut to a good game design. So don't waste your money. This is a limited market at best, and even if you can "release more games" with this method -- you are just saturating an already extremely crowded market that could actually have a lot more value (if less "games" were on it.)
    You're actually better-off developing a legit (well-designed) title and releasing it on a console through a publisher who eats your lunch (and steals your money) than wasting your life on that kind of game/market.
    But if this is not your goal, and you're using the Asset Store to buy tools/assets to make a "real" game of your very own, remember that most people waste more money "playing" with the stuff they buy on those stores than they ever get out of actually using the stuff for a genuine project. So do be mindful of this, as using Assets effectively can definitely steer you in the right direction -- but they can also become a crutch for your own lack of proficiency and/or motivation.

    Just be sure you can always tell the difference -- between saving time -- and saving face.

    Great art/technology won't save a bad developer.
     
    adamgolden likes this.
  5. adamgolden

    adamgolden

    Joined:
    Jun 17, 2019
    Posts:
    1,555
    The struggle is worth the elation. The longer you've worked at getting something to work, the better it feels to see it manifest.. absolutely indescribable to anyone who can't relate - to feel shortness of breath, a rush, joy, pride, it's working... it's really working! I can't believe this... look at this!!! I did it!!!!!! The contrast of that, with how it felt at times along the way. I can think of nothing else in life comparable to how something as seemingly devoid of emotion as software development might appear being responsible for such a rich and full spectrum of emotion.

    And ..to more experienced developers - don't be surprised when you find you've underestimated yourself by seeing a well-promoted asset and thinking along the lines of "it must be so heavily optimized after being around for so long and having this many great reviews and so many comments. I'd just be reinventing the wheel.. and it's even on sale!" Only to realize while reviewing what you've purchased, your own approach was already better, and you've just wasted your money on a flat tire that's beyond repair. Again! Not to say there aren't some absolutely fantastic assets, the store is literally teeming with genius.. but don't expect something to be great just because it made it through the review process to get published there. The bar might be "it works" - but so do flat tires :D
     
  6. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    11,847
    Very excellent post. It should become a sticky. There's two topics I want to offer my own opinion on.

    The Asset Store - Expect to effectively waste at least 2 out of every 3 dollars you spend on the store, probably more. This will be for various reasons. The game you're making with those assets, you put aside or redesign those assets out. Maybe the asset doesn't meet your performance requirements, or it works fine but doesn't meet your very specific use case. You may just need to try out several similar assets to find the one that works best.

    Any asset you do use, you will almost certainly need to modify in some way. For code assets you'll do it to add needed functionality, or to fix a bug you find, or to improve on its performance. Since by programming's very nature you're using the asset differently in some manner than the asset developer and other users are, you'll run into issues unique to what you are doing as well, and you're most likely going to need to fix them yourself.

    So don't buy code assets if you're not able to self support, and don't buy things on the store if you can't tolerate a good deal of waste. That's just the facts.

    The Beginner's Lie - One thing I keep seeing thrown around by beginners who don't understand what they are really getting into is "I thought Unity was newbie friendly." It is, but is not at the same time.

    I think these people have a misconception of what Unity really is, and what being friendly to beginners really means. It doesn't mean everything just works. It doesn't mean making a game is in any way turn key. Unity is a tool intended for professional game developers, and professional tools are always more complicated and difficult than their consumer grade counterparts. Unity is beginner friendly only compared to other professional level game engines, but is considerably more difficult and complicated compared to many engines targeting non-professionals.
     
    Last edited: Oct 7, 2020
    JoeStrout and adamgolden like this.