C# vs. Python

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.

A screenshot of the Asteroids Clone (Python version).


Languages, Platforms & Tools – Report (.PDF, 485 KB).

XNA Asteroids Clone – x86 Executable (.ZIP, 25 KB).

I aim to compile and upload an executable of the Python version at a later time.

Continue reading “C# vs. Python”


Applied Research Project (Dissertation)

My final year dissertation was entitled “What Elements of Game Design Provide ‘Emergent Gameplay’?”, and although the subject focus was on game design, I programmed and implemented a feature of emergent gameplay into a platformer game using Microsoft XNA 3.1, along with a tool to analyse the results of my research. It received a double “A” grade.

ARP game screenshot
A screenshot of the platformer game.


This paper seeks to understand how industry professionals define the concept of emergent gameplay, and why they consider it to be such a desirable element of game design. Several successful titles are then examined to establish which design features that promote emergent gameplay they have in common. One such feature is then implemented into a game that was created as part of this research, which uses a logging technique to analyse how well that feature contributes to emergent gameplay.


Applied Research Project – Dissertation (PDF, 5.4 MB).