Games Development – Education to Industry
Dr. Catherine French
Academic Group Leader – Games Programming, Software
Engineering and Mobile Systems
• Where do they want to go and why?
• What can they expect when they get
there?
• How do they get there?
• What preparation do they need?
• Where else can they go?
How do they get from inspiration to destination?
Inspiration
• TouchDevelop
• Kodu
• Scratch
• AppInventor
• Python
• Lego Mindstorms
• ….
• http://uk.code.org/learn
• Assemble a sequence of program statements
• Work with variables
• Use conditional statements and loops
• Write code to respond to events
• Use functions (and work out which one to use)
• Problem solving, logical thinking, program design
• Work with and create images and sounds
• Design games and stories
Inspired to do what?
• “This is awesome, how long do you think it will take me
to make Minecraft?”
• Game programming is actually really hard
• But also
– Fun and rewarding
– Intellectually stimulating
– A thriving industry to work in
• It just takes more than an afternoon to master
What next?
• Game are like films, massive teams (+100 over several different companies) working for upwards of 2 years to make 1 product.
• The development teams for mobile games are smaller but the competition is fierce.
• UK has the 2nd highest games industry revenue in Europe and 5th in the world. In 2009, games industry revenue overtook that of film.
• UK is generally considered Top 5 in terms of Game Development Studios, alongside USA, Canada, Japan and China.
The UK games industry
• 80% of UK based videogames workers are educated to degree level, compared with 24% of the UK working age population (UKIE)
• average wage in the British industry rose by 3.4 per cent -ahead of the 3.1 per cent national average (TIGA)– Programming saw the biggest year-on-year increase with 4.2 per cent
(from a low base??)
– West Midlands and Birmingham, for example, games industry employees are paid around 21 per cent more than the local average
– least 4,660 highly skilled jobs will be generated and £188 million in investment will be triggered over the next five years thanks to the introduction of Games Tax Relief.“
• Crunch times, gender balance, security??
Careers in the Games Industry
Job RolesDesigner, Level Designer, Concept Artist, Environment
Artist, Character Artist, Texture Artist, Character
Animator, Environment Animator, Sound Designer
Quality Assurance, Play tester, Producer
Music Engineer, Audio Engineer
Programmer, Physics Programmer, Engine Programmer,
A.I. Programmer, Network Programmer, Data Scientist,
Tools Programmer
Scriptwriter, Dialogue Writer, Actor, Translator....
• Creative Skillset
– http://creativeskillset.org/job_roles_and_stories/job_roles
• Gamesindustry international
– http://www.gamesindustry.biz/jobs/any/uk-and-europe
• Blitz Games Studios
– Ceased trading 12 Sept 2013
http://www.blitzgamesstudios.com/blitz_academy
• Aardvark Swift
– http://gradsingames.com/resources/students/
Game Industry Resources
• Fluent in several programming languages
• C++ / C# / C / Java
• Ability to design, create and test large programs
• Software Engineering skills
• On different platforms
– PC / Console / Mobile device…
• 2D & 3D Graphics / AI / Physics / Sound
• Networking / Hardware / User interface
Games Programmer Skills
• Typical game loop:
{
process input
update game state by:
running physics simulation
calculating and applying AI
render current game state
}
• repeat 60 times per second
Time-Critical Interactive System
• 3D viewing is like taking a picture with a camera
Real-time rendering
02/07/2015
Camera2D view of 3D scene will depend on:
• camera parameters•where it is•which way it is pointing•field of view
• properties of scene objects • illumination3D scene
2D picture
Data storage and manipulation (lots of it)
02/07/2015
• an object is represented by a set of points in 3D space (vertices)
• the vertices are grouped into triangles• each vertex may have a colour• and/or map onto particular position on a texture
(image)• typical model has several thousand triangles
tiger.x Microsoft DirectX samples
Lighting
n
t
Light source(at position p ,
with intensity Ii)
p
Angle of incidence ()v1
v4
v3 v2
VertexFacet
r
v
• Implementation of specular reflection
Image Processing
• Codemasters GRID Autosport
Physics Simulation
• https://www.youtube.com/watch?v=E_OA8WiyyI0
Collision Detection and Response
xmin xmax
ymin
ymax
Axmin xmax
ymin
ymax
B
• goal is to not be too artificial or too intelligent!
Artificial Intelligence
• you can't do everything in 1/60 second
• approximations
• efficient algorithms and data structures
• code profiling and tuning
Optimisation
• how do you update all players and keep them
synchronised?
• what data to send
• how to send it
• how to minimize volume and hide latency
• handling large worlds and large numbers of players
• technical network programming and infrastructure
Multiplayer games
• game development is done in teams
• programmers, designers, artists, 3D modellers,
animators, producers…
• game design documents, planning, methodologies
(agile?), source control, coding standards, design
patterns, testing strategies…
Software Engineering
• Developing for, and creating
Cutting edge hardware
Where else can you go with all these skills?
BSc(Hons) Computer Games Programming
SOME 2015 GRADUATE DESTINATIONS
Rockstar North – Junior Network DeveloperCodemasters – UI DeveloperGamesys – Graduate Software EngineerTrueGaming Network - Web DeveloperThomson Reuters – Software DeveloperTransport for London - Graduate Software EngineerCodeweavers - Graduate Software Engineer
• introduction to computing, especially programming
• maths
• physics
• written and verbal communication
• teamworking
• art
• music
• history, literature, geography, politics, economics…
• inspiration!!!!!!
What is needed for the journey
SOME FINAL YEAR PROJECTS 2015
• Procedural Content Generation for Creating Levels in Computer Games• Real-time dynamic mesh slicing and geometry reconstruction • Managing Latency in Fast-Paced Multiplayer Games • Simulating Weather Systems • Enhancing the Precision of Location Based Gaming using Mobile
Technology • The application & advantages of a unified graphics engine to handle
simulation across both liquid and solid states • Localised virtual reality simulation on scanned local data for testing
autonomous vehicles (with BMW)
• Memory Management Techniques for Games in C++