Originally posted by Zero One
Hey, this looks really awesome! I don't suppose you could point me towards some resources you would recommend for this? You've made some really interesting stuff, and I'd like to have a look into it.
Thanks, Zero One! Yeah, these screenshots are all from computer emulation. I do think I can get my trail rom to work though... I think the only problem is the camera orientation. The screen showed black before, but it wasn't garbage pixels.
When I first began doing N64 homebrew, and tried my code on the hardware, about 75 to 100% of the time I got garbage pixels. By that, I mean to say that the rom doesn't work, and it doesn't know what to do so it just spits random colors into the frame buffer. I'm sure a big part of it was just my stupid lack of C programming.
Right now I'm trying to understand more of the basics of multithreading. I'm also optimizing my Maxscripts for proper model texture coordinates, colors work perfectly and I'm pretty excited about it.
I'm actually really glad that someone wants to look into this now. I suggest you look here first:
There are tutorials posted to get you started. The most important thing you need to actually do the programming is get a virtual machine. I use VirtualBox developed by Oracle Corporation. You will also need a 32-bit OS. I use Windows XP in my Virtual Box, since WinXp is 32 bits. It's strange considering the N64 is a 64-bit console, but it won't work if you use a 64-bit OS. That is one of the downsides of N64 development, but I'm sure it'll be worth it.
If you want to see any roms on emulation or hardware, I send you some via email.
I just want to let you know that N64 development is very difficult at first. It still is for me, but it has got easier. Maybe that won't be the case for you, but it was for me. It took me half a year until I got some of this stuff working. I still haven't got sound working yet either, but I'm looking into it.
Let me know if you need anymore help. You may even email Squid64 yourself. I received emails awhile ago from him, but I haven't heard from him in months now.
|Hey, this looks really awesome! I don't suppose you could point me towards some resources you would recommend for this? You've made some really interesting stuff, and I'd like to have a look into it.|
|I should've posted this awhile ago like I said, but it is here now.
Here is some older work that I've done for the N64.
All roms work on actual hardware except for the trail (tunnel-path) rom (something may be wrong in the code).
As you can see with the trail rom, there is no Z-buffering, but I'm figuring out some other things right now.
I now am getting the hang of models with proper texture coordinates and vertex color. I don't have any good roms for show at the moment, but I hope to show more soon.
I'm still working on the C programming as well.
|aaaaa, best of luck with the project! really curious to see what comes out of this, even if it's just example stuff! o:
take your time! C programming sounds pretty daunting, though i'm mostly saying this as someone who's never had experience with any programming languages myself or the N64 SDK. might look up some stuff on it one of these days, though.
still though, i wish you the best on this!
|I apologize for the wait - I've been busy with work matters, not to mention I'm going to be doing starting some college courses online within the next week or so.
I'm getting the better hang of the Spec files (it was the Makefiles before) which will be useful for telling everything where it should be in memory and being able to access elements and properties more easily. I still need to figure out multi-threading for controller input, z buffering, etc. But that should eventually come with my uncle's help - since he learned C back in the 80's.
I've also been getting access to better functions such as lerping, normalization, distance, cross and dot products (to name a few). These will be good for smooth movements, getting vectors to a smaller scale, and plenty of other cool things such as proper character placement on terrain with different heights.
Yup, it's slowly getting better. C is becoming more fun since I have a good idea of what I'm doing now.
|Yes, it's definitely going to take awhile for me to get better at all of this C programming. My first language I ever started using was GML (Game Maker Language) which was originally written by Mark Overmars. I started with the initial "drag-and-drop" actions with the program, and eventually learned to write code from there (I was using the drag-and-drop actions around ten tears ago). Writing code is so much better because you can make more things happen easily. If you did the whole thing as drag-and-drop you'd have to scroll through your entire screen to notice the bottom of it all - which sucks if there is a lot going on.
Actually, using newer versions of Game Maker (Game Maker Studio), I've managed to make programs that do some extra work for me that would be harder to code by hand for the 64. For some more simple things, I just use normal C programming using a command prompt interface.
You know, it's interesting - people who've never used C before always say it sounds really difficult. I'll admit, I was in that same boat once. Although you can do pretty much anything in C, you need to know how to do it. It is really not as bad people say it is (or make it out to be), and it's quite versatile. It's a very neat language and I plan on learning how to put it into better practice with the 64. There is specific syntax, and there are some equations that can be never be determined (believe it or not - this page proves some of those: https://hackernoon.com/so-you-think-you-know-c-8d4e2cd6f6a6).
Alright, I'll try to get some roms up soon. They're still simple for the most part, but keep in mind I'm not making a DP rom yet... In fact, I'm still very far from it. I'm going to try to get z-buffering and vertex color blending in with textures as well. It may sound simple to just say it, but to get some of these to work takes a lot of studying and right use of functions. Apparently for 'skinned' joints (where separate vertices connect to each other), I think I'm going to need to write my own macros - which will be more like writing microcode.
I'll keep doing what I can manage.
|I wanted to play SFA when I was a kid, I still kinda want to, but... I'm not sure realistically that it's going to happen, and its appeal to me dropped once I learned of DP, and just how much the original concept had been butchered to create what we now know as SFA.
yeah, they do. personally, I'm not too biased on the platform, myself, it comes down to if I can actually run it on my computer/device, and how well it runs... There's also how true it stays to the original. But, there are entire sites dedicated to this kind of thing. I do have somewhat more respect for anyone who dares attempt ROMhacks and homebrews than modern day programmers in their HLL's, cuz it takes serious WORK to do that type of a project, AND have it work-out. Reminds me, there's a homebrew done for one of the LD's I still need to check-out... anyways, now I'm getting off-topic...
Yeah, the low-level languages are incredibly powerful, if one understands how they work. I get the basic concept, but I'm just not intimate with the specifics of it... I have the utmost of respect for Rare and the likes (well, old Rare...) , they knew their shit. Even if not for DP, this is reason enough for me to ask, "Do we REALLY want a re-master of SFA?" It would take a team of serious code-slingers to do that game any justice. Rare still pulled-through to the better end to delver a masterpiece, maybe not overall as a game, but the graphics and sfx/music were pretty much nailed. Oh, you'd have to dive pretty deep into a lot of things to pull-off what they achieved.
I'd just use an emulator, lol...
That is an understatement... It's one of the things that stops me from making my own version... I want to be able to match or exceed what was already there, or had been planned... Best of luck with this. I can't say I'm opposed to helping, but I'm already juggling many other projects, and I probably can't help in the ways of programming, whatsoever. C/C++ aren't yet under my belt, and quite frankly, they scare the hell out of me...
There's various commentary from the developers scattered here and there. Someone needs to collect it all in one place...
You'd need to upload them somewhere else and link them from here. From my understanding, you can't attach files.
Again, good luck, and I'm definitely quite interested to see what you can make!
This is my first time starting a thread on rustedlogic. I initially started replying to users in the "Star Fox Adventures E3 2002 prototype (5/17/02)" thread. So, why did I start here? Well, for a number of reasons...
Even though I was incredibly young at the time, looking back on it now, I'm very disappointed that Dinosaur Planet never got released in the form that the public was going to receive. I've played Starfox Adventures and liked it as a kid, but now I'm only pitying my younger self for it. I didn't see the potential from the original concept as a child, and it's pretty sad. Sure it was going to be Rare's last game for the system (DP)... And sure it was with the 64DD - which didn't do well at all... Looking at all of this, it's very unfortunate that it didn't make out to be what Nintendo said it was going to be. The 64DD could have had so much more potential if it were released at an earlier point in time, perhaps 97 or 98...
Anyways, before I go too off-topic... One user by the name of brian151 (on the thread I stated earlier) said it might be a good idea for me to post the work that I've been doing for the N64. Yes, even in this day and age I'm learning how to program in C for the N64. Sure it's a different language than I'm used to, and sure both the system and language are very old (the language by far), but brian151 said that even homebrews have a certain 'charm' to them (I think he called it 'authentic') unlike what professional programmers did then and now.
So, as the title states it, I've been working with the N64 - more specfically for the past half a year, and it's pretty amazing what you can do with C if you take the time to learn it all one step at a time. I've already learned how to manipulate vertex and texel data, as well as multiply matrices on top of each other to create articulated 'joints' for characters (though I still have yet to do a full character). I'll admit I still have more to learn (like multi-threading and memory allocation), but I'm truly impressed with how much I've learned up to this point. All I can say right now is that companies like Rare, Factor 5, and Boss Game Studios really knew what they were doing when they wrote their games for the N64 - especially the microcode. As far as the microcode is concerned, I'm pretty sure it's just going deeper into the SDK and studying the macros to figure out where everything 'comes from'.
I plan to attach some roms soon so that I can give you guys visual proof of what I have. If any of you have a custom cartridge for the N64 you'll be able to try out my roms on it. I still have a lot to learn, but it will come... Slowly but surely.
My ultimate goal from all of this N64 development experience is to make a homebrew rom of Rare's Dinosaur Planet. A lot of content will have to be 'made-up', but if everything is put together well enough it should work out fine. Having the leaked OST on Youtube is quite nice to have for now.
Just a side note, if anyone knows someone who worked on Dinosaur Planet back in the day, I'd be very appreciated to know what their thoughts or impressions were about the game. I've figured with such a type of community here that it wouldn't hurt to ask.
Thanks everyone. I'll try to get some content up soon. Perhaps someone can show me how I attach files on here? It seems to be different for some websites.