Archived

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

mickey

do we need to learn/master assembly....

Recommended Posts

Nah, I don''t think assembly language is necessary anymore if you program PC games. Its a good idea to know a bit about the underlying hardware, but I don''t think its necessary to actually know assembly language. In this day and age of hardware acceleration and faster CPU''s, the gain in speed of assembly is negligible. Perhaps if you were making a software render for slower computers you would need it. I think its necessary for some console programming, e.g. GBA, ps2

Share this post


Link to post
Share on other sites
mickey: assembly programming is much easier to understand than c++ because it has much fewer things too learn(I''m speaking of mode 13h assembly here). Most people in most programming jobs never need to write any because it isn''t very portable and doesn''t improve speed like it used to.

To be good in game programming you need to practice lots and lots of c/c++. That''s fundamental and that''s what you should worry about.

Share this post


Link to post
Share on other sites
wow thanks thanks! that''s good to hear from you guys... whew thought i still need to learn those things, learning DX is just getting harder and harder each passing lesson...

Share this post


Link to post
Share on other sites
asm is not needed, althrought it''s good to know what''s really happening while your code is running. I would say master C/C++ and then try out at least some basic asm stuff, it''s fun and lets you understand a lot of things like how hardware works etc. which might get handy from time to time, even if you don''t do any asm optimizations.

With best regards,
Mirek Czerwiñski
http://kris.top.pl/~kherin/

Share this post


Link to post
Share on other sites
Just to throw my two cents in...


You can write a high-quality professional level game on any modern system (except perhaps the PS2), without using any assembly at all. It can help you code some bits more efficiently, if used wisely, but all-in-all modern compilers and CPUs do a fine job with C/C++.

Learn C/C++ or whatever other language you prefer as well as you possibly can. Don''t worry about assembly for now. It can help you in the future if you learn it (at the very least, you''ll have a much better idea of what happens to your C/C++ code after the compiler gets it..this can help you optimize your code even if you don''t drop into assembly).

Also, don''t be ''scared'' of assembly. Garott is correct in that assembly is simple to learn. The problem with assembly isn''t that its difficult to learn how to use (once you get past the jargon -- registers, accumulators, blah, blah -- it couldn''t be simpler), the real problem is that programming in assembly is incredibly tedious for large projects because you''re working at a lower level...

To put it another way, consider a language like English...now remove all words from English except for say, 500 basic words. If you choose those 500 words carefully, you could use them to express the same ideas as you can express with English as a whole language.. And learning 500 words is, at its core, easier than learning all the words in the dictionary. However, now that you''re only using 500 words, you may have to write or speak a lot more words to get your point across because you won''t have access to less common words that can express an idea in a shorter amount of space. Assembly is the same way, compared to HLLs like C/C++. Its very easy to learn the concepts of assembly, because its generally just basic math ops and pushing memory bits around... But since the toolset is so basic, it can take you quite a lot of effort to do something meaningful with it.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster

A _very_ large portion of our PlayStation2 engine is written in assembly.

Decent chunks of both our GameCube and XBox engines are written in assembly.

Our main Vector, Matrix and Quaterian classes and support functions are written in assembly.

Ive been writting games professionally for almost 4 years and I''ve yet to write any assembly. I know how, but im better at coding other things.

My experience with this industry has thaught me that to be successfull (and to keep your job) you must know everything or at least have a vague idea how everything works and if you come across something new, you learn it and learn it fast.



Share this post


Link to post
Share on other sites
ei, thanks guys for all your replies, so basically what i''ll do now is master c/c++, windows api, dx then from there on tackle newer things, just take it step by step, one at a time...

Share this post


Link to post
Share on other sites