Giles Goddard and Mario 64’s Progressive Coding Language – Ukikipedia News 7

In the early 90s at the Consumer Electronics Show, Nintendo staff were shown something that stunned them. Seemingly, a group had broken the copyright protection on the Game Boy, reverse engineered how it worked, and created a working 3D game on it. Nintendo was incredibly impressed and quickly invited the group who had worked on it  to meet with the executives at Nintendo. In less than a week’s time, the members of Argonaut Games would be flown out to Japan and get a chance to meet with Shigeru Miyamoto and the president of Nintendo himself, Hiroshi Yamauchi.

Argonaut Games would begin developing a revolutionary game for Nintendo, Star Fox. The game would be a large success, and many developers at Nintendo continued to be amazed at the work this company could do. At the time, Argonaut Games was a UK based company with the main developers being three teens from around the ages of 17-18. This group contained the 17 year-old Giles Goddard, who could perhaps be seen as the man behind much of the innovation.

Not long after the release of Star Fox, Nintendo made a unique and rare request- they wanted Goddard to work for Nintendo directly. At the time, very few foreign developers had ever worked at Nintendo, let alone someone who did not speak much Japanese and who was only about 18. Nonetheless, Nintendo had been so impressed by the prowess Goddard they had made the request regardless. Goddard accepted this offer, and was moved onto perhaps Nintendo’s largest project to date- Super Mario 64.

At least part of Goddard’s role had been known for a while, with perhaps his largest contribution being that of the interactive Mario head that first appears when you launch the game. Within the game’s code, Goddard’s files were seemingly separate from the rest of the code for most of the game, making them easier to identify. Often these files seemed overly complicated and inconsistent (you may notice that the interactive Mario head doesn’t often appear modified in romhacks).

It wasn’t really clear why Goddard had his files separated, nor why the wonderkid specifically picked by Nintendo for his talents in coding would have such odd code, until a fairly recent discovery that Goddard likely coded in C++ while most other files were written in C.

Code is generally based off simple functions (add, subtract, etc.) that only when done in succession can achieve larger goals. This is the format most old games were written in and is what the console interprets and is called “assembly”. “C” combined many of these basic assembly functions and would allow skipping much of the repetitive sections by calling them with much briefer functions. This made coding significantly easier and would take over assembly for most games around the period of the SNES. C++ was a further abstraction from C, allowing certain things C didn’t easily allow and providing more high-level functions.

At the time of Mario 64, coding had only fairly recently swapped to utilizing C as their primary coding language. According to an interview partially about Goddard, he had spearheaded the change at Nintendo to begin utilizing C++ for games, a standard which is still used largely to this day. The usage of C++ explained the earlier inconsistencies as well- the C++ had to be converted separately into assembly from the rest of the C files (which is why the files were different from the rest) and the interpretation of the code used was incorrectly assuming it was written in C, not C++.

The takeaway from this is mainly that Mario 64 was perhaps revolutionary in more regards that just gaming concepts. It may have even helped establish coding practices that are still observed to today.

In other news

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.