Ape Reality #1
Early and Late History
Transcribed by Jason Howard.
May 1st, 2006
This is a transcript of a podcast by Tom Barbalet.
This evening I'd like to talk about two topics.
The first topic I'd like to talk about is the background history of Noble Ape. This is really the pre-history of Noble Ape dealing in particular with the cognitive simulation but also the software development that led towards Noble Ape. This isn't something that's written down, and it's something I wanted to talk about in this kind of format, because it gives me some kind of reflective time to actually think back and talk about the experiences that led up to the development of Noble Ape.
The second topic I'd like to talk about is ApeScript -- the development of ApeScript and also the ApeScript Contest, which is on the other extreme of the history of Noble Ape. It is in fact very recent history.
So to start off with I'd like to talk a bit about the background of the development of Noble Ape. Really the development of Noble Ape started when I was about 13, 14, 15, initially with the Schmuck Quest series of games that I developed with my friend Darren Boulton. It led towards a period where I would write a lot of code in notebooks. I didn't own a computer up until the age of about 15, so all my development from when I started programming around eight; when I used to go into the local university about 10; when I started writing software with friends from about 13; all came in remote experiences where I'd have a limited amount of time to actually do the coding. For this reason, notebooks were essential to me. I would literally write the code and diagrams and any additional information I thought would fit, with the view that this would be very precious time when I was in front of a keyboard to actually write the code into the computer and get it to compile and work.
The Schmuck Quest series of games were written probably over a 12-month period with my friend Darren Boulton. There was a lot of background documentation. The Schmuck Quest manuals were very rich and actually used by a couple of my friends long after I'd finished with them in making a comic book series in Australia. So it was documentation and software development in parallel which very much mirrors the initial development of Noble Ape, particularly the original manuals.
When I was about 15, my high school group went on a trip into Central Australia. I had a middle ear infection at the time and mild bronchitis but the decision was made to still send me on this trip. I had a codebook with me and started looking at the transition of landscapes with the view to create some kind of rich simulation environment.
I was interested, at the time, in making a UFO simulator where the UFO flew over a wide variety of landscapes. I was very interested in flight simulators and that kind of interface -- both the interface in terms of seeing the cockpit, and also the land and various other things moving outside. If you're familiar with the early Falcon vector graphics games, very much that kind of narrative, but I wanted something that was much richer and more detailed in terms of the landscape; in terms of there being flowing water and trees and lakes and mountains and flatland, grassland, this kind of stuff.
So I had a codebook and I wrote through this codebook and progressively through the trip -- before we even reached Central Australia -- got sicker and sicker, to the point where I was left in a remote part of South Australia for my grandparents who lived in Adelaide to drive up and collect me. Most of this period I was quite delirious and then recuperated in South Australia with my grandparents and preceded to write this codebook. At the end of completing this codebook of this landscape/UFO simulator, I sent the codebook back to a friend in Canberra who, with his father, actually wrote the code into the computer. I think it was Turbo Pascal or Turbo C from memory -- can't remember -- I think they may have only had Turbo Pascal. I wrote code conversion stuff.
This whole background narrative of written code came from when I was a young child having access to books where you'd write your own fantasy games in BASIC and things like this. So I was very familiar with how to write codebooks in that regard too with plenty of diagrams and explanations. You know, ''If this section doesn't work, try this.'' But most of the time, I basically wrote straight code.
Anyway, I arrive back in Canberra, and within a day of me arriving back in Canberra -- in fact, possibly even on the same day I arrived back -- I got a telephone call from my friend who was very excited because he and his father had typed in this code and it had compiled pretty well the first time. They were looking over this landscape and describing these things. They said, ''What are these strange floating disc-like things?'' I said, ''Oh, they're the UFOs.'' Rolling hills and water and flyovers and it all looked very early '90's vector-graphics style beautiful.
But that really is the background of Noble Ape, in a kind of pre-history sense. I developed a lot of separate simulations. An agar simulator that I remodeled into the cognitive simulation of Noble Ape. But there were lots of different bits of software, also compilers and interpreters and things like that. I wanted to take all this software and push it all together into what was originally called the Nervana Project which went on, of course, to be Noble Ape.
That's one of the fundamental stories in the background of Noble Ape. The cognitive simulation component was done -- I was in the shed after the original foundation of Noble Ape, but I had lots of old agar simulations that I'd written on machines probably in the early '90's. I can't remember. It was after the original vector graphics but probably in a similar timeframe to Schmuck Quest when I actually ported it over to Windows. Porting it to Windows was a big event for me personally. The UFO sim was written for Windows, but I programmed the Schmuck Quest series for the Mac, and importing it over to Windows was a big event. Around that time I wrote an agar simulation -- always very interested in vector landscapes and trees and water and making things look as real as possible with very limited graphics. This was really the background to Noble Ape.
If we fast forward to early last year, we'd moved from the UK to the US and I assumed, just through the process of looking for work and moving or whatever, that I'd have some time on my hands. My thinking at the time was, the bit that was missing -- and this really is three years ago, when Noble Ape was put up on download sites and when it had gone full-color and multi-window and people were getting into what Noble Ape was -- the background feedback that the download sites were providing was that there needed to be a scripting language as well to make Noble Ape just that much better.
My thought was that, with a bit of time off, that this would be an ideal time to actually implement a scripting language. In memory it took me about six weeks, just of tinkering -- just seeing, this could be simplified, this could look better. Initially, ApeScript didn't have any functions, and then I wrote functions in. So all these components coming together created ApeScript over a period of time. Lots of bits and pieces. Debugging. I think in total it probably took me about four months to complete ApeScript to a satisfactory level. Lots of musing and various testing techniques and things. Looking at hash values. The influence of Pedro's feedback on these kinds of things. It's always good to have a code-sparring partner as Darren Boulton was with Schmuck Quest.
Over a period of developing ApeScript, I was curious about how well it would be adopted. With developing new technology -- even relatively abstract new technology with Noble Ape -- I'm always curious, who will get it? Who will get this component of the development? Who will understand it?
I've certainly found that with Apple's vector changes. Certain developers really just got that. It's never a mass market. It's never about a majority of people. It's really about scratching nerd itches and other nerds having the same itches. This is really what's motivated the development of ApeScript.
So I having completed all of that. I discovered that there are about eight ApeScript users that got to the point where they'd downloaded the debugger. ApeScript has a built-in debugger which shows you an output through a single cycle of ApeScript. My thinking was, OK, so we've got eight users. It's taken me about four months. This is a language that certainly university students should be relatively receptive to, but how do you get it out there without active publicity, and my thought was the ApeScript Contest.
What is the ApeScript Contest?
The ApeScript Contest has two aims. The first is to get people thinking dynamically about how they can use this ApeScript language both within the simulation and as an external component of their own technology, or just stand-alone, or whatever they want to do with the idea of ApeScript. The second part is actually to do with bug submission. It's very difficult to write open source because really the only kind of bug testing you do, you do yourself. There's not a lot of user feedback in terms of bugs. They're very difficult to track even when you do get user feedback.
So the two components were getting people using ApeScript and getting them using it dynamically, and at the same time, creating a set of bugs that existed within ApeScript that could be fixed -- or needed to be fixed, irrespective of whether or not they could be.
So this was the motivation behind the ApeScript Contest. There has been nothing more done on the ApeScript Contest bar this seed of an idea, primarily because I want to work out the legalities of it.
By the way, the prizes are in cash. I think this was very important to me that we're not offering people iPods or any of that kind of nonsense. So we just give them cash. And tax problems as they evolve, they evolve. Whatever occurs, occurs. But I thought it was far more important to give them cash irrespective of where they were in the world than it was to give them ethereal prizes, and they could do with the money what they liked.
So that was the seed idea which hasn't really developed that much because of the analysis of legalities, working out what shape and form Noble Ape will take in this Contest, and things of this nature. But the idea is still there. It's still percolating. Because the primary contestants in the ApeScript Contest would be university students, the timeframe associated with the Contest will probably be about four to six months, which gives people enough time to learn the language, start experimenting with the language, and actually create something interesting with the language. My hope is that it won't just be a set of isolated students, it will actually be universities that pick it up. It moves in that direction, too, to get a bit of academic credibility to Noble Ape.
So there you have two extremes. To bits of Noble Ape history. One is the formative component that led into the development to Noble Ape, and one is the ApeScript Contest. I hope you've enjoyed this first podcast. There are going to be many more like it, no doubt, touching on a wide variety of topics. I can be contacted at tom at nobleape.com.
Thank you very much for listening and I hope you tune in once again.