Games Development Education to Industry Dr. Catherine French Academic Group Leader Games Programming, Software Engineering and Mobile Systems
How do they get from inspiration to destination? 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?
Inspiration TouchDevelop Kodu Scratch AppInventor Python Lego Mindstorms. http://uk.code.org/learn
Inspired to do what? 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
What next? 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
The UK games industry 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 2 nd highest games industry revenue in Europe and 5 th 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.
Careers in the 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??
Job Roles Designer, 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...
Game Industry Resources 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/
Games Programmer Skills 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
Time-Critical Interactive System 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
Real-time rendering 3D viewing is like taking a picture with a camera 3D scene 2D picture Camera 2D view of 3D scene will depend on: camera parameters where it is which way it is pointing field of view properties of scene objects illumination 02/07/2015
Data storage and manipulation (lots of it) 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 02/07/2015
n Lighting Implementation of specular reflection v r v 4 Facet v 3 v 2 v 1 Vertex t p Angle of incidence ( ) Light source (at position p, with intensity I i )
Image Processing
Physics Simulation Codemasters GRID Autosport
Collision Detection and Response y max y min y max y min A x min B x min x max x max https://www.youtube.com/watch?v=e_oa8wiyyi0
Artificial Intelligence goal is to not be too artificial or too intelligent!
Optimisation you can't do everything in 1/60 second approximations efficient algorithms and data structures code profiling and tuning
Multiplayer games 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
Software Engineering 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
Cutting edge hardware Developing for, and creating
Where else can you go with all these skills?
BSc(Hons) Computer Games Programming
SOME 2015 GRADUATE DESTINATIONS Rockstar North Junior Network Developer Codemasters UI Developer Gamesys Graduate Software Engineer TrueGaming Network - Web Developer Thomson Reuters Software Developer Transport for London - Graduate Software Engineer Codeweavers - Graduate Software Engineer
What is needed for the journey introduction to computing, especially programming maths physics written and verbal communication teamworking art music history, literature, geography, politics, economics inspiration!!!!!!
Questions? Cathy French c.l.french@staffs.ac.uk
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++