Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: UltraEd – A level editor/game engine for the Nintendo 64 (github.com/deadcast)
90 points by deadcast on Nov 6, 2017 | hide | past | favorite | 32 comments



In case anyone else wants to know how it looks like:

https://twitter.com/_deadcast/status/907485256827023360


Haha thanks for providing that! :) I should eventually add some gifs/png showing the editor working.


Hey I was wondering if you knew of any sites that provide info about inner workings of n64 games like Ocarina of time or Rare games like Goldeneye? I have always wanted to learn more about these titles but I have not heard of any attempts to reverse engineer them.


Yes! :) There's a great book called the Nintendo 64 Anthology that is a fantastic read to get in-depth history of the console. It also dives into how Rare created Golden Eye and some good info about Silicon Graphic's hardware development at the time.

For websites I would check out gamasutra. They great articles like this one https://www.gamasutra.com/view/feature/131556/postmortem_ang.... I know they have some others like on Indiana Jones and Star Wars Ep 1: Racer.


If you have any interest whatsoever in goldeneye I recommend watching some videos from the youtube series "speedlore". It's a guy who has been speedrunning GoldenEye for 20 years (together with their community).

Due to the nature of speedrunning, there is a looooot of details about the game they've investigated and he goes through loads of examples throughout his videos. They definitely reverse engineer the games to figure out how they work so they can do more tricks etc.

The videos are looong but well worth the watch.


Wow - only supports Windows XP, and a MediaFire link full of questionable executables? I hope fixing this is part of your "WIP"...


These files are necessary to setup the dev environment if you want to compile. I use the link myself when setting up a new build machine.

If you don't trust the files that's perfectly fine. You could pretty easily, I believe, find them all from repositories you trust.

Also yep Win XP only! Keeping it authentic lol. :)


To clarify: The N64 SDK runs on XP.


I wonder if it'd be possible to get it running on Wine for a safer experience.


I've tried but it doesn't seem possible. Wine and even DOS Box can't run the 16 bit SDK executables. I'd love to be able to run just the ROM build process in Wine. :)


What's so special about the ROM process that it can't be ported or rewritten in a more portable way?


Because the 16 bit executables are closed source. :/ The special linker MILD.exe that organizes all of the RSP(Reality Signal Processor) microcodes and game data is the piece that needs to be reverse-engineered which is possible but currently beyond me. :)


I don't think it's beyond you, I just think you lack confidence. You can do it! I've been in your shoes before and it worked out.


Aww thanks much! :D Yeah I just lack confidence I guess since reversing binaries has always seemed a bit intense. I need to finally buy a really good code reversal tool and then start my quest to reproduce! :) It would be great if me or someone else was successful since then the N64 could be more easily developed for on any OS!!


You probably don't even need to reverse anything. Just learn how other (open source) toolchains work, read N64 manuals and information from other reverse engineers, and work incrementally. It's probably not necessary to reverse this proprietary ROM you're stuck with.


Yep! Thanks for the clarification.


BTW here's a video of proof-of-concept ROM I built first to see if I could actually achieve building what I wanted on the console. :)

https://www.youtube.com/watch?v=59txD0ZyBic


Out of curiosity, what cart are you using? And are you using a Nintendo or custom expansion pack?


I'm using the 64drive cart from http://64drive.retroactive.be/. I've owned both generations and they're very easy to develop with. There's a USB port on the side of the N64 cart that lets you load ROMs very easily to test rapidly.


I like the concept behind this. How may I ask would you go about getting this onto the actual system, or is it just something to throw into Project64 or similar emulator?


It's really easy actually to load on an emulator or on real hardware. The build process I'm working on now creates a production ready ROM that can be placed on an EverDrive 64 or 64 Drive cart. I always test on real hardware when developing the engine for the N64 part of the system. :)


Cool beans. This looks pretty exciting to me; it may not be the fanciest JS framework, but this is a genuinely fun, different project. I'll be watching this project for sure.


Aww thanks so much! Glad you like it! :D Yeah this is definitely not useful haha but I'm learning more about 3d mathematics, rendering techniques, low-level systems, constructing tools, etc...


So like... I'd need to use this in a VM? I'm not going out of my way to install XP on my 8700k system. Just to see what it do, seems like a big ask.


What's hard about a VM? You can download an entire VM complete with OS and all relevant dev tools and have zero leakage of viruses or workspaces into your normal client. It's a great way to encapsulate your development for a specific task.

I use a Win10 VM in my Win7 machine for almost all of my dev work. It stays on an SSD and completely keeps all that outlook, Microsoft SQL, Visual Studio, IIS, NAV, CRM crap from destroying what is normally a fast machine for gaming. I also host it on a separate IP so I can RDP into it from my crappy work laptop (which becomes nothing more than a thin client) and have remote access (from say my phone wireless hotspot if wifi is unavailable) and I've got all my work stuff exactly as I left the house.

Recently, I put together a XP VM with Visual Studio 2003, 2005, and 2008 for supporting and upgrading an old .NET 1.1 project for a client. There's no way I was going to try and get that crap running on my 64-bit computer.

Last thing I want is FL Studio (and all my related audio tools), Photoshop (and all related graphics tools), and Visual Studio (across over a decade of versions) all on the same machine destroying each other. You can't even get multiple versions of Java to run on the same machine these days.. Ugh.


Haha yeah I don't expect many people to actually setup a VM to use this but it's a big learning project for me! :) My end goal is to create a new game for the N64 but I need tools. So this project is really for me and anyone else who wants construct new content for the system as well!


I keep around old hardware, running old OSes, that occasionally sees use with things like this. Wine (on a Linux system) might be an option too.

Someone earlier in the thread posted some short videos of the interface in operation that the developer had posted to their Twitter, if you're just interested in seeing examples of what it does: https://twitter.com/_deadcast/status/907485256827023360


The N64 came out in 1996. Be lucky it isn’t Windows 95 you have to install.


Does this run on ReactOS?


Just Windows XP/NT sadly. :/


This is so cool. Would love to see some screenshots of the UI.


Good idea! I'll take some today and add them to the github repo. Maybe that will be helpful. :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: