on 30 December 2011
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.
on 19 February 2012
In my opinion, this guide can be hugely beneficial for any beginner/intermediate user working with Flash. Although I would have previously classed myself as intermediate, as a student who has self-taught myself all I needed to know; this book has unveiled so many gaps in my knowledge, opened up many new possibilities, filled many blanks and given me the confidence to work to what I now know to be a professional standard.
It's clear that the author has vast creative and technical knowledge which is personal, yet unbiased to any particular brand(s). The book contains extensive and professional knowledge which is written in a very relaxed and understandable language. This helps make the complex project appear achievable and far less intimidating! It is also structured with an intelligent and progressive layout enabling me to follow guidelines for all areas of Game Programming at my own pace.
Although for some it may appear too unnecessarily in-depth, with this structured-layout readers can easily skip topics they're already familiar with. Although for me, it's given me an opportunity to revisit/confirm my understandings for topics I am already familiar with and actually more thoroughly understand the concepts from a professional view-point.
Overall I am incredibly impressed with this guide. It really does prepare beginners for working to industry standards.
- Jimmy Punt
on 20 December 2011
This is an outstanding book. The long awaited first proper text for Stage3D, whilst aimed at beginners, this books pace and readability makes it a great introduction for developers at any level looking to get into this great new technology. Christer has clearly put a lot of thought into how to present the information in context, without loosing the main focus.
This book will get you up and running with a clear understanding of Stage3D in the first few chapters, and in the remaining chapters will take you through some very clear and simple techniques and methods to handle such things as optimisation and particle simulations as well as removing what some people might consider 'the mystery' of AGAL.
I very much hope to see a follow up to this book written in the same approachable style.