I have been part of multiple projects using Linden Labs‘ Second Life, a massive virtual world where thousands of users can interact using “avatars”. Almost anything can be created in Second Life, and its behaviour can be controlled using a scripting language called LindenScript.
One of the projects was an actual university assignment, whereby we had to design mini-games that were similar in style and theme to what you might have seen on a TV game-show, like The Crystal Maze.
The other projects, however, were extracurricular; and I worked with fellow students Chris Butler and Matthew Brittain. Firstly, we supplied the assets for a “machinima” in Second Life as a pilot TV programme for Channel 4, which was directed by Pixel-Lab. Secondly, we worked on a major press event when the University of Derby signed a deal with global technology services giant, EDS.
For the press event, we had to model a replica of the specialist Games Development Suite in Second Life, as that was where the signing took place in real life, and we produced avatars that would mimic the actions of the real people in the room. You can find the university’s article on the event here. Expand this post to see screenshots of how we built the virtual Games Development Suite.
One of our final year university modules was called “Languages, Platforms & Tools”. This module featured lecture material on compilers and interpreters, along with debates about various programming topics. The coursework required us to produce a simple application in a programming language that we knew well, and then port it to another mainstream language that we did not know at all. The bulk of the work, however, was a written report that compared the chosen languages.
As you may have guessed from the title of this post, the primary language I chose was C#, and the secondary language was Python. The application I made with these languages was a simple clone of Asteroids, so I utilised the XNA 4.0 Framework with C#, and a library known as Pygame 1.9.1 with Python 2.7 to handle the graphics for the game in each case. My report discussed the histories of both languages and contrasted their features. I also included a developer diary that reviewed the progress of my implementations. I was given a “B+” for my work.