CG Spectrum graduate Luke Williford didn’t start out wanting to get into game development. You could say he played himself into gaming while on a retreat that allowed him to re-ignite his love of video games. We talk to Luke about how he carved out a new career for himself after a summer of nostalgia.
Tell us about your transition from personal training to finance to game development. Why the changes?
I transitioned from personal trainer with a BA in Economics to game designer, to technical artist, and now to Tools Engineer. I enrolled at CG Spectrum the August after the pandemic broke out. I had no idea what to do with my life. I had been a personal trainer, I had worked in corporate finance and as an investment analyst at a boutique fund in the Bay Area. Yet, none of those things resonated with me. I knew I didn't want to spend the rest of my life doing any of the things I had previously done.
While relaxing at my childhood home, I played some old games that brought back many memories. Playing Super Smash Bros, Melee and Warcraft III with my brother and close friends; Legend of Zelda: The Wind Waker with my sister; FIFA with my friends from school, and many more instilled a nagging thought in me - I could try to make games I guess. The issue however, was that I never considered myself technically-minded.
I dropped out of a Computer Science class in high school and never dared step into those intimidating waters again. Yet I downloaded Unity and started teaching myself the interface as well as a little C#. I'm not exactly sure why I committed to this endeavor, but I did. I made it a goal to throw myself at the industry every day with the goal of simply learning something. That's where CG Spectrum comes in.
I wanted to take my learning to the next level & ensure I was working on the most efficient way to get into the industry. It's one thing to do the work, it's another to do it correctly.
I chose the Game Design Course as it’s a broad way to enter the industry that can expose you to technical professions such as gameplay engineering, back-end engineering, technical art, systems design, and more. I approached design with discipline and the grind of relentlessly learning something new every day. I currently work as a Tools Engineer for thatgamecompany.
Does the role of tools engineer require creative thinking?
When my job calls for it I usually work in a creative sense during ideation or early prototyping of a feature or tool. Then I'll transition to a more technical mindset during implementation/iteration. That said, I believe it's important to adjust one's ends to the means. This essentially demands that I tie my technical and creative mindsets together in order to create feasible and timely tools.
What kinds of projects are you working on now?
I currently work with a total programming wizard. He has taken me under his wing, and I try to learn as much as possible every day from him. We're working on R&D projects related to transitioning from our current proprietary engine to more scalable industry standard engines. This is in its very early stages and is currently purely exploratory. We are working on a proof of concept to highlight the benefits of executing this kind of transition. It involves working with a large and mature codebase that's been evolving for over a decade and figuring out how to mirror the same functionality in other languages and engines.
I also work on bug fixes and tool improvements for the current in-house engine. I essentially try to make the designers' and artists' lives easier.
Can you share your process on one of your works?
During my time at CG Spectrum I made a game called Teenie Townie in about 2 days. My mentor Chris Swain and I decided to set a tight window to make a game, to hone in on goal-setting and execution under a tight deadline. This was a while ago, so my creation process from start to finish still needed a lot of adjustment and practice.
I started with the concept of a small, contained city builder - think of a rudimentary Dorfromantik or Islanders. To contain the idea I knew I needed to add constraints. I added a map size restraint, a building selection limit, and a short duration. I then focused on the actual gameplay features - constructing buildings on tiles. That was literally it.
There are two features to the game, the construction and the tiles I needed a way to randomly generate unique 3D grids of tiles. Given my experience in Houdini, I got to work setting up the framework for creating a tile map generator. This generator would produce a square grid of customizable size with a different layout of lumber, wheat, water, and grass.
With the map generation complete I needed to figure out the construction part. What were the resources necessary for building? what did the player get as a reward for building? How would the player build something? What would the camera angle be? How would the player know where to build? What was the object of the game?
From the one mechanic of constructing buildings there was already a growing list of questions. Without going into the detail of answering each question there lies a key takeaway - setting goals in game development sometimes necessitates excessive simplification. With a time crunch as severe as two days even one fully explored mechanic was a major challenge. So to newcomers out there my advice is to keep it simple!
Tell us about one of the tools you have created. How are these used by developers and how have they streamlined the process?
During my explorations in Houdini I became fascinated by the power of proceduralism, especially in regards to terrain and terrain-related assets. I was working with a Ubisoft world designer/world builder who was interested in how to enhance the workflows of placing cover assets in the world of their AAA game Far Cry. I started experimenting with splines and how they could be used to procedurally generate assets in the world.
Cover Scatter Spline tool allows placement of objects which interact with a landscape.
There were many small details that needed to be addressed. The cover assets needed to make sense in the world. They needed to rotate correctly, to be placed on the terrain in a believable manner, and affect the terrain realistically. For example, crates needed to affect the texture of the ground surrounding them and the nearby vegetation needed to be displaced, etc. Not only did this tool need to make it easy for designers to quickly place loads of cover assets in the world procedurally, but there was an additional requirement directly at odds with the concept of proceduralism.
For the creation of a AAA game as big as Far Cry, the users expect realism rather than complete randomness and proceduralism. Thus the designers need to control the randomness, to harness the proceduralism and mold it to fit the world. In comes the beauty of Houdini.
When making this tool I made sure to expose many different parameters. Not too many so as to overwhelm designers and clutter the UI, but to allow the user to tweak the wide array of functionality that the tool offered. How much do you want the cover assets to impact the nearby terrain? What assets do you want to place - barrels, crates, shipping containers? Do you want cover copied to a spline or an area of points? Do you want the area of points to be represented as a circle or a square? You get the picture. The key takeaway from this project was the intersection of proceduralism and user control. This is a very powerful concept in games, and many highly successful games take advantage of this to create vast, realistic, tailored worlds.
The mountain range generator tool focuses on finding an intersection between proceduralism and user control. Here the goal was to create a tool that lets us easily generate large mountain ranges in various shapes and sizes. I consulted a friend with a Master’s in geology and an extensive background in geomorphology to get a better understanding of how mountain ranges are formed, why they’re formed, and what shapes/sizes are likely to cohabit within a topology.
The major question to address was - how do landscapes evolve over a specified distance? Again, the user needed to have control, yet a lot of the leg-work should be done for them to make it easy to place vast arrays of mountain ranges. Splines came in handy again, as I could copy basic shapes (triangles, spheres, etc) to points on a spline. I could distort, rotate and tweak them to produce a fairly realistic mountain range. Then using several masks based on slope, height, and simulated erosion, I could apply the correct textures. This was before I had any experience with VOPs or VDBs that I could have used to create more interesting/realistic geometry.
In the end, all of this was purely educational and experimental, but that type of detailed exploration did help me land my dream job at That Game Company.
What drives you every day in your role?
I am driven by the desire to help my company.
Waking up in the morning knowing I can make the badass designers' and artists' days a bit less stressful is immensely satisfying. The work of the tools team is noticed by the designers & artists, which motivates us to release tools with utility & consideration.
If they can work more cleanly, then the game can be built upon more effectively, and having a role in that process is the best part of my job.
How do you see your career evolving? Are there areas you would like to specialize in?
I see my future in game development as one that is packed with learning.
I don't know where I'll end up, but I do know I will continue to approach my work with discipline, intensity, & an open mind that’s ready to learn.
I could also see myself getting into teaching at some point as I love passing on what I have learned to others.
To anyone considering CG Spectrum as a learning opportunity don’t assume the course will float you seamlessly into a quality job. Work hard to impress your mentor and show them that you mean business. Be ready to learn and willing to deal with the frustrations that come with the daily consumption of the new and unknown.
Chris Swain was the guiding force that kept me headed in the right direction with his sage advice. He was also a calming presence that kept me relaxed during what was often an overwhelming experience.
Thank you Chris for being a friend, a motivator, and a teammate during my time at CG Spectrum and beyond.
Jobs in game development have become a secure prospect as the gaming industry continues to expand and offer a wide range of career pathways. Taking the leap to start a new career can be daunting. CG Spectrum was ranked by The Rookies as one of the best game development schools in the world in 2021. Our mentors guide their students with specialized training catered to the skills and needs of each individual student. If you’re itching to start a career in game design take a look at our courses.