Ryan K Jones


I am a Tools Programmer and a 3D Artist within the game industry.I play Monster Hunter and other various games like Tunic, Sekiro, Ori, and Ecco the Dolphin. Learned to glitchless speed-run a few games as well! :)Stream 3D modeling, coding, or games on Twitch on Tues and Thurs.

Programming


Tools programming and other game industry experience.

Experience

Skills

  • Scripting and plugins to improve content creator workflows.

  • Communication to provide the best result between content creators and the provided tools.

  • Work ethic and determination to focus and accomplish tasks.

  • Analytical and problem-solving skills.

  • Languages: Python, C++, C#, ZScript (ZBrush), Houdini (Hython and HAPI)


HyperCollider LLC

Remote - Contract Game Developer

February 2024 - Current


First Milestone

Contracted game developer for an unannounced Unity game.

  • Researched to reuse the previous code to reduce new changes to the code unless necessary.

  • Created a Sequence Graph to handle dialogue and other sequences (sound triggers, screen fades, etc).

  • Final Draft file(s) were consumed for dialogue.

  • Allow the client to play through the dialogue for the game.

More when more milestones are met...


Ready At Dawn

Irvine, CA - Tools Programmer

August 2016 - April 2023


I worked at Ready At Dawn for a total of 7 years. I've worked with mostly DCC tooling with some engine code.One of my main tasks I was proud of was taking a complicated workflow that was taking people 8 hours to polyreduce, export from zbrush, and import into Maya for other pipelines. Managed to get a production ready asset through the process in about 5 minutes and only update necessary changes after the initial high poly reduction import. There was also a UI built to handle displaying the diff between the data that was dumped from ZBrush and the Maya scene. The poly reduction settings were saved within an intermediate sidecar file to the ZTool file. I had to discuss with the stakeholder tech artist and a few others to come up with the solution.Before I left Meta, I was working with Houdini APIs to expand for other workflows using HAPI, so Houdini wizards can work their magic. There were other various tooling tasks. Please refer to my experience below for more information.My job as a tools programmer is to allow content creators to make art and worry less about the technical parts they may not be interested in.Worked with Qt primarily for UI for tools.Our game engine at Ready At Dawn was proprietary. :)Credited as a Tools Programmer:
Lone Echo II (2021)
Echo VR (2017-2023)
Lone Echo (2017)
Deformers (2017)

Experience

  • Discussed and communicated with stakeholders to find the best solution to various pipelines and workflows.

  • Started Houdini integration into tooling for content creators.

  • ZBrush to Maya pipeline that connected to other proprietary systems for content creation.

  • Migrated Particle Graph and Particle Effect editors to newer tooling backend frameworks.

  • Various project specific scripts and tools.

  • Created and optimized the Content Viewer and improved asset thumbnail loading.

  • Improved unit tests with tooling harnesses and a unit test runner with UI.

  • Created a database to hold exceptions triggered by users and view the data using a web interface internally.

  • Improved error reporting and user experiences within the tooling framework (includes using APIs provided by Atlassian for JIRA and confluence).

  • Managed multiple tasks simultaneously for short-term and long-term goals.

  • Communicated the problem, assumptions with potential risks, out-of-scope assumptions, and general information during discussions for the current task.


343 Industries

Kirkland, WA - Build Verification / Tools Tester

August 2013 - July 2016


Contracted by Microsoft as a Build Verification Tester. Our team ensured that other teams can work for that day per daily build and helped test any new features submitted to the pipeline.

Experience

  • Tested for the launched title: Halo 5: Guardians.

  • Run daily BVT (build verification testing) for level editors, Maya tools, and in-game single and multiplayer testing.

  • Communication with developers and producers when debugging issues.

  • Handle requests for private BVT passes.

  • Creating/modifying test cases to fit current project needs.

  • Deal with Call Stacks to help identify issues to assist debugging.

  • Tested side BVTs such as weapon testing and multiplayer game mode testing.


Raptor Engine

Personal


This is my game engine side project that I have been poking at to learn and touch areas that I normally do not get to while doing tools. From Vuklan rendering to solving problems for having the data drive the game engine yet having it isolated enough to be able to run without much editor dependencies. Working towards run-time editing (almost there!). Currently supports Shader (some restrictions atm), Materials, Textures and Geometry assets.Qt was used for the editor UI (game engine renderer uses the winId from the widgets). Assimp and FreeImage was used for asset digestion to import 3D assets and textures. SqlLite was used for asset and asset reference tracking for fast lookup.


RPG Game (VRChat)

Personal


Aug 30, 2024
I have been working on a turn-based RPG game world for VRChat over the past few weeks. I did a 15 minute video explaining some of the current features and a short combat showing it off. I need to take a necessary break from it for a while for personal reasons, but I will definitely revisit it again at some point. :)
Here is the demo video! Enjoy!


Scaled Wyvern


Personal project to create an detailed avatar base for people to use in VRChat.

Product on Gumroad: https://gumroad.creaturetime.com/

"Excellent model! So detailed! The Substance painter file is one of the most organized and easy to use ones I've encountered. Great model and beautiful!"


Skills Learned

  • Creating a public avatar to allow people to test it out before purchasing.

  • Setup and organize a project for clients (please refer to gumroad posting for more details).

  • Potential features that clients may want to use the avatar (face tracking and VRM visemes for VSeeFace, for example).

  • Handling legal docs like Refunds and Terms of Service. Providing as much of the assets for the pipeline to allow clients to customize and personalized versions.

  • Handle input from avatar testers and other various sources and find the best solution for any difficult problems.

  • Tricks using constraints and VRChat's physics system to help give a more realistic feel for the wings.



Valstrax


This is inspired off the Valstrax from Monster Hunter game series. Wanted to keep much of the original Valstrax from MHXX with some features from the new MHRise. The thruster particles had to be optimized using a mesh particle emitter to limit the particles to a single particle system (helps with avatar ratings).
Tools: ZBrush, Blender, Substance, Unity


Velkhana


This was inspired off the Velkhana from Monster Hunter game series. Learned about topology and forms needed to create interesting silhouettes. Discovered that the wings can still have "quad" topology even though the forms are complicated.
Tools: ZBrush, Blender, Substance, Unity


Process


ZBrush

For my process for characters, I like to work organically with ZBrush to figure out the silhouette. General rule of thumb I have learned is to keep details less than three fingers width to tools such as Substance Painter to prevent overhauling a model from the start of the pipeline. There can be details sculpted if they are important enough to silhouette and the details are necessary. The subtool list can get crazy, but these are all later baked down into a subdivided low poly version of the model. I will do my best to use the ZRemesher tools and subdivide the mesh to prevent the file from becoming very slow within the viewport.


Blender

Once I feel like my high poly is [mostly] done and don't expect much to change, I will bring in a version of the high resolution model that is reduced from ZBrush (Decimation Master plug-in) and begin topologizing using RetopoFlow. Specifically for hero/character models, I like to use RetopoFlow since I have full control over the topology and ZRemesher does not always give me the results that I want. Once I finalize the low poly, I can begin UV unwrapping, rigging, rough weight painting, blend shapes, and begin testing out the avatar in game. After refining the results until I am happy, I will export from Blender and import the model back into ZBrush to project the details from the high poly subtools onto the subdivided low poly version exported from Blender (project/subdivide) then fix up any necessary details. I can begin exporting normal maps. There are many ways to export normals from high to low, but I personally have found this to give me the best results and control over fixing bad projections from baking.


Substance Painter

Import the exported normal maps from ZBrush and bake the other necessary maps needed for generators. Swap the lighting to one of the studio lightings so we get more true colors. Use fill layers with layer/mask generators and let the generators do most of the work. Once I get mostly what I want, I may start to refine by masking out areas manually.


Finalizing the Project

After exporting the textures from Substance Painter, I will set up the textures and materials in Blender and the game editor (Unity for VRChat avatars) to match as closely as possible to what we see in Substance Painter. This helps me ensure that what I am seeing in Substance Painter is what I will see in other programs down the pipeline.


Profit?