{"id":116,"date":"2011-10-16T17:03:50","date_gmt":"2011-10-17T01:03:50","guid":{"rendered":"http:\/\/jccaulfield.com\/blog\/?page_id=116"},"modified":"2012-03-18T19:55:21","modified_gmt":"2012-03-19T03:55:21","slug":"expertise","status":"publish","type":"page","link":"http:\/\/jccaulfield.com\/blog\/expertise\/","title":{"rendered":"Areas of Expertise"},"content":{"rendered":"<h2>General<\/h2>\n<ul>\n<li>15 Years C\/C++<\/li>\n<li>Physics (PhD)<\/li>\n<li>Maths<\/li>\n<li>Template Libraries<\/li>\n<li>C#<\/li>\n<li>Actionscript<\/li>\n<li>Python<\/li>\n<\/ul>\n<h2>Game Engine Architecture<\/h2>\n<ul>\n<li>Multi-Core Game Engines<\/li>\n<li>Entity Systems<\/li>\n<li>Replay Systems<\/li>\n<li>Data-driving<\/li>\n<\/ul>\n<h2>Physics<\/h2>\n<ul>\n<li>Vehicle Simulation<\/li>\n<ul>\n<li>Radio Controlled Cars<\/li>\n<li>Motorcycles<\/li>\n<li>Cars<\/li>\n<li>Go-Karts<\/li>\n<\/ul>\n<li>Powered Ragdolls<\/li>\n<ul>\n<li>Perfect animation matching<\/li>\n<li>Dynamic constraint limits<\/li>\n<li>Collision priority mechanism<\/li>\n<li>Just-in-time assignment<\/li>\n<\/ul>\n<li>Hair dynamics<\/li>\n<li>Rigid Body Dynamics<\/li>\n<li>Collision Detection<\/li>\n<\/ul>\n<h2>Gameplay<\/h2>\n<ul>\n<li>Scene Analysis<\/li>\n<li>Character Scene Navigation and Interation<\/li>\n<li>Vehicle and Weapon AI<\/li>\n<li>Gameplay Logic<\/li>\n<\/ul>\n<h2>Core Systems<\/h2>\n<ul>\n<li>Asset Managament<\/li>\n<li>Serialization<\/li>\n<li>Memory Management<\/li>\n<li>Containers and STL<\/li>\n<li>Template Libraries<\/li>\n<li>Math (Scalar and Vector)<\/li>\n<li>Debugging<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>General 15 Years C\/C++ Physics (PhD) Maths Template Libraries C# Actionscript Python Game Engine Architecture Multi-Core Game Engines Entity Systems Replay Systems Data-driving Physics Vehicle Simulation Radio Controlled Cars Motorcycles Cars Go-Karts Powered Ragdolls Perfect animation matching Dynamic constraint limits Collision priority mechanism Just-in-time assignment Hair dynamics Rigid Body Dynamics Collision Detection Gameplay Scene Analysis [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":2,"comment_status":"open","ping_status":"open","template":"","meta":{"footnotes":""},"class_list":["post-116","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"http:\/\/jccaulfield.com\/blog\/wp-json\/wp\/v2\/pages\/116","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/jccaulfield.com\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/jccaulfield.com\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/jccaulfield.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/jccaulfield.com\/blog\/wp-json\/wp\/v2\/comments?post=116"}],"version-history":[{"count":6,"href":"http:\/\/jccaulfield.com\/blog\/wp-json\/wp\/v2\/pages\/116\/revisions"}],"predecessor-version":[{"id":253,"href":"http:\/\/jccaulfield.com\/blog\/wp-json\/wp\/v2\/pages\/116\/revisions\/253"}],"wp:attachment":[{"href":"http:\/\/jccaulfield.com\/blog\/wp-json\/wp\/v2\/media?parent=116"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}