The difference between Game Programming,and Basic Programming

Hey guys I know you have answered this question too many times already.But I still do not understand the difference between Game programming and Basic Programming ...I am obviously new at this and I really want to do Game programming as a career its my dream and my mom got me the C# in a nutshell book and i have been practicing in Unity 3D,and none of the topics or examples in the book make any sense to me,Because I do not see anything in common between the two.I have just finished high school and want to practice over the holidays but do not know where to start...I mean is it okay to copy other peoples code on the internet for practice or how does it work.I still do not know anyone that wants to do the same thing as me so I am very lost and do not know how everything works still.I know this Question is long and also covers a lot of topics but i really just need some help.

Comments

  • They're not very different, really. And it depends on what you mean by "Basic Programming" - whether you're referring to the languages ("BASIC", "Visual Basic") or just the first languages they teach in school. I'm not sure what those are anymore.<div><br></div><div>Programming is about giving a computer instructions. If you're writing websites, you're producing HTML and CSS - and if it's games, you're producing vertices and textures. In both cases, you're just solving one problem after another, using code.</div><div><br></div><div>On copying other people's code: That's a tricky area, and it depends on what you end up doing with that code. Code that can be copied without consequence will usually be declared "public domain" or have some other permissive open-source license. In my opinion, if the source code is released by the author, on the web, it's at least OK to study and learn from.</div><div><br></div><div>Case in point, check out http://stabyourself.net - for each of their games, they also release the full source code, which is a good place to learn from fully-built 2D games.</div>
  • What I mean by basic programming is for example Creating a calender in visual studio compared to Creating a tank in Unity...What I am asking is if there is really any difference between the code.I do not mean by language but in the actual code.The reason I am asking is i want to know if i should carry on studying the book i am or if i should go a get a game developers book...I have seen many online codes by different people and i copy them and see what they do but still do not understand enough to actually go and develop my own game. 
  • Imagine you are a carpenter. What is the difference between building a kitchen cupboard or a toy hobby horse?  You're using the same tools to do the same thing, you're just ending up with a different product.<div><br></div><div>I don't know that book specifically but spending a couple of weeks just learning C# basics will do you a lot of good before moving on to Unity, though if you wanted you could also just dive into doing some Unity tutorials from Youtube, and expect a bit of a more difficult learning curve.</div>
  • I have been doing this Game tutorial from Google.The "Elgar's code" example and i find its very difficult to keep up with what's going on.That's what made me ask all of these questions in the first place..I know it will take time And i know i wont get it the first time around but i just wanted to know if that was a good way to learn Game Development or should i just start from the beginning?And develop Applications in Visual Studio?
  • edited
    Where are you based @Cyperus?

    The code is the same between business and game development but the differences are in how the code is executed and the namespaces you use.

    Most business applications are event-driven, meaning no code executes until a user clicks on a button or something or loads a webpage. The code is executed and then the application goes back to a waiting state until the next event.

    Game development normally works in a game loop; executing over and over again building an image that's sent to the screen multiple times a second (from which you get 60FPS more or less).

    I think learning programming by jumping straight into Unity3D is a great challenge. You'll learn the same programming skills by rather using a tool like [url=http://yoyogames.com]GameMaker[/url] first and making some prototypes using that.

    If you can get to one of the Global Game Jams in January 2015, you'll learn a heap of programming.
  • So basically the code is the same, You just use it in different way.I registered for the Global Game Jams already it seems pretty interesting i just wanted to know how much it cost's and where it is situated.But also if it is right for me because I am still very new to game design and the website said I would be making a game with a group of people.
  • GGJ is free and it's definitely for you! If you're in Cape Town or Johannesburg you should definitely join.
  • I am in Johannesburg.But how does it work?.Do you pitch up on the day and just decide who you want to make a game with?
  • edited
    Yip, and it's free! There's normally an ice-breaker so everyone gets to know each other. Then after the theme is announced via a keynote video we discuss ideas before picking the best ones and breaking into groups to implement. Groups have at least 1 competent artist, 1 programmer & 1 sound designer but everyone contributes, even if it's just play testing.

    All the code and assets have to be uploaded to the competition along with the game; so it's also a great source to see how other teams around the world implemented their games.
  • edited
    @Cyperus With Global Game Jam you can make a game in a group or on your own. The only really strict rule is the time limit (48hrs). Joining with people can be fun though.

    Global Game Jam (or any gam a great low risk opportunity to learn. All you risk is a weekend of your time. You might make a game, or you might fail gloriously, but in either case you will learn from the experience. You might also have a good time meeting other people who are passionate about making games.
    Thanked by 1Fengol
  • @Cyperus: The book you mentioned, C# in a nutshell, is really a reference book for use by professional programmers. I think what you need is a book (or online tutorials) for beginners, which teaches you the basics of programming. The programming language in which you learn (e.g. C#, Javascript, etc) is less important than learning the principles and components of programming, which is generally very similar between the different programming languages. Once you've learned that, you should then be ready to move on to doing some Unity 3D tutorials, so that when they deal with the "scripting" part of Unity, you know what they are talking about.

    I just had a look on Lynda.com (costs $25, then you can watch unlimited tutorials for a month), and as an example, you could start with a course like this:
    http://www.lynda.com/JavaScript-tutorials/Foundations-of-Programming-Fundamentals/83603-2.html

    And then follow it up with something about Unity:
    http://www.lynda.com/3D-Animation-Games-tutorials/Unity-43-Essential-Training/150613-2.html

    Once you have these basics, you should be able to really start playing around and make some cool games of your own. If you find you like this programming thing, then you can start reading up a bit more about it (for example look at the other courses named "Fundamental" under: http://www.lynda.com/Programming-Foundations-training-tutorials/1351-0.html)

    I haven't gone through the courses listed above, so I can't vouch for their quality, but it seems that they should teach you what you need to get started. Perhaps other people have good suggestions for similar courses/tutorials that are free instead :)
  • I have read their FAQ and I see that you can either precipitate in a jam or start one whats that all about?
  • If you want to host a venue for the jam and have people come over, you can setup a location (which is what we're doing in JHB and CT); or you can join an existing one.

    Let me check if JHB is setup yet and then I can give you the link to join
  • Great because I would not even know where to start,or Who to ask...As for what "Electrov" said I already have the lynda.com "C#" and "Java Script" tutorials. I have looked at them and seen some very good examples.But I just do not see how you would use those examples when developing a game in Unity..I will have a look at the Unty 3D example,and maybe that will provide some light.
  • You can join here.
  • It keeps telling me "Access Denied"
  • I see the group is still pending approval. Will let you know when it's up
  • So on the 23rd I will just pitch up with my laptop and they will take it from there?
  • Programming is the discipline, game programming is a specific application of the discipline.

    It's like maths, and solving differential equations. Or carpentry and making cabinets. Or cooking and making an apple pie. Game programming is a specific application of programming. Or a sub-discipline, if you like.

    You will need to learn programming in order to be a game programmer. So yes, teach yourself how to program, then, when you have a basic grasp of it, you can advance to "game programming for beginners" tutorials and books. It'll take time, though.

  • Note though, if what you want to do is design games, not program them, then learning only enough to do scripting is fine. You can just start with one of the Unity for beginners books and go from there.
  • To take a step back... why do you say "I really want to do Game programming as a career its my dream"? It sounds to me more like you really want to make games for a living and aren't quite sure where to start. If that's the case, then diving headfirst into learning programming so that you can learn how to program games might not be the best way to spend your time.

    There are plenty of resources on these forums for you to learn how to Make A Game without having to do any real programming at all. Perhaps you should look into just getting yourself familiar with what it takes to make a game and the processes involved with that by picking up something like GameMaker before you decide that being a "game programmer" is what you actually want to do.
    Thanked by 2garethf mattbenic
  • Yeah, if you're unsure, the best place to start is probably to pick up game maker and build some small games, see which aspect of game development you enjoy the most. Before you decide to dive into anything deeper.
  • I like to program,even though I don't know much about it.I like the fact that I can write code and something good will come out of it.I have always loved playing games as a kid,and when I heard you could make a game using code ..That for me was just amazing.And ever since then that is all I have ever wanted to do.I just never had Anyone to help me.
  • "I have posted this before, so Im reapeting"..............

    what a difficult question to answer, I've been asked this question a 100 times and perhaps I'm not a right person to answer it. Maybe they should have asked me the following question: "which or what books do I have to read that will enable me to make games?"

    Ok I don't really have all the answers since game dev is a very brought field, maybe the questions I would have like to be asked are the following
    "I wana make games for android, where should I start"
    "I think windows phone has awesome graphics how do I make games for it"
    . "I saw somewhere on tv saying that html5 is cool what do u think"

    Okay this were not the questions that i was asked so lets go back to the main question "how to become a game programmer". My reasons for not answering this question is because I never made a commercial game, all my friends ever saw was some demos on my phone or some crazy dummy engines they've seen when they try to hack my computer, so they assume i have all the answers.
    Game programming as a part of game development is a very big subject and there are many sub disciplines within itself. I myself have read more than 200 books and I feel like I've only touched the surface. Some of the disciplines include, computer graphics, gameAI, engine architecture, rendering, shader programming, game physics, augmented reality, only to name a few. Although I have read more than 200 books, the are only few useful ones or I'll just say readable ones, so I'll just name few books that are some of my favorite ones, the ones that I read and never got stuck, so I'll not waist time trying to lecture you on which language you should use because at this time and age any programming language is well suited to write games.

    Here is the list of some of my favorite books from beginners to pros

    Html5
    1. Foundation game design with html5 and JavaScript (2012) - Rex van der Spuy
    2. Pro android web game apps using html5, css3 and JavaScript (2012) - Juri Bura and Paul Coates
    3. Pro html5 games (2012) - Aditya Ravi Shankar

    Flash
    1. Foundation game design with actionscript 3.0 (2012) - Rex van der Spuy
    2. Essential guide to flash games (2010) - Jeff and Steve Fulton
    3. Flash multiplayer virtual worlds (2010) - Makzan
    4. Adobe Flash 11 Stage 3D game programming (2011) - Christer Kaitila

    Android
    1. Beginning Android games second edition (2012) - Mario Zechner and Robert Green
    2. Game and Graphics Programming for iOS and android with openGL ES 2.0 (2012) - Romain Maricchi Foino

    XNA
    1. Learning xna 4.0 (2011) - Aaron Reed
    2. Windows phone game development (2010) - Adam Dawes
    3. Professional windows phone 7 game development (2011) - Chris G. Williams
    4. Windows Phone 7 xna Cookbook (2012) - Zheng Yang
    5. 3d graphics with xna game studio 4.0 (2010) - Sean James
    6. Xna 4 3d game development by example (2012) - Kurt Jaegers

    DirectX
    1. Introduction to 3d game programming with DirectX 9c, 10 and 11 (2006, 2008, 2012) - Frank Luna ... Visit d3dcoder.net for more
    2. Character animation with direct3d (2009) - Carl Granberg
    3. Multi treaded game engine design (2011) - Jonathan S.Habour
    4. Game Coding complete 4th edition - Mike McShaffry

    AI
    1. Introduction to game AI (2011) - Neil Kirby
    2. Artificial Intelligence for games (2009) - Ian Millington
    3. Behavioral Mathematics for Game AI (2009) - Dave Mark
    4. AI and Artificial Life in Video games (2008) - Guy W. Lecky Thompson
    5. Programming game AI by example (2005) - Mat Buckland

    Mathematics
    1. 3d math primer for graphics and game development(2011) - Fletcher Dunn and Ian Parberry
    2. Essential Mathematics for games and interactive applications(2008) - James M. Van Verth and Lars M. Bishop
    3. Mathematics for 3d game programming and computer graphics (2012) - Eric Lengyel

    I will not give a review on this books since people who are more knowledgeable than me have already done that. Just go to amazon.com and search on a particular book, the reviews there will tell you whether you like the book or not.

    It you want to ask anything else, I'm always here¿¿¿

    Thanked by 1wogan
  • @Cyperus a lot of what I'm going to is going to be similar to what other people have said. That's because it's because what currently works best in order to get to an end result of making games.

    So first point. The best way to learn to make games is to make games. It's best to start with a tool that makes this easier. Game Maker: Studio and Unity3D are the best options as you'll find many people in this community who are highly proficient with those tools and are able to answer queries that you may have with it.

    Second. You don't really need to understand programming in order to make games. I've seen some spectacular games by people who didn't know that you could nest if statements! While that's said you said you want to learn programming. And while picking up a book is likely to help since it will present a certain quantity of useful information: you're lucky if you pick up a useful tidbit once every twenty pages. There are tonnes of tutorials for GM:S and Unity. You can work through a decent batch in about a day and will be able to use either engine with decent competence.

    Third. Decent competence doesn't mean that you will be able to do most things, or really all that much. Chances are the first game you decide to do outside of the tutorials is going to be over-scoped or there is a technical challenge that you can't wrap your head around. Yet! All of this is prefixed with a yet. I, and most other devs, have folder fulled with prototypes that just never went where we thought they would. You leave these and move on, and as time goes on and you learn more you realize how you could have done that better, and then you work and you see how much you have gained since the last time you tried.

    So how does this make you a better programmer? Well the best way to progress with a skill is to practice it. There is no magic bullet, or book, or video that will make you awesome at programming. It's all grit and working things out, and fucking up — a lot. But every fuck up you make is something you can learn from. So keep on practicing! And remember.

    You don't get awesome overnight; simply less shit every day.

    This is true of everyone.
  • Thank you for all the help guys I really mean it..I'm still hoping to get into the Global game jam though,I think it will help a lot to see what other people are doing and how they work.But ever since I signed into this forum I have learned so much and gotten some really good advice!
  • @SkinnyBoy: Um, I understand you're trying to be helpful, but maybe dumping a huge list of books like that might be a little overwhelming. It's also bordering on being off topic, given that you changed the question you're answering right at the top of your post. We're trying to give @Cyperus useful, actionable advice that can be followed right now, not load on the homework.
  • Sweet collection of books there, @SkinnyBoy - looks like I have my holiday reading sorted! :D
  • Okay since my list above is overwhelming, start with the author "Rex van der Spuy", I wish this guy wrote books when I started game programming in 2007... Get his html5 book and you will never regret.

    Here is the full name of the book.

    "foundation game design with html5 and javascript"

    My little brother who's in grade 9 has finished 100 pages without my help. And you don't even have to be good in mathematics to read the book.

    After finishing the book, I'll advise for the next one.
  • Really? HTML5 and JavaScript to learn game development? I'd much rather advise getting GameMaker and making games than learning programming first and only then making games.
  • An idea might be to get a Pluralsight trial and watch a Unity course like this one: http://www.pluralsight.com/courses/introduction-game-development-unity
    It'll give you enough guidance to make something, even if you don't fully understand everything.
  • @roguecode If we're talking Pluralsight, Lynda.com has similar content and is marginally cheaper.
  • wogan said:
    @roguecode If we're talking Pluralsight, Lynda.com has similar content and is marginally cheaper.
    I find Pluralsight is much more geared towards dev, which is why I like it (also I got a free licence, so there is that).
    Something else worth noting is that a Pluralsight subscription gives you access to http://digitaltutors.com/ too which has tons of graphic and game focused stuff.
    Thanked by 1wogan
Sign In or Register to comment.