By using this site, you agree to our Privacy Policy and our Terms of Use. Close

Forums - PC - i want to learn how to code....

TheRealMafoo said:
JaggedSac said:
I had never heard of Lean development but just google it and it looks interesting. The company I work for is far from agile or lean. VERY beauracratic and everyone needs documents to cover their asses. It is a pain but since the company is so big it offers some security.

 

Lean was conceived at Toyota, so it can be done in a large environment. The main advantage imo of Lean, is people over process, and nowhere is that more important, than in a large company.

There are a lot of great books on it. Even if you never plan doing it, it's interesting to read up on.

 

Thanks I will have to check that out.  Even if I can't convince others, my team could possibly try it.



Around the Network
NJ5 said:

I think the concepts involved in programming with C are crucial for any programmer, mainly memory management and pointers. They're better learned first, than struggled with later after the bad habits have setted in.

For people programming in higher-level languages, the concepts involved in programming with Assembly are only crucial for the micro-optimizations minded programmer. That's my guideline for recommending C as a first language. Assembly can come later without harm.

 

I totally agree with this.  I wish when I was younger that I would have skipped QBasic (Quickbasic) alltogether.  That led my into Visual Basic and a bevy of REALLY bad programming habits.

I mainly do Actionscript 2 and 3 coding (yeah, Flash/Flex/Air! ... it's not THAT bad :p) for a living, but I code in C++ and C# whenever the need arises to get dirty with data, threading and stuff that simply can't be done in Flash.  Everything I do at home is strict C++ using Boost and the C++ standard library.

Concerning what you should learn.  As a programmer, I took the route of going straight to C to pick up C++.  I think it actually hurt me more than it helped.  Your mileage may vary though as a "newbie".  There are some very specific bad habits that C can get you into and tutorial sites (and even some books) will walk you right into them thinking nothing of it.  You can do strict procedural programming in C++.  Keep your programs in one file and you'll see.  C/C++ are both very simple standards, but in being simple (few commands, few operators, few syntax rules) it offers a lot of flexibility in how you program.  (This can be bad and good.)

The suggestions about coding a million games is absolutely correct.  Code the simplest game you can think of.  Think of another way you could have done it and try it out.  You WILL fail, many times.  With each failure comes a better understanding of what works and what doesn't.  Don't be afraid to create something so cheesey and crappy that you're ashamed to show it to your friends.  You'll actually complete something and be proud of yourself.  You may even jump the gun and show it to your friends who will probably say, "Wow, that's nice... um.  What is it?"  If they bring you down, don't let it get to you.  Think about it this way: They probably couldn't do it. ;)

If you see someone talking about optimizations, skip it.  When you create your games and you start feeling comfortable, then you can look into optimizing.  It's a deep dark tunnel of tricks and magic.  This is NOT the thing to start learning right away and it only starts to make sense when you know a little bit more about the language and why it works.

Yes, you could learn the raw information of Assembly and enhance your skills, but you'll likely only discourage yourself from the real task at hand.  Besides, you'll have enough to worry about with how everything you make goes into one long line of bytes (or bits), including all those things you think are square.  To computers, there is only one long single line of data.  You can chunk it up any way you want.  The computer still only sees it as one.



It seems the mods need help with this forum.  I have zero tolerance for trolling, platform criticism (Rule 4), and poster bad-mouthing (Rule 3.4) and you will be reported.

Review before posting: http://vgchartz.com/forum/rules.php

JaggedSac said:

 

Thanks I will have to check that out.  Even if I can't convince others, my team could possibly try it.

 

NP :) Lean does take a corporate buy-in, so it's hard to do from a departmental perspective, but you could do Agile, and Extreme Programming.

A few good books on it:

http://www.amazon.com/Extreme-Programming-Explained-Embrace-Change/dp/0321278658/ref=sr_1_3?ie=UTF8&s=books&qid=1215663401&sr=1-3

http://www.amazon.com/Lean-Software-Development-Agile-Toolkit/dp/0321150783/ref=sr_1_5?ie=UTF8&s=books&qid=1215663466&sr=1-5

http://www.amazon.com/User-Stories-Applied-Development-Addison-Wesley/dp/0321205685/ref=sr_1_9?ie=UTF8&s=books&qid=1215663530&sr=1-9

The last one I would recommend the most "User Stories", mainly because Mike Cohn is an awesome guy, and it's a great book. (he was the keynote at my last conference. Funny as hell).



@OGY
what did you mean by 'java is anal' ?



 

It is better to die on one's feet

then live on one's knees

ocnkng said:
@OGY
what did you mean by 'java is anal' ?

 

Its poo!

To be serious though, JAVA is a very powerful language, but come the end of the year when my Uni degree is finished I'll will be looking for a job in the games industry and I do not want to make mobile phone games. So in fear of that I express my dislike for JAVA.

I feel Im so prolific in DirectX and OpenGL, i hope I never have to write JAVA again :)

 



Nintendo = Innovation = Wii

Around the Network

I don't want to read all of the history.

My vote after learing many languages is to start with a more "friendly" language that has free tools to use, C# or Java.

Both have free IDE's use can download and use and both have a plethora of web-based tutorials.



Shinlock said:

if you just want to make little games to impress your friends and you don't care about pc hardware, learning directX or dealing with memory managemnet. C# with XNA should be your port of call, you'll get your game on. If you decide yes for here, ignore below.

if you want to one day be a professional game programmer. I'd recommend learning in order

- Pascal (this language forces you to code proper-procedural structured code. its also very strict with typecasting which will force you to think about data structures and datastructure types which is important in gaming)
- C (you'll get the ability to carry over what you learned from pascal in respect to structure with the added ability of shooting yourself in the foot if you aren't careful).
- C++ & C# (C# is stricter with OO models and useful for tool deving for your game)


for languages.. for api's I'd most likely start off with using allegro when you hit C then progress to directX once you are happy in allegro. when you move to C++, learn STL and have a look at the BOOST library.

Pointers are lovely, alot of programmers (esp unigrads) are very scared of them. I guess you should be, stuffing up your pointer arithmatic = painful debugging but if you treat your pointer code with the upmost respect you'll get rewarded with blistering speed.

Above all else, whatever you decide, code as many games as possible, even if they are stupidly simple. Tetris clone #123123 and Space Invaders clone #1231241232 is worth your time to code up, you'll learn alot from it. do _not_ attempt to build 3d graphics & games until you've mastered simple 2d games from tetris to your mario clone.

thanks. i'll remember those two things. but i'm not sure about becoming a game developer as a profession. i would still have to think about that.

 



OGY said:
You want to start small, learn the coding techniques, then it doesn't really matter what language you program in. However, i suggest java or c++, but to be honest java is anal.

look into these important elements of programing

- if/esle statements
- switch statements
- while loops
- for loops
- input/output

play around with these, most programmes, say Dev C++ provides the hello world project, just build on that and play around with these techniques.

after that and you feel confident, move onto harder stuff like:

- header files and classes
- functions and parameters
- objects
- inheritence
- pointers

Then if you get that far, well there is plenty of advanced stuff to do after that.

 

first time i heard that phrase....

 

but other than that, thanks for the info



Your first task is to program a "Hello, World!" program.



Galaki said:
Your first task is to program a "Hello, World!" program.

 

what exactly is a "hello world" project?