ey codemasters q3w
ey codemasters q3w
i sons been bugging the shit out of me about programming
of course i am clueless
whats a good place for him to begin?
he says he wants to program games
of course i am clueless
whats a good place for him to begin?
he says he wants to program games
it is about time!
Re: ey codemasters q3w
Games, especially interesting ones, can be very tricky things to program. I'd start him off with a basic programming book and if that keeps his interest, then move up to a book centered around games.
C++ is still the top dog as far as serious game development goes but there are some very deep concepts in that language for a beginner to master. C# is a nice step down from C++ and he could potentially start there (Java is on this tier but a little closer to C++, but fuck Java). The easiest but still useful language would be VB.NET.
I'd probably start him off with a VB.NET book that has solid reviews and maybe even work through the exercises with him. The basics are really pretty easy. Once you guys can tackle simple projects without having to stumble around too much, grab a book that gets into game development. The most natural progression would be XNA (but unfortunately Microsoft is dumping this library) and the next more hardcore step up would be DirectX (though they do offer wrappers for DX in VB). At the top end of the challenge spectrum, I would look into C++ and modern OpenGL using GLSL.
Go to this link and download Visual Studio Express 2013 for Windows Desktop to get started:
http://www.visualstudio.com/en-us/downloads/
You can learn a lot of this stuff with online tutorials, but for a true beginner you will like the direction of a book. Sticking with Visual Studio (any version of it really) will be a huge help as well because it is the best development environment by far (trying working with Eclipse for a while and not want to kill yourself).
C++ is still the top dog as far as serious game development goes but there are some very deep concepts in that language for a beginner to master. C# is a nice step down from C++ and he could potentially start there (Java is on this tier but a little closer to C++, but fuck Java). The easiest but still useful language would be VB.NET.
I'd probably start him off with a VB.NET book that has solid reviews and maybe even work through the exercises with him. The basics are really pretty easy. Once you guys can tackle simple projects without having to stumble around too much, grab a book that gets into game development. The most natural progression would be XNA (but unfortunately Microsoft is dumping this library) and the next more hardcore step up would be DirectX (though they do offer wrappers for DX in VB). At the top end of the challenge spectrum, I would look into C++ and modern OpenGL using GLSL.
Go to this link and download Visual Studio Express 2013 for Windows Desktop to get started:
http://www.visualstudio.com/en-us/downloads/
You can learn a lot of this stuff with online tutorials, but for a true beginner you will like the direction of a book. Sticking with Visual Studio (any version of it really) will be a huge help as well because it is the best development environment by far (trying working with Eclipse for a while and not want to kill yourself).
Re: ey codemasters q3w
If you'd rather him get laid at some point, stick a guitar in his hands...
Re: ey codemasters q3w
X2 on what bitWISE said.
I learned how to program three years ago. I did some VBA tutorials (same syntax as VB.NET) and then did a few Excel projects at work with it.
I also did a project with a friend in C#, this showed me what a "real" programming language looks like.
For work I mostly use SQL (T-SQL), but I still do some VBA stuff for Excel.
I tried doing a project in C++, but it's hard. I definitely wouldn't begin with it, at least not without someone guiding me through the whole way.
I learned how to program three years ago. I did some VBA tutorials (same syntax as VB.NET) and then did a few Excel projects at work with it.
I also did a project with a friend in C#, this showed me what a "real" programming language looks like.
For work I mostly use SQL (T-SQL), but I still do some VBA stuff for Excel.
I tried doing a project in C++, but it's hard. I definitely wouldn't begin with it, at least not without someone guiding me through the whole way.
Re: ey codemasters q3w
As far as sample projects, here is a good list in order of difficulty:
Tic tac toe
Pong
Tetris
Block breaker
PAC man
Mario
You start off with objects, states, players, loops and so on. Then you add in motion and scoring. Then you add in more complex motion and scoring. Then you add in the idea of progressive levels. Then you add in basic AI. Then you take all those concepts to the next level with animation.
And shit gets real in 3d so be ready for lots of frustration and demotivation.
Tic tac toe
Pong
Tetris
Block breaker
PAC man
Mario
You start off with objects, states, players, loops and so on. Then you add in motion and scoring. Then you add in more complex motion and scoring. Then you add in the idea of progressive levels. Then you add in basic AI. Then you take all those concepts to the next level with animation.
And shit gets real in 3d so be ready for lots of frustration and demotivation.
Last edited by bitWISE on Thu Dec 05, 2013 3:52 pm, edited 1 time in total.
Re: ey codemasters q3w
Is your son really smart?
http://elm-lang.org/edit/examples/Inter ... /Mario.elm
Also. I don't think the "start at zero" approach bitWISE is advocating is suitable anymore. You don't have to learn game programming by starting from scratch and first writing a game engine.
Other resources:
http://learnpythonthehardway.org
https://www.coursera.org/course/gameprogramming
[requires no programming skills]
https://www.udacity.com/course/cs255
[requires intermediate programming skills]
http://elm-lang.org/edit/examples/Inter ... /Mario.elm
Also. I don't think the "start at zero" approach bitWISE is advocating is suitable anymore. You don't have to learn game programming by starting from scratch and first writing a game engine.
Other resources:
http://learnpythonthehardway.org
https://www.coursera.org/course/gameprogramming
[requires no programming skills]
https://www.udacity.com/course/cs255
[requires intermediate programming skills]
Re: ey codemasters q3w
My suggestion: avoid VB like the plague. Seriously.
Re: ey codemasters q3w
Eraser wrote:My suggestion: avoid VB like the plague. Seriously.
Re: ey codemasters q3w
X3 what bitwise said.
I'd strongly recommend c# though. I made a few games for the xbox 360 for the kids. Really easy to pick up.
I'd strongly recommend c# though. I made a few games for the xbox 360 for the kids. Really easy to pick up.
Re: ey codemasters q3w
What would you recommend as a first language? There are very few things C# can do that the same version of VB can't. The stricter nature of C# is great and I definitely prefer it to VB, but after eight years of enterprise level development in VB I can only point out three serious flaws that lead to headaches. The relaxed types lead to a lot of cast from string to X errors during runtime if your team is retarded, polymorphism is crippled by the weak typing, and you can't have the only parameter to a method be an optional integer because VB will think it is an array when you call it. But I really don't think the language would be holding him back and would be an easier intro for someone so young.Eraser wrote:My suggestion: avoid VB like the plague. Seriously.
JavaScript is much more of an abomination than VB, it's OOP is hacked mess, it runs differently depending on which browser you're in, and while the ability to edit and debug in something like Firebug is nice the lack of a great IDE makes large projects painful.
That coursera class uses the same framework I mentioned in my post. I'm not saying write your own game engine, but the more you understand the easier it will be to do something on your own. An "engine" really doesn't matter on my game list until you hit Mario. The rest are all simple DrawSprite commands in a loop.
Re: ey codemasters q3w
plained why don't you get him building redstone circuit in minecraft? it's not a transferable skill, but it might get him a handle on some basic concepts
i don't actually know what i'm talking about, though
i don't actually know what i'm talking about, though
Re: ey codemasters q3w
ok thank you for responding code/wise men there is alot here for me to check out before i can ask specific questions thanks again
plained
plained
it is about time!
Re: ey codemasters q3w
bitWise, the reasons you mention are pretty big issues and would mostly be what I'm referring to. I guess it's still better than bloody PHP though. It also doesn't stick to certain syntax ground rules I've come accustomed to with C family languages, which is just very confusing. I guess that's personal preference, but if you're a C# developer, Java code or even C++ code will look much more familiar than when you're coming from a VB background. That problem is even worse with PHP.
I think that the looseness (weak typing for example) of VB might make it look like it's a great way to start programming, but the truth is that weak typing doesn't mean you don't have to bother with the type of your variables. In fact, the language moves the responsibility of typing from the compiler to the coder. Eventually you have to understand how data typing works because sooner or later, data types will come bubbling up in VB and when you don't understand the difference between a byte, a float and an int and how type casting works, you're bound to run into problems.
I think that the looseness (weak typing for example) of VB might make it look like it's a great way to start programming, but the truth is that weak typing doesn't mean you don't have to bother with the type of your variables. In fact, the language moves the responsibility of typing from the compiler to the coder. Eventually you have to understand how data typing works because sooner or later, data types will come bubbling up in VB and when you don't understand the difference between a byte, a float and an int and how type casting works, you're bound to run into problems.
Re: ey codemasters q3w
No just couldn't remember my password to log in with my phone.MKJ wrote:Banned again?
Re: ey codemasters q3w
That's true. I suppose if you're going to learn it, you might as well learn proper syntax instead of the weirdness of VB. And the relaxed nature doesn't help if it just shifts compiler errors into runtime errors. I think I'm projecting my own trouble trying to learn C++ as my first language onto C# but it really doesn't have as many rough edges.Eraser wrote:bitWise, the reasons you mention are pretty big issues and would mostly be what I'm referring to. I guess it's still better than bloody PHP though. It also doesn't stick to certain syntax ground rules I've come accustomed to with C family languages, which is just very confusing. I guess that's personal preference, but if you're a C# developer, Java code or even C++ code will look much more familiar than when you're coming from a VB background. That problem is even worse with PHP.
I think that the looseness (weak typing for example) of VB might make it look like it's a great way to start programming, but the truth is that weak typing doesn't mean you don't have to bother with the type of your variables. In fact, the language moves the responsibility of typing from the compiler to the coder. Eventually you have to understand how data typing works because sooner or later, data types will come bubbling up in VB and when you don't understand the difference between a byte, a float and an int and how type casting works, you're bound to run into problems.
Re: ey codemasters q3w
get off the crack lolΚracus wrote:No just couldn't remember my password to log in with my phone.MKJ wrote:Banned again?
[color=red][WYD][/color]S[color=red]o[/color]M
Re: ey codemasters q3w
I would except I have ambitions to become mayor of Toronto.
Re: ey codemasters q3w
It's related to the law of leaky abstractions. We continually abstract away complexity in order to have a simpler base platform to work with, but all abstractions tend to have that which they're abstracting away come leak through, and when that happens, you better know how that complex system underneath works if you want to have any hope of solving the problem.bitWISE wrote:That's true. I suppose if you're going to learn it, you might as well learn proper syntax instead of the weirdness of VB. And the relaxed nature doesn't help if it just shifts compiler errors into runtime errors.
Yeah, C++ is kind of rough for me too. Nowadays I mostly use Java or C# (and a bit of Javascript here and there) and recently I tried to pick up C++ coding in order to be able to use cocos2d-x but it was too much of a pain in the arse and I kind of gave up on that because I was too lazy learning all the basics again while I could just go and do the same thing using MonoGame for Android/iOS (an open source XNA implementation) as well.bitWISE wrote:I think I'm projecting my own trouble trying to learn C++ as my first language onto C# but it really doesn't have as many rough edges.
I must say I also found ANSI C much simpler to work with (when modding Quake 3) than C++.
Re: ey codemasters q3w
For learning I really think C# is the way to go. Free software from microsoft, in depth, again fee, tutorials etc... That's the main reasons I like it. Plus it kinda gives you a good platform to learn the other less user friendly languages.
Re: ey codemasters q3w
I think one pretty big advantage of C# is that.... (wait for it).... it just works.
Install Visual Studio Express and bam, you're good to go. With Java for example, you'll quickly run into having to configure things that a person who's new to all of it really doesn't understand.
I would also prefer C# or Java because of the garbage collector systems underneath there. No worries about dealing with pointers and allocating and deallocating memory space for your data, that's all taken care of for you. That might contradict my leaky abstractions story, but I think that not having to deal with that stuff at first really makes it much easier to grasp the basic programming paradigms.
Install Visual Studio Express and bam, you're good to go. With Java for example, you'll quickly run into having to configure things that a person who's new to all of it really doesn't understand.
I would also prefer C# or Java because of the garbage collector systems underneath there. No worries about dealing with pointers and allocating and deallocating memory space for your data, that's all taken care of for you. That might contradict my leaky abstractions story, but I think that not having to deal with that stuff at first really makes it much easier to grasp the basic programming paradigms.
Re: ey codemasters q3w
Also: I like clojure - it might not be as adopted as the c/java languages but learning it teaches a lot. Also i found it to be really convenient to set up a simple homepage with clojure. I liked it a lot better than python.
The next language i'll look into is haskell.
The next language i'll look into is haskell.
Re: ey codemasters q3w
Don't forget to teach him pseudo-code ay?