My Resume

Sir Rui Figueira

(NOTE: Qualifications/experience last updated in June 2014)

Name : Rui Figueira
Email : ruimvfigueira@gmail.com

Highlights of qualifications

  • 7 years of full time experience as a game programmer (plus ~6 years as an hobbyist), but I worked as a programmer since 2000 in a different industry
  • Expert at C/C++
  • Experience with Unreal Engine 3, Unreal Engine 4, Wwise, FMod
  • Experience with Perforce, SubVersion, CVS, Mercurial, Sourcegear Vault, Doxygen, Visual Studio, Photoshop
  • Experienced with multiplatform development. (PC, iOS, Windows CE, Symbian, Palm, iPhone, Samsung Bada,)
  • Experienced with audio programming
  • Experienced designing and implementing reusable code.
  • Easygoing personality. No problem making friends.
  • Lifelong gamer and programmer.
  • Computer literate

Other qualifications

  • Experienced writing efficient and portable code
  • Experienced writing code for constrained platforms
  • Experience with the following libraries/Engines/SDKs (not limited to): RakNet, CEGUI, wxWidgets, Ogre
  • Knowledge of Assembly (useful to optimize and debug code)
  • Experience with (not limited to): Java, Delphi, PHP, SQL, JavaScript, HTML, Photoshop

Timeline (only games related projects)

1. Cloudgine Ltd
(Jun 2013 – present)
http://www.cloudgine.com/
– Working on several cloud related areas, mostly network code, optimization, bug fixing.

2. Personal project (a game inspired by http://en.wikipedia.org/wiki/0x10c )
(Jun 2012 – present)

A game idea I had back in my teenager years, that also involves emulated computers (like Notch’s 0x10c cancelled game). 0x10c gave me the inspiration to do something about it. Highlight of what I’ve done so far:

  • DevKit for the virtual machine available at http://bitbucket.org/ruifig/g4devkit
  • Designed a RISC CPU from scratch, with inspiration from both old and modern architectures.  Features include:
    • Instruction set mostly similar to ARM Cpus.
    • Memory protection.
    • User and Supervisor CPU mode
    • Fast context switching ( for easy creation of multitasking OSs)
    • Flexible support for any hardware devices needed in the game. Default devices are Screen, Keyboard, Network Card, Disk Controller, although it’s easy to create other theoretical devices such as door switches, shield controllers, weapon controllers, etc. Programming the devices can either be done through interrupts or memory mapping, according to the device specification.
  • Coded the emulator
  • Coded the assembler and linker. Those export ELF files
  • Ported LCC C compiler.
  • Ported VBCC C Compiler. (Dropped LCC, since generated code quality is not as good as VBCC)
  • Created a multitude of servers required, such us the Virtual Machine servers that will run the computer emulators.
  • Created a tool that analyses C++ code using clang (with the help of https://bitbucket.org/dwilliamson/clreflect ) , and automatically generates code for RPC call wrappers for tagged functions. This allows me to add new network calls in just a few seconds, by simply coding the function and let the tool generate all the required RPC code.
  • Created a devkit (using wxWidgets) for the emulated computers, that includes the IDE, simple debugger, assembler, C compiler, emulator, etc.
  • Currently working on a small preemptive multitasking OS, as a proof of concept for the architecture. Features include:
    • Kernel / user processes separation, and Supervisor / User modes
    • Preemptive multitasking
    • Memory protection

3. Freelance work “APB Reloaded” – (PC)
(Jan 2011 – May 2013)
http://www.gamersfirst.com/apb/
– Optimizing code and audio assets, to reduce client size.
– Adding more features to the in-game Music Editor
– Implementing new gameplay features

4. Freelance work “Azada HD”(porting to Apple iPad )
(Oct 2010-Jan 2011)
http://itunes.apple.com/us/app/azada-hd/id407097432?mt=8
– Contract work for ~3 months, to port the game to iPad, and add some new features.

5. Personal project Weston Westie – (Samsung Wave (Bada OS) )
(July 2010)
– Did all the coding (reusable 3D engine, and game code), except for a thin framework we used to abstract platform details.

6. APB: All Points Bulletin – (PC)
Audio programmer (2008-2010)
http://www.apb.com
– Main programmer behind the ingame Music Studio, for which I designed and implemented the audio engine from scratch, and the initial UI (until the point we got a dedicated UI programmer).
– Network code to support some of the audio features
– Some UI programming
– Designed/improved/refactored miscellaneous audio systems
– Mentored Junior programmers
– Technologies/Libraries/SDKs used include : Unreal Engine 3, Wwise, vivox SDK, wxWidgets

7. czPlayer Sound System – (PC,Windows Mobile, Symbian, Palm)
Owner, (2007-2010)
http://www.crazygaze.com/blog/czplayer
Developed my own sound system (completely software mixing), with the codebase roots way back to 1998, when I coded a sound system for SB to SB 16, GUS (software and hardware mixing).

8. Galactic Melee (PC)
Game Programmer (2007), Jenkins Software (author of RakNet networking library)
Programmed and/or helped programming sound, user interface, networking, autopatcher. 3rd party libraries used included Ogre 3D, Fmod, Physx, and CEGUI.
Galactic Melee was the world’s first commercial Indy MMOG, but unfortunately we didn’t managed to get a decent userbase.

8. Pipes’n’Robots (SE T3xx mobile phone, Mophun platform)
Owner, (2004)
Did all the programming, and project management. Telecommuted with a gfx artist, and a sound artist.