Register - Login
Views: 99393060
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
04-24-22 10:19:26 AM
Jul - Projects and Creations - My N64 Development Experiences New poll - New thread - New reply
Next newer thread | Next older thread
MrQuetch
Member
Level: 14


Posts: 27/41
EXP: 11633
For next: 1438

Since: 12-07-16


Since last post: 4.0 years
Last activity: 5.4 years

Posted on 07-27-17 03:57:55 AM Link | Quote
Hello, everyone!

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.
brian151
Banned
The administration (as well as a few users) have decided that you're creepy/weird enough that it's time to activate the sploded clause.
Laters.


Level: NaN


Posts: 240/-249
EXP: NaN
For next: 0

Since: 08-09-16

From: USA

Since last post: 4.7 years
Last activity: 4.7 years

Posted on 07-27-17 04:38:20 AM Link | Quote


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!

____________________

awesome title later...

MrQuetch
Member
Level: 14


Posts: 29/41
EXP: 11633
For next: 1438

Since: 12-07-16


Since last post: 4.0 years
Last activity: 5.4 years

Posted on 07-27-17 03:22:12 PM Link | Quote
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.
MrQuetch
Member
Level: 14


Posts: 30/41
EXP: 11633
For next: 1438

Since: 12-07-16


Since last post: 4.0 years
Last activity: 5.4 years

Posted on 09-04-17 07:25:14 PM Link | Quote
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.
kokorogensou
User
Level: 9


Posts: 10/13
EXP: 2600
For next: 562

Since: 11-18-13

Pronouns: any
From: somewhere in the netherworld

Since last post: 2.6 years
Last activity: 297 days

Posted on 09-07-17 05:49:33 AM Link | Quote
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!
MrQuetch
Member
Level: 14


Posts: 32/41
EXP: 11633
For next: 1438

Since: 12-07-16


Since last post: 4.0 years
Last activity: 5.4 years

Posted on 11-07-17 03:30:12 PM Link | Quote
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.
Zero One
5170
And as we fall the spirit carries on,
That a hero'll come and save us all,
As we call the ones we left below,
We all dream of the day we rise above
Level: 129


Posts: 5108/5173
EXP: 24546744
For next: 502910

Since: 05-24-10

From: Delta Quadrant

Since last post: 1.6 years
Last activity: 121 days

Posted on 11-11-17 02:10:01 PM Link | Quote
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.

____________________
This is a Heisenberg post. I know I posted this really fast, but I don't know where...

My games development portfolio and my MonoTroid engine

My YouTube Channel
My Twitch. Check it! 3DS Code: 2879-0110-5138
MrQuetch
Member
Level: 14


Posts: 35/41
EXP: 11633
For next: 1438

Since: 12-07-16


Since last post: 4.0 years
Last activity: 5.4 years

Posted on 11-13-17 06:33:10 PM Link | Quote
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:
https://n64squid.com/homebrew/n64-sdk/

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.
Next newer thread | Next older thread
Jul - Projects and Creations - My N64 Development Experiences New poll - New thread - New reply


Rusted Logic

Acmlmboard - commit 47be4dc [2021-08-23]
©2000-2022 Acmlm, Xkeeper, Kaito Sinclaire, et al.

29 database queries, 4 query cache hits.
Query execution time:  0.074495 seconds
Script execution time:  0.015610 seconds
Total render time:  0.090105 seconds


TidyHTML vomit below
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 2 column 301 - Warning: unescaped & or unknown entity "&page"
line 119 column 11 - Warning: <form> isn't allowed in <table> elements
line 118 column 10 - Info: <table> previously mentioned
line 120 column 11 - Warning: missing <tr>
line 120 column 119 - Warning: missing </font> before </td>
line 124 column 16 - Warning: plain text isn't allowed in <tr> elements
line 120 column 11 - Info: <tr> previously mentioned
line 125 column 68 - Warning: missing </nobr> before </td>
line 141 column 68 - Warning: missing </nobr> before <tr>
line 147 column 35 - Warning: missing <tr>
line 147 column 50 - Warning: missing </font> before </td>
line 148 column 37 - Warning: unescaped & or unknown entity "&id"
line 147 column 201 - Warning: missing </font> before </table>
line 149 column 35 - Warning: missing <tr>
line 149 column 50 - Warning: missing </font> before </td>
line 149 column 91 - Warning: missing </font> before </table>
line 156 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 158 column 9 - Warning: missing <tr>
line 176 column 13 - Warning: missing <tr>
line 177 column 102 - Warning: unescaped & or unknown entity "&postid"
line 198 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 200 column 9 - Warning: missing <tr>
line 218 column 13 - Warning: missing <tr>
line 219 column 102 - Warning: unescaped & or unknown entity "&postid"
line 221 column 74 - Warning: <style> isn't allowed in <td> elements
line 221 column 9 - Info: <td> previously mentioned
line 221 column 1089 - Warning: missing </div>
line 240 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 242 column 9 - Warning: missing <tr>
line 260 column 13 - Warning: missing <tr>
line 261 column 102 - Warning: unescaped & or unknown entity "&postid"
line 274 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 276 column 9 - Warning: missing <tr>
line 294 column 13 - Warning: missing <tr>
line 295 column 102 - Warning: unescaped & or unknown entity "&postid"
line 306 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 308 column 9 - Warning: missing <tr>
line 326 column 13 - Warning: missing <tr>
line 327 column 102 - Warning: unescaped & or unknown entity "&postid"
line 336 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 338 column 9 - Warning: missing <tr>
line 356 column 13 - Warning: missing <tr>
line 357 column 102 - Warning: unescaped & or unknown entity "&postid"
line 373 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 375 column 9 - Warning: missing <tr>
line 393 column 13 - Warning: missing <tr>
line 394 column 102 - Warning: unescaped & or unknown entity "&postid"
line 396 column 366 - Warning: <td> attribute "tahoma"," lacks value
line 396 column 366 - Warning: <td> attribute with missing trailing quote mark
line 405 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 407 column 9 - Warning: missing <tr>
line 425 column 13 - Warning: missing <tr>
line 426 column 102 - Warning: unescaped & or unknown entity "&postid"
line 448 column 17 - Warning: missing <tr>
line 448 column 17 - Warning: discarding unexpected <table>
line 451 column 35 - Warning: missing <tr>
line 451 column 50 - Warning: missing </font> before </td>
line 451 column 91 - Warning: missing </font> before </table>
line 453 column 35 - Warning: missing <tr>
line 453 column 50 - Warning: missing </font> before </td>
line 454 column 37 - Warning: unescaped & or unknown entity "&id"
line 453 column 201 - Warning: missing </font> before </table>
line 455 column 17 - Warning: discarding unexpected </textarea>
line 455 column 28 - Warning: discarding unexpected </form>
line 455 column 35 - Warning: discarding unexpected </embed>
line 455 column 43 - Warning: discarding unexpected </noembed>
line 455 column 53 - Warning: discarding unexpected </noscript>
line 455 column 64 - Warning: discarding unexpected </noembed>
line 455 column 74 - Warning: discarding unexpected </embed>
line 455 column 82 - Warning: discarding unexpected </table>
line 455 column 90 - Warning: discarding unexpected </table>
line 457 column 9 - Warning: missing </font> before <table>
line 469 column 25 - Warning: discarding unexpected </font>
line 478 column 57 - Warning: discarding unexpected </font>
line 456 column 1 - Warning: missing </center>
line 120 column 63 - Warning: <img> lacks "alt" attribute
line 125 column 19 - Warning: <td> attribute "width" has invalid value "120px"
line 125 column 93 - Warning: <img> lacks "alt" attribute
line 141 column 19 - Warning: <td> attribute "width" has invalid value "120px"
line 141 column 98 - Warning: <img> lacks "alt" attribute
line 148 column 44 - Warning: <img> proprietary attribute value "absmiddle"
line 148 column 142 - Warning: <img> proprietary attribute value "absmiddle"
line 148 column 246 - Warning: <img> proprietary attribute value "absmiddle"
line 161 column 22 - Warning: <img> lacks "alt" attribute
line 161 column 63 - Warning: <img> lacks "alt" attribute
line 161 column 112 - Warning: <img> lacks "alt" attribute
line 161 column 162 - Warning: <img> lacks "alt" attribute
line 172 column 15 - Warning: <img> lacks "alt" attribute
line 203 column 23 - Warning: <img> lacks "alt" attribute
line 203 column 64 - Warning: <img> lacks "alt" attribute
line 214 column 15 - Warning: <img> lacks "alt" attribute
line 237 column 3589 - Warning: <ul> anchor "ihadbtnz" already defined
line 237 column 3797 - Warning: <li> anchor "ihadbtn" already defined
line 245 column 22 - Warning: <img> lacks "alt" attribute
line 245 column 63 - Warning: <img> lacks "alt" attribute
line 245 column 112 - Warning: <img> lacks "alt" attribute
line 245 column 162 - Warning: <img> lacks "alt" attribute
line 256 column 15 - Warning: <img> lacks "alt" attribute
line 279 column 22 - Warning: <img> lacks "alt" attribute
line 279 column 63 - Warning: <img> lacks "alt" attribute
line 279 column 112 - Warning: <img> lacks "alt" attribute
line 279 column 162 - Warning: <img> lacks "alt" attribute
line 290 column 15 - Warning: <img> lacks "alt" attribute
line 311 column 21 - Warning: <img> lacks "alt" attribute
line 311 column 62 - Warning: <img> lacks "alt" attribute
line 311 column 111 - Warning: <img> lacks "alt" attribute
line 311 column 161 - Warning: <img> lacks "alt" attribute
line 312 column 11 - Warning: <img> lacks "alt" attribute
line 322 column 15 - Warning: <img> lacks "alt" attribute
line 341 column 22 - Warning: <img> lacks "alt" attribute
line 341 column 63 - Warning: <img> lacks "alt" attribute
line 341 column 112 - Warning: <img> lacks "alt" attribute
line 341 column 162 - Warning: <img> lacks "alt" attribute
line 352 column 15 - Warning: <img> lacks "alt" attribute
line 366 column 438 - Warning: <img> lacks "alt" attribute
line 377 column 16 - Warning: <img> proprietary attribute value "absmiddle"
line 377 column 16 - Warning: <img> lacks "alt" attribute
line 377 column 59 - Warning: <img> proprietary attribute value "absmiddle"
line 377 column 59 - Warning: <img> lacks "alt" attribute
line 377 column 102 - Warning: <img> proprietary attribute value "absmiddle"
line 377 column 102 - Warning: <img> lacks "alt" attribute
line 377 column 145 - Warning: <img> proprietary attribute value "absmiddle"
line 377 column 145 - Warning: <img> lacks "alt" attribute
line 377 column 188 - Warning: <img> proprietary attribute value "absmiddle"
line 377 column 188 - Warning: <img> lacks "alt" attribute
line 377 column 231 - Warning: <img> proprietary attribute value "absmiddle"
line 377 column 231 - Warning: <img> lacks "alt" attribute
line 378 column 23 - Warning: <img> lacks "alt" attribute
line 378 column 64 - Warning: <img> lacks "alt" attribute
line 378 column 113 - Warning: <img> lacks "alt" attribute
line 378 column 163 - Warning: <img> lacks "alt" attribute
line 379 column 11 - Warning: <img> lacks "alt" attribute
line 389 column 15 - Warning: <img> lacks "alt" attribute
line 410 column 22 - Warning: <img> lacks "alt" attribute
line 410 column 63 - Warning: <img> lacks "alt" attribute
line 410 column 112 - Warning: <img> lacks "alt" attribute
line 410 column 162 - Warning: <img> lacks "alt" attribute
line 421 column 15 - Warning: <img> lacks "alt" attribute
line 454 column 44 - Warning: <img> proprietary attribute value "absmiddle"
line 454 column 142 - Warning: <img> proprietary attribute value "absmiddle"
line 454 column 246 - Warning: <img> proprietary attribute value "absmiddle"
line 463 column 25 - Warning: <img> lacks "alt" attribute
line 468 column 267 - Warning: <img> lacks "alt" attribute
line 149 column 50 - Warning: trimming empty <font>
line 448 column 17 - Warning: trimming empty <tr>
line 451 column 50 - Warning: trimming empty <font>
line 125 column 68 - Warning: <nobr> is not approved by W3C
line 141 column 68 - Warning: <nobr> is not approved by W3C
line 177 column 27 - Warning: <nobr> is not approved by W3C
line 219 column 27 - Warning: <nobr> is not approved by W3C
line 261 column 27 - Warning: <nobr> is not approved by W3C
line 295 column 27 - Warning: <nobr> is not approved by W3C
line 327 column 27 - Warning: <nobr> is not approved by W3C
line 357 column 27 - Warning: <nobr> is not approved by W3C
line 394 column 27 - Warning: <nobr> is not approved by W3C
line 396 column 74 - Warning: <table> proprietary attribute "height"
line 426 column 27 - Warning: <nobr> is not approved by W3C
Info: Document content looks like HTML5
Info: No system identifier in emitted doctype
Tidy found 155 warnings and 0 errors!


The alt attribute should be used to give a short description
of an image; longer descriptions should be given with the
longdesc attribute which takes a URL linked to the description.
These measures are needed for people using non-graphical browsers.

For further advice on how to make your pages accessible
see http://www.w3.org/WAI/GL.
You are recommended to use CSS to specify the font and
properties such as its size and color. This will reduce
the size of HTML files and make them easier to maintain
compared with using <FONT> elements.

You are recommended to use CSS to control line wrapping.
Use "white-space: nowrap" to inhibit wrapping in place
of inserting <NOBR>...</NOBR> into the markup.

About HTML Tidy: https://github.com/htacg/tidy-html5
Bug reports and comments: https://github.com/htacg/tidy-html5/issues
Official mailing list: https://lists.w3.org/Archives/Public/public-htacg/
Latest HTML specification: http://dev.w3.org/html5/spec-author-view/
Validate your HTML documents: http://validator.w3.org/nu/
Lobby your company to join the W3C: http://www.w3.org/Consortium

Do you speak a language other than English, or a different variant of
English? Consider helping us to localize HTML Tidy. For details please see
https://github.com/htacg/tidy-html5/blob/master/README/LOCALIZE.md