Games Development 2 Tools Programming

Slides:



Advertisements
Similar presentations
Web Forms and ASP.NET Programming Right from the Start with Visual Basic.NET 1/e 12.
Advertisements

Survey of Graphics and Games. Outline Overview of computer graphics – Coursework – Research Programming using game engines Computer game and animation.
3D Modelling & Animation
Game Development Essentials An Introduction. Chapter 10 Roles & Responsibilities developing the team.
By Steven Taylor.  Basically a video game engine is a software system designed for the creation and development of video games.  There are many game.
Unity 3D game IDE 1.  Unity is a multi-platform, integrated IDE for scripting games, and working with 3D virtual worlds  Including:  Game engine ▪
Under the Hood Corey Bridges & Rafhael Cedeno Game Developers Conference 2008.
Microsoft Visual Basic 2012 CHAPTER ONE Introduction to Visual Basic 2012 Programming.
Queensland University of Technology CRICOS No J ITB/ITN751 Games Production Lecture 7 Game Development Tools Ross Brown.
Games Development 2 Entity / Architecture Review CO3301 Week
Tools for Game Developmet Erik Harpstead Carnegie Mellon University 1.
Games Development Practices 3D Model Import/Export CO2301 Games Development 1 Week 17.
Games Development 2 Text-based Game Data CO3301 Week 4.
CHAPTER FOUR COMPUTER SOFTWARE.
Introduction to Interactive Media Interactive Media Tools: Software.
10/9/20151 Unreal Basics CIS 488/588 Bruce R. Maxim UM-Dearborn.
Scalable Game Development William Roberts Senior Game Engineer
Copyright © 2006, SAS Institute Inc. All rights reserved. SAS Enterprise Guide Old Proc – New Tricks? Tim Trussell Academic Program, SAS Canada world diabetes.
Web Games Programming An Introduction to Unity 3D.
FLUKA GUI Status FLUKA Meeting CERN, 10/7/2006.
Games Development Game Architecture: Entities CO2301 Games Development 1 Week 22.
Games Development 1 Review / Revision CO2301 Games Development 1 Semester 2.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
11 Computers, C#, XNA, and You Session 1.1. Session Overview  Find out what computers are all about ...and what makes a great programmer  Discover.
Microsoft Visual Basic 2015 CHAPTER ONE Introduction to Visual Basic 2015 Programming.
© ExplorNet’s Centers for Quality Teaching and Learning 1 Objective % Understand career planning in a digital media environment.
GUI Post-Processing Package for Beam-Beam Simulation of Ring Accelerators AYOMIDE ODUNSI JACKSON STATE UNIVERSITY SUPERVISOR: TANAJI SEN Dr. ACCELERATOR.
Identify internal hardware devices (e. g
Game programming 1.
Interactive Animation
FHIRForms – Viewing and Editing FHIR Data
CST 1101 Problem Solving Using Computers
Prototyping in the software process
Games Development Practices 3D Modelling
Working in the Forms Developer Environment
Game Architecture Rabin is a good overview of everything to do with Games A lot of these slides come from the 1st edition CS 4455.
Goals Give you a feeling of what Eclipse is.
Topics Introduction Hardware and Software How Computers Store Data
The Purpose of game Engines
Substance Painter - Basics
Introduction to Visual Basic 2008 Programming
Building Custom Workflows
CO6025 Advanced Programming
Mostly known for the creation of The Witcher franchise.
Objective % Understand career planning in a digital media environment.
COSC-4840 Software Engineering
An Introduction to Visual Basic .NET and Program Design
William Roberts Ryan Hipple
Unit# 8: Introduction to Computer Programming
Femap API Introduction
CO1301: Games ncepts 2016 Lecture 2
CIS16 Application Development – Programming with Visual Basic
Unit 20 Software Part 2.
COMPUTER SOFT WARE Software is a set of electronic instructions that tells the computer how to do certain tasks. A set of instructions is often called.
Objective Understand web-based digital media production methods, software, and hardware. Course Weight : 10%
Unit 20 Software Part 2.
Chapter One: An Introduction to Programming and Visual Basic
Games Development Practices 3D Model Import/Export
Chapter I Introduction
Game Engines Non-game specific technology Game: Engine
Professional Environment
An Introduction to JavaScript
Computer Graphics Introduction to Shaders
CIS 441/541: Introduction to Computer Graphics Lecture 15: shaders
Games Development Game Architecture: Entities
Computer Graphics Introducing DirectX
Games Development 2 Text-based Game Data
Blender API: Part 1: Overview
Games Development 1 Review / Revision
Games Development 2 Entity / Architecture Review
Presentation transcript:

Games Development 2 Tools Programming CO3301 Week 10

Contents Tools Programming Tool Chains Tool Specifics Languages for Tools

Tools Programming We can divide games programming into 3 areas: Game Engine - non-game-specific code: Renderer Sound, input, mass storage libraries and similar Generic scripting, data import, AI code Physics engine Game Code: Specific game logic, camera work, entity updates etc. Game Scripts Tools Game editors Asset / data preparation & manipulation Offline optimisation / pre-calculation

Tools Programming Tools development is often overlooked, but is a very important area Games are massively data-driven and that data usually needs considerable processing Example Tool types: (Level) Editor Major tool that allows the viewing and editing of the game world. Often game independent Mesh / material viewers, editors Post-modelling, engine specific work with 3D assets Texture manipulation: UV atlasing, normal map creation, etc Sound editors, data packing, testing systems etc.

Tools Development Where possible, lesser tools should written as plug-ins for existing software: Maya: Python scripts, C++ API plug-ins, MEL Similarly Max Script Photoshop plug-ins Or as plug-ins to a larger tool – level editor Extending existing programs is preferable: Don’t need to write everything from scratch Building on robust, documented platform Also allows the asset creators to work seamlessly with the game tools

Tools Development However, many specialised tools are required that do not naturally fit existing packages E.g. Particle system editor, AI editor Such tools are often written in C++ But may use higher level languages: C# is common Rapid to develop GUI applications Interface easily with the native C++ code Some tools don’t need a GUI: Asset copying / optimising / packaging, testing systems These may be console applications or scripts

Tool Chains A Tool Chain is the sequence of tools needed to convert raw assets through to usable game data A chain might be: Artist uses plug-ins in Photoshop to help create different map types (diffuse, specular, normal, transparency etc.) Export textures with plug-in to custom formats (one per SKU) Scripts for Maya import textures and outputs models in custom format. Also assists with shader creation Mesh optimised using console tool called by plug-ins Level editor imports art assets, allows viewing / manipulation. Also supports game entity layout, attribute setup, trigger and script attachment Level editor can provide oct-trees, help with waypoint generation and lighting pre-calculation. Exports custom level data Level data assembled into package using a console app

Tool Specifics Console-based Tools Usually used for file processing E.g. Converting from one file format to another Directory and & file reading / writing is common Parsing Text and/or Binary Parsing command lines too E.g. “conv.exe –i ‘f.txt’ –o ‘f.bin’ –c –op:1” Also certain optimisation tasks just need console processing without any GUI Plenty of precise, low-level work

Tool Specifics Plug-ins Most frequently required for art-related tools Not always: E.g for Visual Studio, or even for your own level editor Will often need to learn new API For program data & GUI Perhaps a new language too Support can be a problem, not all plug-in APIs are mature Working around limitations of program and it’s API Interacting with user requirements Tools are often written by request

Tool Specifics Editors Most powerful class of tool Run graphics engine in one or more windows Classic 4-view often starting point Use standard windows GUI Or write your own components (e.g. DirectX samples) Frequently encompass many tasks Import / export, editing, pre-calculation, optimisation etc. Better architected and more flexible than standalone tools May call out to other tools, support plug-ins or even have its own API or scripting language Level editor coders must be skilled – a major role

Tools Developers Tools is common starting point for new games developer Helps gain familiarity with studio systems Designing tools interfaces requires interaction with other studio team members Good way to accelerate introductions The role is fairly taxing: Low level code is common Precision required A good test during a probation period But hopefully not too much of a problem if new employee struggles Consequently, employers are quietly impressed if projects come with tool chains / editors Should help with project anyway Quietly make sure people know they are there