1 of 1 people found the following review helpful
4.0 out of 5 stars
good reason to learn an assembly language, Dec 30 2011
This review is from: Adobe Flash 11 Stage3d (Molehill) Game Programming Beginner's Guide (Paperback)
Game programming is doing quite well in the current global economy and some of you may well be tempted to do so under Adobe's Flash. The latest Flash 11 offers 3D APIs that are quite extensive. So much so that Kaitila wrote this book to aid you. It should be a straightforward read if you have done any sort of game or graphics programming before.
Prominent in the discussion is how to use AGAL - Adobe Graphics Assembly Language. Adobe has taken a hard look at how to improve its graphics performance. Nowadays in most programming books, it is rare to code in any assembly language. The only compelling reason is simply to get closer to the silicon and speed up computations. Agal code runs on the GPU of the game machine, not on the CPU. Performance is better.
Agal is where I suspect many readers will be encountering their first assembly language. OpenGL and other graphics languages or packages simply hide these lower level details.
One consequence is that unlike other graphics books that talk about shaders, this book eschews the term. It points out that a shader or most shaders are actually 2 programs - a vertex shader and a fragment shader. Did you know that? Other texts rarely make the distinction, because they operate at a higher level that only sees the 2 as a monolithic entity.
This book can qualitatively broaden your programming experience. The Agal opcodes like mov [move], add, sub, mul and div have their equivalents in most other assemblers, like the Motorola or Intel chipsets. The book has an appendix with a full list of opcodes. As a Java or C or C# [etc] programmer, just once in your career you should learn an assembler and code in it. The book and its context lets you appreciate at a lower level what it means to truly optimise. It can take some of the mystery out of the black box of a compiler and the executables it spits out. Since the opcodes can usually be taken to map 1-1 to machine language operations, you are sitting just one level above the hardware.
Maybe you will discover that you like this type of programming and can get good at it. Aside from the gaming applications, if you find this out about yourself, it opens up career opportunities that most programmers don't have. Assembly programming is more specialised than Java or Web programming. You can see this by looking at how few assembly books are in the computer section of a bookstore. The jobs are fewer, in part because the barriers to entry are higher. Often, such jobs are thus higher paying and more secure.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No