190 likes | 327 Vues
As you contemplate your future in game development, let Gareth Bellaby guide you through essential preparation strategies for your second year. This course aligns with industry needs and emphasizes the importance of maintaining your C++ skills over the summer. Engage in practical programming exercises, explore game design concepts, and stay ahead by working on summer assignments. Develop your understanding of graphics programming and seek out resources to enhance your learning experience. Get ready to excel in the exciting field of game development!
E N D
CO1301 - Games ConceptsWeek 25Preparation for next year • Gareth Bellaby
Advice • Jobs are available. • Industry recruits the best. • The course meets the requirements of industry. • The course is a good indication of your suitability as a programmer for the games industry. • If you have less than 50% in this final assignment I would strongly suggest moving onto another degree. • Alternative degrees: Multimedia, Games Design.
Preparation • You do not have an exam for this module. • It is a fact that those people who do work over the summer period in preparation for the second year will do better. • You need to keep C++ and programming fresh in your mind. • The more preparation you do the better your learning experience. • You should be seeking to extend your understanding of games development.
Summer break • You are expected to work over the summer break. • I have prepared summer work for you. This work goes through various programming concepts using both the console window and the TL-Engine. • At the top of the Games Concepts module page. • "Summer2008.zip" • It will be updated over the summer so be prepared to check it again.
Summer break • Ensure that you have a copy of Visual Studio (preferably Visual Studio 2008). • Ensure that you have the latest TL-Engine. • Ensure that you have the DirectX SDK.
Graphics • Prepare for the graphics module. • The graphics you are doing is: • DirectX 9 • Using shaders (the "programmable pipeline"). • Programming the graphics card using vertex shaders and pixel shaders.
Graphics • Use Laurent's notes for CO2408: Computer Graphics. • Recommended text: • Frank Luna, Introduction to 3D Game Programming with DirectX 9.0c: A Shader Approach • Frank Luna, Introduction to 3D Game Programming with DirectX 10 (latest version)
Extending your knowledge • Program! The more you do the better you will become. • Have a look at the some of the Indie games. These are often of a type that you can implement in the TL-Engine. • Demos can be found on • Steam • Play This Thing. http://playthisthing.com/ • Impulse • http://www.moonpod.com/ • http://pocketwatchgames.com/ • http://www.rampantgames.com/
Some suggestions • Start with something small. • Break your project down into small chunks. • It is surprisingly easy to extend a small program into something much, much larger. It is more efficient approach. • Look at other games. Simply implement your own version of the game, or part of it. • I would suggest implementing at least one small game.
Some suggestions • Two weeks to build a basic space invaders game. • Only build one screen. • Do not get bogged down in detail. • Use placeholder graphics. • Suggestions: • Harvest - Massive Encounter • Empires and Dungeons • Hinterland • Zork • Tower Defence
Extending your knowledge • Game Programming Gems series • AI Game Programming Wisdom series • GPU Gems series • Shader X series • GDC presentations
Microsoft • DirectX home - lots of presentations • http://msdn.microsoft.com/en-gb/directx/default.aspx • MSDN documentation
NVidia • NVidia developer site • GPU Gems online versions • Download their SDK - samples, videos, tutorials: • SDK 9.52 • SDK 10.5 • FX Composer 2.5 (includes Mental Mill). A tool for shaders. • NVIDIA Shader Library has more shaders • TransmogrifyingTextures: free high-res texture maps • NVIDIA Shader Library • You will use HLSL shaders on this course.
ATI • ATI developer site. Need to register • RenderMonkey • Samples: • http://developer.amd.com/samples/Pages/default.aspx • Tools: • http://developer.amd.com/GPU/Pages/default.aspx • Some articles from the Shader X series can be found here: • http://developer.amd.com/documentation/reading/Pages/default.aspx
Game logic and mechanics • Reinforce your knowledge. • Look at the second year material- CO2301: Games Development 1. • Go through books such as van Verth, James, (2004), Essential Mathematics For Games & Interactive Applications • Steve Rabin, Introduction to Game Development. • Wendy Stahler, Beginning Math and Physics for Game Programmers
C++ • It is apparent that you need to look at move advanced c++ material. • I'll make the module notes from Advanced C++ material. • Do the summer work. • Read around the subject.
C++ • Stanley B Lippman, Josee Lajoie, Barbara E Moo, (2005), C++ Primer, 4th Ed, Addison Wesley. ISBN-13: 978-0201721485 • Bradley L Jones, Jesse Liberty, (2005), Teach Yourself C++ in 21 Days, Sams. ISBN-13: 978-0672327117 • Francis Glassborow, (2006), You Can Program in C++, John Wiley and Sons. ISBN-13: 978-0470014684 • Harvey Deitel, Paul Deitel, (2007), C++ How to Program, 6 edition, Prentice Hall. ISBN-13: 978-0136152507 • Walter Savitch, (2008), Problem Solving with C++, 7th edition, Pearson Education, ISBN-13: 978-0321549402 • Walter Savitch, (2007), Absolute C++, 3rd edition, Pearson Education. ISBN-13: 978-0321494382.
C++ for games • Advanced - but worth looking at. • Brownlow, Martin, Game Programming Golden Rules (2004), Charles River Media, ISBN-10: 1584503068, ISBN-13: 978-1584503064. • Noel Llopis, (2003), C++ for Game Programmers, Charles River Media. ISBN-13: 978-1584502272
Bjarne Stroustrup • Bjarne Stroustrup, The C++ Programming Language, (1997 or 2000), Third Edition or Special Edition, Addison Wesley. ISBN-13: 978-0201889543 • Bjarne Stroustrup, (1994), The Design and Evolution of C++, Addison Wesley. ISBN-13: 978-0201543308. • His web site is here: http://www.research.att.com/~bs/C++.html • I would strongly recommend looking at his material.