MATT GRAY - TECHNICAL DESIGNER | GAME DEVELOPER
Unity Hand Tracking Plugin (Tooling)
An extensive collection of tooling, systems and documentation for users to develop desktop and XR applications using hand tracking input.
- Working in a team to support internal and external developers with easy-to-use features
- Designing and architecting core features
- Introducing and managing new team members
- Handling support requests and integrating bug fixes
- Testing and releasing on a regular cadence
- Long term planning and communication with Product, UX, QA and Marketing teams
- Maintaining internal and external developer documentation
The plugin's uses range from integrating and using the raw hand tracking data to extensive interaction systems.
Ultraleap's Unity Plugin is known for it's ease of use and integration as well as supporting documentation and example content
- Designing and developing example content to provide re-usable feature examples with minimal bloat
- Optimization of core features for various platform support
- Refactoring legacy systems to maintain support for the future
- Ensure readable code for both internal and external users
Potions in Motion (Game Jam)
A single player game jam game where you mix ingredients to make potions as the world gets increasingly more chaotic.
- Working as a team to build a game in 2 days
- Systems architecture
- Design assistance
A game jam game where players combine ingredients to complete potion orders.
Includes random orders, descriptions, combined particle effects and various time-based mechanics.
- Developing a system for randomising combined ingredients
- Input management
- Game state management
- Optimisations
Hand Tracking Interaction Experiments
A collection of interaction experiments made with Unity, using Ultraleap hand tracking.
- Designing the project structure and pushing internally for source code to be shared externally
- Designing and building experiments to share
- Feeding findings from the experiments into the main Unity Plugin
- Encouraging other developers at Ultraleap to experiment and contribute
A collection of hand-focussed interactions. Mostly made for XR, these experiments show users how they can use hand tracking to push the boundaries of interaction.
Each branch of this repository has a new project with all required assets and source code for the experiment, as well as an example scene.
- Developing Hand-attracted particle systems
- 3D mesh generation
- Velocity aware physics trajectories
- Object snapping systems
- Solo project, all aspects
Pirate Hex is an extension of the Hexplorers tile flipping mechanic. It allows players to explore endlessly with a custom environment generation system.
This prototype explores random island generation and building and object placement.
- Developing the core movement and camera system
- Modifying an existing generation system for island generation
- Optimising and balancing
TouchFree - Kiosk and screen control
A device input system and tooling that uses hand gestures to control screens.
- Technical lead during prototyping and initial product development
- Conceptualising and developing of user testing
- Software architecture design
- Core system development
Touchfree simulates touchscreens on any windows, mac or linux device, whether it uses a touchscreen or not. It allows for input without needing to physically touch the device.
Initially introduced as a way to avoid touching surfaces during the covid pandemic, Touchfree developed into a remote control system for larger scale screens and installations.
The project began development in Unity, but was soon converted to .net and web as this suited the market more closely.
- Developing the core gesture systems
- Architecting the software stack
- Building demo apps
- Providing and documenting tooling options for end user integrations
Mesh Deformer (Tooling)
A collision-based mesh deformer that is performant, runs in real time and updates collision meshes.
- Solo project, all aspects
- Designing usability
- Chunking, threading and optimising
- Features and user feedback responses
- Solo project, all aspects
Built on a randomly generated environment, the game can be explored endlessly, saves the state for future sessions and offers players resource management and progression.
This prototype explores random world generation and building and object placement.
- Developing the core movement and camera system
- Developing a complex terrain generation system for various biomes
- Developing citizen, building and resource management systems
- Developing a world save system
- Optimising and balancing
Penny Pusher
A single player mobile game where you drop coins and win prizes like in amusement arcades.
- All development and design
A solo-dev project I have managed during available weekends.
Penny Pusher is born from a childhood enjoyment of amusement arcades and a dislike for ad-heavy mobile versions of this arcade classic.
Taking simple physics mechanics and adding prizes, daily rewards and a leveling mechanic, Penny Pushed keeps it simple yet enjoyable to return to.
- Physics balancing
- Optimizations for a large number of physics objects at a time
- Responding to bugs raised and user reviews
- Maintaining a released game
Backseat Driver (Demo)
An in-car experience using hand tracking and mid-air haptics to visualize the future of in-car entertainment and connectivity.
- Working in a small team to a deadline
- Technical lead
- Working with designers and technical artists to support their vision
- Integrating multiple emerging technologies
Developed as a prototype demo of the future of passenger entertainment, designed to simulate an AR solution through VR.
Backseat Driver shows users how augmented screens, spatial product purchasing, relaxation and navigation could occur.
- Developing a game state system that cycles various applications and can be skipped/altered on the show floor
- Optimising a performance-heavy app for VR
- Combining new and in-development hand tracking and mid-air haptics technologies with brand new VR devices and tooling
- System architecture and prioritisation to keep to the strict deadline
Not Alone (Game Jam)
A relaxing game jam game where you explore the lost woods and befriend wisps to bring happiness and color to the world.
- Work with an artist and technical artist
- Develop interactions and core gameplay system
A game jam game made in 2 days where the theme was "Not Alone".
A relaxing game where you explore the lost woods and befriend wisps to bring happiness and color to the world.
- Ensure suitable Randomisation of each play session
- Develop a world/asset revealing system based on gameplay
- Develop a system to track how much of the large area has been interacted with
- Make optimisations to support web players
- Solo project, all aspects
Portal Islands is a game prototype that explores gathering and completing quests to support a small town.
Built on a system of teleporting to floating islands and gathering resources needed to trade in the main town.
- Developing the core movement and camera system
- Handling saving and loading of inventories, skills and locations
- Building data storage systems for items, pickups, values, stats and trading
- Optimising and balancing
Automotive Touchless Control (Demo)
An interactive demo app that combines hand tracking and ultrasonic mid-air haptics to control a vehicle console.
- Technical development
- Working with designers and product managers
A showcase of touchless input and mid-air haptics for automotive console control.
Control audio, fans, phone calls and navigation via a set of intuitive gestures.
- Refactoring an existing codebase for a new input system
- Integrating a pre-existing interaction plugin
- Expanding interactions to support touchless gestures
- Developing and managing a user-controlled state system
Planet Wars (Prototype)
A single player vs AI mobile game. Take turns to expand, attack and fortify tiles on a hexagon-based globe.
- All development and design
A small tug-of-war style mobile prototype vs AI.
Developed in spare time, this game is a test for a larger passion project of mine.
- AI balancing
- 3D mesh optimisation
- Mechanic balancing to ensure fair gameplay
Island Level Maker (Tooling)
A utility tool to quickly generate stylised island meshes inside the Unity Editor.
- All development and design
- Integrating spline systems
- Usability options and features
- Bug fixing and use-case analysis
Prizzy and Orb (Game Jam)
A turn based puzzle game jam game that can be played either Single Player or 2 Player Local Multiplayer.
- Work with an artist and technical artist
- Develop interactions and core gameplay system
A game jam game made in 2 days where the theme was "Duality".
A competitive dynamic puzzle game where you compete to collect gems on opposite sides of a rotating game board.
- Ensure suitable Randomisation of each play session
- Develop all gameplay systems
- Make optimisations to support web players
- Develop AI difficulties and balancing
- All development and design
A solo-dev project I have managed during available weekends.
Grid Filler is a mobile arcade game developed as something for myself to play while commuting to work via train.
Move from one side of the board like Checkers or Chess, but compete to own the majority of the board like Reversi or Othello. Roll the dice to choose how many tiles you can flip each turn.
- AI balancing
- Optimisations for mobile
- QA and bug fixing
- Maintaining a released game
- Solo project, all aspects
A relaxed cozy game where you feed your blobs to keep them growing and expanding.
- Developing the core movement and camera system
- Developing unique movement system for blobs
- Planning and design in an 8hr Game Jam
- All development and design
A solo-dev project I have managed during available weekends.
Infinite Pinball is a mobile arcade game developed as something for myself to play while commuting to work via train.
Endless rounds of mini-pinball levels with different power-ups and collectibles to gain high scores.
- Ensuring pseudo-random balancing for completable rounds
- Optimisations for mobile
- QA and bug fixing
- Maintaining a released game
i-Patch Pirates
A web and mobile based multiplayer exploration 'serious game' teaching staff and students the importance of cyber security through gameplay mechanics.
- Leading a team of programmers
- Designing core gameplay elements and experiences
- Communicating with clients to ensure briefs and deadlines were met promptly
- Launching the game in a week long public facing event
i-Patch Pirates presents players with a series of minigames and explorative elements to encourage players to subliminally learn key cyber security messages through gameplay and short information packages.
The game gives players an identity by including a character creator and allowing them to choose a galleon to be a part of. i-Patch Pirates also has a series of both competitive and cooperative elements that include minigames and a highscore table to see how players fare against fellow players.
- Built the Hornswoggle puzzle-bobble-style gamemode from the ground up where users break into other players lockers
- Designed and developed character creation system with many choices including a unique random name generator
- Designed and wrote the structure of all software
- Wrote all manager classes for interns to use as a foundation to implement gameplay logic
- Created file I/O interfaces for storing local data and reading dialogue as well as the dynamic dialogue system
- Designed and implemented all flourish elements in the game
Speed Titans
A local multiplayer 'serious game' teaching students basic physics as well as team building through gameplay mechanics.
University of the West of England article
- Working in a team to a specific brief and deadline
- Designing core gameplay elements and experiences
- Introducing and managing new team members
- Launching the game in a public facing event
Speed Titans is a local multiplayer physics-based car building game which has players rolling objects around and sticking them together to make crude land-speed cars.
Speed Titans is designed to help promote the Bloodhound SSC land speed car and encourages students to develop an interest in STEM activities through gameplay.
- Worked as one of two lead programmers through the majority of the project
- Wrote all gameplay camera systems including a single screen multiplayer scaling camera and a dynamic runway camera
- Balanced physics systems to suit the player base
- Optimised a pre-implemented outline shader
- Automatic car type detection system, detects car components to decide what real car it is most similar to
War Pigeon (Game Jam)
A single player game jam entry to the Global Game Jam 2018. Winner of Best in Show at one of the largest jam events in the UK.
- Working in a team to a theme of Transmission over 48 hours
- Designing core gameplay elements and experiences
War Pigeon is a single player goal-oriented action game developed for the 2018 Global Game Jam. The game achieved Best in Show at one of the largest event locations in the country.
You play as a carrier pigeon hurtling through a warzone attempting to transmit messages from one location to another. The game uses a console controller to signal proximity to messages and has players dodging building, bullets and flak cannons to complete missions.
- Initial movement mechanics
- AI vs AI and AI vs Player warfare
- Pickup and drop-off mission logic
- Balancing each core mechanic to ensure solid gameplay
Kojima Drive
A local multiplayer party game comprised of multiple minigames. Part of a full cohort final year project with 25+ students.
- Working in a team
- Designing game modes
- Integrating game elements with other teams
- Communicating with multiple other departments
Kojima Drive is a local multiplayer party game comprised of multiple minigames developed by a full cohort of 25+ final year students including myself.
The game has a central hub which can be explored. Checkpoint areas are used to load minigames, each minigame allows players to earn score which can be spent to unlock alternative vehicles and compete with your friends.
- Programming a car deformation system
- Programming car grappling system
- Designing and implementing attachable objects such as caravans and gliders and the logic behind these
Brunch Club
A local cooperative multiplayer game where you work together to make breakfast through physics-based movement. Played by the Yogscast and greenlit on Steam.
- Working in a small team to fix bugs
- Adding new features
The Breakfast Club is a physics-based multiplayer game developed by PlayWest, players try to complete tasks using breakfast objects.
PlayWest had been approached by The Yogscast to update the game to enable them to play it at MCM Comic Con on the Twitch stage. This gave the team a week to fix any issues from the Alpha build (seen above) and implement new features for the audience. Unfortunately the client was forced to pull out of the event after the update had been implemented.
- Balancing complex stylised physics systems
- Adding mechanics to encourage cooperative gameplay
- Working in a small team to fix bugs and add new features
- Designing levels and gameplay experiences with new features
Pipeline Express is a single player water management mobile and web 'serious game'.
Players use limited water pipes to flow water to each building in a town, plan the layout carefully to fuel concrete factories to generate more pipes. Later levels include sewage management as well as water management. Players can create levels using the level editor and can use these levels to challenge your friends.
- Writing sewage requirement system
- Adding a series of sewage levels
- Fixing pipe drawing bugs
- Optimising pipe drawing mechanics
- Working in a small team to the brief of Waves
- Designing core gameplay elements and experiences
Glint is a super hardcore co-op platformer where you must infiltrate a facility by fooling the LightWave-based security system with your colour filtered goggles.
Work together or against each other with up to 8 players and flip, duck, sprint and climb your way through an assortment of obstacles with deadly light-waves blocking your path.
- Multiplayer input auto-detection system
- Camera following system
- Splatting stencil shader
- Created a level editor
- Working in a team to build utilities
- Implementing APIs to speed up development
- Developing intuitive user interfaces
AHOD is a utility app made for use in the RNLI to speed up the time taken to inform the best team to save lives.
The app is used to locate the nearest members of specific skills to ensure a full crew is populated and sent out to an emergency as quickly as possible. This is done via GPS, using a map to track each user allowing a station master to select and automatically call each chosen user.
- Using device GPS to determine data accuracy
- Automatically selecting most appropriate users for roles
- Using mobile services to maintain connection without app open
- Sending and receiving of messages using database