CO1301 - Games Concepts Week 25 Preparation 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.