Use Windows. Because we’ve got you by the short and curlies.
September 20, 2009It’s now 10:38 PM on Sunday, September 20, 2009. I’ve been installing a fresh copy of Windows XP since 6:00 PM yesterday night. My efforts have been on and off for the most part. Downloading drivers. Updating software. Finally installing the one and only piece of software I’m interested in using. You know, the usual chore. I’m sitting here with my glass of wine and a good book wondering why do people put up with it these days? Fundamentally, the Windows software process is just plain broken for the average user. I can pick any of the popular Linux distributions or almost any version of Mac OS X and do exactly the same thing which would be: install the operating system including drivers and updates, and then exactly one application. The only difference being, between the three operating systems, is that this pain would only last a short while (less than an hour) on Linux or Mac OS X and then it would be over. It gets even better if my home directories are preserved and I don’t need to spend hours reconstituting them. But on Windows, it’s just painful and frustrating.
Sigh. Thirty minutes and the download process is 4% finished. It’s a 650 MB download, but I have high speed Internet access. I’ve downloaded things a couple of Gigabytes in length in less time. It’s not my home connection and it’s not my Internet provider. Whatever Microsoft is doing to serve me this file, whatever servers and load balancing machines they have to manage their network, it’s not working. It’s quite possibly the slowest download I have ever experienced, including during my time on a dial-up connection in the 1990’s. I’ve used Bulletin Board Systems with MODEMs clocking in at just over 300 baud, and I have never experienced such a time dilation. I’m going to need to keep this machine on all night, just to download the equivalent of an Ubuntu Lite installation, which I just did yesterday and it only took 10 minutes.
Why do we put up with it? Why do we go through this crap, and why do we tolerate it? I couldn’t tell you how many times I’ve installed a Microsoft operating system over the last 20 years. I couldn’t tell you how many times I’ve done it in the last three years. I can tell you I’ve installed my Linux desktops a couple of times and I’ve upgraded my Max OS X systems once. But I can tell you that each Windows installation was painful. Every. Single. Time. Their installation process is nothing like Windows. Sure, the Linux side of things can be a bit more difficult if you’re trying to do something different, but if you’re just installing out of the box configurations – just like I’m doing with Windows – it’s a walk in the park.
So why do we put up with all of this nonsense? It’s not because we like it. In fact, this time around it was one of the worst installations I have done in recent months, all because I wanted to play a game, which is now sitting at 5% download complete. And herein lies why I continue to suffer this operating system: I simply want to use a piece of software which can only be run on Windows. Can you imagine what this process will be like if I want to play this game five years from now? Pretty to close to impossible, I think. Their installation and software deployment model is fundamentally broken, and they have yet to come up with anything better.
After all these years, they still don’t have a dependency model for software packages. They don’t have the concept of a single, atomic unit of software. Instead, they have a rats nest of files and directories scattered all across the operating system. Mac OS X have application bundles and a rigid deployment model; Linux has packages with dependencies which makes installing software, and the dependencies of that software a much better experience. They too have a rigid deployment structure which only makes the lives of the user that much easier. Sure, they have their technical drawbacks sometimes, like the availability of bleeding edge software to drive bleeding edge hardware, but that’s only because the bulk of the market is held by Microsoft. Naturally, if the market dries up, then those hardware vendors will see to it that their drivers and helper applications make it to the operating system of choice.
On top of all of that, Windows developers are still doing really bad things because the model continues to let them. I continue to use the operating system because I want the software the developers are writing, but I have my limits and I will go elsewhere for entertainment. One of Windows’ great strengths was their drive to maintain compatibility with older software products. This didn’t make them popular but it kept them in business.
There are numerous stories about what the Windows operating system developers did “in the old days” to make obsolete or broken software work. You want Sim City to work with Windows 95 for the launch? No problem. Oh wait, it seems the developers at Maxis were sneaking their hands up the dress of the Windows memory manager. Ha ha. We’ll just work in some special handling for that naughty piece of software. That backward compatibility created value. That kept people coming back to The Old New Thing. Windows 7 and Vista before that are changing that model. In their quest to improve every system and the kitchen sink with Windows, they seem to be forgetting the biggest pain point of their operating system. It’s not the file system, or the surface manager, or the rendering routines for adding fancy window dressing (ooh, transparency). It’s the fact that I need to install a million, fragmented pieces of software in order to get things done. Oh, and in the mean time, reboot a few dozen times. Ha! That never seems to get old.
Categories: Windows
2 Comments »
So you’re an aspiring game writer, now what are you going to do about it? You could get a job as a summer intern at a local game company and work for free doing all sorts of tedious tasks no one else wants to do. Or you could hit eBay and do yourself a huge favor and find this text. Before you write back about the publication date, yes it was published in 1995. No, it does not talk about OpenGL or DirectX. Phew, now that we have that out of the way, let’s talk about what this book can teach you.
This book’s greatest strength is how it dabbles in a number of good topics without being totally useless. A number of texts provide a lot of information about too many topics, while not providing enough material to do something fun or useful. That exercise is often left to the reader. Ha! A book like that in my house will pay a little visit to the recycling bin or get banished to the library, never to be read again. Other books tend to steam roll over you with too much theory of the mathematical kind. While I’m all for roots and quadratics, aspiring young programmers wanting the enter the field of game development shouldn’t necessarily want to go whole hog on their first book.
That being said, they will need some basic skills to get started, and matrix math is a fundamental skill for playing around in 3D. Fortunately for the junior programmer, it’s not the most difficult skill to learn. One of the black arts the book teaches you is how to master 2D and 3D transformations using matrix algebra. It doesn’t go into quaternions for gimble-lock free rotations, but since the reader is probably just starting out, it doesn’t really matter either. They will be able to make do without all of the fancy topics getting in the way of actually learning something useful.
The book does show its age in some chapters where the topic of conversation is how to take control of various video modes, but I think it’s still a worth while read. You can still do this kind of programming if your recreational operating system of choice is FreeDOS or some other version of DOS, even on a modern PC. You could even use Windows 95 or 98 for that matter, just get it to boot using the version of DOS which ships with all of that GUI crap. Trust me, you’ll be better off in the long run, plus you can wow your friends with your amazing latch register skillz.
Categories: Books, DOS, Game Development, Graphics
No Comments »
Once Upon Atari…
September 13, 2009I recently watched a documentary series produced and distributed by Scott West Productions. It is hosted by Howard Scott Warshaw, who is perhaps best known for the game Yars Revenge. The content of the DVD is a series of interviews with a few of the major players at Atari during the golden years. Most of the discussions centered around the popular talent, work environment, their rather low opinion of marketing, burn out, and a number of other typical questions they probably get asked numerous times per year. It’s an enjoyable series and one which should not be missed by fans.
Interviewees: Carla Meninsky, Jum Huether, Nolan Bushnell, Tod Frye, George Kiss, Jerome Domurat, Rob Fulop, Larry Kaplan, Bob Polaro, Alan Murphy, Eric Manghise, Rob Zdybel, Suki Lee, and Dave Staugas.
Categories: Atari 2600, Retro
No Comments »
Zen of Graphics Programming (2nd Edition)
September 11, 2009There are certain books on my shelf which I will never give up. I donate many to the library but some have a staying power I don’t often see and tend to covet when I do. Michael Abrash’s aforementioned text is one of those books. It’s  a technical book cover to cover, there are a lot of hairy details which are fun to read about and you would be hard pressed to find code listings your mother could understand (unless she too is a programmer, lucky you!).
The book was written in 1996 Â for a whopping retail price of $62.99 (CAN). That was a lot of money for a young man who was entering his second year of university. Like many people, I bought the book during a time when browsing the table of contents on the Internet was simply not an option. Most of the time, I couldn’t even look inside a physical copy because my book store simply didn’t stock the books I was interested in buying. I often needed to special order these texts using a behind the scenes method, that is, if I was lucky enough to find a distributor in their corporate directory. I fondly remember spelling out the book titles carefully since the nice women working behind the counter didn’t have a clue what I was talking about. Most of the time they must have thought I was speaking a foreign tounge because they would often ask me to repeat it, or reply seconds later with a vaguely stunned expression.
What I needed to rely on, was the opinions and recommendations of graphics and games programmers who posted comments through various Usenet news groups, BBS systems, and the very rare in face to face conversations. This particular book was published by The Coriolis Group and featured a wealth of information on programming computer graphics using an Intel microprocessor and a video card sporting multiple video modes, including compatibility with the elusive and fabled Mode X.
Being a book on graphics programming in 1990’s, it centers around producing efficient drawing code. It tackles the more basic primitives and how to decompose the traditional rendering algorithms into something which could execute very quickly, and then review that optimized code progressively to try and squeeze out even more cycles from your overworked CPU. One of the best features of the book, is that it’s mostly a book on algorithmic optimization, instead of code optimization, which is why it has staying power even today. For those interested in the past-time of code reduction, the author has written another book called The Zen of Assembly Language which is freely available as a digital download (or was the last time I looked).
Three dimensional computer graphics was a popular topic at the time and still is to this day, although advances in this area of computer science have rendered (pun intended) some of the earlier topics almost obsolete. Of interest to those studying the rendering pipelines used by classic games like Doom and Quake are topics around the interpretation and optimization of BSP trees. BSP is a fancy acronym standing for Binary Space Partitions, which is another fancy way of describing how to carve up space into optimal chunks, and then placing those chunks into a data structure like a binary tree. The reason Doom ran as fast as it did was not because the developers wrote some of their modules in assembly language, it was because the BSP compilers produced an optimally pruned set of data. Less data to process, meant more cycles to render those beautiful walls, ceilings and stairs we have all come to love and adore.
I find this book to be especially useful, however, when you need to return to the fundamentals. With the advent of small, portable devices, programmers working on these products have needed to return to their roots, or if they are new in the industry, to open their minds and think about the construction of 2D & 3D engines in a way they never thought of before. Most of the engines used by nubile programmers entering the field of computer graphics will be wrappers around this functionality; abstracting the core mechanics and shielding the developer from the tedious and structural bits of the engine.
Indeed, this is probably for the best, most of the time, if productivity is what your company needs. It never hurts to return to your roots every now and then, and let your mind flourish in an area rarely experienced by most technical professionals.
Categories: Books, Graphics, PC
No Comments »
Xbox 360 DvD Drive Woes
August 1, 2009Our 360 optical drive is stuttering and causing the video playback to freeze sometimes. It doesn’t always do it, but once it gets going, it won’t stop. We always need to turn it off and hope for the best the next time we use it. It may be a dirty lens, since I have never cleaned it the entire time we have owned it (around 5 years). Does this sound like the problem? Has anyone ever tried to replace the drive?
Categories: Hardware, Xbox 360
No Comments »
How to fry Bacon on your Lap
June 28, 2009Here I am in an air conditioned house on a Sunday morning playing a nice game of Contra III on my Macbook Pro and I’m sweating. Why? Because my Macbook Pro runs only slightly cooler than the surface of the sun. Ok, that’s an exageration, since the sun only run at 9800 degrees Fahrenheit, so my apologies to any astronmony group members out there who might have been offended.
I would love to know is if the new Macbook models (2009) run any cooler than the original Macbook Pro models sporting the Core 2 Duo 1.X GHz processors? Also, since I don’t have the money to drop on a new Macbook right now, I would love to hear more information about a store which allows trade-ins of used Mac hardware in Canada. Any ideas?
Categories: Hardware, Mac OSX
No Comments »
Racing the Beam
May 16, 2009
Racing the Beam
I just finished another great book the other day, entitled Racing the Beam: The Atari Video Computer System by Montfort and Bogost. It’s an inside book about some the development challenges and solutions when writing games for the Atari VCS. This is a unique machine and is often considered one of the most difficult machines for a programmer to cut their teeth on. With 128 bytes of RAM and an average ROM size of 2, 4, or 8K, you must fight tooth and nail of every byte used by your software. What lengths do some programmers go to skimp and save on bytes? Ever thought about using the same byte for both an opcode and a piece of data? Ever thought about using the opcodes and operands found in the code segment of your program as data, which gets fed a pseudo-random number generator or to produce a rendering effect because you didn’t have the spare space in ROM to place this stuff into the data segment? Well, neither did I until I read this text. Along with little gems like this, the book has a number of interesting tips and tricks into the how and why of software development for the Atari 2600.
The book centres itself around the idea of a platform, and how the constraints and peculiarities of a system can affect how a game is presented. Game adaptation, especially when you’re trying to port software from one hardware architecture to another, is a very important topic when you’re trying to maintain the look or feel of a game. Sometimes, neither is possible and you’re forced to go your own road and come up with something completely different.
A word of caution, though. This book will not teach you how to write software for the 2600 system. It is not a technical reference by any means, nor does it advertise itself as one. However, I would heartily recommend this title to anyone thinking about producing a game for that system, or those of us with an inner geek needing to be satisfied.
I love the idea behind this series of “platform” books as I have often wished for such books to be written and have even contemplated writing one myself just to fill the void. One of the most useful parts of this book is the reference section which can lead you to all sorts of new and interesting articles, books, or projects. I do hope the next book contains a bit more technical detail while keeping thevarious bits of historical data and interesting character references which really helps to tie the why and the how of the topics together.
Categories: Atari 2600, Books, Programming
2 Comments »
Street Fighter II: 3rd Strike
March 28, 2009Amazing video of “The Beast” vs. Justin Wong at California State Polytechnic University. It was during the EVO Championship Series fighting tournament in 2004. It’s been a while since that contest, but anyone who has ever picked up a controller and played one of the Street Fighter games, or who was lucky enough to have a local arcade centre, should be able to recognize the skill involved in playing this game and others like it. I found a decent feed on YouTube.
Categories: Games
Comments Off on Street Fighter II: 3rd Strike
Friday 13th Remake
February 22, 2009So, I went to see the 2009 version of Friday the 13th tonight. Before you think this is just going to be another remake, there are a few surprises in store for fans of the original, which can always add drama to any horror movie. It seems our leading villain has acquired a couple of new skills, while he has been toiling away at Crystal Lakes building and maintaining his electrical flood light system. Don’t worry, I’m sure he probably took a couple of correspondence courses on electrical safety before he set up the small power grid.
In most of his movies, he’ll usually make use of whatever tree stump or gardening tool happens to be lying around to take care of business, but most of the time he’ll prefer to use his machete, since he seems to be relatively proficient with it and it adds a +2 bonus to his attack roll. Well, he has decided to spread those proficiency points across a couple of weapons. No longer is he stuck using a bladed weapon for all of his social calls. You can now add a bow and arrow to his list of effective artillery. Spoiler: He was able to target a young man driving a boat at high speed with one shot (I guess he could have missed a few off screen), although his skill may have been enhanced by the Cobalt Blue Carbon Bow of Deadly Yearning (+1) he was using. But I doubt it.
Do you remember how sluggish and zombie like his movements were in the originals? Well, maybe you should watch them again. Sheesh. Anyway, it seems he traded his boots in for some Reeboks (probably pumps) and is now able to run his quarry down at high speeds. Jason must have been a track and field all-star by the way he can move over rough terrain, and the film cements that fact with a couple of short trophy shots (just in case you found it hard to believe that a unstoppable killing machine couldn’t shoot or run). The chase scenes do tend to lose some of the original build-up around a murder sequence, so you may want to watch them slow motion.
But don’t let his new skills turn you off, the movie was still enjoyable, even if they were a little skimpy on the gratuitous nudity.
Categories: Movies
Comments Off on Friday 13th Remake
DOOM II: Let the obsession begin. Again.
December 23, 2008[Taken from the back of the box]
The wait is over. In your hot little hands, you hold the biggest, baddest Doom ever – DOOM II: Hell on Earth! This time, the entire forces of the netherworld have overrun Earth. To save her, you must descend into the stygian depths of Hell itself!
Battle mightier, nastier, deadlier demons and monsters. Use more powerful weapons. Survive more mind-blowing explosions and more of the bloodiest, fiercest, most awesome blastfest ever!
The 3-D modeling and texture bit-mapping technologies push the envelope out to the max. The graphics, animation, sound effects and gameplay are so virtually realistic, they’re unbelievable!
Play DOOM II solo, with two people over a modem, or with up to four players over a LAN (supporting IPX protocol). No matter which way you choose, get ready for adrenaline-pumping, action-packed excitement that’s sure to give your heart a real workout.
It must be tough to keep reading – what with your hands trembling in shear anticipation. So we’ll stop talking now to let you take this box to the counter.
DOOM II. It’s time to get obsessed again.
Categories: DOS, Reflections
No Comments »