Software Development Manager
Amazon Web Services
Into the great wide open (source)
It wasn’t long ago that Tom Hulton-Harrop, a software development manager at AWS, was working with a single team to build a proprietary game engine.
As we all know, things can change quickly in the software development world.
We recently visited with Tom to learn about his leap into the open source community, the benefits of collaborative innovation, and overcoming the anxiety of sharing code with discerning strangers.
Thanks for joining us today, Tom. Can you tell us a bit about your background?
Absolutely. I joined AWS in 2017 to help develop the Lumberyard game engine. I started working on things like manipulators, splines, and general viewport editing, which ended up with me helping create the White Box Tool, a utility to make simple level geometry directly inside the editor. Over the past year, I’ve been heavily involved building the Open 3D Engine (O3DE). Making the leap into the open source community has been really enjoyable.
Was it difficult transforming an internal, proprietary engine into an open source, community-driven project?
What some people may not realize is that O3DE is a significant evolution from Lumberyard. While we applied key learnings from our Lumberyard days, very little of Lumberyard remains in O3DE. Legacy code was rewritten with modern C++, new systems and processes were established, and everything was pushed to GitHub.
There were a lot of cultural changes too. We had to shift from a traditional development model to a faster, more collaborative and dynamic model.
It took many months, but it’s been well worth it. We’re now seeing a flywheel effect where O3DE momentum is building and we’re getting more contributions every month.
How has your role changed, and what are you working on now?
I’m primarily focused on bringing contributors together to collaborate on things like character animation, physics and viewport functionality. It’s been really cool to be part of a larger effort, working with other O3DE members like Huawei as well as individual contributors from the larger open source community.
We’ve formed a number of special interest groups (SIGs) and established the project’s code authoring and review processes. We’ve delivered new features like the Atom Renderer. And we’re battle testing the engine by putting it into the hands of end users, identifying and fixing problems, and making a ton of usability improvements.
It’s all about creating the foundational building blocks of a game or simulation and making sure they’re stable, dependable, and easy to use.
Do you miss coding?
Even though my current role is primarily related to working with people and developing processes, I still find time to fit in some coding and bug fixes. Coding is just too much fun!
What’s AWS’s role in this?
We’re seeing more technologies going open source, the possibilities for 3D applications are so diverse and expansive, and there’s a need for common tools that everyone can use. AWS wants to be at the forefront of these innovations, help them reach critical mass, and make sure they’re well integrated with our commercial offerings.
At AWS, investing in the future of open source is one of our long-term strategies. It’s a no brainer, because it benefits everyone.
And what’s it been like working with the open source community?
As a developer, it can be intimidating to contribute code at first. What if others don’t like it, or what if you make a mistake? It turns out those anxieties and fears are unfounded. The open source community has been great, really accessible and inclusive.
I encourage anyone who has an interest in open source or 3D to dive in and join us on the journey.
What’s the best way to do that?
The O3DE community has developed a feature matrix that shows everything we’re working on, with varying levels of completeness. Take a look and see what might interest you.
You can also attend some of our SIG, governance, or triage meetings, all of which are posted in the O3DE calendar.
It’s really just a matter of getting involved. Even the smallest contributions – whether it’s code, documentation or process improvements – are helpful. It all adds up!
Thanks again for your time today.
It was my pleasure.