Supersize your production pipe enjmin 2013 v1.1 hdslantsixgames
The document discusses a presentation on optimizing a game studio's production pipeline. It introduces the speaker, Paul Simon Martin from Slant Six Games, and discusses how production pipelines have evolved over time. Key aspects of optimizing the pipeline that are covered include infrastructure for asset storage, automated building and testing, content authoring tools, data conversion processes, and metrics tracking. The goal is to minimize iteration times and latency throughout the entire process.
Maximize Your Production Effort (English)slantsixgames
This document discusses how to maximize production efficiency through efficient content authoring tools and pipelines for inter-studio asset development. It covers topics like infrastructure, content authoring, data conversion, game runtime considerations, and asset sharing. The key recommendations are to identify and reduce latency throughout the production pipeline, automate processes as much as possible, prioritize tool and workflow improvements, and treat outsourcing partners like internal team members to maximize output.
Slant Six Games uses SCons as their data build system for games like SOCOM: Confrontation. SCons is a Python-based build tool that provides fast, correct, and extensible builds. It supports features like dependency tracking and shared caching that help optimize their large data builds. While SCons works well overall, challenges include slow initial dependency scanning for large asset trees and bottlenecks introduced by tools like Maya. Staged building and selective dependency analysis help address these issues.
Umbra Ignite 2015: Graham Wihlidal – Adapting a technology stream to ever-evo...Umbra Software
This talk describes some of the pain points and challenges encountered while transitioning Frostbite from a PS3/X360 centric engine built for one game series to numerous games, genres and the PS4/XO launch.
Graham is a senior rendering engineer on the Frostbite engine team, implementing and supporting technology used in many hit games like Battlefield 4, Dragon Age Inquisition, and Star Wars: Battlefront. Prior to Frostbite, Graham was a senior engineer for BioWare for many years, shipping numerous titles including the Mass Effect and Dragon Age trilogies, and Star Wars: The Old Republic. Graham is also the author of Game Engine Toolset Development, and specializes in low level optimizations, engine architecture, GPU driver implementation, and console development.
Jeremy's talk is about how they reworked the rendering engine architecture to better fit new hardware and new graphics API while keeping it modular and user-friendly.
Jeremy has almost 10 years of experience in video games industry as an engine and graphics programmer, across several french studios. He has worked on various technologies, mainly focused on rendering engine architecture, low-level graphics and consoles programming. Curious of any mix between art and technologies. Addicted to pixels, music, photography….and probably video games.
Harlan Beverly Lag The Barrier to innovation gdc austin 2009Harlan Beverly
This document discusses lag, which is defined as frustration from waiting online, in online gaming. It identifies the three main causes of lag as game servers, game clients, and the network. Game designers can help address lag through their design choices, such as using instancing or load balancing to reduce server load, optimizing graphics to lower client requirements, and designing games that are tolerant of higher latencies. Several examples are provided of games and the design solutions they employed to mitigate lag.
This is the 5th of an 8 lecture series that I presented at University of Strathclyde in 2011/2012 as part of the final year AI course.
In this lecture I outline some approaches that use AI techniques to automate the creation of content within game world. I make specific reference to assets such as rocks and plants, to interaction mechanisms such as weapons and to quest generating systems, in particular Skyrim's Radiant engine.
Let’s face it: IBM i experts and RPG programmers are retiring from the workforce. These folks have been managing all areas of your business—often manually and behind the scenes—for decades, everything from IT operations to data and documents to cybersecurity.
Are you prepared to handle their departure?
Our panel of IBM i experts—Chuck Losinski, Robin Tatam, Richard Schoen, and Tom Huntington—outline strategies that allow your company to cope with IBM i skills depletion by adopting these strategies that allow you to get the job done without deep expertise on the OS:
-Automate IBM i processes
-Use managed services to help fill the gaps
-Secure the system against data loss and viruses
IBM i skills depletion is a top concern for IBM i shops around the world. The strategies you discover here will help you ensure that your system of record—your IBM i—continues to deliver a powerful business advantage, even as staff retires.
Supersize your production pipe enjmin 2013 v1.1 hdslantsixgames
The document discusses a presentation on optimizing a game studio's production pipeline. It introduces the speaker, Paul Simon Martin from Slant Six Games, and discusses how production pipelines have evolved over time. Key aspects of optimizing the pipeline that are covered include infrastructure for asset storage, automated building and testing, content authoring tools, data conversion processes, and metrics tracking. The goal is to minimize iteration times and latency throughout the entire process.
Maximize Your Production Effort (English)slantsixgames
This document discusses how to maximize production efficiency through efficient content authoring tools and pipelines for inter-studio asset development. It covers topics like infrastructure, content authoring, data conversion, game runtime considerations, and asset sharing. The key recommendations are to identify and reduce latency throughout the production pipeline, automate processes as much as possible, prioritize tool and workflow improvements, and treat outsourcing partners like internal team members to maximize output.
Slant Six Games uses SCons as their data build system for games like SOCOM: Confrontation. SCons is a Python-based build tool that provides fast, correct, and extensible builds. It supports features like dependency tracking and shared caching that help optimize their large data builds. While SCons works well overall, challenges include slow initial dependency scanning for large asset trees and bottlenecks introduced by tools like Maya. Staged building and selective dependency analysis help address these issues.
Umbra Ignite 2015: Graham Wihlidal – Adapting a technology stream to ever-evo...Umbra Software
This talk describes some of the pain points and challenges encountered while transitioning Frostbite from a PS3/X360 centric engine built for one game series to numerous games, genres and the PS4/XO launch.
Graham is a senior rendering engineer on the Frostbite engine team, implementing and supporting technology used in many hit games like Battlefield 4, Dragon Age Inquisition, and Star Wars: Battlefront. Prior to Frostbite, Graham was a senior engineer for BioWare for many years, shipping numerous titles including the Mass Effect and Dragon Age trilogies, and Star Wars: The Old Republic. Graham is also the author of Game Engine Toolset Development, and specializes in low level optimizations, engine architecture, GPU driver implementation, and console development.
Jeremy's talk is about how they reworked the rendering engine architecture to better fit new hardware and new graphics API while keeping it modular and user-friendly.
Jeremy has almost 10 years of experience in video games industry as an engine and graphics programmer, across several french studios. He has worked on various technologies, mainly focused on rendering engine architecture, low-level graphics and consoles programming. Curious of any mix between art and technologies. Addicted to pixels, music, photography….and probably video games.
Harlan Beverly Lag The Barrier to innovation gdc austin 2009Harlan Beverly
This document discusses lag, which is defined as frustration from waiting online, in online gaming. It identifies the three main causes of lag as game servers, game clients, and the network. Game designers can help address lag through their design choices, such as using instancing or load balancing to reduce server load, optimizing graphics to lower client requirements, and designing games that are tolerant of higher latencies. Several examples are provided of games and the design solutions they employed to mitigate lag.
This is the 5th of an 8 lecture series that I presented at University of Strathclyde in 2011/2012 as part of the final year AI course.
In this lecture I outline some approaches that use AI techniques to automate the creation of content within game world. I make specific reference to assets such as rocks and plants, to interaction mechanisms such as weapons and to quest generating systems, in particular Skyrim's Radiant engine.
Let’s face it: IBM i experts and RPG programmers are retiring from the workforce. These folks have been managing all areas of your business—often manually and behind the scenes—for decades, everything from IT operations to data and documents to cybersecurity.
Are you prepared to handle their departure?
Our panel of IBM i experts—Chuck Losinski, Robin Tatam, Richard Schoen, and Tom Huntington—outline strategies that allow your company to cope with IBM i skills depletion by adopting these strategies that allow you to get the job done without deep expertise on the OS:
-Automate IBM i processes
-Use managed services to help fill the gaps
-Secure the system against data loss and viruses
IBM i skills depletion is a top concern for IBM i shops around the world. The strategies you discover here will help you ensure that your system of record—your IBM i—continues to deliver a powerful business advantage, even as staff retires.
Albion Online - Software Architecture of an MMO (talk at Quo Vadis 2016, Berlin)David Salz
Albion Online is a cross-platform sandbox MMO RPG game. This talk takes you behind the (technical) scenes. We will take a look at the structure of the server farm and its inner workings, the databases, the threading and message processing model and many other interesting implementation aspects. On the client side, Albion uses the well-known Unity game engine. The second part of the talk will describe how we use Unity (and which features we do not use, which is just as important!)
This document provides an agenda for a meeting on IBM Lotus Notes and social business. It introduces Vladislav Tatarincev from SIA "CYONE" as the speaker. CYONE is introduced as an IBM Premier Business Partner focused on IBM Lotus, IBM Tivoli, identity management and Citrix technologies. The document discusses IBM Lotus Notes licensing, new features in Notes 9, IBM Traveler, IBM Connections 5.0, and how a Kaizen approach can be implemented using social software to improve employee satisfaction, collaboration and knowledge sharing.
'Intro to Infrastructure as Code' - DevOps BelfastJohn Fitzpatrick
This document provides an introduction to infrastructure as code and Chef. It discusses how infrastructure as code treats infrastructure configuration like code that can be version controlled, tested, and managed declaratively. It then introduces Chef concepts like resources, recipes, cookbooks, and how they allow defining infrastructure in a declarative way using Ruby DSL. The document uses examples like package, file, template and service resources to illustrate how Chef models infrastructure as code.
Engage 2020 - panagenda Workshop: All things Notes 11!Christoph Adler
Come join this jam packed workshop covering everything you may want to know about Notes 11!
From administration, upgrade best practices, through the various flavours of HCL Notes and Nomad, to development, we will look at plenty of tips and tricks for both clients and applications.
Your hosts will be Christoph Adler and Florian Vogler, who will make sure that you will have lots of fun and take a ton of knowledge and value along with you!
We are very much looking forward to seeing you and frying your brains!
This document provides an overview of techniques for improving Lotus Domino performance. It discusses how hardware, the operating system, Domino configuration, database design, views, agents, and functions can impact performance. Specific recommendations include enabling transaction logging, tuning RAID, separating transactional logging to a dedicated disk, enabling traffic compression, tuning indexes, and optimizing database design elements like views and columns. The document also outlines performance improvements in different Domino versions.
This document outlines the process for recording, editing, tagging, and uploading audio files. It involves:
1. Recording audio files on a media device or laptop.
2. Editing the files which includes trimming unwanted sections, normalizing volume, and compressing files.
3. Applying metadata tags to identify information about the track, album, and artist.
4. Uploading the finished files to an FTP site or the proposed new server for storage and distribution.
This document discusses various tools for analyzing and optimizing Android application performance and resource usage. It describes how to reduce APK size by minimizing assets, code size, and using expansion files. Memory analysis tools discussed include DDMS Heap View, Allocation Tracker, and Eclipse MAT. Performance can be analyzed using DDMS, Systrace, and native code profilers. Graphics performance is best optimized by reducing overdraw and draw calls, which can be measured using the Overdraw Visualizer and Tracer for OpenGL.
RapidFire - the Easy Route to low Latency Cloud Gaming Solutions - AMD at GDC14AMD Developer Central
RapidFire is a dedicated cloud gaming hardware and software solution from AMD that aims to simplify integration and deliver more high-definition game streams per GPU with low latency. It utilizes AMD hardware on both the server and client sides. The API provides functions for encoding and decoding video and audio streams, capturing input events, and displaying frames with low latency for cloud gaming applications. Eureva has implemented RapidFire in their Swiich solution to virtualize and stream any DirectX or OpenGL game in real-time with ultra-low latency over existing networks.
This intermediate course will go beyond the basics and look at some unconventional wisdom when it comes to deploying software. Large installers, complex installers, repackaging, and more- we'll take a look at best practices that fit. Learn more: http://dell.to/1GDYpr8
The document provides an overview of the PlayStation Vita hardware and software capabilities for developers. It describes the Vita's high resolution screen, quad core processor, and powerful GPU. The document highlights key differentiational aspects like the dual analog sticks, touch screen, cameras, and motion sensors. It also summarizes libraries, tools, and middleware to simplify development, including facial recognition, augmented reality, and location-based services. Graphics are rendered using tile-based deferred rendering to efficiently manage on-chip memory and hidden surface removal.
A post mortem about one of the highly anticipated but "launch failed" pojects I did. This is THE talk I was sued about by the publisher as I was too honest.
This is a short presentation Jon gave for the first Ottawa Unity User Group meetup. We share some of the tips and tricks we've discovered at Karman while working with Unity over the past few years.
Inside the IT Territory game server / Mark Lokshin (IT Territory)DevGAMM Conference
In my talk, I will talk about the internal structure of the game server, which support our games of the Vorodezh ITT division. What can be learned from the talk:
- what technologies did we choose for the development of game servers (spoiler: Vert.X Hazelcast, Postgres, Kafka, Prometheus + Grafana, Consul, Photon Cloud);
- how we use them (spoiler: not all for their intended purpose);
- how we install updates;
- some interesting mistakes that we caught while working with Vert.X and Hazelcast.
Ian Dundore discusses five clichés of online game development that often prove true. The first is that the client is in the hands of the enemy, so input from players must be validated and anything sent to clients could be seen. Second, premature optimization should be avoided as proper order is fun, good, then fast. Third, there are known and unknown unknowns, so plan for injected work. Fourth, any tool can be misused so log creations carefully. Finally, the presentation title should come after the content is made.
This document provides an overview of the team structure and development process used by Sony Computer Entertainment America's Santa Monica Studio to create the game God of War. The studio utilized an open floor plan and divided teams into code, design, art, sound, and production. Assets were created in Maya and processed into game data. Tools were created to facilitate collaboration between designers and programmers. The code and combat systems were designed to be reusable across different characters. Waypoints were created in Maya to define navigation areas.
This document provides an overview of a real-time strategy (RTS) game project built using the Sephy Engine. It includes summaries of the map tool, unit balancing tool, and battle system, as well as descriptions of the engine architecture and frameworks. The project utilizes an isometric tile-based map tool, unit attributes for ship balancing, and systems for camera, units, fleets, and fog of war in battles. Recent work focuses on additional features like fleet systems, aircraft carriers, and random weather events.
Designing a Highly Available Environment Using Methods of Modern IT Infrastru...Perforce
Hear about the multi-server Perforce architecture used at Remedy Entertainment, a developer of state-of-the-art action games, game franchises and cutting edge technology. Get tips on how various virtualization, storage technologies and the new distributed Perforce server features can be used to gain high availability and quick recoverability in different disaster scenarios. Handling large game content files and the dependencies between the game code and content assets will also be covered.
The document discusses initial design considerations for game architecture. It covers partitioning problems, creating interfaces between partitions, managing overall structure and flow, and interfacing with the environment. Key points include controlling complexity, ensuring best practices, consistency, predictability, and reuse. The document also discusses game and hardware abstraction, the problem domain, tiered architecture, use of middleware, tokenization of game elements and states, and best practices for game architecture design.
GDC 2010 - A Dynamic Component Architecture for High Performance Gameplay - M...Terrance Cohen
This presentation will detail a dynamic component architecture used in the Resistance franchise to represent aspects of entity and systems' behavior. This component system addresses several weaknesses of the traditional game object model for high-performance gameplay, particularly in multi-threaded or multi-processor environments. Dynamic components are allocated and deallocated on-demand from efficient memory pools, and the system provides a convenient framework for running updates in parallel and on different processors such as SPUs. The system can be layered on top of a traditional game object model, so a codebase can gradually migrate to this new architecture. The presentation will discuss motivations and goals of the system as well as implementation details.
Massively Social != Massively MultiplayerPaul Furio
A talk from the Login 2011 conference on how to build games that connect hundreds of thousands of players in the same experience, using NoSQL, OSS tools & tech, and good planning. Also covers BigData analysis for understanding what your players are doing and what they want.
Lecture 02: Layered Architecture of Game Engine | GAMES104 - Modern Game Engi...Piccolo Engine
Follow us
YouTube: https://www.youtube.com/@piccoloengine
Website: https://games104.boomingtech.com/
WeChat Official Accounts: games104
GitHub: https://github.com/BoomingTech/Piccolo
Lecture 02: Layered Architecture of Game Engine | GAMES104 - Modern Game Engine: Theory and Practice
This course will introduce the system architecture, technical points, and engine system-related knowledge involved in modern game engines. Through this course, you can build a comprehensive and complete understanding of game engines. If your hands-on ability is strong enough, you will be able to follow the course and build a complete mini-game engine from 0 to 1. This course is suitable for students in related professional fields, researchers, and anyone interested in game engine design and development.
Albion Online - Software Architecture of an MMO (talk at Quo Vadis 2016, Berlin)David Salz
Albion Online is a cross-platform sandbox MMO RPG game. This talk takes you behind the (technical) scenes. We will take a look at the structure of the server farm and its inner workings, the databases, the threading and message processing model and many other interesting implementation aspects. On the client side, Albion uses the well-known Unity game engine. The second part of the talk will describe how we use Unity (and which features we do not use, which is just as important!)
This document provides an agenda for a meeting on IBM Lotus Notes and social business. It introduces Vladislav Tatarincev from SIA "CYONE" as the speaker. CYONE is introduced as an IBM Premier Business Partner focused on IBM Lotus, IBM Tivoli, identity management and Citrix technologies. The document discusses IBM Lotus Notes licensing, new features in Notes 9, IBM Traveler, IBM Connections 5.0, and how a Kaizen approach can be implemented using social software to improve employee satisfaction, collaboration and knowledge sharing.
'Intro to Infrastructure as Code' - DevOps BelfastJohn Fitzpatrick
This document provides an introduction to infrastructure as code and Chef. It discusses how infrastructure as code treats infrastructure configuration like code that can be version controlled, tested, and managed declaratively. It then introduces Chef concepts like resources, recipes, cookbooks, and how they allow defining infrastructure in a declarative way using Ruby DSL. The document uses examples like package, file, template and service resources to illustrate how Chef models infrastructure as code.
Engage 2020 - panagenda Workshop: All things Notes 11!Christoph Adler
Come join this jam packed workshop covering everything you may want to know about Notes 11!
From administration, upgrade best practices, through the various flavours of HCL Notes and Nomad, to development, we will look at plenty of tips and tricks for both clients and applications.
Your hosts will be Christoph Adler and Florian Vogler, who will make sure that you will have lots of fun and take a ton of knowledge and value along with you!
We are very much looking forward to seeing you and frying your brains!
This document provides an overview of techniques for improving Lotus Domino performance. It discusses how hardware, the operating system, Domino configuration, database design, views, agents, and functions can impact performance. Specific recommendations include enabling transaction logging, tuning RAID, separating transactional logging to a dedicated disk, enabling traffic compression, tuning indexes, and optimizing database design elements like views and columns. The document also outlines performance improvements in different Domino versions.
This document outlines the process for recording, editing, tagging, and uploading audio files. It involves:
1. Recording audio files on a media device or laptop.
2. Editing the files which includes trimming unwanted sections, normalizing volume, and compressing files.
3. Applying metadata tags to identify information about the track, album, and artist.
4. Uploading the finished files to an FTP site or the proposed new server for storage and distribution.
This document discusses various tools for analyzing and optimizing Android application performance and resource usage. It describes how to reduce APK size by minimizing assets, code size, and using expansion files. Memory analysis tools discussed include DDMS Heap View, Allocation Tracker, and Eclipse MAT. Performance can be analyzed using DDMS, Systrace, and native code profilers. Graphics performance is best optimized by reducing overdraw and draw calls, which can be measured using the Overdraw Visualizer and Tracer for OpenGL.
RapidFire - the Easy Route to low Latency Cloud Gaming Solutions - AMD at GDC14AMD Developer Central
RapidFire is a dedicated cloud gaming hardware and software solution from AMD that aims to simplify integration and deliver more high-definition game streams per GPU with low latency. It utilizes AMD hardware on both the server and client sides. The API provides functions for encoding and decoding video and audio streams, capturing input events, and displaying frames with low latency for cloud gaming applications. Eureva has implemented RapidFire in their Swiich solution to virtualize and stream any DirectX or OpenGL game in real-time with ultra-low latency over existing networks.
This intermediate course will go beyond the basics and look at some unconventional wisdom when it comes to deploying software. Large installers, complex installers, repackaging, and more- we'll take a look at best practices that fit. Learn more: http://dell.to/1GDYpr8
The document provides an overview of the PlayStation Vita hardware and software capabilities for developers. It describes the Vita's high resolution screen, quad core processor, and powerful GPU. The document highlights key differentiational aspects like the dual analog sticks, touch screen, cameras, and motion sensors. It also summarizes libraries, tools, and middleware to simplify development, including facial recognition, augmented reality, and location-based services. Graphics are rendered using tile-based deferred rendering to efficiently manage on-chip memory and hidden surface removal.
A post mortem about one of the highly anticipated but "launch failed" pojects I did. This is THE talk I was sued about by the publisher as I was too honest.
This is a short presentation Jon gave for the first Ottawa Unity User Group meetup. We share some of the tips and tricks we've discovered at Karman while working with Unity over the past few years.
Inside the IT Territory game server / Mark Lokshin (IT Territory)DevGAMM Conference
In my talk, I will talk about the internal structure of the game server, which support our games of the Vorodezh ITT division. What can be learned from the talk:
- what technologies did we choose for the development of game servers (spoiler: Vert.X Hazelcast, Postgres, Kafka, Prometheus + Grafana, Consul, Photon Cloud);
- how we use them (spoiler: not all for their intended purpose);
- how we install updates;
- some interesting mistakes that we caught while working with Vert.X and Hazelcast.
Ian Dundore discusses five clichés of online game development that often prove true. The first is that the client is in the hands of the enemy, so input from players must be validated and anything sent to clients could be seen. Second, premature optimization should be avoided as proper order is fun, good, then fast. Third, there are known and unknown unknowns, so plan for injected work. Fourth, any tool can be misused so log creations carefully. Finally, the presentation title should come after the content is made.
This document provides an overview of the team structure and development process used by Sony Computer Entertainment America's Santa Monica Studio to create the game God of War. The studio utilized an open floor plan and divided teams into code, design, art, sound, and production. Assets were created in Maya and processed into game data. Tools were created to facilitate collaboration between designers and programmers. The code and combat systems were designed to be reusable across different characters. Waypoints were created in Maya to define navigation areas.
This document provides an overview of a real-time strategy (RTS) game project built using the Sephy Engine. It includes summaries of the map tool, unit balancing tool, and battle system, as well as descriptions of the engine architecture and frameworks. The project utilizes an isometric tile-based map tool, unit attributes for ship balancing, and systems for camera, units, fleets, and fog of war in battles. Recent work focuses on additional features like fleet systems, aircraft carriers, and random weather events.
Designing a Highly Available Environment Using Methods of Modern IT Infrastru...Perforce
Hear about the multi-server Perforce architecture used at Remedy Entertainment, a developer of state-of-the-art action games, game franchises and cutting edge technology. Get tips on how various virtualization, storage technologies and the new distributed Perforce server features can be used to gain high availability and quick recoverability in different disaster scenarios. Handling large game content files and the dependencies between the game code and content assets will also be covered.
The document discusses initial design considerations for game architecture. It covers partitioning problems, creating interfaces between partitions, managing overall structure and flow, and interfacing with the environment. Key points include controlling complexity, ensuring best practices, consistency, predictability, and reuse. The document also discusses game and hardware abstraction, the problem domain, tiered architecture, use of middleware, tokenization of game elements and states, and best practices for game architecture design.
GDC 2010 - A Dynamic Component Architecture for High Performance Gameplay - M...Terrance Cohen
This presentation will detail a dynamic component architecture used in the Resistance franchise to represent aspects of entity and systems' behavior. This component system addresses several weaknesses of the traditional game object model for high-performance gameplay, particularly in multi-threaded or multi-processor environments. Dynamic components are allocated and deallocated on-demand from efficient memory pools, and the system provides a convenient framework for running updates in parallel and on different processors such as SPUs. The system can be layered on top of a traditional game object model, so a codebase can gradually migrate to this new architecture. The presentation will discuss motivations and goals of the system as well as implementation details.
Massively Social != Massively MultiplayerPaul Furio
A talk from the Login 2011 conference on how to build games that connect hundreds of thousands of players in the same experience, using NoSQL, OSS tools & tech, and good planning. Also covers BigData analysis for understanding what your players are doing and what they want.
Lecture 02: Layered Architecture of Game Engine | GAMES104 - Modern Game Engi...Piccolo Engine
Follow us
YouTube: https://www.youtube.com/@piccoloengine
Website: https://games104.boomingtech.com/
WeChat Official Accounts: games104
GitHub: https://github.com/BoomingTech/Piccolo
Lecture 02: Layered Architecture of Game Engine | GAMES104 - Modern Game Engine: Theory and Practice
This course will introduce the system architecture, technical points, and engine system-related knowledge involved in modern game engines. Through this course, you can build a comprehensive and complete understanding of game engines. If your hands-on ability is strong enough, you will be able to follow the course and build a complete mini-game engine from 0 to 1. This course is suitable for students in related professional fields, researchers, and anyone interested in game engine design and development.
This document provides an overview and introduction to XNA game development. It discusses the XNA framework and content pipeline for loading textures, audio, and other game assets. It also explains the typical lifecycle methods like Initialize, LoadContent, UnloadContent, Update, and Draw that are used in the main Game1 class. References are provided for books, tutorials, and the author's own game projects and publications related to XNA.
Working Well Together: How to Keep High-end Game Development Teams ProductivePerforce
This document discusses Guerrilla Games' development process for their game Killzone Shadow Fall. It describes how they use Perforce for version control and continuous integration. Key aspects of their process include having most developers work on the main trunk, extensive testing before and after code commits, labeling builds to sync safely to known good versions, and branching for frequent weekly releases while keeping the main branch for ongoing development. This approach allows for speed of iteration while maintaining control over the development cycle and releases.
How can we use Adobe Flash Stage 3D to make a multiplayer game on multiple devices using the same codebase?
This session will detail the challenges encountered when attempting to maintain high performance specifications on mobile devices and the guidelines used to succeed.
We will talk about the required production pipeline, provide performance tips and techniques, provide guidelines for deploying and debugging on iOS and Android and give an overview of the process, from start to finish
Bringing Supernatural Thriller, "Oxenfree" to Nintendo SwitchUnity Technologies
In this intermediate session, you'll find out what Night School Studio learned from their plunge into the Nintendo Switch delivering their debut branching-narrative adventure game, "Oxenfree," in just a few months with a single programmer using Unity. The studio's lead engineer, Bryant Cannon, will cover tips and tricks for getting the most out of the Nintendo Switch's innovative design features. He will also guide you on how to prepare for the Nintendo Switch early in the development process and how to avoid common technical speed bumps.
Bryant Cannon - Night School Studio
Writing a Fullstack Application with Javascript - Remote media playerTikal Knowledge
Writing apps should be fun. This is a statement I try to keep in mind when approaching any application development. When I first realized that a full stack of Javascript can be used to create an application I was very happy, since for me coding in Javascript is a lot of fun. I was soon quite eager to neglect the traditional Java server-side + Javascript client, giving up the Java server side "bliss" and the constant context switching, in favor of a full stack of Javascript whenever I could.
For the past 2+ years I have been developing a variety of applications using a pure JS stack: Games, Forex trading middleware, CRM, CMS, sophisticated proxies, and various utilities. I must admit my productivity has increased dramatically and the time-to-market of each and every project was a fraction of what it would have been using traditional Java based server side infra-structure.
On October 29th 2013 I gave a talk at the "Javascript.everywhere" meetup event, in which I presented the development route of Youtube Remote Control Application with a "slave" player using Javascript stack all over (NodeJS, Socket.IO, ExpressJS, AngularJS, MongoDB). I'm pleased to share the presentation
- See more at: http://www.tikalk.com/js/writing-fullstack-application-javascript#sthash.IjFNbQJ2.dpuf
Thomas Blair's portfolio summarizes his work as a video game designer from 2001-2022. Some of the key projects he worked on include Crowfall, an MMO where he designed classes, talents, stats, races, and tools; 5 Dragons, a mobile card battler where he focused on combat, progression, and world design; and DragonTown, a Facebook game where he implemented professions, crafting, quests, and viral mechanics. He also contributed to titles like DC Universe Online and several unreleased projects. The portfolio demonstrates his experience across many roles and genres, with a focus on system and content design.
Making A Game Engine Is Easier Than You ThinkGorm Lai
This is a talk I gave at the Develop Conference 2015 in Brighton. It is a an attempt at making a balanced talk on when it makes sense to make your own technology, and what it takes to get you there.
Maximize Your Production Effort (Chinese)slantsixgames
Efficient Content Authoring Tools and Pipeline for Inter-Studio Asset Development
With the complexity of today's video games and their associated tight timelines, it is paramount for video game studios to have a highly efficient content authoring process and production workflow. With a trend towards outsourced development of game assets, there are additional considerations that are important for achieving optimal workflow between studios that are co-developing or sharing assets. This lecture gives valuable insight into how to create new content authoring tools and data transformation pipelines that promote efficient work flow for both internal and remote production teams. Specific considerations for outsourcing and worldwide development are made along the way.
This document discusses porting a heavyweight sound rendering function called SoundEngine::Process() to run on the SPU. It processes audio rendering parameters for each sound frame. The function was parallelized by breaking it into independent SPURS jobs that can run concurrently on the SPU. Various data structures were optimized for the SPU by flattening classes, using structs of arrays, and vectorizing filters. Benchmarking showed the SPU version was over 2x faster on average than running on the PPU.
This document provides an overview of collision detection techniques, which are divided into broad, narrow, and response phases. The broad phase uses spatial data structures like grids, trees, and lists to reduce complexity by rejecting far-away object pairs. The narrow phase performs exact tests on close candidates output by the broad phase. Common representations are bounding volumes and hierarchies thereof. Popular algorithms apply the separating axis theorem to convex shapes. The response phase resolves collisions through impulses, forces, or rewinding. Ray casts are also discussed for line-of-sight checks.
The document provides an overview of graphics pipelines. It discusses the basic graphics pipeline which includes 3D scene, vertex fetching, vertex processing, scan conversion, pixel processing, and raster operations. It then discusses modern graphics pipelines which use programmable shaders and unified shader architectures. It also discusses moving beyond traditional pipelining through parallelism approaches like SIMD, SIMT, and MIMD. Future trends may involve more MIMD approaches and programming models similar to SPU programming. This could enable more complex data structures, algorithms, lighting approaches, and rasterization techniques.
This document provides optimization tips for code running on PowerPC processors like those in the Playstation 3. It discusses how to optimize for the PPU hardware threads, cache structure and penalties, virtual function calls, data hazards, and other issues. Specific recommendations include batching data access by type, keeping related data together in memory, avoiding load-hit-store stalls, using restrict pointers, unrolling loops, and using SIMD intrinsics to operate on multiple values simultaneously. Micro-optimizations like these can improve performance by reducing cache misses and stalls.
This document discusses techniques for presenting users with a consistent persistent world in a serverless environment without persistent clients. It describes how a "reflector" model allows clients to interact peer-to-peer by reflecting signals in a consistent order without centralized server logic or state. Context and determinism issues that can arise are also covered.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
20 Comprehensive Checklist of Designing and Developing a WebsitePixlogix Infotech
Dive into the world of Website Designing and Developing with Pixlogix! Looking to create a stunning online presence? Look no further! Our comprehensive checklist covers everything you need to know to craft a website that stands out. From user-friendly design to seamless functionality, we've got you covered. Don't miss out on this invaluable resource! Check out our checklist now at Pixlogix and start your journey towards a captivating online presence today.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
3. Paul Simon Martin
• Director of Technology, Slant Six Games
• 14 years videogame industry experience
• Slant Six Games (‘05-Present):
– Technical Direction: BigBrain Game Engine
– AAA-quality, cross-platform engine
– Xbox 360, PS3 & Windows
– Full suite of content authoring tools
– Data transformation pipelines
– Automated build, test & publish environments
• Sony Computer Entertainment America (‘00-’05):
– Developed: PS2 low-level & graphics engine (Syphon Filter)
– Developed: PSP low-level & graphics prototype engine (Syphon Filter)
• Prior (‘96-’00):
– Graphics engine & tools for PS1, Dreamcast & Windows
4. Slant Six Games
• Founded in 2005
• Products:
– Unannounced Title – PS3/Xbox 360/Windows 2010
– SOCOM U.S. Navy Seals Fireteam Bravo 3 – PSP 2010
– SOCOM Confrontation – PS3 2008 and Cold Front DLC 2009
– SOCOM U.S. Navy Seals Tactical Strike – PSP 2007
– Syphon Filter: Dark Mirror - PSP 2006 – Rendering Engine
• Awards:
– BC Business Magazine - Best of BC Top 10 Companies to work for in British Columbia - 2009
– Elan Award – Best New Game Company – 2008
– SOCOM US Navy Seals: Tactical Strike
– Elan Nominated - Best Hand-Held Game of the Year - 2008
– BAFTA Nominated - Best Strategy Game - 2009
– E3 Best PSP Multiplayer Experience -2007
• Technology
– AAA class multi-platform (PC, XBOX 360, PS3) Proprietary Game Engine
– Proprietary Rendering and Animation Engines , Pipelines and Toolsets
– PSP proprietary Engine and Toolsets
6. Glossary of Terms
• Source Content:
– Any unoptimized game asset file that has not yet gone through data conversion
– E.g. *.ma, *.dds, *.tga, *.csv
• Game Data:
– Data file that is ready to be loaded by the game
– Usually optimized for platform(s)
• Authoring Tools:
– A tool (usually residing on PC) used to author source content
– E.g. Maya, Photoshop, CustomStudioTool
• Data Pipeline:
– A set of tools & scripts that are used to convert Source Content Game Data
– Typically driven via a build engine
7. Glossary of Icons
• Slides
– Online content (will discuss during this talk)
– Offline content (either hidden slide or will gloss over)
• Suggestions
– Practices that work well for us (TODO: xxx)
– Things we learned the hard way (TOAVOID: xxx)
11. The Evolution of Production
Circa 1994 AD
• Part 3: Somebody hired a Game Designer
12. The Evolution of Production
Circa 1998 AD
• Part 3.5: Artist & Designer Spanking –
popularity diminished
13. The Evolution of Production
Circa 2000 AD
• Part 4: Can’t we all just get along?
14. The Evolution of Production
Current Day
• Studios value their artists and designers
• Artists and designers:
– Build The Game
• Programmers:
– Support artists and designers
– Implement core gameplay that can’t be data-driven
15. “Your Studio is as good as Your Tools”
• Paul M, circa 2003
• “Tools”- Authoring, Infrastructure, Pipeline, Packaging
• Today’s games must have massively efficient runtime
=> Bake as much optimization into data as possible
• Games built by production teams
– Faster workflow => more content
– Faster workflow => more iteration = polish = quality
18. Supersize your Production Pipe
• Production pipe (prə duk′s̸hən, prō- pÄ«p):
– “The process that generates content for your games”
– narrow constrictive poor flow
– wide dilative good flow
– Considerations:
• Team process / workflow
• Authoring tools / workflow
• External process / workflow
19. Super-size your Production Pipe
• Super-size (so̵̅o̅′pər sīz′):
– “Increase capacity”
– “Make bigger”
– In order to:
• Increase flow
21. Latency – The Silent Killer
• Latency: A measure of time delay experienced
in a system
• High latency = Low flow
• Identify maximum iteration time
• Identify latency
• Derive a plan
• Re-evaluate
25. Old School
1. Trigger volume authored/tweaked in the level editor
2. User hits the “export” button
3. User runs a script to re-export the entire world
• textures converted, visibility map compiled, navigation mesh
15 mins
generated, …
4. User waits 10+ mins
5. User launches the game
6. It takes 5 mins to load
7. User runs player character from level start -> test area
8. Volume was too big/too small? Try again, back to step 1.
26. Much Better
1. Trigger volume authored/tweaked in the level editor
2. User hits the “save” button
3. The build infrastructure detects a file change
5-15 secs
• Triggers fast asset conversion for the new trigger volume alone
• Signals (already running) game there is a change
• Game hot-loads new volume and associated scripts
• Player character (still) in test location
4. Volume too big/too small? Back to step 1.
27. Author vs Tweak
• Author:
– Addition/deletion of something new
– Latency: 1-30 seconds
• Tweak:
– Movement or property change of something existing
– Latency: < 5 seconds
28. What Happens Next…
Post-iteration, user commits changes…
1. User hits “commit” button User involvement ends here
2. New level data committed to asset depot / moves on to new task
3. Build/Test Server (BTS) detects a change and begins asset
conversion
4. BTS launches an automated test of the game with new
asset
5. All happy? BTS sends user a confirmation email
6. Problem? BTS sends user an email with relevant info
39. Content Authoring
• Intuitive UI
– Also, mirror existing commercial tools key bindings &
shortcuts (Maya, Photoshop, …)
• Consistent UI
• (Close to) Zero-iteration time
– The 5 Second Rule
– Ideally in-game/in-viewer
– Or in tool viewport
40. Organizing Assets
• By meta-tag (e.g. iTunes)
– Requires implementation effort
– Tends towards poor file
management
• By directory (e.g. Windows)
– Tough to relocate
• Find a balance
– <= 200 tagged items per folder
41. Budgets and Metrics
• Establish ‘Cost Scores’ for all assets
• Find a currency for each asset type
– E.g.
• Filesize (Kilobytes)
• Dimensions (pixels wide/pixels tall/pixels deep)
• Runtime cost (GPU cycles or even # lines of code!)
• Allow users to evaluate the total cost of a scene
45. Data Conversion
• DOS Batch files are evil!
– Limited functionality
– Poor scripting language
– Slow to execute
– No data dependency checking => each build takes
as long as the previous
– Hard to debug
46. Data Conversion
• Many better options available:
– Scons (we like this )
– MSBuild
– Ant/NAnt
– Jam
– Make
47. Data Conversion
• Error Checking:
– As much as possible
– Report in a timely manner
• Often convenient to check for missing assets in data
conversion pipe but…
• Try to prevent errors getting this far
• Better to report errors at authoring time
– Report errors clearly!
49. Engine Considerations
• Middleware:
– Not inherently evil :-P but don’t rush into it
– Consider: Tools authoring process (identify any latency!)
– Consider: Interoperability with your runtime
– Consider: Integration with your tools & data pipeline
– Consider: Support?
– Consider: Source code?
58. Asset Sharing – Package Drops
• Problem:
– Long build process for packages
– Usually commence late in the work day
– Someone needs to work late!
• Solution:
– Automate the package shipping!
60. Don’t
• Let production process evolve on its own
• Always prioritize game features over tools &
workflow improvements
• Ignore your production team’s workflow
requests
61. Do
• Map out your typical workflows
• Regular analysis
• Identify latency in your production pipeline
• Automate as much as possible
• Have regular ‘asset authoring priorities’ meetings
• Hire an army of tools engineers!
• MAXIMIZE YOUR PRODUCTION PIPE!