{"id":37,"date":"2007-12-11T22:07:22","date_gmt":"2007-12-11T22:07:22","guid":{"rendered":"http:\/\/www.crazygaze.com\/blog\/resume"},"modified":"2020-02-26T21:15:28","modified_gmt":"2020-02-26T21:15:28","slug":"resume","status":"publish","type":"page","link":"https:\/\/www.crazygaze.com\/blog\/resume\/","title":{"rendered":"My Resume"},"content":{"rendered":"<p><strong style=\"line-height: 1.5em;\"><a href=\"https:\/\/www.crazygaze.com\/blog\/wp-content\/uploads\/2007\/12\/SirRuiFigueira.jpg\"><img loading=\"lazy\" class=\"alignright wp-image-121 size-full\" title=\"SirRuiFigueira\" src=\"https:\/\/www.crazygaze.com\/blog\/wp-content\/uploads\/2007\/12\/SirRuiFigueira.jpg\" alt=\"Sir Rui Figueira\" width=\"177\" height=\"502\"><\/a><\/strong><\/p>\n<p><span style=\"color: #ff0000;\"><em>(NOTE: Qualifications\/experience last updated in June&nbsp;2014)<\/em><\/span><\/p>\n<p><strong><strong>Name :<\/strong><\/strong> Rui Figueira<strong><strong><br \/>\n<\/strong><\/strong><strong>Email :<\/strong> ruimvfigueira@gmail.com<\/p>\n<p><strong style=\"line-height: 1.5em;\">Highlights of qualifications<\/strong><\/p>\n<ul>\n<li>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<\/li>\n<li>Expert at C\/C++<\/li>\n<li>Experience with Unreal Engine 3, Unreal Engine 4, Wwise, FMod<\/li>\n<li>Experience with Perforce, SubVersion, CVS, Mercurial, Sourcegear Vault, Doxygen, Visual Studio, Photoshop<\/li>\n<li>Experienced with multiplatform development. (PC, iOS, Windows CE, Symbian, Palm, iPhone, Samsung Bada,)<\/li>\n<li>Experienced with audio programming<\/li>\n<li>Experienced designing and implementing reusable code.<\/li>\n<li>Easygoing personality. No problem making friends.<\/li>\n<li>Lifelong gamer and programmer.<\/li>\n<li>Computer literate<\/li>\n<\/ul>\n<p><strong>Other qualifications<\/strong><\/p>\n<ul>\n<li>Experienced writing efficient and portable code<\/li>\n<li>Experienced writing code for constrained platforms<\/li>\n<li>Experience with the following libraries\/Engines\/SDKs (not limited to): RakNet, CEGUI, wxWidgets, Ogre<\/li>\n<li>Knowledge of Assembly (useful to optimize and debug code)<\/li>\n<li>Experience with (not limited to): Java, Delphi, PHP, SQL, JavaScript, HTML, Photoshop<\/li>\n<\/ul>\n<p><strong>Timeline&nbsp;(only games related projects)<\/strong><\/p>\n<p><strong>1. Cloudgine Ltd<\/strong><br \/>\n(Jun 2013 &#8211; present)<br \/>\n<a href=\"http:\/\/www.cloudgine.com\/\">http:\/\/www.cloudgine.com\/<\/a><br \/>\n&#8211; Working on several cloud related areas, mostly network code, optimization, bug fixing.<\/p>\n<p><strong>2. Personal project (a game inspired by <a href=\"http:\/\/en.wikipedia.org\/wiki\/0x10c\">http:\/\/en.wikipedia.org\/wiki\/0x10c<\/a> )<br \/>\n<\/strong>(Jun 2012 &#8211; present)<\/p>\n<p>A&nbsp;game idea I had back in my teenager years, that also involves emulated computers (like Notch&#8217;s 0x10c cancelled game).&nbsp;0x10c gave me the inspiration to do something about it. Highlight of what I&#8217;ve done so far:<\/p>\n<ul>\n<li>DevKit for the virtual machine available at&nbsp;<a title=\"http:\/\/bitbucket.org\/ruifig\/g4devkit\" href=\"http:\/\/bitbucket.org\/ruifig\/g4devkit\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/bitbucket.org\/ruifig\/g4devkit<\/a><\/li>\n<li>Designed a RISC CPU from scratch, with inspiration from both old and modern architectures.&nbsp; Features include:\n<ul>\n<li>Instruction set mostly similar to ARM Cpus.<\/li>\n<li>Memory protection.<\/li>\n<li>User and Supervisor CPU mode<\/li>\n<li>Fast context switching ( for easy creation of multitasking OSs)<\/li>\n<li>Flexible support for any hardware devices needed in the game. Default devices are Screen, Keyboard, Network Card, Disk Controller, although it&#8217;s easy to create other&nbsp;<span style=\"color: #222222;\">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.<\/span><\/li>\n<\/ul>\n<\/li>\n<li>Coded the emulator<\/li>\n<li>Coded the assembler and linker. Those export ELF files<\/li>\n<li>Ported LCC C compiler.<\/li>\n<li>Ported VBCC C Compiler. (Dropped LCC, since generated code quality is not as good as VBCC)<\/li>\n<li>Created a multitude of servers required, such us the Virtual Machine servers that will run the computer emulators.<\/li>\n<li>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.<\/li>\n<li>Created a devkit (using wxWidgets) for the emulated&nbsp;computers, that includes the IDE, simple debugger, assembler, C compiler, emulator, etc.<\/li>\n<li>Currently working on a small preemptive multitasking OS, as a proof of concept for the architecture. Features include:\n<ul>\n<li>Kernel \/ user processes separation, and Supervisor \/ User modes<\/li>\n<li>Preemptive multitasking<\/li>\n<li>Memory protection<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><strong>3. Freelance work<\/strong> \u201cAPB Reloaded\u201d \u2013 (PC)<br \/>\n(Jan 2011 &#8211; May 2013)<br \/>\n<a href=\"http:\/\/www.gamersfirst.com\/apb\/\">http:\/\/www.gamersfirst.com\/apb\/<br \/>\n<\/a>&#8211; Optimizing code and audio assets, to reduce client size.<br \/>\n&#8211; Adding more features to the in-game Music Editor<br \/>\n&#8211; Implementing new gameplay features<\/p>\n<p><strong>4. Freelance work<\/strong> \u201cAzada HD\u201d<strong> \u2013 <\/strong>(porting to Apple iPad )<br \/>\n(Oct 2010-Jan 2011)<br \/>\n<a href=\"http:\/\/itunes.apple.com\/us\/app\/azada-hd\/id407097432?mt=8\">http:\/\/itunes.apple.com\/us\/app\/azada-hd\/id407097432?mt=8<\/a><br \/>\n&#8211; Contract work for ~3 months, to port the game to iPad, and add some new features.<\/p>\n<p><strong>5. Personal project<\/strong> <em>Weston Westie<\/em> &#8211; (Samsung Wave (Bada OS) )<br \/>\n(July 2010)<br \/>\n&#8211; Did all the coding (reusable 3D engine, and game code), except for a thin framework we used to abstract platform details.<\/p>\n<p><strong>6.<\/strong> <em>APB: All Points Bulletin<\/em> &#8211; (PC)<br \/>\nAudio programmer (2008-2010)<br \/>\n<a href=\"http:\/\/www.apb.com\">http:\/\/www.apb.com<\/a><br \/>\n&#8211; 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).<br \/>\n&#8211; Network code to support some of the audio features<br \/>\n&#8211; Some UI programming<br \/>\n&#8211; Designed\/improved\/refactored miscellaneous audio systems<br \/>\n&#8211; Mentored Junior programmers<br \/>\n&#8211; Technologies\/Libraries\/SDKs used include : Unreal Engine 3, Wwise, vivox SDK, wxWidgets<\/p>\n<p><strong>7.<\/strong> <em>czPlayer Sound System<\/em> &#8211; (PC,Windows Mobile, Symbian, Palm)<br \/>\nOwner, (2007-2010)<br \/>\n<a href=\"http:\/\/www.crazygaze.com\/blog\/czplayer\">http:\/\/www.crazygaze.com\/blog\/czplayer<\/a><br \/>\nDeveloped 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).<\/p>\n<p><strong>8.<\/strong> <em>Galactic Melee<\/em> (PC)<br \/>\nGame Programmer (2007), Jenkins Software (author of RakNet networking library)<br \/>\nProgrammed and\/or helped programming sound, user interface, networking, autopatcher. 3rd party libraries used included Ogre 3D, Fmod, Physx, and CEGUI.<br \/>\nGalactic Melee was the world&#8217;s first commercial Indy MMOG, but unfortunately we didn&#8217;t managed to get a decent userbase.<\/p>\n<p><strong>8.<\/strong> <em>Pipes&#8217;n&#8217;Robots<\/em> (SE T3xx mobile phone, Mophun platform)<br \/>\nOwner, (2004)<br \/>\nDid all the programming, and project management. Telecommuted with a gfx artist, and a sound artist.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>(NOTE: Qualifications\/experience last updated in June&nbsp;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, [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_mi_skip_tracking":false,"spay_email":""},"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/P7jpe0-B","_links":{"self":[{"href":"https:\/\/www.crazygaze.com\/blog\/wp-json\/wp\/v2\/pages\/37"}],"collection":[{"href":"https:\/\/www.crazygaze.com\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.crazygaze.com\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.crazygaze.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.crazygaze.com\/blog\/wp-json\/wp\/v2\/comments?post=37"}],"version-history":[{"count":26,"href":"https:\/\/www.crazygaze.com\/blog\/wp-json\/wp\/v2\/pages\/37\/revisions"}],"predecessor-version":[{"id":828,"href":"https:\/\/www.crazygaze.com\/blog\/wp-json\/wp\/v2\/pages\/37\/revisions\/828"}],"wp:attachment":[{"href":"https:\/\/www.crazygaze.com\/blog\/wp-json\/wp\/v2\/media?parent=37"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}