all commercial programmers use low poly models as well, for example DoomIII has low poly models but takes the textures off high poly models to make em look smoother, but if you look at the outline of the doom models you can see they are low poly models, lots of polys slow down the framerate, less is more in this case, in most commercial fps`s you don`t get more than about 5 or 6 NPC`s at any one time, ten tops, just to maintain a low poly count and keep the framerate up, it`s something you have to get used to when you are writing code, anyone can just throw a hundred or so models into a scene and have it run at 40fps, but getting all those objects to interact, the AI to work and the user controls to function smoothly is something else, you need every advantage you can get, thats why the pros spend so long tweaking their engines and dropping features, even with modern machines it`s a struggle to maintain a decent speed, we aren`t at the stage yet where we can just stick everything we want into a program and just have it work, thats the reason for things like BSP, its all to reduce the number of polys and textures the PC has to keep track of, remember EVERYTHING in a game, every vertex, pixel, sound and number, has to be tracked by the program or the gpu, the exact shade calculated for millions of pixels etc, it all adds up.
Windows: 32 bit extension/graphical shell for a 16bit patch to an 8bit OS originally coded for a 4bit CPU, written by a 2bit company that can't stand 1bit of competition, now available in 64bits.