News Article

Programmer Shares Experiences of Developing on N64 and GameCube

Posted by Thomas Whitehead

'N64: Everything just kinda works'

There may be some who read this article that are aspiring game designers, possibly playing around with PC development tools or maybe even a Raspberry Pi device — that's a super-cheap computer, for those that don't know. Beyond that group there are surely plenty of gamers curious about how a game goes from code to a piece of interactive entertainment with hours of play time. While learning about development in detail will take months and years of learning and experience, it's still possible to have a brief insight from those in the industry.

Cory Bloyd, a programmer with experience on big releases, wrote a short and informal comment on Reddit with brief outlines of his development experiences. He covered nine systems in total, covering three console generations, and these included entries on Nintendo 64 and GameCube. Most of it is understandable for anyone, with just a few examples of techno-jargon to send you to a google search, and we've copied the Nintendo entries for you below.

  • N64: Everything just kinda works. For the most part, it was fast and flexible. You never felt like you were utilizing it well. But, it was OK because your half-assed efforts usually looked better than most PS1 games. Each megabyte on the cartridge cost serious money. There was a debugger, but the debugger would sometimes have completely random bugs such as off-by-one-errors in the type determination of the watch window (displaying your variables by reinterpreting the the bits as the type that was declared just prior to the actual type of the variable --true story).
  • GameCube: I didn't work with the GC much. It seems really flexible. Like you could do anything, but nothing would be terribly bad or great. The GPU wasn't very fast, but it's features were tragically underutilized compared to the Xbox. The CPU had incredibly low-latency RAM. Any messy, pointer-chasing, complicated data structure you could imagine should be just fine (in theory). Just do it. But, more than half of the RAM was split off behind an amazingly high-latency barrier. So, you had to manually organize your data in to active vs bulk. It had a half-assed SIMD that would do 2 floats at a time instead of 1 or 4.

As he's writing from personal experience the most recent Nintendo systems miss out in favour of their HD rivals. So, what do you think, is that what you'd expect a programmer to say about working on these systems, and do you actually think about how games are put together as you play them?


From the web

User Comments (13)



Xilef said:

I checked out the rest of the article. It was a interresting read, even though i didn't understand al the technical stuff.



Lin1876 said:

I'm surprised how nice he was about the N64, because I've often heard that it was absolute hell to develop for compared to the PS1. Reading the rest of the article, it sounds like the PS1 was easier to fully utilise, so perhaps that's what these comments really mean.

The cartridges, on the other hand, were absolute hell. Only a few hit 64MB, and that's less than 1/10th of what a CD can hold.



Whopper744 said:

The 64 I think was my favorite system of time. Had some of the best games, along with my personal favorite, Zelda: Ocarina of Time. I never liked the PS1 though...nor have I ever been much of a PS fan.
Glad to see some good comments about the 64 here.




It's very nice to get developers' perspective on Sony's PS3's Broadband "Engine." It's also nice to know that Nintendo's console seemed to offer more flexibility than they initially anticipated. What'd make the editorial more interesting if they had their favorite platforms to develop for.



DAaaMan64 said:

I have only ever worked on the Wii and Nintendo DS.

1. My experience with DS is 2D only. That being said, it is a very unique system. There are two 2D engines on the system. You can assign one to the top screen and one to the bottom screen, one engine is less capable than the other. You can almost think of the weaker engine as more of a blind renderer of images rather utilizing it for real computation. Anyway, there is only one 3D engine. So how do they do double screen 3D? The most common method is actually just render the 3D engine twice (offering 30 FPS) and give the second rendered image to one of the 2D engines. I talked with some Wii-U devs back in E3 2011, the DS and Wii-U utilize the same technique to render 3D on both screens, just how similar is Wii-U and DS?

The 2D engine is actually pretty simple, unlike a PC development where you have pretty decent control over the GPU, the DS doesn't listen to jack of anything you do to stop it. It will just always render at every tick and all it does is evaluate the flags and data you set.



Incognito_D said:

interesting, but if you don't know anything about programming it doesn't mean a lot. it could do with a bit more explanation for the unenlightened among us. For example, what does it all mean? (i.e. this system was easy to develop for... this one was hard... this one had bad textures etc...)



Mahe said:

Yet the N64 and Gamecube game libraries sucked. Proves that easy programming does not mean good games.



ajcismo said:

Neat read, unfortunately some of it went over my head, but I'm always curious about how these programmers do things and what they think of the past gens and specific console mediums.
Having a music degree, I guess I can compare it to utilizing composition and recording and what goes into it as technology progresses.. ie: analogue vs. digital, tube vs. solid state and what it takes to make something out of what you are given and using at that time.
Please don't scorch me if the analogy isn't accurate, its the closest thing I can compare it to and understand what he's saying without having any programming background.

and for the record, the 64 and Cube had some fantastic games. I'm not going to list them, but really do yourself a favor and try some of the more well-known titles.
and I believe the doomed 64DD eventually became the, more or less, direct parent to the Cube. Nintendo R&D works in mysterious ways.



WaxxyOne said:

Ten points if you understood the error he described in the N64's debugger.

Minus ten points if you don't know what a debugger is.

Leave A Comment

Hold on there, you need to login to post a comment...