Search Unity

Bridge between game development and application development?

Discussion in 'General Discussion' started by BeginnerGuy, Feb 14, 2014.

  1. BeginnerGuy

    BeginnerGuy

    Joined:
    Feb 14, 2014
    Posts:
    20
    I am curious to see how close or far game development is from normal application development. By this, I mean if someone knows the basics of programming and has not created a program themselves if game development would bee a good way to go?

    And how interchangeable are they? Do you use a lot of non Unity library code in game development?

    I am referring to C# by all of this. I am familiar with the basics of Java and C#.
     
  2. aiab_animech

    aiab_animech

    Joined:
    Jul 4, 2012
    Posts:
    177
    The traditional major difference is the demand for performance. Most non-game applications have traditionally not have great frame performance as a requirement, and since coding with performance constraints changes pretty much everything, it is a big thing. These days, however, more and more business and other commercial applications are getting higher and higher demands on both frame performance and visual quality.
    I work at a company that uses Unity for business applications, which is a very quickly growing trend. This is getting a bit off topic though.

    Learning coding by creating games is always a good approach in my opinion, but it might be a good idea to create games that challenge yourself in areas which are relevant for non-gaming applications too. There are tons of examples of this; start by writing a system to serialize your savestates and then push that to a server or something. Or read a high score list from a server. Or create a level editor.
     
  3. BeginnerGuy

    BeginnerGuy

    Joined:
    Feb 14, 2014
    Posts:
    20
    Hmm, it's just that I know some basic C# right now. I mean I could probably build a little calculator and nothing more. I would have to watch a few videos to get back to speed but in 1 day I could have a working calculator.

    Is this enough to get me rolling in mobile app development? Or should I look into creating some more complex windows applications before I step into mobile apps? I have lots of resources to use that will help me with C#

    www.udemy.com
    www.3dbuzz.com
    my college textbook
    C# 5.0 Unleashed
    Youtube
    Google

    But when it comes to doing Unity and mobile apps I don't know where to go for good quality information other then 3dbuzz. I don't mind paying for content.

    So would you recommend going right into some Unity? Or should I start to broaden my knowledge of C# from knowing how to make a simple calculator?
     
  4. Padges

    Padges

    Joined:
    Jan 22, 2013
    Posts:
    46
    I think you may be able to. It's essentially what I did.

    It's a little weird to learn about components and game objects and how they interact, but if you are familiar with OOP subjects, then you should catch on pretty quickly.

    Also, you say you could make a calculator, do you mean w/ like Microsoft's Visual Studio, or from scratch using some action-listeners? IMO they require different levels of skill (I assume that since you say that you are also familiar w/ Java, you know of action-listeners).

    I suggest starting making something in Unity. Learning how to code in C# is one thing, but learning Unity classes and libraries is different.
     
  5. BeginnerGuy

    BeginnerGuy

    Joined:
    Feb 14, 2014
    Posts:
    20
    I would use VS to code it but I would use Action Listeners like in Java.

    if (button.clicked)
    do this stuff

    etc..

    Are there any good tutorials that walk you through the basic stuff? I looked through the library and it is a lot of stuff.
     
  6. sicga123

    sicga123

    Joined:
    Jan 26, 2011
    Posts:
    782
    Look at the learning section, plus packtpub.com have a great many unity books both for C# and unityscript. Unity is about the easiest game engine to use, many non-coders make games with it. The object/component system diminishes the learning give a great deal. Objects can handle communication with other objects, this means that a gamemanager can be reduced to basically an instantion script that does not really take care of the whole game. It allows for 'pass the parcel' game logic. Unity has a built-in update i.e. when you press play the engine takes care of that, so updates on an object are specific to that object - this is a radical change from the few other game engines i have used. The inheritance is very shallow which means in general coding can be isolated to an object or component which makes coding incredibly easy, games can be built a small script at a time. It's the prototype pattern taken to a logical conclusion. It makes Unity incredibly easy to use for anyone. Once you grasp the object/component system you will see the possibilities. This being the case I would suggest you just jump into the engine and mess about with a couple of the free projects, also look on the asset store as there are numerous free assets and exmple projects to learn from as well.
     
  7. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    8,194
    Yes game development will let to get to grips with the logic, mechanics and habits of programming and it's much more fun.

    The core skills are interchangeable but the required skill sets are divergent, games programming is real-time requiring performance optimization, path-finding, physics, sound, music, interaction, animation, AI and finding the fun.

    Whereas business software needs to empower the user to be able to quickly find and update the information they need in a given domain, so involves user interface design and development as well as domain specific knowledge (e.g. a Medical system requirements vs a Stock systems requirements) as well as database development and data manipulation.

    Personally only little bits of .Net here and there Unity is really quite good at providing a game engine.
     
  8. BeginnerGuy

    BeginnerGuy

    Joined:
    Feb 14, 2014
    Posts:
    20
    Would I benefit more with learning more windows application development then start game development or vice versa?

    I have a few Unity3d Books and I have actually watched some YT videos such as the hack n slash, and few others. I have played around with it before but just felt like it was to much for me. This was about 8 months ago when I didn't know much about programming. Since then I signed up to John Purcell's Java class on Udemy.com and watched the first 20ish videos so I know a bit more then when I played with it.

    I just want to take the best route to get going that way I don't waste time like some who are just lost.
     
  9. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    8,194
    It depends upon your goals, you can learn to program and pick up the basics either way. A good programming course/textbook should teach you all the aspects of a specific programming language.

    What you do with that basic grounding like I said depends on where you want to go, game, app or web development. Once you have the basics and a goal you will then have a lot more to learn.

    But you should be aware that a formal education may be needed to gain entry into the IT or Game development industry.
     
  10. BeginnerGuy

    BeginnerGuy

    Joined:
    Feb 14, 2014
    Posts:
    20
    Well I am half way to my degree in Computer and Information Science with a Minor in Computer Science. I am also in the USAF and plan to cross train into a computer related job so I will have 15 years experience for a resume, along with a degree, and whatever certifications I get/have at the time. I would say my chances of getting into a mid-high level IT career field will be good.

    Can you recommend me some good starting books/material that you used or wish you used when you first started?
     
  11. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    8,194
    Well off the top of my head you should learn design patterns, and the book code complete is a great starter, there are a couple of others but you should quickly find links to the better ones once you check out code complete.

    But you're talking about 15 years from now, by then we could have AI level machines that can program themselves, google Ray Kurzweil.
     
  12. BeginnerGuy

    BeginnerGuy

    Joined:
    Feb 14, 2014
    Posts:
    20
    15 years from now is when I will be in need of a job. Right now I could grasp the concepts of current standards while making mobile apps and then I could just maintain and learn new technologies.
     
  13. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    8,194
  14. BeginnerGuy

    BeginnerGuy

    Joined:
    Feb 14, 2014
    Posts:
    20
    Ha this seems intense. Reminds me of I Robot.

    I don't want to target that stuff directly right now, I feel like slowly getting into it/learning it as it comes would be better for me. Right now my main concern is really just doing some mobile apps.
     
  15. BeginnerGuy

    BeginnerGuy

    Joined:
    Feb 14, 2014
    Posts:
    20
    So from conclusions it seems that game development will be beneficial to the future programming needs. Most importantly AI.
     
  16. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    8,194
    Who knows what the future will bring, Virtual Reality could be making a comeback, augmented reality and smart devices are popping up all over the place, Google is pushing for a robotics revolution, the IT landscape is constantly changing.

    Just work on what you can now and keep up to date with what is happening with science and technology.

    Oh and Memristors could completely change things especially regarding AI e.g. processing power and dynamic adaptable chips.
     
  17. BeginnerGuy

    BeginnerGuy

    Joined:
    Feb 14, 2014
    Posts:
    20
    Yeah I think I will just do that. As long as I am in the current loop, I think I will be able to keep up with close future programs.

    Thanks, time to find some C# mobile app learning material.