The Making Of Super Mario 64 – full Giles Goddard interview (2001)
Retrospective: The Creation of Super Mario 64
An Expanded 2001 Interview with Giles Goddard
In celebration of Mario's 25th anniversary, we are revisiting a rare piece of gaming history. This is the raw, unedited transcript of a 2001 conversation with Giles Goddard, a developer involved in the groundbreaking production of Super Mario 64 for the Nintendo 64.
While snippets of this discussion appeared in NGC magazine (and were subsequently cited on Wikipedia), this full version contains a wealth of "behind-the-curtain" details from Nintendo's 1990s era that were previously omitted.
Note: The interviewer's questions are reconstructed guesses, as the original records of the queries were lost.
🏢 The Studio Environment
Goddard recalls his role as likely being a front-end programmer. He describes a workplace that was a blend of structure and fluidity.
"It was an open-plan office, but everybody had their own little cubicle."
Team Dynamics & Layout
The organization of the office shifted based on the current project's needs. The development structure can be visualized as follows:
Key observations about the culture:
- Proximity: The Mario team sat near those working with SGI on the N64
APIs. - Atmosphere: Typical of Japanese corporate culture, the office was extremely quiet.
- Discipline: If groups of artists or coders chatted too loudly, supervisors would simply "give them the eye," prompting immediate silence.
🛠️ Technical Foundations
Development began long before the actual N64 hardware was available. The team relied on SGI Onyx emulators and later API Indys.
The Role of Nishida-san
Nishida-san, the lead programmer, was the driving force. He managed several projects at EAD, but since three were low priority, he dedicated himself entirely to Mario 64. He spent his days experimenting with GL (Graphics Library) and various demos.
The Concept of "Meshes"
Goddard experimented with how to showcase the N64's power. Traditionally, games moved a fixed set of vertices via a matrix transformation:
Goddard developed a system where shapes weren't just moved, but manipulated. He coined the term meshes for this technique.
// Conceptual representation of a mesh vertex shift
void updateMesh(Vertex* vertices, float offset) {
for(int i = 0; i < vertexCount; i++) {
vertices[i].position += offset;
}
}
The "Ping-Pong" Face
Using an Indy cam (which utilized two ping-pong balls for tracking), Goddard created a digital Mario face. When Miyamoto saw it, he asked if it could be ported to the N64. This led to the hidden feature where players can manipulate Mario's face—a detail not explicitly mentioned in the game manual.
🎮 Evolution of Gameplay
The transition from 2D to 3D was not seamless. Miyamoto struggled to translate the "feel" of the SNES Super Mario Bros. into a three-dimensional space.
Early Development Checklist
- Establish a map system for height detection.
- Implement camera culling (drawing only what is visible).
- Create a basic grid for Mario to wander.
- Develop basic interaction (picking up/dropping objects).
- Finalize character animations.
Interestingly, the character animations were largely completed before the actual game logic was finalized.
The Camera Struggle
For months, the team cycled through various perspectives. At one point, the game utilized a fixed, almost isometric view to bridge the gap from 2D. Eventually, Takumi Kawagoe (who had worked on the cancelled Starfox 2) was tasked specifically with the camera system to ensure it could intelligently avoid obstacles.
Background Rendering
Goddard contributed a technique (referred to as "1080") that used a cube to draw backgrounds rather than a flat plane.
| Feature | Flat Background | Cube Background (1080) |
|---|---|---|
| Perspective | Static | Rotatable |
| Depth | Limited | Objects can move behind others |
| Visuals | 2D Plane | 3D Volume |
Goddard notes that many industry patents are simply based on these kinds of fundamental technical breakthroughs.
🖼️ Visual Archive
Below are snapshots from the original article documenting the process:
Early development snapshots.
Testing the 3D environment.
Refining the character model.
Finalizing the world layout.