London Geometry is a leading provider of professional training courses for the games industry, providing a range of technical, business and art courses taught by industry experts and leading university academics.
Delivered short courses
Programming subject options
This segment deals with the details of the changes to the C++ language for the C++11 release such as constexpr, rvalue references, variadic templates and lambdas. We explore how the language changes will effect concurrency by enabling very lightweight constructs to be constructed using Lambdas.
C++11 Standard Library
The Standard Library (STL) has been updated to accommodate move semantics and variadic templates. This talk takes a performance-skeptical view of STL from a game programmer’s perspective. We ask the question of whether we can now use STL in our games and if there are still constructs we should avoid.
In this segment we take a look at C++11 threads, atomic variables and the C++11 memory model. We discuss the perils of multicore shared memory architecture and how to avoid data races. We also explore how to write lightweight concurrency constructs using std::async and std::thread, discuss spin locks with std::atomic_flag and attempt to unravel the C++11 memory_order enumeration.
This segment looks at performance tools and how to read PC sample traces at an instruction level. We time a few standard operations to see how they perform and compare the results. We show the true horror of non-sequential access and relate this to data structure design. Finally we delve into the benefits of non-temporal access on modern CPUs which can significantly improve performance in some cases.
Maths subject options
Quaternions are used in computer graphics to represent rotations. They do not suffer from gimbal lock the same way that Euler angles do and can be interpolated to generate a constant angular velocity transition.
Floating point numbers
Floating point numbers are very convenient to use but can have unexpected side effects. Knowing how floating point numbers behave in overflow and underflow conditions will prevent many coding errors from becoming last-minute nightmares.
Co-routines in Unity can enable you to create very intuitive gameplay code with the entire lifetime of the game or level encapsulated in a function. Generating mesh geometry on-the-fly will enable you to create user-definable enviroments and non-traditional gameplay.
Unity supports CG-like shaders with user definable parameters. Understanding the lighting model and rendering pipeline can help you to improve the look of your game.
LG can create custom modules to suit the needs of your team in any subject from GPU architecture to cloth simulation.
Games Industry Feedback on London Geometry Courses
“LG delivered the course to a group of a dozen programmers of various skill levels at Creative Assembly. It was very positively received by all attendees, providing good breadth of material at a depth appropriate for beginners and yet encouraging the more experienced coders to be sure of the detail of the topics covered. We continue to derive benefit at this studio from the efforts of Creative Skillset and I wouldn’t hesitate in recommending this course to other studios seeking to level up all their coders.”
– Guy Davidson, Head of Programming. Creative Assembly.
“Ongoing professional development for all of our staff is extremely important to Rebellion. The advanced programming course was a great way to keep our coding teams up to speed in recent developments in the C++ standards and to increase knowledge of various aspects of maths and games programming, ensuring that Rebellion remains at the cutting edge of games development.”
– Mike Healey, Associated Head of Programming. Rebellion Studios
“We found the course to be beneficial and enjoyable and would highly recommend it to others.”
– James Callin, Technical Director. Studio Gobo.
“It is great to see Creative Skillset and London Geometry so active in supporting the UK games industry, the training they delivered to SCEE Research & Development ties in more closely with the real world software engineering problems we see in games development.”
– Kish Hirani, Head of Developer Services, Sony Computer Entertainment Europe