I really thought there'd be more to it. But running through a quick raycasting coding demo (something new to me, but always wanted to know how it work), I was soon able, after a couple of duh bugs, to get a running Java application spitting out a random wall grouping.
Reminiscent of my first FPS game I played, Wolfenstein 3D, and the same idea that powered the raycasting technology that's the cornerstone of the book Masters of Doom.
I had thought that doing the coding would provide some insight into the book - like loads of Pernot while reading A Farewell to Arms. In both cases, it doesn't really help. There's plenty of summaries out there in the world of this book, so I wont' waste time summarizing except to tell the uninitiated that it's a history of id Software and its rise and collapse under the watchful and egotistical eyes of John Romero and John Carmack.
This isn't to disparage either thing. I had a great time and learned a lot about modeling vision within an FPS raycasting system that was not altogether evident just reading through the code (my own Ahaa's found in the commented code). The book itself is well-written and is an adventurous story. Particularly one of young people who have discovered something incredibly powerful and are not sure what to do with themselves. I'm sure I would have been even less mature and more vindictive at their age. While, I'm still obviously less intelligent.
Consider this - I collect a lot of cookbooks, and there's a moment of discovery in making a recipe you never have or even in making a recipe that puts better flavor into what you already know. There's a connection there too, between the cookbook writer and yourself (except if you're watching Julie and Julia, that is bullshit!). However, in there is labor in that process. You have to earn the work, and, well, sacrifices must literally be made.
One of my favorite books on computers is The Elements of Computing Systems. I loved discovering how a processor actually works, how memory gets used, and how to build an OS from scratch (yes, yes, start with the universe, ha ha). But I know in reading it that I'm at an elementary school level. It doesn't sap my enjoyment of learning, but I won't be there with the chef as in my cookbook example sharing the same thing.
Likewise in coding a raycasting FPS engine, I am so far behind, even within the narrative of the book which covers the development of Quake, that while I love the learning, I don't feel empowered. True, I don't need to fuss around with OS/2 memory management anymore, but more importantly, I can make a game like it if I want to using Unity. However, with cooking you can't substitute - you need to learn the recipes, otherwise, you won't be able to cook like the chef ultimately.
So does the same thing hold true for coding in the steps of the greats? Are we able to say, "Look, learn this, skip Unity for now, and then go ahead." ? Do we respect that type of thinking as coders anymore, particularly within game development?
Thursday, August 14, 2014