Third year BSc Computer Science student Ryan Singh introduces his current project, Ouroboros (named after the ancient symbol depicting a serpent eating its own tail).
During the first term of my third year, I studied the Advanced Graphics & Animation and Physical Computing modules, which gave me a wider understanding of graphics, virtual environments and electrical prototyping.
I’ve always had an interest in virtual reality (I’m a big fan of The Matrix trilogy) and with new VR applications being released, I wanted to get involved and start developing. I acquired an Oculus Rift virtual reality headset and became interested in the translation of body movements within virtual environments.
If I wanted to control an object within a virtual environment (for instance a camera or a sword), I would use a controller. However I did not feel a sense of immersion, so I began to prototype a device that could translate the orientation of an object to manipulate an object within a virtual world. My project, which I’ve called Ouroboros, can currently translate its own pitch and roll to manipulate a camera within the Unity game development engine.
As it stands, Ouroboros only translates orientation in real time. To provide a truly immersive experience, linear (e.g. forwards and backwards) acceleration would need to be achieved. This will come with future updates to the firmware of the sensors.
I plan to release it as an open-source project so users can build their own homebrew virtual reality systems and – using a third-party software such as FreePIE – can control any game using Ouroboros as a controller instead of conventional joystick controllers.
My work with serial communication has also allowed me to contribute code to Unity’s Mono libraries, which are used for .NET Framework emulation.
How have your tutors helped you with this project?
Marco Gillies, who teaches both Computer Science and Creative Computing, is an expert on virtual reality and has provided a great deal of help into the fundamentals and theory of virtual reality. He has assisted me throughout the process and kept my project going in the right direction.
Brock Craft, a lecturer for Physical Computing, has also helped me throughout the electrical prototyping phases of my project. Without his insight into serial communication and general knowledge, the project would look a lot worse for wear.
Why did you choose to do BSc Computer Science at Goldsmiths?
I chose Goldsmiths because of its famous reputation in the world of the arts. I came from an art and design background and I only had a basic understanding of programming from my ‘A’ levels. Since I already possessed some form of creativity, I opted for the more technical BSc Computer Science.
The degree provides students with a mathematical foundation, the theory behind computer science and programming languages. You also gain a full and in-depth understanding of the requirements for developing software in a real-time environment.
I found that my passion for game development had a place within Computer Science and this allowed me to create virtual environments, particle generators and produce my own fully functional game engines. The course is extremely flexible and you can incorporate your personal interests to the technical assignments.