Best Way To Learn Extensive XCode, 3D Modeling, and the Unity Engine In Six Months?

Discussion in 'Public Game Developers Forum' started by MICHAELSD, Jan 4, 2010.

  1. quantumsheep

    quantumsheep Well-Known Member

    Jun 5, 2009
    1,143
    0
    0
    The Head Cheese, Top Dog, Numero Uno Honcho, Quant
    London
    That's actually made my day. Thanks for posting that!

    To the original poster - good luck - I admire your ambition!

    Cheers,

    QS :)
     
  2. MICHAELSD

    MICHAELSD Well-Known Member

    Jan 4, 2010
    482
    0
    0
    #22 MICHAELSD, Apr 28, 2010
    Last edited: Apr 28, 2010
    I'm slowly learning what I can while I work on other non-iPhone related projects. However, story development for the game is still coming along nicely. C# seems impossible to learn from the resources I've found. "Alright, I've learned how to create an interactive chart, now how do I make a character even move forward in a game?" "I've copied this code, but how do I make this custom? What can I edit that won't break it?" seem to be thoughts in my mind while learning any form of C.

    Can someone give me a great way to learn C# that explains everything without being unnecessarily slow? Resources I've tried don't seem to take me too far into being able to do anything myself with C#, and I just end up confused, frustrated, and feel like I haven't learned anything from just copying code myself. Even books I've looked through don't seem to give you enough information so you can start writing a basic C# application when you're done reading the book, let alone a game. I'd really like a resource that will teach you C# that makes sense and explains how you can edit something yourself.

    If you're an iPhone developer on the forum, how long did it take you to learn C#? Do you remember what resources you've used to learn it, and which you have gotten the most out of?
     
  3. eJayStudios

    eJayStudios Well-Known Member

    Oct 17, 2009
    249
    0
    0
    It really depends what is your definition of 'learn'. I'm coding for >15 years now and still learning every day.

    If by learn you mean very basic stuff, like variables, functions, loops etc. shouldn't take too long to understand, maybe few days?

    If you mean learn coding enough to produce iPhone game, well there is no quick answer to that.

    If I were you I would just go to amazon.com, search for c# books and get the one with most positive reviews. Also, don't just read book cover to cover, try making simple examples while reading as well, as there is no better learning than actually coding something.

    After you get the basic stuff, then try to make simple pong clone. If (emphasis on if) you will ever finish it, congratulations and welcome to the club.
     
  4. Eric5h5

    Eric5h5 Well-Known Member

    I have to pretty much echo eJayStudios: it took me maybe a few hours to learn enough to do useful programming with it, but it has plenty of features I've done little or nothing with yet, so I wouldn't say that I'm done learning it by a long shot. Although I don't particularly like it, so I stick to Javascript where possible (with Unity anyway). ;) I already knew Javascript and a few other languages beforehand, so the basic syntax differences are trivial; it's only some of the more involved concepts (like generics) that take any time.

    --Eric
     
  5. chrono1081

    chrono1081 Member

    Apr 28, 2010
    6
    0
    0
    #25 chrono1081, Apr 28, 2010
    Last edited: Apr 28, 2010
    I didn't read the whole thread so I'm not sure what path you took, but here is what I would say...

    Learning all this in 6th moths to make a high quality game is not doable. I don't mean to be a dream crusher but its just not.

    That aside I can give you some suggestions on what you should learn if you want to do this a year (but probably more) down the road....(learning the whole time mind you).

    -Continue learning C#, and make sure you understand object oriented programming. Learn what classes are and how to work with methods. You will need this a lot for Unity. It doesn't matter what language you learn, they are all fundamentally the same, only the syntax changes. If you get good at one language, you can easily hop to others.

    -I've never used C# (its the only C language I don't know) but I will say if you want to make games with it, you will need to start looking for a C# graphics API. These APIs are what let you draw images to the screen and control them. If you are doing console applications, jumping to graphics is always hard the first time, but stick with it.

    -Don't worry about learning Javascript just for Unity. The syntax is almost identical to the C languages and you will easily be able to pick it up just looking through the Unity documentation on scripting. You will learn to control objects and things through function calls.

    -3D modeling...this can be difficult especially if you are using a big program like Maya or one with a wacky interface (Blender I am looking your way...).
    This is great to learn and I recommend it, but it is a long process to be proficient at it. You need to learn to model, then to animate, then to texture, then to export into a game engine such as Unity and how to fix any problems that may occur during that export.

    As others have stated, keep learning C# and look into a graphics API (maybe someone with C# knowledge can chime in?). Learn what it takes to make pong or tetris (its not easy especially for a beginner), then you will see how much work it takes to make a game and can scale your next project accordingly.

    Like I said, I don't mean to be a dream crusher but there is a lot of bad info out there on how to start making games. The language isn't important, you can make a game in any language, its just important to learn how to program and build from there.

    Also there is a book called "Unity Game Development Essentials" by Will Goldstone you may want to have a look at.
     
  6. Foursaken_Media

    Foursaken_Media Well-Known Member
    Patreon Indie

    I dont know, I hate to be a skeptic but... everyone is talking about the programming aspect, but what about the 3D art? This is what is going to either get people excited or put off when they first look at those screenshots. Unfortunately a huge chunk of people will never even experience your game if it looks bad.

    Graphics are what is going to get peoples' attention and get them interested. Gameplay then keeps them locked in and gets those good reviews and word of mouth buys.

    That being said, to learn 3D graphics in under 6 months (when taking into account the time spent on other things like programming, etc), I don't think you're going to end up with real quality models, no offense (unless you already have 3D experience). Heck, it took me a few months from scratch to even fully grasp all of the basic principles of 3D modeling, much less really start to succeed and understand the nuances of things like UV coordinates and unwrapping, bone systems and rigging, and how to make good looking, EXTREMELY low poly models while still allowing for good, seamless animation.

    What 3D program are you looking to learn on? Might be easier to help get you some learning tools once we know ;)
     
  7. MICHAELSD

    MICHAELSD Well-Known Member

    Jan 4, 2010
    482
    0
    0
    #27 MICHAELSD, May 4, 2010
    Last edited: May 4, 2010
    I've come up with a game idea that would work very well in 2D. My original game idea, which has had numerous complex scripts written for the episodic nature of it, would be too big of a first project to start with since I was only going to make that in 3D. My new idea, which has already had a lot of thought put into it, would be a 2D open world that is mainly a side-scrolling RPG, though not a traditional RPG as you might expect from hearing the word RPG. This game would still be heavily story-based, and fairly nonlinear, as there would be a lot of options available, from everything including multiple dialog choices in conversations, and each choice has its own affects on the world.

    While this is still ambitious, a 3D world is still too ambitious for my first game, and this should work very well in 2D. I won't reveal details yet just so I don't build up hype until I at least actually have playable sections so I won't be falsely "advertising" the game (but the idea is there and has had some planning put into the development already). For this, I would need to hire an excellent 2D artist, as I would not be able to draw everything that is required. How difficult should this be in XCode? Should I use Unity? Should I learn Javascript since it's easier than C# (since the Unity Engine is compatible with both), and will I still be able to accomplish everything I can with C# in a 2D world? Would GameSalad be a sufficient tool for this, or should I just forget about that?
     
  8. eJayStudios

    eJayStudios Well-Known Member

    Oct 17, 2009
    249
    0
    0
    For 2D project I would probably use Cocos2D. It's free and designed for 2D stuff.

    Answer to the question 'how difficult' it would be -in my opinion very difficult to someone who never coded before.
     
  9. MICHAELSD

    MICHAELSD Well-Known Member

    Jan 4, 2010
    482
    0
    0
    #29 MICHAELSD, May 4, 2010
    Last edited: May 4, 2010
    I'm not sure about the power of Cocos2D as there isn't much info to be found from a quick glance at the site. Is that what you used for Vector Rally? GameSalad does look good, and other than a chance of too many loading times in the open world environment, if I could learn how to have a variety of choices affect a variety of things, that might not be bad. I'm undecided as of now, though I may try planning out the open world environment and writing some dialog and possible things to do in the game world.

    I'm feeling good about this game idea. I've felt good about my writing for my previous game idea, but this one seems much more likely to be finished since I was getting very confused with developing in a 3D environment, and I felt that the graphics in that would come out too low below my expectations so my nature to be perfect in creative work would probably cause me to not release it. This one seems very likely to be nicely done, as long as I can figure out a good engine for this. I want to go deep into what your choices can do. For example, I want you to be able to upset a character if you do or say x, then they won't do y and instead do z, which may have other effects.
     
  10. eJayStudios

    eJayStudios Well-Known Member

    Oct 17, 2009
    249
    0
    0
    I haven't used Cocos2D for Vector Rally, but it is as powerful as you need it to be.

    There is quite a few top 100 games made with it, check Zombie Smash, Abstract Wars etc to see what it is capable of.

    At the end of the day it is just a wrapper around OpenGL with 2D in mind. Also it has 2D physics support in a form of Box2D and Chipmunk.
     
  11. steelfires

    steelfires Well-Known Member

    Feb 17, 2010
    658
    0
    0
    Candy Mountain, Charlie!
    I personally don't like gamesalad. One, it's inefficent, two, it's kind of limited. But it's good if you don't want to learn much coding
     
  12. MICHAELSD

    MICHAELSD Well-Known Member

    Jan 4, 2010
    482
    0
    0
    It does sound good. I still need to know C# to a good extent, wouldn't I? I'll try to use some kind of engine outside of XCode to help me learn how to code a fairly ambitious project, rather than a wrapper as I don't have much coding experience, so as far as I know, developing the game with an engine such as Unity at the least, should be easier with a similar end result. Especially since it's a 2D game, so an engine won't be holding the game's performance back compared to a custom highly optimized engine.
     
  13. eJayStudios

    eJayStudios Well-Known Member

    Oct 17, 2009
    249
    0
    0
    If you decide to use Coco2D no need to learn C# as Cocos2D is Obj C.

    If you want to use Unity then you can learn C# just for the sake of learning it, or you could use Java script (easier for beginners).

    I would say simplicity wise Unity + Sprite Manager 2 + Java for scripting is the easiest approach. You really want/need SM2 in Unity if you want to develop 2D games.

    There is another approach as guys from Zombevielle did, but it requires good knowledge of 3D modelling and bones system to achieve that 2D look and feel.
     
  14. MICHAELSD

    MICHAELSD Well-Known Member

    Jan 4, 2010
    482
    0
    0
    #34 MICHAELSD, May 4, 2010
    Last edited: May 4, 2010
    I sort of like GameSalad, but I have a feeling that I'll be too limited when I start actual development, and it's better to have a game with a team of graphic artist(s) and voice actors with one developer who at least writes some sort of code rather than something as fairly simple as GameSalad. I'll look into all those options, thanks eJay for being so helpful. Torque 2D may be good, despite costing $1.25k before you can publish a game (and there's no iPad support yet). I'll look at the tutorials this week as it is only a 30 day trial for Torque. I'll try Sprite Manager 2, too, as I've already tried Unity and found it to be a good engine. A lot of these engines do seem expensive unless you do make a lot from your app, so it would be a good idea for me to find the best one for me.

    Looking at coding tutorials, it seems something like touch gestures may be a challenge to write in, though. Everything about writing code seems like a real challenge right now. Hopefully, I'll be able to create sections of my game concept with terrible temporary art so then I can get a real artist working on the game's artwork. I've got to make sure I can write code to a full extent before I can hire anybody who expects to receive a percentage of the app's profit ;).
     
  15. lazypeon

    lazypeon Well-Known Member
    Patreon Bronze

    Agree with others that Cocos is as powerful as you need to be (for 2D games). If you're trying to make a 3D game, good luck :) The asset creation/cost is much easier for a 2D game. That math alone will drive you nuts.

    It took me about 3 months to learn C# and release my first game, but I also had a CS degree and prior game development experience. For someone starting fresh, it's not that easy. I'd also add that 1) Objective-C is not the easy language to start with 2) the iPhone is not easy to develop for compared to a desktop PC (performance) and 3) graphics are generally harder than apps.

    It's good to dream big though, so good luck.
     
  16. iMerlin

    iMerlin Member

    Oct 20, 2010
    8
    0
    0
    I just wanted to chime in here. I have limited programming experience, some C, Cobal, Aspect, some other scripting languages... blah blah blah... anyway, about 6 months ago I finally jumped into iPhone programming, not even games at that point. Ive been hitting it HARD for 6 months and Im still not even close to releasing a Utility app let alone a game of any kind. I know the basics of Xcode, Obj-C and Cocoa, but jumping into OpenGL ES has been an awaking for lack of better terms.
    My only suggestion, DONT RUSH IT!
    Take your time, learn what you need to and it will work out.
    Ive been studying the tutorials at 71squared for a while. Mike knows his stuff... http://www.71squared.com/iphone-tutorials/

    Like someone else said, the last 10% is 80% of the game... how true. I spent 3 months working on a simple game not even using OpenGL ES. It just has simple UIImageViews with some tap-the-image type of stuff. I still cant submit it to the app store because it is TO LARGE! I need to re-write the whole damn thing now that Ive learned how to render custom fonts and textures... and I have to HOPE that shrinks it down.

    Anyway, good luck to you OP. No matter what though, just keep learning. It might be 2012 or 2013 by the time you release the next BIG GAME, but just keep learning.
     
  17. MICHAELSD

    MICHAELSD Well-Known Member

    Jan 4, 2010
    482
    0
    0
    Since this was bumped, I can share one idea I'm toying around with that isn't a game (I would need at least another person to do artwork for a game). That idea is to create an app that would let you stream shows from a TiVo to an iDevice. Currently you could have your TiVo library with you everywhere if you setup your computer to download and convert every single show every week, even though you'll probably only watch a fraction of that on the go, and use a video-streaming app. That way is annoying to manage and isn't practical for many users.

    What I'd like to do is create apps for Windows and Mac OS that'll download, convert and stream shows on demand - select it on your iDevice, begin watching in a minute. Instead of storing a constantly-changing TiVo library on your computer, it would only be doing those three steps when you wanted to watch something, then automatically delete it from your computer's HDD afterwards. With the plug-ins and codecs available, those three steps wouldn't be incredibly difficult to setup, though I'm still confused where I begin to create such an app. I also came up with a clever way to get a live TV stream from a TiVo to an iDevice, by the way.

    This could be a great app, but I'm still lost. Programming is far from an easy thing to learn.
     
  18. gammabeam

    gammabeam Well-Known Member

    Hahaha
    I was about to post it in here when I saw your latest post, and scrolled up to check the dates! :D

    So, how did it go? Care to share your experience over these 6 months?

    As for Unity learning, look for TornadoTwins channel on the youtube. They made a nice tutorial for Unity that's very easy to learn.
     
  19. MICHAELSD

    MICHAELSD Well-Known Member

    Jan 4, 2010
    482
    0
    0
    It is kind of sad but intriguing to read through this thread (thanks to all of the great advice) since I have gotten practically nowhere in my Objective C learning. To be honest, it sounds extremely difficult to get a good grasp on it and it still perplexes me that there are talented people like Josh from Crescent Moon games out there. Coding seems second nature to a lot of seasoned developers, but still seems totally foreign to myself. Maybe I'm better-suited as a TV producer ;). Still, I would like to get something with a great story out on the App Store. If there was any way to learn everything possible about coding in 24 hours, I would pay whatever the cost was for that (hello science-fiction thought transmitter?) but time commitment is probably too high for learning otherwise.
     
  20. eJayStudios

    eJayStudios Well-Known Member

    Oct 17, 2009
    249
    0
    0
    I would pay whatever I could afford to play electric guitar like pro in 24 hours too, problem is world doesn't work this way.

    I'm surprised though that you haven't progressed much in Obj C during all this time...
     

Share This Page