NESMaker Kickstarter - Make NES games without coding

Discuss technical or other issues relating to programming the Nintendo Entertainment System, Famicom, or compatible systems. See the NESdev wiki for more information.

Moderator: Moderators

Erockbrox
Posts: 397
Joined: Sun Nov 23, 2014 12:16 pm

Re: NESMaker Kickstarter - Make NES games without coding

Post by Erockbrox »

I'm one of those people who don't know how to program NES games at all, but can say exactly how I would make a game if I could. That is why this tool works for me.

- Joe, please make the NESmaker program such that you can easily share custom code between users, such as custom sprites and blocks/tiles. If people can share code easily between projects then your program will blossom. If one person figured out how to make 4-way scrolling possible and they decide to share the code then others should also be able to take that code and drop it into their project too.

- Joe, please if you can add support for mapper 30 on the N-8 everdrive.

- Joe, about Mystic Origins. I don't like how you can spin jump onto and destroy useful items that you can uncover under bushes and such. This is like being able to destroy coins in Mario Bros. I also don't like how when you play your instrument that the SELECT button changes the pitch of the notes. This means that sometimes I use my left thumb to hit SELECT when I hit A and B and then I use my right thumb to hit SELECT when I hit the D-pad buttons. In this current set up, it is very cumbersome to try and play songs because I'm switching my thumbs and fingers all around. I suggest you play Zelda Ocarina of Time and study how they did songs. Usually it was just 3 notes repeated over twice. Instead of doing the SELECT idea to change the notes, why not just only use the D-pad to produce notes and the A and B buttons to change the pitches. You can easily get 12 notes out of this with the following options: A and B not pressed = 4 unique notes on D-pad. A pressed and B not pressed = 4 more unique notes on D-pad. A not pressed and B pressed = even 4 more notes on D-pad. Also it seems like you have a note counter on the top right part of the screen. What is this? Do you have to pay for notes to make songs? Every time I play a note, my note counter goes down and then after I have zero notes left my sounds from my instrument then sound fainter. Does this mean that once I hit zero notes in my counter that my songs no longer work? Songs should be FREE to play at anytime just like in Zelda Ocarina of Time.

Here Joe, this is how the songs should be done. Zelda already got it right. Keep it simple.

https://www.youtube.com/watch?v=cd60Sgob99I

Also you said:
I dreaded coming here and finding this community's backlash to this project, and have been sort of putting off coming to see what was said in this thread.
Honestly, Joe, while there may always be some trolls, I'm pretty sure that 99.9% of this community gladly welcomes and accepts your NES endeavors.
User avatar
toggle switch
Posts: 139
Joined: Fri Sep 30, 2016 8:57 pm

Re: NESMaker Kickstarter - Make NES games without coding

Post by toggle switch »

hi joe, first of all i want to say that i'm not trying to put down your project, in fact i have designed a much simpler tool to assist in building my game, and have already started the planning process for something quite similar to nesMaker for future projects. it looks really impressive, and i'm surprised at how versatile it appears to be already.
But let's go worst case scenario.
the worst case scenario to me, is not that tons of people create shovelware games. that doesn't concern me at all. what concerns me is that people will take those projects to kickstarter, or other commercial venues, and give NES homebrew in general a bad name among the (large) percentage of the population who doesn't know any better. that could very adversely affect projects like mine, and other people who have actually taken the time to write thousands of lines of code. i kind of dread having to prove that my game wasn't made with nesMaker, and having it compared to games that were.

however, i am in complete concurrence that this community needs better tools for beginners. i gave up myself a couple of times (once in the early 2000's and again in probably 2008 or so) after seeing the available tools to work with. finally i found NESICIDE and decided to just create my own level editor. i'm not opposed to the project in general, but i think these are real concerns for people trying to make commercial projects.


as for this sonny_jim guy, having read that thread on reddit, he is a rude, arrogant jackass. don't worry about him!
JoeGtake2
Posts: 333
Joined: Tue Jul 01, 2014 4:02 pm

Re: NESMaker Kickstarter - Make NES games without coding

Post by JoeGtake2 »

@Erock - responded to Mystic Origins questions elsewhere for ya! :-) As for mapper 30 on everdrive...we don't have control of that. We had a successful test of hacking Troll Burner as a mapper2, and it played fine (minus mapper 30 features like tile anim from chr ram bankswitching) on an Everdrive. So like everything else with the NES, if you're cool with the caveats, you should be able to hack a solution (or we'll make a dummy proof output option for mapper 2, which really just changes the header and disables a few routines). As for sharing assets...you can, within scope. For instance if two people have the same graphics loaded up and the same base code, they can absolutely share *assets* (graphics+collision+attribute data), screens, etc. Also, the code snippets are in ASM files...we are slowly organizing the code for easy access to lots of common functions (AI routines, collision routines, even things like physics engine). You could just open the particular code and replace what's inside. We are currently working on tendrils to the tool so you don't even have to go looking. Just open from within the tool.

@Toggle - have no problem with constructive criticism at all! :-) I'm wondering if there is any logic to an approval process for a sort of *seal of quality* type paradigm. As a content creator, I want no part of that, because it makes me bias. But I'd be curious if there is a reputable institution that exists that would be interested in that part of it, or even a aggregator of reviews like Rotten Tomatoes or Amazon has, that could help with things like this (that way it's not down to a single person's opinion either). Some level of QC that would be a badge of confidence. Again, I don't want to do that part as a content creator myself, but...something like that might be interesting, what do you think?
User avatar
toggle switch
Posts: 139
Joined: Fri Sep 30, 2016 8:57 pm

Re: NESMaker Kickstarter - Make NES games without coding

Post by toggle switch »

btw, that reads a bit more negatively than i intended, so i just wanted to add that i wish you all the success in the world with this project, it really does look awesome.
User avatar
toggle switch
Posts: 139
Joined: Fri Sep 30, 2016 8:57 pm

Re: NESMaker Kickstarter - Make NES games without coding

Post by toggle switch »

one thing (that i'm not sure translates well here) that many 'game-makers' do is include a splash screen that says something like "made with tool x".

users can then pay a commercial license to remove said splash screen for commercial projects, which i guess weeds out a lot of people from releasing sub-par work on a commercial level. like i said, i don't think this necessarily translates well, since you're already charging for the program itself, and most of the stuff i'm talking about is free to use. also anybody with a bit of programming knowledge could just hop inside the code and delete that part.

but... it's something. i mean, are you really licensing all that code out *for commercial use* for $38? pretty cheap!

but yeah, changing the fine print on that now might not be a very popular move.
JoeGtake2
Posts: 333
Joined: Tue Jul 01, 2014 4:02 pm

Re: NESMaker Kickstarter - Make NES games without coding

Post by JoeGtake2 »

$36. For 3 years of my life building an engine and a tool that can do it. And 30% of that is to cover fees and taxes. Yes. It's as close to free as the team can make it and continue to support it. If this can leave the legacy of helping others get into this and give a resurgence for interest in developing for the console, then I'm pretty happy. Before the thing is released, we'll be analyzing some options as to how to prevent the shovelware, but also, NOT discourage young first time developers. :-)

If it gets to the point where one can't tell whether a game was made with our tool or from scratch, then I'd say it'll probably do fine and KS and produce at least a relatively quality product that wouldn't diminish the perception of NES devs at all. If that makes sense.
User avatar
rainwarrior
Posts: 8732
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: NESMaker Kickstarter - Make NES games without coding

Post by rainwarrior »

JoeGtake2 wrote:we'll be analyzing some options as to how to prevent the shovelware
I would suggest this should not be prevented. There is no need to prevent it and there is no good reason or mechanism to do so without harming the value of the NES Maker.

NES development isn't some kind of frontier gold rush. The people making any money at all from it are very few. It's even less profitable than extremely "shovelware" clogged venues like iPhone and Steam. This situation is not helped by trying to keep the amount of games being release on NES smaller.

This will only result in the increased value of NES production, not lowered. The value of an NES release is not some slice of a fixed pie of every NES release; each new one makes that pie bigger. Even games that you think are low quality are of at least small value to someone else; especially the person that made it. I also greatly appreciate the efforts of people like Bunnyboy and the people making the Analogue NT so that there's new stock to replace the old machines!
User avatar
FrankenGraphics
Formerly WheelInventor
Posts: 2064
Joined: Thu Apr 14, 2016 2:55 am
Location: Gothenburg, Sweden
Contact:

Re: NESMaker Kickstarter - Make NES games without coding

Post by FrankenGraphics »

One more point in the pro basket is that an increase of people making their own homebrew carts, small, medium or large scale, will also likely help cut reproduction costs a little. Cost of hardware is extremely sensitive to how large bulks of components are ordered, and likewise when the contract goes to a manufacturer in china, populating a large batch of boards is cheaper than ordering smaller runs.

In medieval times there were guilds (brewers' guilds among them) designed to protect the trade and keep newcomers/younger generations/women/foreigners out. While operating mostly out of self interest, the institution of the guilds walked a moral balance between providing economic stability and causing stagnation of development (not to mention a lot of place-seeking individuals spiritually smothered by gatekeeping).

Neither imbalance nor stagnation is good. We need to grow, and we need to at least allow a discussion how to best take care of the scene (blunt conservatism isn't the answer, i'm not saying that).

For me the ideal institution for helping homebrew thrive and raise the quality is already here in one shape: the nesdev compo. Peer reviews help us get better, and some of the winners might even take the confidence and rank to get to new heights on their adventure.

I can imagine a NESmaker compo being a totally benign way to help the scene.
User avatar
rainwarrior
Posts: 8732
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: NESMaker Kickstarter - Make NES games without coding

Post by rainwarrior »

JoeGtake2 wrote:As for mapper 30 on everdrive...we don't have control of that.
If you write a mapper 30 implementation for everdrive and send it to Krikzz, I'm sure he'd gladly include it in the next official OS update, and until then you could distribute the extra mapper to people who need it. (This is what I did to get mapper 31 supported.)

There tends to be several months between Everdrive OS releases, so I'd suggest doing it very soon if you want it to be ready down the line when it's needed.

Everdrive development info:
http://krikzz.com/pub/support/everdrive-n8/development/

Everdrive N8 forum:
http://krikzz.com/forum/index.php?board=15.0


PowerPak mappers, on the other hand haven't seen an official update in many years. :( ...but you can still build a mapper and distribute it yourself. Some development info links are at the bottom of this wiki page:
https://wiki.nesdev.com/w/index.php/Powerpak


The only reason FCEUX has mapper 30 support is that one interested person submitted a patch. At the time there weren't any publicly available ROMs for it, they just wanted to play their own dumps of some RetroUSB releases. This is also why it doesn't have widespread support: there still aren't that many publicly available ROMs.

To get mapper 31 into a bunch of emulators, I submitted a reference implementation to FCEUX, and then made test ROMs and distributed information to make it easy to support and test.
Bananmos
Posts: 552
Joined: Wed Mar 09, 2005 9:08 am
Contact:

Re: NESMaker Kickstarter - Make NES games without coding

Post by Bananmos »

I ordered an EverdriveN8 on the Black Friday sale, and Krikzz was even kind to add the USB port I nagged for, with no extra charge. That generosity has made me feel a little bad for not yet getting around for doing some mapper development, due to work and IRL hobbys taking prededence in the last month.

But a mapper30 implementation felt like a good "Hello World" test, so here's half an hour's work, pretty much a straight copy-n-paste of Krikzz's mapper2 example.

Everdrive mapper30 work-in-progress

Seems to run fine for me at least - fans are spinning in Troll Burner. But I haven't yet implemented the 4-screen/1-screen mirroring bit as I'm not sure how to interpret the iNES header/config settings. I'll try to get that fixed tomorrow. Does anyone know of some test roms that I could try it on to verify it's all working as it should?

I'm really amazed how dead-simple this was. Getting an Everdrive N8 sure was an upgrade from my Powerpak - the USB development is just beyond awesome and should make me a bit motivated to actually try to make the 8x8 attribute and offset-per-tile-mode mapper I've head in my head for a while. I used to use TheFox's serial loader on my Powerpak, but that obviously doesn't support mapper development out-of-the-box, and reverse engineering the Powerpak boot ROM didn't sound too appealing. Plus the Everdrive's example files win bigtime over the Powerpak's. Big thumbs up to Krikzz for making this process such a child's play!

Ironically, the biggest hurdle was spending hours on getting Altera's software working. Intel's website wouldn't let me download without registering, the registration webform would give an "error" with no clues as to what feel it didn't accept, until I re-ran it in chrome incognito mode. The download was gigabytes of data, and even more gigabytes of install I had to sit through for ages. Last time I tried FPGA evelopment it was with Xilinx's tools which were almost as painful. FPGA development tools really do top the list of the most bloated modern software that makes me wish for the good old 8-bit days...
User avatar
rainwarrior
Posts: 8732
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: NESMaker Kickstarter - Make NES games without coding

Post by rainwarrior »

Bananmos wrote: haven't yet implemented the 4-screen/1-screen mirroring bit as I'm not sure how to interpret the iNES header/config settings. I'll try to get that fixed tomorrow. Does anyone know of some test roms that I could try it on to verify it's all working as it should?
I haven't seen any test ROMs for this mapper, and I think something like that would go a long way to getting other emulators to implement it.

The 4-screen/1-screen thing is a recent proposal. I don't think any public ROMs exist to demonstrate it. I don't think FCEUX implements it either.

Edit: FCEUX's bug tracker has an open request for the 4-screen feature, apparently with a test ROM.
User avatar
Broke Studio
Formerly glutock
Posts: 181
Joined: Sat Aug 15, 2015 3:42 pm
Location: France
Contact:

Re: NESMaker Kickstarter - Make NES games without coding

Post by Broke Studio »

Here's my mapper 30 test ROM using 1-screen arrangement : viewtopic.php?p=197768#p197768.
My first game : Twin Dragons available at Broke Studio.
JoeGtake2
Posts: 333
Joined: Tue Jul 01, 2014 4:02 pm

Re: NESMaker Kickstarter - Make NES games without coding

Post by JoeGtake2 »

You guys are awesome, and your feedback and support is humbly appreciated. :-)
User avatar
thefox
Posts: 3134
Joined: Mon Jan 03, 2005 10:36 am
Location: 🇫🇮
Contact:

Re: NESMaker Kickstarter - Make NES games without coding

Post by thefox »

Bananmos wrote:I used to use TheFox's serial loader on my Powerpak, but that obviously doesn't support mapper development out-of-the-box, and reverse engineering the Powerpak boot ROM didn't sound too appealing.
It should be pretty easy to do mapper development actually. Just copy your mapper file in the mappers directory and upload your test ROM which is set to use said mapper in the header. It might not be immediately obvious, but the mapper file is always uploaded with the ROM, not loaded from the CF card. Did you encounter some problem with this approach?

The only caveat I can think of is that custom loaders (the first $400 bytes in the .MAP file) are ignored.
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: fo.aspekt.fi
Bananmos
Posts: 552
Joined: Wed Mar 09, 2005 9:08 am
Contact:

Re: NESMaker Kickstarter - Make NES games without coding

Post by Bananmos »

It should be pretty easy to do mapper development actually. Just copy your mapper file in the mappers directory and upload your test ROM which is set to use said mapper in the header. It might not be immediately obvious, but the mapper file is always uploaded with the ROM, not loaded from the CF card. Did you encounter some problem with this approach?

The only caveat I can think of is that custom loaders (the first $400 bytes in the .MAP file) are ignored.
Oops... now that I look at the readme.txt of the pc2nes I've had on disk for quite some time, it does say this. Heh, not sure how I managed to miss that... was it a feature you added in a later release of pc2nes?

Still happy with my Everdrive purchase - the dev examples are a bit better, the USB transfer seems faster, and it seems to be an FPGA with more memory bits too, if I read the specs correctly. But I might actually try to repeat this for my Powerpak, as I've already got Xilinx tools installed.

And thanks for the test roms rainwarrior-glutock. I'm almost there with having both of them working, but when I go from hard-coded to automatic selection something goes awry. I'll try to look at it in the weekend. Two things which did confuse me though:
1) UNROM512_4screen_test.nes actually seems to use pattern table 0 for BG, which is probably why the last of the four screens display as garbage for me (as pattern table 0 gets overwritten with 4-screen data) Is this fourth garbage screen as expected?
2) mapper30-testROM-20170608.nes doesn't actually have vertical mirroring set in the iNES header, as per rainwarrior's original proposal for disambiguating the mappers

Also, would anyone happen to know where I can find a definition of what the map_cfg register contains? map_cfg seems to be the vertical mirroring bit, but the others I'm not 100% sure of yet. They're written by the everdrive OS at some point, and I think they map to bits in the iNES header. But not sure exactly how.
Post Reply