Despite what that one guy on every forum who wants to casually make a 'Skyrim-type game with BioWare storytelling and also maybe crafting' might say, game development is very, very hard, according to those who've done it.
To help out new developers, the designer behind the original Prince of Persia, Jordan Mechner, crafted a list of tips for game developers that's been circulating online. It seems to be good advice, if very general, reminiscent of those "habits of great writers" lists you always see on social media. Here's Mechner's list in its entirety:
- Prototype and test key game elements as early as possible.
- Build the game in incremental steps. Don't make big design documents.
- As you go, continue to strengthen what's strong and cut what's weak.
- Be open to the unexpected. Make the most of serendipity.
- Make sure the player always has a goal (and knows what it is).
- Give players clear, continuous feedback as to whether they're getting closer or further from a goal.
- Sometimes a cheap trick is better than an expensive one.
- The moment when the game first becomes playable is the moment of truth. Don't be surprised if it isn't as much fun as you expected.
- Listen to the voice of criticism—it's always right (but you have to figure out in what way).
- Your original vision is not sacred. It's just a rough draft.
- However much you cut, you'll wish you had cut it sooner.
- Don't be afraid to consider BIG changes.
- Draw inspiration from life and primary sources, not just other games and fiction.
- Develop personal practices that remind you to step back and see the big picture (engage the right side of your brain).
- Constraints are your friend. They force you to seek creative and elegant solutions.
- When you discover what the heart of the game is, realign everything to support it.
- Put your ego aside.
- Keep a journal.
- Nobody knows what will succeed.
In an interesting turn, Dylan Cuthbert, a core programmer on the original Star Fox and its distinctive early 3D graphics, as well as the founder and CEO of Q-Games, went point-by-point down Mechner's list on Twitter, weighing in with his own thoughts (opens in new tab) from an over 30-year career in the industry.
We caught up with Cuthbert and heard some of his longer-form thoughts on Mechner's advice, as well as a fascinating tidbit from the development of the cancelled Star Fox 2 which suggests ways it may have gone on to influence Super Mario 64 and 3D game design more broadly.
(11. Cut sooner)Don’t be afraid to throw your work away. I once designed a cool feature and Miyamoto and I loved it, but we couldn’t work out how to put it in the game. So after two weeks we dropped it, and it was a relief. It was the wrong path for Fox but influenced Mario 64.May 2, 2022
One tweet in particular caught my attention: Cuthbert says that a Star Fox feature he loved had to be thrown away during development, and this had me wondering just what the cut feature in question could be. It turns out, Cuthbert was referencing the ground walker gameplay segments of Star Fox 2 (opens in new tab).
"Very early on in StarFox 2, I moved the camera away and made the Fox ship a robotic walker, re-creating classic platform play but in 3D. Some of this stayed in the final game but a lot of the more interesting experiments in 3D platforming were dropped from Star Fox 2," Cuthbert wrote. "This was all years before Mario 64 started and was part of the constant experimenting Miyamoto and I were doing at the time. When I saw some elements in Mario 64 I thought, 'Oh, that’s what happened to that idea!'"
It's a fascinating glimpse at the world of early 3D game design, before controls grew more standardized, and highlights how foundational early games like Star Fox, Mario 64, and Doom were to how we move in three dimensions.
While not every feature cut from a project will go on to influence one of the most important games ever, this anecdote also serves as a nice example of how spontaneous or serendipitous events can change a game, something Mechner and Cuthbert also highlight in their advice.
"Many a killer feature in a game has come about from a fortuitous bug or glitch," wrote Cuthbert.
(4. Be open to serendipity)Many a killer feature in a game has come about from a fortuitous bug or glitch. Games are dynamic, you need to be too. (Publishers have a /very/ hard time understanding this). It follows on from 3, but run with your discoveries, see where they lead.May 2, 2022
With regards to how this phenomenon has manifested in his own career, Cuthbert told me that he had "too many stories" of happy accidents arising from glitches or other snags in the development process, but he was keen to highlight an example from 2016's The Tomorrow Children (opens in new tab).
"One of our programmers had created a debugging mode for his graphics effect on the Tomorrow Children, and it was showing all the outlines in a red that faded to dark red in the distance," Cuthbert said. "This looked so awesome we added a brand new tool to the game, the infrared glasses, to utilize it!"
(13. Draw inspiration from life and other sources)It’s really important to have a wide range of interests, it’s easier to find inspiration! Go to museums, enjoy art, watch movies, read books. Get out and see the world, and bring that all back into what you are making.May 2, 2022
Mechner and Cuthbert also single out non gaming-related pursuits as essential sources of inspiration. For me, this point brought to mind Hidetaka Miyazaki's story of helpful strangers in a snowstorm (opens in new tab) inspiring the Souls series' iconic co-op summoning system. For his part, Cuthbert honed in on museums and fine art: "Modern art is especially inspiring, there are so many ideas and experiments, and even technology used in modern art that you can get ideas from."
The developer is a bit less keen on TV, movies, and social media, noting how it's easy to "over-consume," but does still find they can be helpful resources. He's also a fan of how "just getting out and about and using your eyes; noticing things more, is an excellent way to discover things."
(14. Develop personal practices that allow you to step back)I call this the clinical process. Pull back from what you are making and consider it coldly, like a foreign substance. You need to find a way to be dispassionate. Making games requires so much passion this is tricky!May 2, 2022
It's often recommended that visual artists turn their reference photos upside down when they're working, abstracting their subject so that they focus on the shape of it instead of getting hung up on capturing how they imagine it. Mechner and Cuthbert recommend developers find a way to de-personalize their own projects, to see them as a new player.
On the idea of cultivating and practicing this impulse in game development, Cuthbert quipped that "a general lack of satisfaction with yourself really helps this process a lot." He also described how Nintendo would encourage thinking in this way back in the SNES days.
"An easy process to help this is to have someone else play it while you watch and don’t allow yourself to comment," said Cuthbert. "Watch for where the player is repeating things or getting frustrated or simply looking unmotivated, and address those."
Further elaborating on how the Star Fox team used this, Cuthbert said: "On StarFox the whole team sat around and watched in silence as someone else played the game. We all took lots of notes about things we spotted and brainstormed with the player afterwards."
These snippets of advice are targeted at budding developers, but there's a universal quality to them. I find the idea of depersonalizing what you create especially useful in writing and editing, for example. Regardless of their practical usefulness, it's always fascinating to get a sense of a veteran artist's perspective, as well as a greater understanding of how some classic games came to be.