Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice

[Curiosity] Self-Taught Programmers

Discussion in 'General Discussion' started by zDemonhunter99, Jul 12, 2014.

  1. CarterG81

    CarterG81

    Joined:
    Jul 25, 2013
    Posts:
    1,773
    Thanks for creating this thread. I almost shed a tear when thinking about how grateful I am for things like GameFromScratch and GameInstitute. I don't often feel like this.

    People probably don't ever hear it, or ever realize it, but it would have been so much harder without those people helping us learn. People who write books, intellectuals who write articles, businesses who teach.

    God Bless all the teachers out there who help people to learn to fulfill their dreams.
     
  2. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,522
    Is this for someone new to Unity in particular or to game development in general?

    As someone fairly experienced in game development prior to coming to Unity, I found Unity a snap to pick up. I became competent in no time at all. As long as you already understand the fundamentals of your field there's no rocket science in Unity. That doesn't mean you'll have mastered it or that you'll be an expert, but you should be able to get most stuff done without significant trouble.

    On the other hand, regardless of your tools of choice, game development in general is a huge undertaking to learn. I've been at it for over a decade and I still feel like I'm just getting started.



    As far as wanting to do stuff as a one man team, I totally get that, and I've been doing it a lot for my personal projects of late. For Master Thief I worked with a team and it was great, though when I reflected on it I realised that there's a bunch of stuff I wanted to improve upon individually before I jumped into my next hobby* team project. With that in mind I strongly recommend doing both team and solo projects, because you'll learn different things from each, some of which you can't learn from the other.


    * I am of course also doing team projects 100% of the time at work.
     
    Last edited: Jul 16, 2014
    Stoven, zDemonhunter99 and CarterG81 like this.
  3. sothern101

    sothern101

    Joined:
    Jan 30, 2014
    Posts:
    28
    I am self taught. I've been learning Unity and still are all the time for about a year now. With my knowledge of JavaScript I have yet to under go a large project as the resources of certain knowledge (modelling, animation, ect) are just not there for me.
    Yet I have made a few small games, my first which I was fairly proud of back then sort of embarrasses me, which I hate to say. The Unity community has been a great help along my journey of learning, helping me out with hundreds of answers to problems and glithces that many like me, have come across.
    As a one man "company" I have wanted to extend my knowledge more and have started to learn 3d modelling which is really fun but also a challenge to learn.
    Thanks for reading if you did, and I hope you enjoyed my sort of story.
     
  4. CarterG81

    CarterG81

    Joined:
    Jul 25, 2013
    Posts:
    1,773
    For that snippet, I was just talking about Unity specifically.

    Some other game engines are much easier to pick up and understand. I'm sure some are more difficult as well (or don't provide any documentation at all, eww!)

    Unity has good documentation, but you have to study it for awhile and go through many tutorials to pick it up. It takes time. Without that documentation, it is horrific. Hell, even now, >90% of the interface I never even use to make games.

    It definitely could be improved to make it easier for new users to pick up Unity. I've had game engines or frameworks which were much more intuitive, software which you could understand the moment you were plopped down infront of it. Unity also being a complex game engine stretching to acquire multiple genres doesn't help either, as some of the benefits of other engines is that they focus on very specific types of games (for example, 2D engines which focus on platformers, compared to Unity which can be any 3D game, thousands of assets in the asset store, tons of tutorials making different genres, its own GUI system which is not hailed for its quality, and its new 2D functionality- all combined into a single engine).

    Perhaps you had prior experience with similar game engines, similar software, etc.? The more experience you have with software similar to Unity, I'm sure the easier it would be to pick it up. Or perhaps it was just built in a way for people who learn the way you do, but it's not so intuitive for other people who are different?

    Also, you have to take into consideration that one person's "no time at all" may mean a few days of full time work, while another's "3 months" may be casual for an hour or two every few days. I wanted to clarify that me saying "3 months" doesn't mean "40 hours a week for 3 months". In reality, it would probably take only a few days at MOST for anyone to pick up and understand, if they spent serious effort at work learning the engine and going through documentation and tutorials.

    I ponder as well about the entry requirements (hard work) required to pick up ANY engine. It takes time to learn the nuances of a specific engine. It is actually why I did NOT go with Torque2D MIT over Unity. I picked Unity because I knew it already, and didn't want to have to learn T2D, even though I preferred that engine. I chose Unity to save time, and learning a game engine takes time.

    The fact multiple people I've known have to go through a bit of a process and complain about the same things with Unity, just goes to show it is not easy for most people to simply pick up. The usability and interface definitely is one of the weakest aspects of the engine. I hear the same complaints very often from new users. Complaints different from other engines.

    Not to mention there are courses which are sold or given out exclusively to teach people how to use Unity to make video games. These wouldn't exist if it were so easy to pick up for anyone.

    Maybe I'm wrong, but I'm more likely to believe your personal experience helped you to pick up Unity faster than most people.
     
    Last edited: Jul 16, 2014
  5. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,522
    Well, for starters, yes, my prior experience absolutely did help, because my prior experience is where I learned about "game development in general". Before coming to Unity I'd written games from the ground up, made parts of a hobby engine for myself, used 3rd party engines and/or assembled 3rd party libraries together to make games. This meant that, to varying degrees, I had some experience in every area of a game engine's programming. So when I opened Unity I already knew what everything did and had some idea as to how to use it.

    And that, right there, is why I asked about the distinction between "game development in general" and "Unity in particular". If you have the "game development in general" part down then, I think at least, the basics of Unity are pretty self explanatory. It's just that "game development in general" is a huge topic.

    You mention that Unity could be easier to learn, but you're comparing it against stuff that isn't nearly as flexible - you mentioned 2D engines specifically made for platformers, for instance. The issue there is that it's not actually an equal comparison, because you're comparing a tool made to be specific against a tool made to be generic. There are certainly improvements that could be made to the interface, but generally speaking the only way to make it significantly more approachable would also make it able to do less stuff.

    It's kind of like comparing a sandwich press to a whole kitchen. It takes perhaps 5 minutes to learn all there is you can do with a sandwich press, but of course you can really only do one thing. To use a whole kitchen on the other hand, you have to know how to cook...

    The core of what Unity provides is actually some pretty textbook stuff in terms of component-oriented game engine architecture. It gives you a scene system, a fairly straightforward component architecture with some built-in components, and an Editor in which to assemble things. In my eyes at least, "learning Unity" is about understanding how to use and develop for Unity's versions of those things. The rest of what you have to learn isn't really specific to Unity at all, and is by far the bigger body of knowledge and experience.
     
  6. der_r

    der_r

    Joined:
    Mar 30, 2014
    Posts:
    259
    - Yeah, I'm self-taught. I started programming at 9 years old with QuickBasic after I fell in love with video games and wanted to know how to make them.

    - In my opinion, the basic concepts of Unity can be grasped pretty quickly, from both an artist's or a programmer's standpoint. There's tons of beginner's videos. Compared to other engines, there's also no real environment setup time and since so many languages are supported, you can just go with what you already know. I completed a first basic game the day I downloaded and installed it. And there's the great community. Answers and the Forums are two tabs I always keep opened. :)

    - With Unity, I'm using C#. I started out using JavaScript, but I really like working with Coroutines for AI and making player physics more interesting so I switched.

    [edit, forgot one question] - While I'm full-time "Indie", I'm not a full-time indie game developer. Because I wanted a flexible schedule, I took some time to build a business that provides the lifestyle necessary to be able to allocate time how I want, work from home and have enough time for family and working on games. While it's of course possible to make money with games, I figured if money is the goal, why not build a business first where the path to cash is quicker.

    - 29 yo
     
  7. CarterG81

    CarterG81

    Joined:
    Jul 25, 2013
    Posts:
    1,773
    So if you have so much experience that you can learn pretty much anything easily, then yea Unity is probably pretty easy to learn, I agree lol.

    That is probably about 0.00001% of new users who use Unity though. Seeing as how huge that topic is, I doubt the number of people who have significant experience in *everything* are in the majority :p


    Unity's own style of doing things definitely takes some understanding because of how different it is with the component based approach, but the interface in general is just not up to par. I believe on a Mac, small things like clicking the directory folders is a bit counter-intuitive, despite how simple it should be. It can be a bit frustrating. Needlessly with stuff like that.

    Still, not really a big deal. There's enough documentation to teach people to learn it very well after they spend some time with it. Then once you understand the whole thing, those weaknesses don't exist anymore. Competition, like Torque2D MIT, is also not the friendliest either. No idea how Unreal works, but I'm sure it's on par with some of the same weaknesses as well. Of course, I have no idea so that's just a crazy assumption.
     
  8. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,522
    Hehehe, oh how I wish I actually knew "everything". ;)

    I am far from a guru. I've never even written my own whole engine. If I were a Jedi that's the equivalent to not even having a lightsaber! What I had when starting with Unity was at least a basic understanding of each core area of the functionality required of a game engine, and that's something that every game worth their salt has to learn at some point or another anyway. How are you going to do your job well if you don't even know how the thing you're using actually works?

    As for Unity's "own style of doing things" and how "different" the component-based approach is... like I said, it's pretty textbook. I'm pretty sure that it's even one of the example object models discussed in Jason Gregory's Game Engine Architecture (just double checked, indeed it is - to be fair this book was published after Unity had been around for a bit, but I'm sure it's not the first place the concept is documented).

    By the way, I do highly recommend that book. (Though skimming bits of it again now I admit to thinking "woah, why would you say that?" based on what I've learned since first reading it.)


    So... is it really a weakness of the engine? Using the kitchen metaphor again, it's kind of like me saying I have a weak kitchen because I don't know how to make a bombe alaska. If I learn to make a bombe alaska later it's not the kitchen that has changed...
     
    der_r likes this.
  9. kaiyum

    kaiyum

    Joined:
    Nov 25, 2012
    Posts:
    686
    Short version:
    language experience: C, C++, C#, CGFX, mel, html, JS, php, mysql.
    Had slight test: responsible for raping my little psp-1000, directx/opengl/sdl, x64 and dcpu assembly, cuda, win32.
    Age: 25
    Background: Civil Engineering
    I had a 2.5 credit hour course on C++ programming back in university. So ya, apart from that, I am self taught.

    Total endeavor on programing madness: 2009-2014=5 years.
    Total endeavor on specifically game development: 2012(mid)-2014=1.5~2 years.
    Bear in mind, over this 1.5~2 years, I also had to continue university study and other disciplines of game industry, such as art creation(from concept to animated mesh with texture maps), sounds.
    Engine experience: ue(mid level), unity

    Game released: NONE. planned-dumped-planned.....goes on and on. I am a bit inclined to quality and you-know, big boys such as POP, GOW, castlevenia etc. Is this love for AAA gonna kill me?

    A word of advise: Apart from a very few exceptions, Official documentation is the best.

    Long version:
    Do you want a wall of text????!!!!!
     
    Stoven and zDemonhunter99 like this.
  10. zDemonhunter99

    zDemonhunter99

    Joined:
    Apr 23, 2014
    Posts:
    478
    Woah! Thank you for sharing your experiences and the amazing response guys! Damn, it looks like 70% of the indie developers are self taught. Well, that's a relief. (Phew) :p

    I feel enlightened. :D
     
    Stoven, kaiyum and CarterG81 like this.
  11. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,557
    I'm completely self-taught as well - I mean I took a couple computer classes as an elective, but learned absolutely nothing in those. The teacher would ask me when he didn't know the answer to other kids' questions haha. Like SteveB, I started on a Vic-20 when I was 10 (that's 30 years ago), then moved to a C-64, then an Amiga 500. After college I didn't touch a computer for about 7 years, then got into web development and had a real career instead of dead-end jobs for once.

    On Unity it took about 1.2 years for us to complete the first game (working about 20 hours a week), because we kept changing things constantly (couldn't stick to our original plan unfortunately), and the fact that systems we needed didn't exist to just buy on the Asset Store. So we also wrote the beginning of Master Audio and Core GameKit for that first game, then put them on the Unity Asset Store afterward and kept upgrading them.

    It was rather ambitious for a first game. I would suggest doing something much simpler at the beginning. Absolutely nothing wrong with being self-taught. I find that classes move too slowly for me. I also find that more often than not, self-taught programmers are more skilled than the average "started programming in college" 4-year degree-owning people.

    -B
     
  12. landon912

    landon912

    Joined:
    Nov 8, 2011
    Posts:
    1,579
    Super buggy? Maybe that's from your own code. Not Unity's.

    Plus, buying a JavaScript book is worthless for Unity, unless it's explicitly made for Unity. Otherwise, you're buying a book about webpages. Get a C# book or a UnityScript/Unity's JavaScript.
     
    angrypenguin likes this.
  13. Whippets

    Whippets

    Joined:
    Feb 28, 2013
    Posts:
    1,775
    This weeks thread necroing award goes to...
     
  14. BigRookGames

    BigRookGames

    Joined:
    Nov 24, 2014
    Posts:
    329
    Well.. since it was revived!

    Getting into game development was actually a result of me wanting to learn how to program for my career. I graduated with an electrical engineering degree and really hated my programming classes so didn't take learning it seriously, because I thought I would be working with power utilities and transmission and distribution for the rest of my life.

    A few years into my career I realized how valuable coding is for basically anyone and everyone in a technical field. I began to study in my free time just doing "Learn c++ in 30 days" type books and quickly got bored with the material. I've always been into games and one day stumbled upon a game dev vid and it clicked, that's how I can teach myself how to program. I proceeded to build a few games in c++ and getting a firm grasp on coding as a whole took probably about a year (this was 2010)

    After a few games I completed for fun and getting into the gamedev community online I switched over to XNA(C#), since 360 was my main console of choice. I had 3 releases on that console which was my own engine for the most part and moved to unity when I found out it would be used for Xbox one indies.

    I quickly found out how awesome Unity is, everything that I spent months and years developing in an engine was at my fingertips, available instantly within Unity.

    I would say it took about 2-4 weeks to get a firm grasp of Unity, i just went through the unity tutorials and Mike Geig's learn unity 3d in 24 hours book.

    Yeah, I don't find it buggy at all.
     
    zDemonhunter99 likes this.
  15. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,557
    It is simple to learn. The point made above, which is correct, is that using "Javascript" in Unity isn't really Javascript. It's UnityScript. So buying a normal Javascript book isn't learning exactly the same language. It would be a better idea to buy a C# book if you intend to program in Unity since those are the same language in both (although an older version of C#). A .NET 2.0 book for example would be great.

    450 bug fixes would indeed imply buggy. I agree with you there.
     
    angrypenguin likes this.
  16. GarBenjamin

    GarBenjamin

    Joined:
    Dec 26, 2013
    Posts:
    7,441
    Self-taught since TI-99 4/A and C64 days. However, I was always interested in learning the very cutting edge (back then it wasn't much) and even creating it. Not cutting edge games but architecture, methodologies and such. I pushed like that up til several years ago dependency injection, test driven development, yada yada. But since in all of the time I pushed to learn the latest great thing I always fell back to and relied on solid fundamentals I kind of said to hell with the fancy stuff. If needed absolutely no other way I'll use it. Otherwise no.

    For me Unity was a great beast to learn. That editor and the whole workflow was just weird. I was used to just programming. If I needed an editor or other tool I'd build it myself (so I know it was done right you know lol).

    I am no unity expert by any stretch of the imagination and I have no desire to be. All I need is a way to throw crap on the screen, make some sounds and music. The rest I will do myself.

    Once I actually get into 3D I may use more Unity stuff. It is quite buggy or was anyway. But overall I like it now.
     
    zDemonhunter99 likes this.
  17. landon912

    landon912

    Joined:
    Nov 8, 2011
    Posts:
    1,579
    So by that logic if they didn't do any bug fixes then it wouldn't be buggy? It's not at all about if you experience bugs or not?

    Also, you may have learned the language, but you can't learn to actually successfully program in a few days.

    PS: Never tried any drug besides the ones I get over the counter from my local pharmacy.
     
    angrypenguin likes this.
  18. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,522
    Yeah, I'd personally feel that 450 fixes and improvements to a piece of software that already works generally well is the opposite to "buggy". There's no such thing as "bug free" when it comes to this type of software, but there is such a thing as "well maintained", and you don't get there by resting on your laurels!

    I have my foibles with Unity, but stability generally isn't one of them.
     
    landon912 likes this.
  19. zombiegorilla

    zombiegorilla

    Moderator

    Joined:
    May 8, 2012
    Posts:
    9,007
    Yes.
    Week or two.
    Do you mean in Unity? If so, I started with JS for the first week or so, but found it confusing because it was close to AS3 but different enough to be pain switching back and forth. So switched to C#, which a breeze. (did it over a weekend). Outside of Unity, I prefer Ruby/JS/AS3/ObjC and can work comfortably in whatever.
    Uh.. no. I started indie, was very successful, and now don't have to be. I still occasionally will release a game or product that I have built independently, but my primary income/development is professional.
    44. Been doing this all my life (since about 10ish). First paid contract was about 15yrs. During my indie years I paid the rent by doing graphic design/illustration/software development. Visual side was mostly magazines, software side was mostly educational.
     
  20. landon912

    landon912

    Joined:
    Nov 8, 2011
    Posts:
    1,579
    Just a little different? UnityScript is more closely related to ActionScript.
     
  21. Tomnnn

    Tomnnn

    Joined:
    May 23, 2013
    Posts:
    4,148
    Google taught me a lot. First it taught me ActionScript because I got my hands on a version of flash from a family friend, then it taught me Java, then it taught me (and I forgot) how to switch a light on or off of a graphics card using assembly, then....

    ActionScript -> Java -> brief assembly -> C++ -> JS -> Python -> PHP -> LUA (minecraft, computercraft) -> C# -> C

    I'm probably forgetting a couple. I haven't touched fortran or perl though. School was never about learning implementation, it was about getting a reference to some good documentation (default: Google.com) and some suggestions for a starting project. Then you get some time where they leave you alone to program. Self taught is probably the fastest way to learn after you have strong knowledge of Java or C++.

    Despite what I said about being self taught, I plan on being a teacher and getting a PhD :D
     
    zDemonhunter99 likes this.
  22. CarterG81

    CarterG81

    Joined:
    Jul 25, 2013
    Posts:
    1,773
    450 fixes, and there are still bugs :p

    Also, I hate when people QQ about "necro". This is a forum. People like to discuss things. Get over it. Besides, I'd rather have all ideas in a single thread (and a forum format to make it clear which ones are aged, and how old they are- maybe based on a color system), than to have 10 threads on the same subject scattered throughout.

    Organizing information should be the responsibility of the forum. Making irrational rules about necro-ing threads is just a lazy way to not own up to the fact you should make your forum better by adding features. Features which can very easily become the standard across the internet. The color-coding system of post age does more than just to make necro's more understandable. They go far to help google results get into perspective. It sucks when you find a google answer which leads to a forum post- only to realize LATER that the post was old and the fix was no longer necessary or a new feature you were unaware of solves that issue without extra work on your part. A waste of your time. That same color coded post-age system would help there too. Yet we don't get it, because forums often copy/paste rules from each other, never begging to ask "Why that rule?" or giving credit to people who argue it is a bad rule.

    (Rant over)
     
    Venryx, Ony and BigRookGames like this.
  23. Nanako

    Nanako

    Joined:
    Sep 24, 2014
    Posts:
    1,047
    self taught girl reporting in. age 26. I went through a month of leisurely unity tutorials before i felt comfortable starting my own project, though i could have done it faster. before this i coded in as3 and LSL which taught me a lot about programming concepts

    right now, i'm officially making a game, and funding development costs from my own pocket.
     
  24. Ony

    Ony

    Joined:
    Apr 26, 2009
    Posts:
    1,973
    Hey now... some of us aren't from here. That's just being planetist.

    Are you a self taught programmer?

    Yup. My first programming was on a Radio Shack MC-10 and then I moved up to Extended Color Basic on a TRS-80 Color Computer. I've had a ton of different computers since, but I stopped programming after the first couple of years because I was more interested in art. I didn't start coding again until about 15 years later (2000) and I've been doing it since.

    If so, how much time did it take for you to really grasp Unity's concepts?

    Not long to grasp the concepts. I'd used other engines before it; 3D Game Studio, Quest 3D, Torque, etc. So yeah, not a long time to get the idea of Unity, but I've been using it for roughly 5 years now and I am still learning something new every day.

    What programming language are you accustomed to and did you find it easy to learn it?

    Working with so many engines and so many web dev things over the years, I feel most comfortable with C#, Unity Script, Perl, and PHP. I can make my way around Javascript, Java, etc. but I don't use them often enough to do anything big with them. As far as the Unity languages go, I started with Unity Script since I was coming from the 3D Game Studio engine which used a similar form of scripting, and then gradually started moving over to C#. My latest project is all C#, whereas the past two were a mix of Unity Script and C#.

    Are you going to continue on the rugged but the beautiful path of indie development?

    I've been a professional game developer (artist and musician) since 1994 and started working independently at home on my own games in 2000, which is when I started programming again. I've been doing it since and I assume I'll be doing it for the next five years at least. Beyond that, who knows? See the last question...

    How old are you?

    44.

    What were/are you doing/pursuing?

    I try to release a game once every two years or so and I'm in the final stages of the latest one (about three weeks from launch). I mostly cater to a niche audience and do well with that, so I'll continue in that vein for a while.

    I also sing\write\produce music and I've got a new single coming out in January on a Belgian label, so that's cool and fun. When I finish this latest game I'm going into the studio to work on my new album, and if things go well down the road I hope to start focusing more on music than games. I love making games, but after 20 years of it I think I'm ready to explore other futures. :)
     
    Ryiah, zDemonhunter99, Stoven and 2 others like this.
  25. kablammyman

    kablammyman

    Joined:
    Nov 22, 2010
    Posts:
    507
  26. DocLogic

    DocLogic

    Joined:
    Jan 15, 2013
    Posts:
    69
    Hey, nice to see so many others are self taught :)

    I'm 33, and the current game I've been working on since March2012 is the first thing I've ever programmed. Its coming along really nice, hoping to release it in the next month or so. My education is in Business.

    It took me a few months to become comfortable with the software, though I dont necessarily feel ive grasped all the concepts. I didnt do any tutorials really, I just dove right into making my game. I had spent about 7 months really thinking about the game design, trying to design as simple a game as possible. No animation, just a small game in a single house.

    I would work on the project until something would break, try to fix it, then often start a new project from scratch after learning how I went wrong. Just kept starting a the project from scratch over and over. At one point, after thinking I had a playable build, I learned the resolution was a disaster on any monitor that wasnt mine. I just started a new project file, and focused on the resolution from the ground up. The same thing happened with framerate issues.

    I'm using javascript...its ridiculously easy to figure out. You start by just copying/pasting basic scripts you find online, edit them a lot, and soon enough you find yourself writing your own scripts. My next game I'm going to dive into C# though, just seems like its best for me to learn it.

    Yes, Ive been failing at being a indie dev for 7 years now, and have no intention of quitting, cant really see myself doing anything else. I was the "idea guy" before I smartened up and learned how to program, and now i just feel so empowered!

    Just start with a really small project in mind, dont bite off more than you can chew. If something isnt working, just change your game design to work around what you CAN do.
     
    zDemonhunter99 likes this.
  27. DryTear

    DryTear

    Joined:
    Nov 30, 2012
    Posts:
    312
    By self taught, you mean as in you used resources to learn. And when you arent self taught, someone else taught you it?
     
  28. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,522
    "Self taught" generally means that you don't have a human being teaching you. Having available references isn't the same as having an experienced person to ask questions and get advice from. In any circumstances you do most of the learning part for yourself. The main difference is that either you're guided in what to learn, or you figure out what you think you have to learn for yourself.
     
  29. CarterG81

    CarterG81

    Joined:
    Jul 25, 2013
    Posts:
    1,773
    I checked that article out, and bleh...

    Just some nut durr-ing about how he views those who refer to themselves as 'self-taught' as arrogant egotists. He doesn't acknowledge the simple fact he just seems to not comprehend what the phrase means. Instead, he just looks down on them.
    Then it's just a bunch of obvious crap. I don't just mean obvious to me. I mean obvious to ANYONE. "Treat people with respect. Talk to friends before talking to strangers. Ask about your specific problem, rather than emailing someone your entire project and demanding they 'just fix it' " Or even better "If you want others to help you, then expose your work to other humans, for them to read be able it." As opposed to what? Asking for their advice and telling them nothing at all? "I need help with this.", "Alright, what is it?", "*nothing*", "Hello? What is 'this'? ", "*nothing*"

    The entire article comes off as a QQ about how no one thanks book authors or tutorial writers for their work. Then it goes into length trying to convince you why they are awesome teachers, and finalizes the article preaching how you should thank them. (As if the first hundred times he mentioned it wasn't enough).

    I was thinking it would be a good read on an interesting subject. Turned out to be a waste of time :\

    edit: The sad part is that this one was one of the BETTER articles on gamasutra. The quality of their articles is spiraling into a pile of crap. I stopped going there a few months ago when I had had enough.
     
    Last edited: Dec 5, 2014
    zDemonhunter99 likes this.
  30. Stoven

    Stoven

    Joined:
    Jul 28, 2014
    Posts:
    171
    Are you a self taught programmer?

    I don't really consider myself a programmer. I consider myself a problem solver and developer. For the most part I am self-taught, but only after going to College/Uni and realizing what programming is and then learning on my own to further my own knowledge about application development.


    If so, how much time did it take for you to really grasp Unity's concepts?

    I'm relatively new to the Component[Script]-based development concept. I've worked with scripts before, but not on the same scale as what Unity uses them for. I've mainly used scripts for Addon-logic such as WoW [World of Warcraft] addons through Lua and the WoW API.

    (Edit: I realized that I didn't really answer this question last time so I'll answer it now**)

    That said, it's taken me several months, but only because I've paced myself and slowly absorbed the concepts to the point where certain decisions can be made by instinct and without question.


    What programming language are you accustomed to and did you find it easy to learn it?

    Java was my first programming language. I'm fairly comfortable with it. After that, I started learning C++ to get a more thorough understanding of how programming really works 'under the hood' since I was told that C++ is 'closer to the machine than Java by itself will ever be'. That ended up being very true and I felt that I learned significantly more about programming which ended up helping me understand why certain data structures work the way they do, or why certain methods are preferred over others.

    C# [and .NET] seems extremely easy to learn so far, thanks to my experience with Java and C++. Most of the syntax and conventions just make sense and feel natural. I've never felt this comfortable with a programming language before until I found this one. Thinking back, I wish I had scripted for Ultima Online free shards in the past when that game was much more popular, since I'm pretty sure it used C# for its scripting logic.


    Are you going to continue on the rugged but the beautiful path of indie development?

    Yeah sure. If I didn't start learning about programming, problem solving and development I probably would have made some really bad decisions in my life and I'd very likely be dead by now. I feel like I have a debt to repay, especially to games for bringing joy in my life in times of darkness and for opening my mind to different ideas through varied game stories and styles. As a way of paying my respect, I'm going to develop games for the rest of my life no matter how good or bad things go for me while doing so.


    How old are you (this is redundant and you can ignore it if you don't want to announce your age) and what were/are you doing/pursuing?

    I'm 28. I just want to be able to develop games and live off of doing so. I didn't really start getting serious about it until after discovering Unity, how much power it has and how easy and intuitive it is to use.
     
    Last edited: Dec 5, 2014
    zombiegorilla, zDemonhunter99 and Ony like this.
  31. kablammyman

    kablammyman

    Joined:
    Nov 22, 2010
    Posts:
    507
    so, do you disagree with his premise? If so, why?
     
  32. Kona

    Kona

    Joined:
    Oct 13, 2010
    Posts:
    208
    Self-taught. I've Always been interested in game development for as long as I've played games, did quite alot of leveldesigning with the Half-Life and Gtk Radiant level editors. I had no intention to learn programming until I stumbled upon the Unity editor by pure accident a couple of years ago. Initially began with unityscript but c# made more sense to me so I switched over to it quite soon.

    I'm developing games as a hobby and I've no intentions to stop. I'm either coding, making 3d or 2d art, or creating sound fx for my games almost on a Daily basis, although my visits to these forums are far more sporadic.

    25 Years old, work as a Construction worker, and I apologise for a few random capital letters spread over my post but my text writer seem to have gone mental or something for some reason.
     
  33. zombiegorilla

    zombiegorilla

    Moderator

    Joined:
    May 8, 2012
    Posts:
    9,007
    In all honesty I learned to program on my own (pre web, from books and trial and error). I learned to be a good programmer from working with better programmers along the way who were always willing to share their knowledge. (Or just show off, but the results were the same).
     
    Ony likes this.
  34. RSG

    RSG

    Joined:
    Feb 20, 2013
    Posts:
    93
    Also self-taught. I come from a low income family so I didn't start programming until I was able to afford a computer. I remember at that time I wanted to learn how to do all the cool stuff that you see people do with computers on TV; now that I'm older I realize that most of that stuff was BS. Anyways, I remember when I was 17 going to the book store (mostly because googling stuff was not an option when you have dialup back in the day) and I bought my first book: "Teach Yourself C++ in 24 hours". I remember spending more than 24 hours for sure but I learned more from that book and by experimenting than any course on the subject in college.


    Since then 99% of the stuff that I learned up to this point has been self taught. Over the years I learned how to say "Hello world" in many languages including VS, JS, Basic, C, C++, C#, Java, php, AS3, etc. I've also had the opportunity to work on everything from a website to sending telemetry to the International Space Station. I learned to program by learning from others mistakes and always being curious. I also learned that one of the best things that you can do when learning something new (including how to program) is to be open to new ideas, quick to listen and slow to judge.


    A couple of years ago I left a well-paying job at NASA to pursue a dream. Now at 30, I'm an Indy developer/freelancer and it's been an interesting experience being a designer, developer, producer, director, writer, artist… you get the idea. It's been a lot of working but it's been a great adventure. :D
     
    Last edited: Dec 6, 2014
    Stoven likes this.
  35. R-Lindsay

    R-Lindsay

    Joined:
    Aug 9, 2014
    Posts:
    287
    @RSG I bought that same book :)

    I was self taught also. I was actually quite lucky in how things played out but it took a long time for me to realise this. I got a good government job quite young, and while working there I wrote a small program to help myself and other staff with a problem. It was the first 'real' thing I ever wrote. My boss recognised my drive and got me a job in the programming department, where I was mentored by some insanely smart (and in hindsight, incredibly patient) people.

    The tipping point for me was trying to teach myself to write a parser for ECMAScript (this was in the early 2000's). I was struggling with the lack of documentation with the parser generator library I had chosen, a recent phd thesis called SableCC. It's much better now. I nearly gave up so many times but I stuck with it over my holidays and suddenly one day I just understood it. I've kept the language definition I wrote as a kind of trophy. The lesson I learned then was that no matter how hard I found something I am capable of working through it.

    These days I'm not a sharp as I was back again, but like @RSG I left a good job to pursue my own little dream of happiness :)
     
    Stoven likes this.
  36. CarterG81

    CarterG81

    Joined:
    Jul 25, 2013
    Posts:
    1,773
    It's a very misleading article, since the title says "How to get better at teaching yourself new skills" but the answer is "Don't teach yourself anything. You can't do it. So find someone to teach you it and thank them a lot."

    Overall, I was just really excited to read it- and it turned out to be super simple tips and really basic stuff. "Talk to your known contacts before seeking help from strangers." I mean come on.
    Nothing to ACTUALLY help you get better at teaching yourself new skills. Just advice as to how to get better at getting others to teach you new skills.

    So idk. It's probably less I disagree, and more I was disappointed with the lack of real content. Plus I strongly disagree with the QQ making a huge deal about people calling themselves self-taught. I see his point about the arrogance, but in all honesty I disagree because the term does not automatically imply arrogance. Nowhere in the phrase "self-taught" does it imply they did not have a teacher or that the teacher wasn't invaluable to their learning. I myself have used that term, and in the same paragraph talk about the authors and books I used and how helpful those people are.

    Books and Tutorials are less Teachers then they are GUIDES. An author is a guide. A teacher is a direct helper. This differentiation is something the author of that article just wouldn't accept- even though it's obvious to most everyone else what self-taught means. Self-taught also has a huge difference in motivation. That alone is enormous. Self-taught struggle more when they get stuck, because they have no direct helper to ask for help the very next session or 5 days a week during office hours or through direct email. Self-taught is just significantly more difficult (unless your teacher in college is just a horrible teacher. Then you basically do have to teach yourself.)

    Really though, it's just semantics. "Guide", "Teacher", "Counselor", "Mentor". They're all just words to convey ideas. My point is that the term "Self-Taught" conveys a VERY different idea than "I had no teacher, book, or resource assist me in learning."
    And his article is just arguing those semantics, along with little actual advice related to the title.
     
    Last edited: Dec 6, 2014
  37. Flickayy

    Flickayy

    Joined:
    Jan 20, 2013
    Posts:
    40
    Yeah, I am also a self-taught programmer, which began from watching my brother coding message bombs, pretty funny story but that's for another time. It's taken me about a year of consistent coding inside the API, reading the documentation thoroughly and just sleeping on ideas before putting it to the test. I coding in C#, as I've come from a C based language background (Ruby, C & C++).

    I've found Unity to be fairly intuitive and straightforward once you get the grasp of the API, however some complex things still elude me. (such as creating a range ring display... that still has my head rolling on the floor.)

    I've been working in my own Indie studio since 2009 and am pursing my dream of running a studio in full force, I find it calming to sit down after a hard night at work (I work night shifts) and get straight to coding from the minute I sit down. This path is troublesome, but so worth it. Currently I'm 22, but I've been programming since I was 12.

    Glad I'm not the only one who went through the "Trail and Error" phase.
     
  38. kablammyman

    kablammyman

    Joined:
    Nov 22, 2010
    Posts:
    507
    fair enough. I see what the author of that article was getting at. Anyway

    Personally, I used to claim to be self taught, then I got an actual CS degree. When i was self taught, i thought i had it all figured out, but it wasn't until i actually started learning in school, then from colleagues, that i realized how little i actually knew. I guess its all part of the process (you dont know what you dont know) but when people tell me they are self taught, I dont nesc give them the benefit of the doubt because of said learning process.Often times, when people are self taught in this field, they are only self taught syntax, not engineering. They dont know the fundamentals when being self taught because unless you are seeking the fundamentals, many books dont teach them, many tutorials dont talk about them, and they are not "fun" or easy to discover on their own.

    Now, if we are talking about a person who has mastered the fundamentals and are referring to being self taught when talking about the latest tech, then that's great. In fact, that's what being a software engineer is about.
     
  39. Flickayy

    Flickayy

    Joined:
    Jan 20, 2013
    Posts:
    40
    I get what you mean, I'm primarily self-taught in the way that I learned before I actually studied it in college. There's a lot of things people who are self-taught don't think about looking up. Such as programming paradigms, which I learned in college, then furthered that by myself.
     
  40. CarterG81

    CarterG81

    Joined:
    Jul 25, 2013
    Posts:
    1,773
    Yep, and that is the HARDEST part of being self-taught. It was a struggle for me to comprehend HOW to make games, even after knowing HOW to program.

    Then again, those are two different things. Just knowing how to program apps isn't the same as knowing how to engineer programs. The former is a lot easier, because it's taught very well. The latter is a lot more difficult, because it's hard to teach, rarely taught, and there are tons of arguments as to the best way to do things (because there isn't a best way).

    Thankfully, one doesn't have to learn standard principles when trying to make a video game. They just need to figure it out- somehow. Eventually. As long as it performs well and works- that's all that matters.
     
    Last edited: Dec 7, 2014
  41. christinanorwood

    christinanorwood

    Joined:
    Aug 9, 2013
    Posts:
    402
    I've just read that article on gamasutra and I agree with it 100%. I'm in the process now of developing some online courses so that people can teach themselves, and I'm putting 20 years experience in course development and teaching (I teach Java programming at a university) into making it as accessible as possible to the people who want to learn this stuff. It will take me many months of work.

    To me a more interesting question than 'are you self-taught' is 'do you want to learn to program or to make games?'. Even in my real classrooms most of my students don't want to learn to program. They want to pass the course. They wouldn't care if they forgot it all the day they finished, as long as they get that PA on their transcript. I think one needs to be interested in how it works, rather than just using it as a tool, to be able to do it well in a creative way.
     
  42. CarterG81

    CarterG81

    Joined:
    Jul 25, 2013
    Posts:
    1,773
    Well said.
     
  43. kablammyman

    kablammyman

    Joined:
    Nov 22, 2010
    Posts:
    507
    agreed. Sometimes it can get a lil annoying, for various reasons, but then I remember that we all dont want to be Alan Turing. When I was learning this stuff, if you didn't have the drive to learn some of the basics, you probably couldn't make a game. There was no game engines, or easy to use languages to abstract how computers worked (if you wanted to make a decent looking and performing game), so there was no way around it. Things are a lot different now, so there seems to be a lot more "i just wanna make a game" types out there. However, when I started as a teen, I just wanted to make games, but after learning how to program, I learned that computer science was more interesting for me. So, I hope that some people who only want to make games will also see how cool CS can be.