Archived

This topic is now archived and is closed to further replies.

SKREAMZ

should i bother learning asm

Recommended Posts

to become a professional game programmer should i learn asm with all these high level languages out there, if yes where would be the best place to learn. thanks

Share this post


Link to post
Share on other sites
Short answer: Not really. I guess ASM is a bonus, but it''s rarely an essential to become a professional game developer.

Share this post


Link to post
Share on other sites
Yes, you should learn ASM if you wan''t to become pro. You have to know what''s going on in the code if you wan''t to get full performance out of it.

EasyGL - easy to use graphics library.

Share this post


Link to post
Share on other sites
To be a professional programmer you should know some assembly but I wouldn''t start there. You should know C and C++ quite well first and then learn how to embedded assembly in C/C++ source, and also how to link in object files created with an assembler.

You should learn higher level languages too, Lisp seems to a cult favorite around here though it''s not one of mine. Python and Perl come highly recommended. You should probably have a look at C# or maybe Java too, just to keep those options open.

Share this post


Link to post
Share on other sites
i already have 6 years experience and at 21 im already a part time teacher teaching c++ & java in my local college, so thats taken care of so where would be the best place to learn asm as i did a google search came up with a few pages of tutorials but they all seem to be 7+ years old and aimed at dos.

Share this post


Link to post
Share on other sites
quote:
Original post by Magmai Kai Holmlor
You should know C and C++ quite well first and then learn how to embedded assembly in C/C++ source

Once upon a time I was programming in QBASIC. It was slow, so I decided to learn C. I tried, with and without books, but it was too hard and weird. To be able to make faster programs I learned assembly (with the book The Art of Assembly). For some reason assembly was very clean and easy to understand -- but it was quite impossible to make any bigger programs with it. Back to C.

Now, when I knew assembly, everything in C suddenly made sense (pointers especially). With help of Linux 0.1 and Quake2 sources, I quickly learned to program in C. Knowing what's going on under the hood has also helped me learning C++.

The morals of my unnecessarily long and boring story:
- It's possible, and sometimes easier, to go asm->C/C++
- As Atm97fin said, you'll probably be able to use the language more effectively if you know assembly (especially C/C++ which are still quite low-level)


[edited by - nonpop on April 4, 2004 12:05:43 PM]

Share this post


Link to post
Share on other sites
Just be familiar with assembly basics. Know what registers are, and what each one is used for in typical cases. Learn basics instructions like mov, jmp, cmp, etc. You don''t need to be an assembly expert, but if someone shows you a small block of assembly code it''s nice to have a basic idea of what''s going on.

Share this post


Link to post
Share on other sites
yeah, I recommend assembly language step-by-step, was a great book!

I fully agree with nonpop that to understand why c/c++ works the way it works you should learn assembly.

Share this post


Link to post
Share on other sites
If you become a professional games programmer, you have no idea what CPU the target machine will be running then.

So don''t learn ASM for a specific CPU. Particularly, don''t learn intel asm (it is complicated and sucks).

Your next game could be for PS3 or XBOX2 - who knows what they''ll be running (the latter possibly PowerPC, but probably not intel).

I believe that the amount of assembler required in modern games is small, and it''s only added at the final stage (someone please back me up on this one; I am a mere amateur)

Mark

Share this post


Link to post
Share on other sites
ASM is what you use if you want to use special instructions that the compiler doesn''t know about.

You should have a grasp on how assembler looks and how to write it.
I wouldn''t bother being able to write super-sophisticated programs in it.

Share this post


Link to post
Share on other sites
quote:
Original post by SKREAMZ
i already have 6 years experience and at 21 im already a part time teacher teaching c++ & java in my local college, so thats taken care of so where would be the best place to learn asm as i did a google search came up with a few pages of tutorials but they all seem to be 7+ years old and aimed at dos.


I''m really not trying to be mean or anything, but unless any of the 6 years was commercial, you have 0 years experience. No disrespect, and seeing as how you''re teaching you''re probably pretty decent, but most companies don''t care about anything other then commercial experience. Just a warning...

As for assembly, the best advice I ever received on the subject was "learn it, but just don''t use it"

Share this post


Link to post
Share on other sites
Don''t learn Perl! It''s only good for people who don''t know the difference between progressing and regressing. Lua or Python are good choices for a high[er]-level language if you want to learn one. I don''t think it really matters what order you learn your languages in, what matters is that you actually learn them, not just learn them until you think you know them.

Share this post


Link to post
Share on other sites
quote:
So don''t learn ASM for a specific CPU. Particularly, don''t learn intel asm (it is complicated and sucks).

I think you mean to say that IA32''s ISA sucks. And it does.

Share this post


Link to post
Share on other sites
If you learn asm you can refer to C++ as "high-level" that one''ll get you respect

The true general first seeks victory, then seeks battle
- Sun Tzu

Share this post


Link to post
Share on other sites