What happened in 2023?
|I worked a lot on the AI for the Nezarec raid boss in the Destiny 2 Lightfall expansion.
- I started-out the year working at Bungie.
- I was working on AI—behavior trees, temperaments, path-following, physics, abilities, and tools—for new combatants, bosses, and abilities in Destiny 2.
- It was a lot of fun to see the Lightfall expansion launch (which I worked a lot on) and to see how much fun people had with it.
- I left Bungie because I wasn't happy with their slow tools, tech debt, and type of game.
- I talk more about that in this post about my transition.
- It was harder to find a gameplay job in early 2023 than it was in the middle of 2022!
- Companies everywhere were not as eager to hire new people.
- I had really regretted passing on an offer in 2022 to be working on the cool stuff the folks at Pahdo Labs are working on. They no longer wanted to fill that position in 2023!
- I was also hoping to find a local in-person opportunity.
- But game companies everywhere still seemed more focused on remote work.
- I started working at Manticore Games in April!
- I am a Gameplay Software Engineer.
- I have been getting exactly what I wanted out of my switch from Bungie.
- I've been very busy, very excited, and constantly making new things. It's been very fun.
- (As expected) I'm still making soooo much less than I would be at Google (less than half as much, including equity).
- But we still have lots in savings, and our savings accounts are slightly increasing rather than decreasing. Or, at least, they would be if you ignore some of our recent home-renovation costs...
- I do not recommend buying a house the same week you start a new job!
- Especially because we're pretty DIY-focused in our house, and have had lots of small improvements we've wanted to make.
- Suffice to say, I still have yet to finish Zelda: Tears of the Kingdom! They had five whole years to make this game. Why did it have to come out in 2023??
- Work-life balance has been good for the most part.
- We plan-out work into 6-week milestones, and we do tend to get busier near the end of a milestone as everyone tries to wrap-up their features.
- I really miss working around folks in-person.
- I've had some really amazing teams of people that I got to be around pre-Covid.
- In all the remote teams I've been on since Covid, I've seen less team enthusiasm, social engagement, and group productivity.
- I guess I'm an extrovert though, so I may be biased.
- Manticore has a popular platform (Core) for players to create their own games and then share them with others.
- All of these games are hosted in the cloud on Manticores servers, with multiplayer support and online saving built-in.
- So, in addition to creating and supporting normal gameplay runtime systems, Manticore also provides a custom game engine for players to use when making their own games.
- All of this is built at Manticore using the Unreal game engine.
- Though players don't need to know anything about Unreal—they just need to learn to use Manticore's simpler and more focused game engine APIs.
- We have so many different development flows I might need to use, depending on what I'm working on at any given moment!
- When I'm debugging something:
- I may need to look at the game logic for whatever game is open in the Core editor,
- I may need to look at Manticore's underlying C++ platform logic,
- I may need to look at underlying Unreal engine C++ logic,
- or I may need to figure out what's going on with our network requests to our backend database endpoints.
- In addition—for game logic, Manticore platform logic, or Unreal logic—I may need to look at code that's either running on the player's local client machine or on a remote server machine.
- I've been learning a ton about the ins and outs of the Unreal game engine.
- Our codebase involves lots of custom C++.
- So my Unreal build flow involves rebuilding Unreal almost every time I change something.
- I don't really dig into Unreal blueprints very often in my current workflows at Manticore.
- I did get a ton of practice with them in the Ludum Dare 54 game jam though!
- We do have a Lua scripting layer though (which is what creators in Core use to make their custom game logic), and I also make plenty of changes there.
- It can be really "fun" to look-up where a piece of UI might be defined in our codebase—or, even better, where some text is defined! It could be:
- Hard-coded in C++.
- Hard-coded in Lua.
- Defined as a property on a node in a Core editor project (stored in a Protobuf text file).
- Defined in a localization table (stored in a CSV file).
- Defined in an Unreal UMG widget (stored in binary format in a UAsset file).
- I wish I could say more about what we're up to.
- We're making all sorts of cool stuff, for really cool things. That clears it up, right?
- Trust me—it's all very cool.
Three game jams
I participated in three game jams in 2023.
- Ludum Dare 54: Orbital Meltdown: Death by Laser Beneath the Naked Sun
- A third-person shooter featuring upgradeable mechs and a fully destructible level! 💥
What's next in 2024?
- Keep making cool stuff at Manticore Games!
- Finish some remaining home improvement projects.
- Start actually using that rowing machine I got for Father's day...
- I miss the Godot game engine.
- I also miss making chiptunes.
- Hopefully I can find more time to play with those things later this year.