It’s rare for developers to let people see under the hood, because the process of making games is so hard, messy, and even these days, secretive. It’s even rarer for a developer to throw open the hood simultaneous with the release of a new game, which is exactly what designer Melos Han-Tani did earlier this week, when he released the code for the movement controls in his new platformer, Sephonie, so people could better understand how it works.
On GitHub, people can access player and camera controls for Sephonie, and Han-Tani has even produced a video tutorial that walks through the material, explanations of his code terminology, and license for folks to use it in their own projects—even ones making money.
“From a general standpoint, it's important for industry to release educational resources in a more freeform way than GDC talks,” said Han-Tani in an interview with Waypoint.
At the Game Developers Conference (GDC), game creators gather to give presentations on their work, but slides and prepared talks are hardly the same as handing over the raw data and letting people examine it. Han-Tani’s early days of game development involved scrounging for open source tools and code that could help them learn how to make games.
“When starting out, even something like ‘enemies dropping items when dying’ can be mysterious,” said Han-Tani. “Being able to see *exactly* how someone else does it can be a real confidence booster!”
It’s not the first time Han-Tani has been so forthcoming with his games, either. In 2020, Han-Tani released the code, art, and music for his celebrated Zelda-like, Anodyne. Like now, Han-Tani uploaded the material to GitHub, and let people go wild with it. (There are stricter license limitations for Anodyne, but in general, people are free to do what they choose.)
Han-Tami pointed out they were following in the footsteps of others, starting with id Software’s decision to release DOOM’s code as open source. In 2018, the developers behind the incredible platformer Celeste, a game with some of the best controls in the past decade, released their own movement code in “all its messy, mostly-undocumented glory.”
“You rarely see 3D platformer code shared from a finished game,” said Han-Tani. “I say 'finished' because often times indie devs will fret over having perfectly engineered code, when what's more important is making flexible code that can shift and adapt up till release. I hope the slight messiness of Sephonie's code—against its positive critical reception—shows how that messiness is okay!”
Specifically, because Sephonie uses what Han-Tani calls “a much different philosophy towards 3D platforms than most games” in terms of its movement and mechanics, he wanted to make sure it was possible for those who were curious to see how it was put together. (On the GitHub page, Han-Tani has a “secret rant” towards the bottom about people calling the controls “janky” just because it doesn’t control like most 3D platformers.)
“I think publicly open sourcing code is still a relatively uncommon practice (although I know dev communities—indie to AAA—do share practices in private),” he said. “But hopefully more studios (including the bigger ones) will start to do it because there's not much to lose.”