CV for Yibo Liu
PERSONAL DETAILS AND PROFILE:
My dedication, initiative and passion in the domain of computer games are evident through several games, applications and artworks developed both in my education and as a hobby. With interests in programming and game art, along with an education geared towards computer games technology, I will be a valuable asset in professional development teams to produce top quality titles.
QUALIFICATIONS AND SKILLS:
General Programming
Started at the age of 13, I have gained a solid understanding of programming techniques as well as the philosophy behind this creative and intriguing activity. With C++ being my most familiar programming language, I can quickly adapt myself to any other object-oriented or procedural programming language since the thinking behind them remains mostly the same.
- C/C++ (70% of my previous projects were developed with C++)
- C#
- Microsoft Visual Studio .NET
- Windows API
- Sony PlayStation™2 Programming
- Assembly
- Maya™ Embedded Language (MEL)
Physics Programming
Physics is one of my favorite hobbies and I have gained deep knowledge with most aspects over the years. Also due to my computer programming background, physics simulation in games would be the desired kind of job I am most proficient with.
- Thorough knowledge of almost all aspects of physics
- Classical Mechanics, Electromagnetism, Thermodynamics, Optical Physics, Hydrodynamics, Relativity, Particle Physics, Quantum Mechanics, etc. - Excellent mathematics
- Geometry, Linear Algebra, Discrete Math, Calculus, Probability and Statistics, etc. - Experience with rigid body physics programming without third-party physics engine
- Custom collision detection
- Custom simulation algorithm for force, torque and other principles of mechanics - Physics programming with physics engines such as NxOgre and AGEIA PhysX®
- With the convenience and power of commercial physics engine, advanced simulation was implemented in a team project where I was responsible for the physics in 2007. In the end the game successfully simulates virtually every dynamics phenomenon that could be observed in macro level, including gravity, collision, air drag, friction and so on.
Graphics Programming
Graphics is always important to games. In order to create games of my own in the early days, I started learning DirectX by myself back in 2003. I never get tired of learning these fancy but challenging skills.
- Solid 3D math
- Intuitive understanding of 2D/3D programming with vectors, matrices and trigonometry - DirectX 9/10
- Intermediate knowledge and experience with DirectX API
- Capable of developing a complete DirectX game independently - Managed DirectX (which was later integrated into Microsoft’s XNA)
- DirectX programming using C# - High Level Shading Language (HLSL)
- Beginner level with Vertex Shader, Pixel Shader and Geometry Shader - Experience with OGRE rendering engine
AI Programming
The artificial intelligence module during my graduate education gave me the opportunity to become familiar with the following AI topics:
- Pathfinding
- Finite State Machine
- Genetic Algorithm
- Neural Networks
Software Engineering
I gained my theoretical knowledge about software engineering from my education in computer science during undergraduate, and have gained practical experience with various software development projects I have done in the past 4-5 years, including both individual projects and group projects.
- Software Lifecycle Management
- Requirements Analysis
- Object Oriented Analysis and Design (OOA/D)
Artistic Skills
Apart from science and technology, I am always enthusiastic for the artistic aspect of games. Though I’ve never been to a professional art school before, I learnt quite a lot of artistic skills in my spare time.
- A Visual-Spatial Learner
- Excellent at thinking visually
- Very sensitive to details - Visual Psychology
- Average knowledge of visual psychology, acquired from personal projects, MSc dissertation and outside reading
- Good art history knowledge - Pencil Sketching
- Competent to form or communicate visual ideas through quick pencil sketching - Digital Painting with Adobe Photoshop™ and Corel Painter™
- 2D Painting on PC with Wacom© digital tablet
- Comprehensive understanding of Photoshop and Painter - 3D CG
- Experience with modeling, texturing, animation, rendering and script programming
- Autodesk Maya, 6 years of spare-time learning
- Autodesk 3ds Max, 1 year of spare-time learning
PROFESSIONAL EXPERIENCE:
2008 Lead Programmer of team Kirin during Dare to be Digital competition 2008
- Contributed to the development of a highly acclaimed prototype Role-Playing game in 10 weeks from June 4th - August 13th 2008
- Working within a 5 person team (2 programmers + 3 artists) in realistic game development conditions with industry support, masterclasses and mentoring
2006 Game Programmer (intern), China Telecom©
- Participated in the development of several commercial online PC casual games, including “Lian Lian Kan” and “Chao Ji Ping Gai” which had peak concurrent user count of more than 100,000
2005 Independent Inventor (Patent Pending)
- Directed and executed the invention of a new vehicle alarm system named Infrared and Vibration Automobile Alarm System which is able to alert the owner via mobile phone text message if the vehicle is being stolen
- The core control module of the system was programmed in C and assembly
- Application for National Invention Patent is currently being processed by the State Intellectual Property Office of P.R.China, application no. 2005101298875
EDUCATION:
2006 – 2008 MSc Computer Games Technology (Software Engineering), University of Abertay Dundee, UK
- With primary focus on game development
2002 – 2006 BSc Computer Science, University of Electronics Science and Technology of China, CHINA
- With primary focus on software engineering, system development and general programming
LANGUAGE:
Chinese Mandarin - Native language
Chinese Cantonese - Proficient
English - Fluent (IELTS overall score 7.5)
INTERESTING PROJECTS:
2008 Lead programmer of team Kirin in game "World of Champloo" (DARE TO BE DIGITAL 2008)
- Outstanding action & puzzle based fantasy RPG developed for Dare to be Digital competition 2008
2007 General/Physics programmer in PC game “Zero-G Racing” (university, team of 5)
- Fast-paced futuristic space racing game, with advanced physics simulation using AGEIA PhysX SDK
2007 Development of advanced AI demo “ROBOTs’ EVOLUTION” (university, independent work)
- In a 3D environment, robots show adaptive learning behavior in a complex physics environment with genetic algorithm
2007 Development of PS2 game “Rubix Cube” (university, independent work)
- PlayStation2 version of the classical Rubik’s Cube game
2006 Development of PC game “Tankers” (hobby)
- Third-person tank shooting game developed using C# and Managed DirectX
2005 Development of 3D map engine “VLEngine” (hobby, team of 2)
- Simple but flexible graphics engine designed and developed for 3D map guidance in university campus
2004 Development of casual PC game “Pentomino Game” (hobby)
- An interesting ancient Chinese casual game remade with DirectX and C++
OTHER INTERESTS AND ACTIVITIES:
I enjoy playing PC games since 3 years old. I’ve played almost all big titles in 20 years history of PC games. It's a dream world where anything is possible, where I often temporarily forget everything and completely immerse myself into. I also love movies, photography, music, drawing, travel and reading books.
In 2003, I began to volunteer to serve two non-profit distributed computing projects – “Grid.org” and “World Community Grid” with research projects such as “FightAIDS@Home”, “Cancer Research” and “Human Proteome Folding” etc. With over 20,000 hours total CPU run time contribution, I feel very proud to be able to improve the world by actually accelerating mankind scientific research.