Welcome to my portfolio site. You can email me at MJSimpson (at) gmail dot com. I haven't updated this site or my CV in a long time, so I've taken down the CV. It'll go back up at some stage.
Summary
Name: Mark Simpson
Age: 26
Location: Scotland
Degree: Computer Games Technology BSc with first class honours
Employment Status: Software Test Engineer at Realtime Worlds (January 2008 - Present).
Responsibilities include writing tools to automate testing, aiding developers in making their code more testable and writing, reviewing and improving unit tests.
Other notable skills: Strong amateur level design abilities, 3D Modelling skills. I have knowledge of many areas of game development.
Please note that to run the applications, you may need to download d3dx_34.dll. Unrar the .dll to your windows/system32 folder, or place it in the same folder as the .exe that is asking for it.
Deferred Shading. This was created as part of my honours project which comparatively evaluated deferred shading with multi-pass forward shading. The application features multiple pass forward shading and deferred shading renderers. It also features some basic scene & light culling, lighting sets (for the forward shading renderer), shadow sets, shadow mapping support for directional and spot lights and... more stuff. Some of the static meshes & textures in the scenes were created by other people; these are credited in the readme.
I received straight As for the planning, managing and execution of the project. The project was also recommended by the course leader for further dissemination.
System Requirements: Due to utilising the vPos register, you need a shader model 3.0 card to run this application. It also uses depth stencil surfaces for shadow mapping, so it may not run on ATI-based cards.
Downloads: Executable | Source | Dissertation
Network Programming with Sockets. This was the program deliverable for a final year university coursework. The module itself was a one semester affair, so I was quite pleased with the end result. I built a fairly robust UDP socket class and used custom structs to pass data between the client and server. The program uses a client/server model; the server controls the gameplay and the client serves as a 'dumb' display. The server runs at a lowish ticrate, but the display on the client runs at an independent rate and is smoothed using extrapolation. Note: The program seems to run a little erratically on my new PC (dual core) when I run both the client & server simultaneously, but it ran flawlessly on my old PC & university computers.
System Requirements: You obviously need two computers to run this properly, but you can try running both the client & server on a single computer (start the server, then connect the client to 127.0.0.1).
Downloads: Executables | Source | Report
Terrain Generation. This was a third year deliverable for university but I've re-written it to work with Direct3D instead of OpenGL. The application dynamically generates new terrain features using a number of common techniques, calculates the vertex normals and, finally, calcuates a blend map based on either height or steepness of slope. This blend map is used to interpolate between two textures to make the terrain's appearance more interesting. Terrain can be loaded from and saved to a .raw heightmap. The application also features refractive, reflective water with depth modulation and a simplified Fresnel term; the water also uses alpha blending to smoothly fade out the water plane as it intersects the shoreline.
System Requirements: Graphics card with shader model 2.0 capabilities.
Downloads: Executable | Source
Bezier Curve Manipulator. Another deliverable for a final year maths coursework. We had to build an application that would allow the user to create and modify a piecewise bezier curve. I used a view space algorithm to allow the user to interact with the control points by clicking & dragging. Furthermore, the curve had to feature smooth joins and allow cameras & objects to use it as a path (amongst other things).
Downloads: Executable | Source
Source (Half-Life 2 Engine)
ff_push. A remake of the classic Valve TFC map for Fortress Forever. I went with a sort of de_train styled industrial brick & sheet metal look. Fun & frantic during the playtests! Most of the custom props & and all of the textures were created by the FF team.
Download: Available as part of Fortress Forever.
ff_shutdown2. A remake of the classic cheese (legend!) TFC map for Fortress Forever. Kermit created the initial draft of this FF map but then unfortunately had to leave the team. Many months later, I picked it up and had to optimise it & then ultimately rebuilt it from scratch to incorporate the new FF prop & texture resources I had at my disposal. The yard was the only part of the map I left untouched (Kerm's work), hence I've not put any screenshots of it on my site. Most of the props and all of the custom textures are by the FF team.
Download: Available as part of Fortress Forever.
ff_bases. Remake of the QWTF classic with added elements of the TFC versions. All custom textures by the FF team.
Download: Will be available as part of Fortress Forever at some stage (probably in an update).
GoldSrc (Half-Life Engine)
Various TFC maps I made. I've released loads of 'em; here's a selection of screenshots. Any custom textures used are the property of their respective owners. In particular, a few of Gustavo's textures are used, with permission, for prolifique & sublime.
BTR APC
AH-1W Super Cobra Helicopter
Desert Eagle (obligatory handgun...)