Mod - MASTERS of DATA, a course about videogames data processing and optimization

Related tags

Miscellaneous mod
Overview

MASTERS of DATA

Welcome to MASTERS of DATA. A course oriented to Technical Designers, Technical Artists and any game developer that wants to understand and control game data to the last bit.

In this course you will learn to:

  • Understand your data: How game data is organized, what is contained in every data file of your game.
  • Process your data: Read multiple data files, extract the data you need and edit that data programatically.
  • Optimize your data: Reduce size, improve quality, get the best results for every situation and for platform.
  • Visualize your data: Create custom tools to display your data: images, audio, text, models... any kind of data.
  • Protect your data: Design a custom file format and export your data to it, compress and codify your data.
  • Automatize processes: Create custom tools to read/write big bulks of data in batch, define a command-line interface.

UNDERSTANDING GAME DATA

  • Introduction to file formats [3h]

  • Data packing: from Header to EOF [3h]

  • Basic data compression and protection [3h]

  • Image data: from colors to pixels [3h]

  • Image data: optimization techniques [3h]

    • Ex. Reading BMP file (no external libs) [3h]
    • Ex. Reading PNG file (no external libs) [3h]
  • Audio data: from waves to samples [3h]

  • Audio data: optimization techniques [3h]

    • Ex. Reading WAV file (no external libs) [3h]
  • Text data: from codes to encoding [3h]

  • Text data: optimization techniques [3h]

    • Ex. Reading and writting UTF-8 text [3h]
    • Ex. Rendering glyphs from font [3h]
    • Ex. Font atlas generation [3h]
  • Models data: from vertex to bones [3h]

  • Models data: optimization techniques [3h]

    • Ex. Reading OBJ file (no external libs) [3h]
    • Ex. Reading IQM skeletal animation data [3h]
    • Ex. Writing custom model format [3h]
  • Packing models data for Data Oriented Design: SoA vs AoS [3h]

VIEWING & PROCESSING GAME DATA

  • Define a custom file format (Ref. RIFF, PNG and ZIP file formats) [3h]

    • Ex. Writting a custom file format writer [3h]
    • Ex. Reading a custom file format [3h]
  • Visualizing data 101: IMGUI introduction [3h]

  • Visualizing data: tools development basis [3h]

    • Ex. Viewing custom data: Image [3h]
    • Ex. Viewing custom data: Audio [3h]
    • Ex. Viewing custom data: Text [3h]
    • Ex. Viewing custom data: Model [3h]
    • Ex. Viewing generic data: HexViewer [3h]
  • Processing data and optimization [3h]

    • Ex. Process image data (pixel-formats, filters, combine channels...) [3h]
    • Ex. Process audio data (sample rate, sample size, normalize...) [3h]
    • Ex. Process model data (optimize vertex attributes) [3h]
    • Ex. Process text data (convert text to image) [3h]
    • Ex. Process image and text data (steganography) [3h]

AUTOMATIZING PROCESSES

  • File system theory and access [3h]

  • Command line file processing [3h]

  • GUI and CLI tools development [3h]

  • Scripting and Automatization [3h]

    • Ex. Image directory batch processing [3h]
    • Ex. Data packer: Compression and protection [3h]
    • Ex. Data unpacker and viewer [3h]
You might also like...
GLSL optimizer based on Mesa's GLSL compiler. Used to be used in Unity for mobile shader optimization.

GLSL optimizer ⚠️ As of mid-2016, the project is unlikely to have any significant developments. At Unity we are moving to a different shader compilati

Apache Arrow is a multi-language toolbox for accelerated data interchange and in-memory processing

Apache Arrow Powering In-Memory Analytics Apache Arrow is a development platform for in-memory analytics. It contains a set of technologies that enabl

SatDump - A generic satellite data processing software.
SatDump - A generic satellite data processing software.

SatDump A generic satellite data processing software. Thanks Mnux for the icon! Still WIP Usage First of all, as with any program using volk, running

Suite of C++ libraries for radio astronomy data processing

Casacore A suite of C++ libraries for radio astronomy data processing. Installation Debian / Ubuntu Casacore is now part of Debian and Ubuntu, use apt

Cloud Native Data Plane (CNDP) is a collection of user space libraries to accelerate packet processing for cloud applications.

CNDP - Cloud Native Data Plane Overview Cloud Native Data Plane (CNDP) is a collection of userspace libraries for accelerating packet processing for c

Examples for the "Introduction to programming" course given by me and @bzareva @ Faculty of Mathematics and Informatics, Sofia University (2021/22)

Теми от практикумите по "Увод в програмирането", зимен семестър 2021/2022, спец. "Информатика", група 5 Тема 1 (04.10.2021) : Променливи. Типове проме

A visualization solution for curriculum and course relationships of Hongkong University of Science and Technology(HKUST)
A visualization solution for curriculum and course relationships of Hongkong University of Science and Technology(HKUST)

Curriculum Map A visualization solution for curriculum and course relationships of Hongkong University of Science and Technology(HKUST) Notice: Qt v6.

A FREE Windows C development course where we will learn the Win32API and reverse engineer each step utilizing IDA Free in both an x86 and x64 environment.
A FREE Windows C development course where we will learn the Win32API and reverse engineer each step utilizing IDA Free in both an x86 and x64 environment.

FREE Reverse Engineering Self-Study Course HERE Hacking Windows The book and code repo for the FREE Hacking Windows book by Kevin Thomas. FREE Book Do

Second life for famous JPEGView - fast and tiny viewer/editor for JPEG, BMP, PNG, WEBP, TGA, GIF and TIFF images with a minimalist GUI and base image processing.
Second life for famous JPEGView - fast and tiny viewer/editor for JPEG, BMP, PNG, WEBP, TGA, GIF and TIFF images with a minimalist GUI and base image processing.

JPEGView-Image-Viewer-and-Editor Updated Dec 07 2021. Version 1.1.1.0 has been released. Download link1, link2 added. Second life for famous JPEGView

Comments
  • Course feedback

    Course feedback

    Feel free to drop your feedback here! 😄

    Some feedback ideas:

    • Missing points in the outline
    • Scope of some of the points
    • Difficulty level
    • Tool to use
    opened by raysan5 0
Owner
Ray
I make videogames and tools to make videogames. I teach videogames dev. Always available for talks, conferences and master classes.
Ray
Masters degree research project source code. Might come back to it later.

Camflow Network Provenance Authors Tray Keller and Austin Waddell CamFlow and the Linux Provenance Module (LPM) framework are both an excellent step i

Tray Keller 2 Mar 14, 2022
A simple and easy-to-use Lua library to enjoy videogames programming

raylib-lua-sol Lua bindings for raylib, a simple and easy-to-use library to enjoy videogames programming, with sol (www.raylib.com) raylib-lua-sol bin

Rob Loach 65 Dec 6, 2022
2D physics header-only library for videogames developed in C using raylib library.

Physac Physac is a small 2D physics engine written in pure C. The engine uses a fixed time-step thread loop to simluate physics. A physics step contai

Víctor Fisac 241 Dec 28, 2022
the first ever open source zombie killcam mod for bo2 zombies. this repository is the original mod.

BO2 T6ZM Killcams (+ Mod Menu) my zombie killcam mod that is a work-in-progress and open sourced. this may work off plutonium but this was only suppor

m 5 Dec 14, 2022
Artificial Intelligence for Kinematics, Dynamics, and Optimization

AIKIDO - AI for KIDO ⚠️ Warning: AIKIDO is under heavy development. These instructions are primarily for reference by the developers. AIKIDO is a C++

Personal Robotics Laboratory 190 Dec 9, 2022
Wolfram Language interface to the Gurobi numerical optimization library

GurobiLink for Wolfram Language GurobiLink is a package implemented in Wolfram Language and C++ using LibraryLink that provides an interface to the Gu

Wolfram Research, Inc. 16 Nov 3, 2022
OptimLib: a lightweight C++ library of numerical optimization methods for nonlinear functions

OptimLib OptimLib is a lightweight C++ library of numerical optimization methods for nonlinear functions. Features: A C++11 library of local and globa

Keith O'Hara 618 Dec 27, 2022
DG-Mesh-Optimization - Discontinuous Galerkin (DG) solver coupled with a Quasi-Newton line-search algorithm to optimize the DG mesh.

Date written: December 2020 This project was pursued as my final project for MECH 579 (Multidisciplinary Design Optimization) at McGill University, ta

Julien Brillon 8 Sep 18, 2022
HESS (Hyper Exponential Space Sorting) is a polynomial black-box optimization algorithm, that work very well with any NP-Complete, or NP-Hard problem

The original HESS (Hyper Exponential Space Sorting) is a polynomial black-box optimization algorithm, that work very well with any NP-Complete, or NP-Hard problem, at 2021 thanks to suggestions of Daniel Mattes, work like a complete algorithm.

SAT-X 3 Jan 18, 2022
Optimization-Based GNSS/INS Integrated Navigation System

OB_GINS Optimization-Based GNSS/INS Integrated Navigation System We open-source OB_GINS, an optimization-based GNSS/INS integrated navigation system.

i2Nav-WHU 289 Jan 7, 2023