Gameography
F1 2019, 2020, 2021, 2022 and 2023
en.wikipedia.org/wiki/F1_(video_game_series)
F1 2018 XBOX ONE, PS4 & PC
F1 2017 XBOX ONE, PS4 & PC
F1 2016 XBOX ONE, PS4 & PC
F1 2015 XBOX ONE, PS4 & PC
F1 2014 XBOX 360, PS3 & PC
F1 2013 XBOX 360, PS3 & PC
Mid-Session Save Tech
Delta Compression Tech for the Replay System
Lots of Rendering/Memory Optimisations
F1 2012 XBOX 360, PS3 & PC
Young Drivers Test
One Shot Qualifying
9 out of 10 http://www.oxm.co.uk/45860/reviews/f1-2012-review/
8.1 http://www.computerandvideogames.com/368781/reviews/f1-2012-review-looks-and-finally-moves-like-f1-review/
4.5 out of 5 http://www.gamesradar.com/f1-2012-review/
8 out of 10 http://www.hardwareheaven.com/reviews/1571/pg1/f1-2012-xbox-360.html
93% http://www.atomicmpc.com.au/Review/315852,f1-2012-review.aspx
85% http://www.ign.com/articles/2012/09/17/f1-2012-review
9 out of 10 http://www.eurogamer.net/articles/2012-09-17-f1-2012-review
7 out of 10 http://www.eurogamer.net/articles/2012-09-17-f1-2012-review
8 out of 10 http://www.officialplaystationmagazine.co.uk/review/f1-2012-ps3-review/
9 out of 10 http://www.xbox360achievements.org/game/f1-2012/review/
4 out ot 5 http://www.digitalspy.co.uk/gaming/review/a406378/f1-2012-review-xbox-360-more-than-just-a-tune-up.html
9 out of 10 http://www.gamesaktuell.de/F1-2012-PC-238832/Tests/F1-2012-Test-Codemasters-mit-frischen-Features-zurueck-auf-der-Rennpiste-1024822/
88% http://www.pcgames.de/F1-2012-PC-238832/Tests/F1-2012-Test-1024784/
F1 2011 XBOX 360, PS3 & PC
Paddock Life
Parc Ferme Post Race Cut-Scenes
Garage Post Race Cut-Scenes
http://www.facebook.com/pages/F1-2011-GAME/208985465779424
F1 2010 XBOX360, PS3 & PC
Pitstops
Garage Crew
Paddock
Interviews
http://formula1-game.com/
http://www.metacritic.com/game/playstation-3/f1-2010
http://www.metacritic.com/game/xbox-360/f1-2010
http://www.metacritic.com/game/pc/f1-2010
BAFTA winner
http://www.bafta.org/awards/video-games/
http://www.formula1.com/news/headlines/2011/3/11824.html
"50 Cent Blood On The Sand" XBOX360 & PS3
Lead Tools and Technology
http://www.50bloodonthesand.com/us/
http://www.metacritic.com/game/playstation-3/50-cent-blood-on-the-sand
http://www.metacritic.com/game/xbox-360/50-cent-blood-on-the-sand
‘The World Is Not Enough” N64
Lead Programmer
“Mortal Kombat 4” – PS1, N64 & PC
Lead Programmer
"Hercules Action Game" PS1 & PC
Audio & Front End Programmer
"Wargods" PS1, N64, PC
Lead Programmer
"Super Street Fighter II Turbo" PC
Role: Gameplay Programmer, a line by line conversion from assembly language to c++, the gfx and sound were handled with bespoke code but it was essential to maintain the feel of the much loved game from the arcade bugs and all. To complete this I wrote a tool to read the assembly language and convert it to macros that could be compiled as C/C++ giving us a code base that could be recompiled to target whatever platform we wanted to, although street figher was just PC later we used the same technique to port to N64, PS1 and PC in parallel. It's been a long time since I wrote this but the tool was basically doing simple parsing and a lot of string manipulation it worked a little like this...taking a file of assembly code...[Note the arcade code was in Japanese and this was pre-internet so making sense of the comments was a challenge]
LEA Dest,A0 Set up pointer to destination
MOVE.W #511,D0 512 bytes to be input
AGAIN BSR INPUT Get the data in D1
MOVE.B D1,(A0)+ Store it
DBEQ D0,AGAIN REPEAT until D1 = 0 OR 512 time
Convert it to a c file with labels and macros...trivial for some instructions, LEA, MOVE.W etc with A0-An and D0-Dn as global variables.
#define LEA(A,B) (B=(uint32*)&Dest)
#define MOVEW(A,B) (B=(B&0xffff0000)|511)
#define BSR(A) A();
LEA(Dest,A0); // Set up pointer to destination
MOVEW(511,D0); // 512 bytes to be input
AGAIN:
BSR( INPUT)
etc
Using macros makes it easy to fix a bug in a single instruction and easy to compare the c++ code to the assembly code for errors. I kept working on this while using it on Wargods and Mortal Kombat 4 by which time it handled most of what the arcade coders threw at us.
By keeping track of how the labels are used by the code you can infer functions vs loops and flow logic....e.g. because the label INPUT is "called" using BSR it needs to be a function...
1994 "Family Feud" 3DO
Role : Programmer
Developer: http://en.wikipedia.org/wiki/Eurocom