Page 1 of 2

ey codemasters q3w

Posted: Wed Dec 04, 2013 11:56 pm
by plained
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

Re: ey codemasters q3w

Posted: Thu Dec 05, 2013 12:55 am
by bitWISE
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).

Re: ey codemasters q3w

Posted: Thu Dec 05, 2013 1:38 am
by xer0s
If you'd rather him get laid at some point, stick a guitar in his hands...

Re: ey codemasters q3w

Posted: Thu Dec 05, 2013 3:38 am
by ToxicBug
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.

Re: ey codemasters q3w

Posted: Thu Dec 05, 2013 5:04 am
by GONNAFISTYA
Image

Re: ey codemasters q3w

Posted: Thu Dec 05, 2013 5:05 am
by bitWISE
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.

Re: ey codemasters q3w

Posted: Thu Dec 05, 2013 6:56 am
by Pext
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]

Re: ey codemasters q3w

Posted: Thu Dec 05, 2013 7:13 am
by Eraser
My suggestion: avoid VB like the plague. Seriously.

Re: ey codemasters q3w

Posted: Thu Dec 05, 2013 12:02 pm
by Pext
Eraser wrote:My suggestion: avoid VB like the plague. Seriously.

Re: ey codemasters q3w

Posted: Thu Dec 05, 2013 12:28 pm
by sucarK
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.

Re: ey codemasters q3w

Posted: Thu Dec 05, 2013 2:35 pm
by MKJ
Banned again?

Re: ey codemasters q3w

Posted: Thu Dec 05, 2013 3:52 pm
by bitWISE
Eraser wrote:My suggestion: avoid VB like the plague. Seriously.
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.

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

Posted: Thu Dec 05, 2013 5:58 pm
by seremtan
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

Re: ey codemasters q3w

Posted: Fri Dec 06, 2013 4:41 am
by plained
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

Re: ey codemasters q3w

Posted: Fri Dec 06, 2013 5:01 am
by SoM
have a looky at these aswell

clicky

clicky

there's this one site i just can't remember atm, but it's very good, will get back to you on this one

Re: ey codemasters q3w

Posted: Fri Dec 06, 2013 6:00 am
by Eraser
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

Posted: Fri Dec 06, 2013 12:01 pm
by Κracus
MKJ wrote:Banned again?
No just couldn't remember my password to log in with my phone.

Re: ey codemasters q3w

Posted: Fri Dec 06, 2013 3:05 pm
by bitWISE
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.
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.

Re: ey codemasters q3w

Posted: Fri Dec 06, 2013 3:07 pm
by SoM
Κracus wrote:
MKJ wrote:Banned again?
No just couldn't remember my password to log in with my phone.
get off the crack lol

Re: ey codemasters q3w

Posted: Fri Dec 06, 2013 3:16 pm
by Κracus
I would except I have ambitions to become mayor of Toronto.

Re: ey codemasters q3w

Posted: Fri Dec 06, 2013 3:21 pm
by Eraser
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.
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: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.
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.

I must say I also found ANSI C much simpler to work with (when modding Quake 3) than C++.

Re: ey codemasters q3w

Posted: Fri Dec 06, 2013 3:41 pm
by Κracus
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

Posted: Fri Dec 06, 2013 3:51 pm
by Eraser
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.

Re: ey codemasters q3w

Posted: Fri Dec 06, 2013 9:19 pm
by Pext
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.

Re: ey codemasters q3w

Posted: Sat Dec 07, 2013 8:47 pm
by mrd
Don't forget to teach him pseudo-code ay?