Jump to content
SoleGoose

The NESMaker Distinction

Recommended Posts

9 hours ago, TheNew8bitHeroes said:

MachineCode - I understand what you're saying.  I worked in the music industry since the late 90s.  But no human being alive insisted that tapes, records, or CDs come with a disclaimer that the music on them was produced using Pro Tools.  That's not a thing that ever happened.  You're right that some people thought (and still think) that the existence of DAWs has led to an uptick of attention for mediocre talent, as you described.  But it also launched careers of many extremely talented musicians, launched entirely new genres of music, and changed the art of music producing altogether.  And analog recording still exists, and those that do it are usually very proud of the fact they record to 2" tape and their music never touched the digital domain, but they don't at the same time insist that anyone who used a DAW imprint that fact on the album artwork.  Which is the parallel what is being suggested in this case.  It's like saying that the Billboard Charts had to list whether an album was recorded to tape or to digital.  Is that really the avenue we want to take new NES games?...

Not PT specifically but the SPARS code was made to do just that wrt analog vs digital recording, mixing, and mastering. Also, a bit of a straw man here as I never said anyone thought using pro tools in and of itself meant over processed fake garbage that needed to be labeled or purged, but more that it has enabled a shitload of that type of material to the point where it's become more or less dominant. In fact, I literally mentioned the opposite use case. 30 years ago, Milli Vanilli was stripped of their grammy and shamed out of existence for their fraud whereas now they'd just use autotune in the studio, still lip sync live and receive a "good for them for making it work" pat on the back. Like anything, there's a threshold where shit more or less becomes cheating and it all depends on how you use it. Pitch correction for example was originally more of an engineers tool that made it so that when you got to the mixing stage and there was a bad note that got missed in tracking that stuck out like a sore thumb, it could be fixed easily and competently vs having to slather on modulation effects to obscure it or automate a pitch shift on an H3000 in order to salvage an otherwise good performance. Nothing wrong with that at all. Anyone who thinks that nobody ever tuned a note prior to 1997 is ill informed or naive at best. People make mistakes, sessions go long, budgets exist and cause people to rush so things get missed sometimes, and stopping a mix dead in its tracks in order to recut a vocal would be stupidly expensive and time consuming. Using it to give a singing career to people who can't actually sing is straight up cheating though.

Also, I straight up said that I did NOT want to take that avenue for new NES games and that it should be the choice of the developer. Furthermore, it's a bit of an apples and oranges sort of deal as programming video games for 37 year old consoles is not a performance art but rather a technical pursuit.

Share this post


Link to post
Share on other sites

Also, I feel like I should add this. I have no issue whatsoever with NESMaker. I checked it out and while it's not the direction I personally wish to go WRT learning NESDev, you really have made a great product. Just being able to read the stock template code is extremely useful for those starting out in terms of how to structure their projects, whether or not they wish to develop within the NESMaker platform. I'm sorry that people are shitting on your hard work because you truly don't deserve it. Like anything else, NESMaker is a tool and is what you make of it and how you use it is what matters. You should be proud to have made something so fully featured and useful that people seem to truly enjoy.

Edited by MachineCode
  • Like 1

Share this post


Link to post
Share on other sites
17 hours ago, TheNew8bitHeroes said:

My way belongs to a group that your way doesn't.

That is kind of an undeniable truth though.

I don't understand this debate, and I'm not sure what context people are really discussing a distinction for, but it's pretty obvious that there is a major distinction.
I haven't seen a single person in this debate argue whether one thing is better than the other, so the notion of elitism is pretty ridiculous.

I'll agree though that that phrasing used by the Kickstarter you are pointing out, does come across pretty elitist. On the other hand I can also understand the feeling that they need to point this out, iit is kinda demoralizing when you've spent a lot of time learning the mechanics of the hardware and created an entire game engine by hand, and the next thing people ask is "did you use this gamemaking utility to create your product?" At the end of the day when you are promoting a product, advertising it as "better" is a pretty central aspect. I'm gonna be completely blunt here and say that I'm certain that perspective definitely isn't foreign to you...

Share this post


Link to post
Share on other sites

**Disclaimer: What you see in this post was not programmed by hand.  It was created using tools provided by Apple, specifically OS 10.12.6, a code library developed by Google for Google Chrome, and the discussion template provided by this chat board service utilized for this website.  I believe that it is imperative that everyone not coding their responses from scratch place a disclaimer at the top of all messages henceforth, so as not to trivialize the work of the programmers who built the foundation for you to be able to reply here.

 

MachineCode - my comments were more for the thought experiment for the whole conversation in response to your reply, not necessarily aimed directly at you.  Thanks for the good discussion!

Sumez - why is it "undeniable"?  Let's take two hypotheticals - a traditional NES homebrewer like those I've known for the past few years, and someone like Mugi, making Dimension Shift with NESmaker. 

The traditional homebrewer: Would learn the basics in forums and tutorials, doing a lot of cutting, pasting, and tweaking code, seeking advice from other developers on how to manipulate the ASM to make it do what they want.  Things like input handling, the header, standard NMIs, drawing routines...they'd be pretty stock.  They would use Shiru's NES Screen tool for graphics and level design, they would use FamiTracker for music, and probably FamiTone for music playback rather than writing their own music engine.  They would use someone else's assembler to compile.  They would use debugging tools in MESEN.

Someone like Mugi: Had a starting point template.  Started gutting the code to create a module that does what he wanted to do, seeking advice from other developers on how to manipulate the ASM to make it do what he wants.  Things like input handling, the header, standard NMI, drawing routines...they're left pretty much in tact.  He uses our tile editor for graphics and our screen builder for level design.  They use FamiTracker for music, and GG Sound engine for music playback rather than writing his own music engine.  He uses ASM6 as an assembler, which is bundled with NESmaker with permission.  They use debugging tools in MESEN.

Does your distinction lie in the fact that the tools are all collected together in one tool chain?  Or is it that there was a starting base to work from, rather than tutorial code?  You're making MASSIVE presumptions about people using the tool when you say:
 

Quote

I can also understand the feeling that they need to point this out, iit is kinda demoralizing when you've spent a lot of time learning the mechanics of the hardware and created an entire game engine by hand, and the next thing people ask is "did you use this gamemaking utility to create your product?"

Let the work speak for itself.  The tools are incidental.  No one looked at Ori and the Blind Forest and said, "Yeah, well, they need a Unity watermark on the intro, because those of us who created our own game engines from scratch are demoralized when someone asks if our game was made with Unity".  Because that would be dumb.

If it takes the traditional homebrewer 2 years to develop their engine, create their assets, and build their game, and it takes the NESmaker developer 2 years to write their custom module, create their assets, and build their game...and they've both personally written the same number of lines of code, and both ultimately have the same understanding of how the hardware works...then what exactly is the distinction?  You'd have to be making the case that's not possible.  That comes from a place of ignorance...as Mugi or Dale Coop or some of the other developers who came to a better understanding of the NES inner workings FAR faster than most traditional homebrewers I knew...

Would you say the same thing about a music engine, or are YOU trivializing all the hard work that went into FamiTracker and FamiTone?  Would you say that chiptune artists that want to make music using FamiTracker need to be separated out from chiptune artists that completely build their own tracking utilities and playback engines?  Building a good music playback engine is a nightmare for the NES, so I certainly hope you're not trivializing the work of all the people that spent years learning the mechanics and created playback engines by hand, as you put it.  But that's different?   Because reasons?

Again - no one is trying to portray that their intro burner project that utilizes a reskin of the templates is in the same class as Jim Power, the same way no one is trying to portray that their first burner Unity tutorial game is in the same class as some tip shelf indie game.  But you know what?  Ori is an example of a top shelf indie game that used Unity.  Dimension Shift is a top shelf NES game that used NESmaker.  The tool is only of interest to those who are more interested in the process than the product.  And to be so is fine, but...that's sort of like asking a musician, "I like your music, but did you hand make your guitar?  No?  Well then you need to say that as a disclaimer on your album cover."

Edited by TheNew8bitHeroes
  • Like 2

Share this post


Link to post
Share on other sites

**Disclaimer: What you see in this post was not programmed by hand.  It was created using tools provided by Microsoft, specifically Windows 7, a code library developed by mozilla for Firefox, and the discussion template provided by this chat board service utilized for this website.  I believe that it is imperative that everyone not coding their responses from scratch place a disclaimer at the top of all messages henceforth, so as not to trivialize the work of the programmers who built the foundation for you to be able to reply here.

 

but Joe, the nesmaker's input routines are from nesdev wiki too are they not ?

it's bad that I use them because they're in nesmaker, but if I delete them and copy paste the same code from newdev or nerdy nights, then it's written from scratch 🙂

I have to admit that we did muck with the nmi (parallax stuff, yo!) and draw routines (whole new spritedraw) a little too but yeah, the point stands. there are portions of code in dimension shift that are written from scratch by Joe Granato inferior made with nesmaker code because they have only slightly been modified to better perform with our game and have not been completely typed out in notepad by us.

honestly, I already stopped caring about this topic already, I wanted to make a game, and a game I will make. Im not going to force anyone to buy it or play it so whatever really.

 

on another note, we did put a lot of work into the music engine too, the implementation of GGsound we use now supports priority (not present in nesmaker), bankswitching (not present in nesmaker or vanilla ggsound from github) and was optimized to be several hundreds of bytes smaller, and slightly faster than the vanilla implementation.

we also rewrote the way it does note muting to be a little bit more sensible.

I actually wanted to dig into creating a custom driver but we decided to leave that for another project which will utilize a whole different mapper and sound hardware.

 

Share this post


Link to post
Share on other sites

i really don't feel like responding to this, when the entire point I'm making is completely glossed over, and I've already answered the arguments being brought up here.
i don't know what you're assuming I'm saying, but I'm pretty sure it's not what I said.

From everything you're describing, it sounds to me like there's a pretty huge difference between what Mugi is doing and what you get when you just wholesale use an existing engine and creation tool that already has all the logic and technical implementations in place. It doesn't mean the end result is in any way "invalid" (and you may want to go back and read the first thing I wrote before making any further silly assumptions), but trying to deny that there is an obvious difference feels pretty pointless IMO.

Edited by Sumez

Share this post


Link to post
Share on other sites

So I'm still wondering though, if guy A makes a game from scratch, and then guy B from the same company uses the utilities to make a sequel, is game B counted as from scratch or not?

Share this post


Link to post
Share on other sites

Definitely not. 🙂 This is honestly quite common practice in the video game industry, and an obvious way to save money. Often assets will be reused too - some times more obviously than others.

That said, whenever an engine and its tools are being reused, there's usually still a lot of reprogramming involved, at least if the devs are ambitious enough - an obvious example could be going from Doom 1 to Doom 2, which reuses basically the same engine, but adds a few minor features as well as new enemy AI. But the tools were in place to make an entirely new game without programming, and obviously that is quite different from creating what would turn out to be one of the most influential early 3D engines in video game history in the first game.

In the world of development it's never that clear though, as you'll always be working on existing libraries and various layers of abstraction. Nothing is made entirely from scratch, but it's really all a question of "in relation to what?". Obviously if you're working in Unity, you're not making a 3D rendering engine from scratch, but you could be making your entire game logic from scratch. If you're working in an out-of-the-box Nesmaker you won't be making a sound engine, object spawning logic, sprite handling, and whatever from scratch, but you'll still likely be making level designs, characters graphics, etc. from scratch.

Share this post


Link to post
Share on other sites

Sumez - you're 100% correct.  In game development, you'll always be working on existing libraries and various layers of abstraction.  Your Unity example is perfect - in Unity, you're not making a 3d rendering engine, but you could be making your game logic.  In NESmaker, you're not making an animation driver, but you could be making your game logic.  That's a perfect parallel.  The difference here, though, is that there aren't developers insisting that people who use Unity embed a watermark in their game or slap a big logo on their artwork to denote it was, in fact, a Unity project, and "different" from other forms of game development.  But that's what is being argued here.  It's a strange cognitive dissonance for anyone to recognize the former but still insists on the latter.

Kevin Edwards just posted some really fun stuff on Twitter about working on Silver Surfer and a handful of other NES games, and talked about how just a year or two later, major changes to technology revolutionized and simplified the work flow.  But developers with access to the newer tools which made the development process easier and more streamlined weren't regarded as "demoralizing" those that did it the longhand way, charged with labeling their games as using the benefits of new technology.  In fact, now in retrospect, you likely couldn't tell me what commercial NES games used what tools in their development.  And that's kind of the point.

If a game is some reskin of a tutorial, it can just be "well, that's a crappy, cookie cutter game", regardless of tools used to produce it, whether it be a NESmaker game or a reskin of the Nerdy Nights tutorials, or a game slammed together with cargo cult style programming from various places on NESdev.  If a game is a quality, unique, original, evocative game, it can just be "well, that's a cool game", regardless of the tools used to produce it, whether it be someone who uses NESmaker as a base, or a combination of Shiru's tools, Git for source control, famitone's audio engine, and code ripped from online tutorials, or literally coded it byte by byte in notepad.  

Let the quality of output work speak for itself.  If a "from scratch" (which, of course, is a relative statement, as you've stated) developer makes a bad game while someone who uses a host of tools makes a good game, recognize the games in terms of the quality of the output, not the production method.  That's how every other creative medium works.  Putting some arbitrary line in this niche community serves no purpose but to invoke a petty division where there shouldn't be one.

If it was made "at home", it was a homebrew.  The definition of homebrew is "made at home, rather than in a store or factory."   Homebrew video games is defined as "ideo games or other software produced by consumers to target proprietary hardware platforms (usually with hardware restrictions) that are not typically user-programmable or that use proprietary storage methods."  Neither definition includes any distinction that warrants some separate classification for using tools to achieve the game's creation.

Edited by TheNew8bitHeroes

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...