Crosbie Fitch | Curriculum Vitae |
· A software engineer specialising in systems infrastructure
· Currently developing a new kind of online transaction system to facilitate en masse sale of digital content (The Digital Art Auction).
· Over a decade’s wizardry with C++, and a variety of other languages and platforms
· Very interested in architecting game engines for massively multiplayer games.
· Experienced with 3D graphics, 3D rendering engines, and 3D tools such as 3DS Max.
· Snowboarder, Pinballer, Carpenter, Mountain Biker, RTS & FPS Gamer.
C++ and 3D games are indeed interesting, but whilst I'm always interested in working in the field of 3D graphics, I'm especially interested in extremely large scale virtual environments.
There are three problem areas relating to the realisation of these that I'm most interested in:
PLATFORM: The system infrastructure to support million player virtual worlds, i.e. distributed modelling systems (see my Cyberspace Engineers site)
CONTENT: Rules based, automatic scenery generation (sophisticated enough to encapsulate architectural/stylistic expression) - I have done a fair bit of theoretical work on this
PAYMENT: Revenue mechanisms that can operate in what will inevitably be an uncontrolled (p2p) environment (T'DAA)
Developed an in-game camera controller, with smooth response to target acquisition (quaternion interpolation), collision detection and avoidance, etc.
Assisted with a game related project that involves interactive scenery construction. Designed a means of specifying scenery connectivity and in support of this, developed Max and Maya 'helper' and 'exporter' plug-ins to allow an artist to specify this connectivity interactively. Have also produced a Max exporter for this, and subsequently adapt the current code base to read in these files.
Created the vision and strategy for a new online venture, and made this the basis for the initial draft of a business plan. Worked on a revenue analysis of the various proposals within the plan. Helped refine the vision, business plan and revenue analysis as the team expanded. Ultimately expected to end up as technical lead.
Much research included assessment of various development models and their relative commercial strengths in creating or exploiting new technologies (proprietary R&D, Open Source, licensing), evaluation of numerous marketing strategies required to create/popularise the product's market (online/offline advertising, viral marketing, etc.), and exploration of the strengths and weaknesses of different revenue models (online vs offline sales, micro-transactions, auctions, etc.).
Also researched the state of the art in terms of massive multiplayer games and their technology, with particular attention to their scalability.
Joined to head up Tools and Technologies department (once Acclaim had moved to their new Mortlake offices). Initially placed with the Ferrari team given their needs for assistance were greatest. Started work on a C++ memory and resource management system. Once that was operational started on a general diagnostics system. Played a large part in establishing coding standards and project organisation standards (Visual SourceSafe). Then began development of cross-platform libraries to contain core components typically required in games. Acclaim’s financial difficulties put a halt all projects apart from the Ferrari racing game. With this greater focus, I worked on a data import/export system to get game information from Max into the Ferrari game. Thus my object oriented ‘game database’, optimised for fast loading at run-time, was being used successfully just as the Ferrari project was terminated.
Have also used the RenderWare libraries to implement level-of-detail for the cars and written helper and exporter plug-ins for Max.
Used C++ and 3D Studio Max scripting language to provide various utilities and plug-ins to enhance production of animated series at Pepper’s Ghost.
My most ambitious plug-in was a rules based scenery generation facility to plug-in to 3D Studio Max which would automatically generate large virtual sets. This has had to be suspended for more urgent needs due to a production being fully underway.
Originally joined Pepper’s Ghost in May 97 to write a networked games engine. Unfortunately, a couple of months after arrival they canned all their current games projects and decided to change direction into computer animation. I still continued my project in the hope that additional resources would be provided when the company’s fortunes improved. In late 98, still being the sole developer, I decided to write up my project in the form of two papers which I presented at the VSMM ’99 conference.
I have also been involved in the development of an in-house document and project management package.
Was involved in the development of visual effects plug-ins for a digital compositing package called Cineon. Thus indirectly had a hand in many of the effects seen in recent movies.
Was very pleased to design and implement the infrastructure of the 3D rendering system that is now incorporated into Cineon (still in use in many effects houses). This had the task of holding and interpreting a high level scene description, and then farming this out to one or more low level rendering services, then coordinating the 3D output into Cineon’s 2D image processing pipeline. This was quite an enjoyable foray into SGI multithreaded C++ code.
My colleague who moved on to Manex Visual Effects was so impressed with the relatively novel design pattern I’d used, that he used it in developing a renderer used for “The Matrix”.
I also designed the architecture for a camera tracking and match-move system.
Joined BRender development team and involved in a variety of areas. Developed the C++ API to BRender, though this was never released due to lack of marketing confidence. Also wrote the BRender technical reference manual.
Developed a high level scripting language. Designed a games development system, which was proposed as a project to various companies, but despite favourable response, never obtained funding.
Obtained
initial funding to develop networked games engine. A few months good work.
Contract did not get signed after all.
Completed
porting of a report generator from Borland OWL to MFC.
Started
off with statistical and graphics C programming. Much C++ Win32 graphics
programming for computer assisted diagramming.
Conducted
a ten week statistics course for humanities undergraduates.
Wrote
the Maestro music editor as supplied with the Acorn Archimedes and RISC PC.
Many
utilities in BBC BASIC and assembler for EPROM based utilities.
2003 – Plan B: The Bedroom Coder's Business Model, Develop Magazine (March), draft
2002 – Reviewed two books for Game Developer Magazine, June issue.
Continued series of articles in Gamasutra: “Cyberspace in the 21st Century”
7 Aug: Security is Relative
2001
– Continued series of articles in Gamasutra:
“Cyberspace in the 21st Century”
26 Feb: Scalability With a Big 'S'
12 Jun: Proksim (now Quazal) NetZ Review
2000
– Series of articles in Gamasutra: “Cyberspace
in the 21st Century”
29 Dec: Foundations II
1 Dec: Foundations
13 Mar: Cyberspace and Twelve Monkeys
1999 – Proceedings of VSMM99
1998
– Article in Pinball Player: “Pinball
Martial Arts”
1996
– In-house publication for Argonaut: “The BRender Technical Reference Manual”
1994
– Articles in EXE: “Shannon-Fano compression”,
“C++ Reference counted values”, “Use
of #include in large C++ projects”
1988 – Articles in RISC User: “Develop your own drum machine”
2002 – Introduced and chaired Pricing, Partnerships & Payment for Entertainment Content at the Café Royal, London - 26th April.
1999 – Presented two papers at conference VSMM99
Member of IGDA and Moderator of its Online Games SIG.
Networked
Games Engines, 3D Graphics, Neural networks
Systems
infrastructure, class library design, algorithms
OOP,
C++, templates, STL, COM, ATL,
multi-threading, synchronisation
Structured
approach, high standards, documentation
Team
worker, team leader, self-starter, patient, co-operative
Distributed
systems, parsing, data compression, neuron models
Editors,
assemblers, compilers, profilers, version control, etc.
Glockenspiel
C++, SGI C++, MS Visual C++, C, BASIC, Pascal, Assembler (6502, ARM)
UNIX/SGI
IRIX, Windows 98/NT/2000, DOS, RISC OS, BBC OS, VAX/VMS.
Zope, Python, PHP, MySQL, HTML
O
levels: 6; A
levels: Maths A, Further Maths B, Physics E; University: BSc
Engineering (5 terms).
Name: Crosbie Fitch, Born: 1963
Address: Lewes, East Sussex, UK
E-Mail: crosbie@cyberspaceengineers.org