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.
Reality Check
By Alan Baylis
Simon sat in the mall watching the mass of shoppers. Most of the people looked happy and talked loudly about the latest events in their lives. They were content to spend their time shopping and it followed that they must also be content working to pay for all the things they brought, Simon thought to himself. All of which just made things harder for him to bear.
He had an easy job at the local pet food factory where all he had to do was load palettes with boxes that came off a conveyor belt. It paid a basic wage that covered his housing costs and expenses with a small amount left over. He knew he should be grateful that he had anything at all compared to most of the people in the world but that didn't alter his feelings. The problem was that his life was repetitious. There didn't seem to be any meaning in a life where all he did was load palettes most of the day and watch TV in the evenings. He'd even heard that watching TV was mentally the equivalent of being in a coma but that just scared him.
To alleviate the feeling of repetition in his life he had tried many things, like changing his job, but most of them cost the little bit of money he had left or became repetitious in themselves. He had changed jobs at least fifteen times to date and even jobs that had a degree of complexity, and were a challenge at first, became boring after having learnt the process and the daily repetition set in. Something had to change, something had to happen that was exciting, and it was at this point that he thought that there must be more to life than this.
At first the sounds weren't loud, just a popping noise somewhere in the mall. Simon was still half in his thoughts when the screams began. Four soldiers in full battle gear had rounded the corner with their guns raised and were rushing in his direction. As he stood up he noticed that the people near him were running or ducking for cover in side alleys. In dazed disbelief, Simon just stood there and comically thought that this was indeed something new. Three of the soldiers rushed past him and headed down the hallway but the last soldier stopped in front of him and just stared. The soldier didn't speak but in Simon's mind he could clearly hear the soldier say, "Why aren't you running?"
Not knowing what to make of the phantom voice, Simon didn't respond. More sternly this time, Simon heard the soldier's words come into his mind, "Why aren't you running?" Unsure of the true reason, Simon just blurted out "I don't know". The soldier looked around uneasily and then saw something behind Simon that alarmed him. As the soldier began to run, he grabbed Simon by his jacket pulling him along in the same direction. The hurried words "Come with me!" echoed in Simon's mind as they ran and when Simon glanced over his shoulder he saw two new soldiers coming from the far end of the hallway. They were dressed like the first soldiers but wore a darker green camouflage suit. The two new soldiers took up positions behind doorways and aimed their rifles.
Shots raced past Simon as the soldier, still holding onto his jacket, pulled him into a stairwell and began to climb the stairs. Releasing the jacket, the soldier's words "Stick with me like glue... your existence depends on it." came into Simon's mind.
They raced up three more flights of stairs and entered the top level of the mall where the area was full of people who ran at the sight of the two of them. Turning to the left, the soldier stopped and kicked at an access doorway that led behind the shops. The lock on the door gave way easily under the force of the kick and the door swung open wildly.
Running down the corridors, Simon thought to himself "This is madness, why are these soldiers here, shooting at us?" but he had to admit that this soldier had saved his life once already and it was best to do what he said, or at least what he thought the soldier had said.
The soldier tried the doors on a couple of rooms and when one opened he quickly entered, motioning for Simon to follow. After Simon was inside the soldier closed the door and looked around the storeroom. "We should be safe here for a while" came the soldier's words to Simon.
"I can hear you," said Simon "but, I don't see you talking."
"This is a battle game," the soldier replied "a simulation. The host running the game hasn't fixed the speech animation bug in the program yet. We think it's a trippy bug and actually like it. We're not really interested in interacting with the artificial people anyway, they all pretty much say the same things, always about the weather and such"
"You're saying that I'm a simulation?" Simon said in a mocking tone.
"Yes, how else can I be talking to you without speaking. The question is, why didn't you run like all the rest of the people. Your artificial intelligence is designed to react naturally to events so I'm wondering why you reacted differently."
"I was just thinking about why my life was so repetitious. I thought that there must be more to life than just sustaining it."
"I think that means you are showing signs of consciousness, I don't know for sure, but you are the first sim-person I've seen that has behaved against their natural instincts.
"Then who are you?" asked Simon.
"My name is Andrew Halkowitz the 12th, I'll be 19 years old next month. I've been playing this game a fair bit lately. Everyone here plays some type of game in the simulated worlds. Some sectors are devoted to chess or golf, history, almost everything."
Simon didn't buy this at all but the grim concept of actually being a sim-person forced him to ask "Why did you have to create artificial worlds with simulated people in the first place?"
"With over a 130 billion people in the world we don't get allocated more than four months a year to travel outside the buildings. If we weren't provided with the stimulus of virtual reality games I'm sure we would all go crazy; it's been researched, I think." As he finished speaking he went to check that the hallway was clear. "We'd better make a move before the other team reach this level. We have to make it to the end zone without getting shot."
"But you said this is a simulation, why should we worry about getting shot" Simon said with a small amount of mischievous pleasure at being able to trip up the logic in Andrew's story.
"The host has made the rule that only the winning team has the option to save the sector as an incentive. If I can't save the sector then your random configuration will be lost." He then paused long enough for this to sink in and as he made his way through the door Simon heard him say "I've sent a message to the game host but they may not read it for hours or days and I don't think we can hold the sector for that long."
Simon followed Andrew back out into the now deserted mall and then both quickly entered an open elevator. On the way down Simon thought that it probably wasn't too bad if he were in fact a simulation, everything seemed real enough and life was certainly going to be more interesting from now on.
As the doors opened they saw the bodies of Andrew's team-mates lying just outside the elevator. Andrew rushed to hit the button to close the doors again but was it was too late. A hail of bullets filled the elevator hitting them both and then the sector reset.
Simon sat in the mall enjoying an ice cream. Life wasn't too bad, he thought to himself. Sure, his job was a drag, but it was always nice to come to the mall and do a bit of shopping.