1 / 20

Games Development Practices Semester 2 Overview

Games Development Practices Semester 2 Overview. CO2301 Games Development 1 Week 14 - 1. Project Preparation. This semester you do a team games project in the Professional Skills module The primary goal is to work effectively in a team

aleta
Télécharger la présentation

Games Development Practices Semester 2 Overview

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Games Development PracticesSemester 2 Overview CO2301 Games Development 1 Week 14 - 1

  2. Project Preparation • This semester you do a team games project in the Professional Skills module • The primary goal is to work effectively in a team • The next few lectures will cover several miscellaneous topics in Games Development • These will provide you with the technical background needed for the project: • Technology topics to enhance your projects. • Advice / techniques on dealing with artists/artwork

  3. Working with Artists • 3D Modelling • Look at Autodesk Maya to help understand the art process • Study its features and do some simple modelling • Games programmers very, very rarely create artwork, but it is useful to understand the artist’s tools • Especially if you get involved in tools development (3rd year topic) • 3D Artwork Conversion • Practice exporting 3D models from various formats into a format suitable for the TL-Engine • Examine the problems that can occur at this stage and how to solve them • Again, very relevant for tools development (a common junior role)

  4. Technology Topics • Game Loop and Timing / Front-Ends • Look at the outer loop of a game (in more detail than last year) • Ensure games speed is not linked to the computer speed • Look at different techniques for this and some problems/examples • Also look at putting code around the game loop: • Initialisation, front-end, menus etc. • Sound Effects • All our projects so far have been silent • Will use a sound API in a TL-Engine project to add sound effects and music • Will use OpenAL in this module, will look at fmod next year • Both widely used in games

  5. More Technology • Physics Engines • Have manually created simple physics in our games • E.g. Basic collision with lines, spheres and boxes • This kind of work is central to games development • As well as good practice on common games match • But only appropriate for simple cases • For more complex physics we will incorporate a physics engine into the TL-Engine • We will use Havok Physics • Another rich API to look at • You will constantly see new APIs (e.g. DirectX, OpenAL, Havok) in games development, must be ready to adapt. • Decoupling the game and the physics engine brings some issues

  6. Game Architecture • In the latter part of the semester, we will move on to look at the software architecture of a modern game engine • Using topics from Software Development and Advanced C++ • Lots of UML (class diagrams) to illustrate the points • Take UML seriously! • Will look at how we can make a general engine that is not tied to just one game • Use TL-Engine architecture as an example • Show problems with that architecture and suggest improvements • Material leads directly into 3rd year work • We expect 3rd year projects to be well architected

  7. Games Development Practices3D Modelling CO2301 Games Development 1 Week 14 - 2

  8. Today’s Lecture • Introduction • Modelling / Materials • Key-Frame Animation • Skeletons • Special Effects • Rendering

  9. Introduction • 3D modelling is simply the design / creation of 3D computer graphics • Primarily an artistic skill • Also draws upon skills in orthographic visualisation • Can require technical know-how • 3D modelling tools are frequently very complex • Due to their huge feature-sets • The leading tools for games are 3ds Max and Maya • Both owned by Autodesk I, Robot Digital Domain Adidas

  10. 3D Modelling for Film • The film industry regularly uses 3D graphics to: • Create fantasy scenes / effects • Simulate difficult to shoot scenes • Even render characters • Few big-budget animations are not computer generated now • Have been a few attempts at 3D graphics as simulation of real film • All the example images here were created in an earlier version of Maya Spiderman Sony Pictures Imageworks Lord of the Rings New Line Productions

  11. Advertising and Print Media • Companies and their advertisers want ‘perfect’ images for products and models • 2D photo retouching is commonplace • Now 3D modelling tools are also often used to produce this perfection • 3D modelling can save time creating the ideal shot, even for a simple photo-shoot • Many adverts are entirely virtual • More Maya examples here DHXProd Clinique

  12. Other Uses • 3D graphics also used for: • Product Design • Architectural Visualisation • Scientific Visualisation National Geographic Magazine • These fields often have their own specialist tools to generate their imagery • Especially CAD tools (Computer Aided Design) • However, the high quality output and flexibility of tools such as Maya & 3ds Max can provide a realistic alternative

  13. Computer Games • 3D computer games have always required modelling tools to generate the 3D content • A significant part of the user base for Maya and Max • Modelling tools can also be used for content creation: • Laying out scene related data: camera paths, sound effect locations, AI networks etc. • Helping author stats/attributes for visual elements • Tweaking technical factors for the target platform • However, common to use a level editor and associated tools for these tasks (see 3rd year) • The level editor interface often looks like a 3D modelling tool

  14. Polygonal Modelling / NURBS • A brief look at some modelling tool features… • Most basic feature is ability to create and manipulate 3D shapes • Two kinds: • Polygonal, made of polygons • NURBS, mathematically defined curved surfaces (Non-Uniform Rational B-Splines) • Games usually use polygonal models • Although recent hardware advances in tessellation are increasing interest in spline-based models Polygonal NURBS

  15. Modelling / Materials • Modelling is performed a little like sculpting • Create basic primitives first • Manipulate geometry directly – vertices, polygons • Also use tools such as: • Extrusions, Booleans, Bevels/Chamfers, etc. • Modeller must also specify the materials and lighting used • Textures (maps), surface properties, lighting propertied, etc. • Will need 2D artwork for maps • Use Photoshop or similar

  16. Key-Frame Animation • Animation is achieved by creating key framesfor each object on a timeline • Key frames are added when any aspect of the object changes in some way • Position, rotation, scale • Geometry, texture, shader • Etc. • The modelling tool will interpolate the in-between frames to create a full set of frames for an animation

  17. Skeletons / Skinning • Several objects can be connected with a skeleton • Hierarchical tree structure • Allows one object to parent and control another • A model may have an interior skeleton that moves different parts • The model surface will bend and deform with the skeleton • This is called skinning • Animate the skeleton to control the model • Covered in Computer Graphics module

  18. Special Effects • There are many other effects that can be modelled: • Particle systems • Fur, hair, grass etc • Cloth simulations • Very many lighting effects, radiosity, volumetric etc. • Reflection and refraction, caustics • Rendering fluids and gasses • Physics: solid, liquid and gaseous • And much more.. Caustics Fur Effects Ice Age Series Twentieth Century Fox

  19. Scripting • Scripting within modelling tools particularly important for games developers • All features of the application and all the scene content are exposed through a scripting language and SDK • E.g. Maya supports a C++ API, as well as both Python and MEL scripting support at runtime • Allows programmers to write tools directly in the modelling tool to: • Add new modelling features • Put specific support for their product or game, such as specific shaders or performance monitoring tools • Write custom file importers/exporters

  20. Output / Rendering • 3D Modelling tools don’t render in real-time • It can take several minutes to draw a single image, several hours to render an animation • Their focus is more on: • A large range of features • Best possible output quality • Many settings controlling the rendered output • An image or a video file • But rendering is not important if you only want the 3D model, as with games development • So we will look the export of 3D models next week

More Related