These tutorials focus mainly on OpenGL, Win32 programming and the ODE physics engine. OpenGL has moved on to great heights and I don't cover the newest features but cover all of the basic concepts you will need with working example programs.
Working with the Win32 API is a great way to get to the heart of Windows and is just as relevant today as ever before. Whereas ODE has been marginalized as hardware accelerated physics becomes more common.
Games and graphics utilities can be made quickly and easily using game engines like Unity so this and Linux development in general will be the focus of my next tutorials.
Alpha & Beta
By Alan Baylis (To the memory of Neil)
Dr Neils had high expectations. He had worked long and hard to build his latest model of robot, although he disliked the use of the term robot to describe his creation. He preferred the term simulacrum or bioentity as most of its structure was indeed organic and he had given it all the dimensions and facilities of his own body. He had even given it the name Alpha.
And now Alpha was to be tested for the first time in its complete form. Each part had been tested independently prior to this day and performed well but ultimately this was the first big test. Dr Neils knew that today's tests depended mostly on the correct functioning of Alpha's major component, his mind. Alpha was endowed with the most revolutionary mind that Dr Neils could conceive. It was organic and could create new memories based on its experiences and had the ability to roughly predict the immediate future based on what it had learnt from those experiences. The mind was structured around the principal of needs that direct it from one task to the next depending on the strengths of its needs.
The test chamber had been cleared of all hazardous objects and Alpha was being brought in by two attendants on a horizontal trolley. Alpha was nearly six foot and dressed only in a loin cloth which covered his reproductive organs as this was the law for humans and it seemed right that Alpha, having been modeled on the human body, should comply with the law.
Alpha was totally inert as the attendants carefully lifted him from the trolley and placed him on the floor of the test room in an area that was being heated by overhead lights. Dr Neils did a last check that all provisions of food and water had been placed in the correct places and also checked the latest bio readings and endocrine levels. All looked well so he gave the order to leave the room and secure the doors. From his console Dr Neils released a colorless gas into the room and watched expectantly at the bio readouts.
After a few seconds the gas reached the lungs of Alpha who let out a reflex cough as his lungs expanded for the first time and his heart took its first beat. The gas had now activated Alphas mind that had previously only been wired to a simulated body in an artificial environment. Alpha calculated that he was most likely awake and seeing the lights diffused through his eyelids so he opened his eyes. He then quickly closed them again and turned his head as the seemingly more than real light hurt his eyes. Sitting up was also a slightly unusual sensation too, but he couldn't work out why. He looked around the familiar room and was pleased at seeing that his food had arrived as he anticipated having a full stomach very soon.
Dr Neils was happy to see Alpha raise himself from the floor and unsteadily make his way to the food dispenser. Alpha then ate, and Dr Neils noted that he ate slightly more than in the simulated tests, and with increased enjoyment levels. Then, as predicted, Alpha made his way to the drink dispenser and drank heartily which he followed with a satisfied rest in the most padded and warm area of the room.
For the next few weeks Alpha was subjected to many changes in his environment and responded nearly always as predicted. As far as Dr Neils could measure, Alpha also responded with good nature on all the occasions, even when the tests where to discover his reaction to adversity and his ability to overcome it. The tests where concluded and it was voted by the Sentient Ethics Committee that Alpha was a worthy model, and could be used as the basis of future development. So Dr Neils set to work on the second unit for which he had already chosen the cliche name of Beta.
By copying Alpha's construction process exactly, the work of building Beta was soon done and as with Alpha, he passed the initial tests of brain function and temperament with equal results. Beta had been in his own test area for several weeks now and Dr Neils decided that today he would introduce Alpha to Beta. He worked a control on the console and watched as a door that separated the two test chambers slowly rose and then he waited, his fingers lightly resting on another control.
Alpha was beginning to get that strange feeling of boredom again, which wasn't too bad when he found one of those strange objects near the food dispenser, but nothing had been there when he had woken up today so the boredom was starting to become annoying. This feeling immediately changed when he saw the door start to disappear into the ceiling.
Hesitating to approach the door, Alpha watched anxiously. Then he saw what appeared to be another of himself walk through the doorway. His mind spinning, Alpha calculated that this other being had all of his capabilities and the potential for danger was the highest he had experienced. He also reasoned quickly that this other being would need the same amount of food and water as he himself needed and this made him worry. But as these emotions subsided he also reasoned that another being could be some company for him and may help stop the nagging feeling of boredom which grew with each day in this room.
As the other being approached, Alpha was overjoyed at the prospect that his, now obvious, sense of loneliness was at an end and let out a broad smile. But his happiness quickly disappeared as he saw the hands of the other being rush towards him and grab him by the neck.
Watching from outside the room, Dr Neils pressed a button marked with the number two. A blue stream of electricity shot from the wall and knocked Beta across the room. Dr Neils then activated a wall, which came down across the center of the room, isolating Alpha into the back area, while a few attendants hurried into the chamber to remove the lifeless body of Beta.
Later at a press conference, Dr Neils watched the numerous reporters, waiting for them to finish disputing over the best positions. He could most clearly hear the question "What went wrong?" from the many being asked, so he responded by saying, "We can't say for certain as to what went wrong or if anything did go wrong. You see, both Alpha and Beta were made exactly alike. Except for their experiences, they were identical, and having free will they were able to independently decide how to react. We believe the reasoning of Alpha and Beta was the same up to a point but that Beta's need for company had not yet developed, so his motives were different".
Although they appeared to have not understood the answer he decided to answer the next question being shouted at him by most of the reporters which was "How can they be fixed?" So in response, he said "We do not want to inhibit their behavior, but we cannot say before hand how they will behave. So I have decided that the only way to know, with any certainty, is to leave them in the simulator for an extended period of probation."
The next question was predictably "How long will they have to spend in the simulator?" which Dr Neils answered with "I'll start them with 900 simulated years. So I'd better go think of something comforting to say to them when they first start to come out in three months." And with that he ended the report and made his way through the crowd that had gathered.
As he walked down the street towards his laboratory he thought to himself that his mistake may have been in not making Beta a female, and with this in mind he quickened his pace a little.