Hey all, mugi here.
I hopped in to this forum after a while of contemplating since my name has popped up more than once regarding nesmaker,
and as the creator of one of the most visible products that came out of nesmaker, I felt appropriate that I'd offer my input as an actual user of the software
instead of being one of the "hardcore" developers that generally visit these boards and converse in threads such as this.
I actually registered in nesdev too but after reading around a bit over there, I never actually dared to post anything regarding my project.
So, I am the designer and main programmer of Dimension shift, dare i say "the most advanced" NESMaker game to date.
This is the first game I have ever (attempted) to create, and the first time I ever aid my eyes on 6502 assembly, and quite frankly, the only reason
it even exists is because of the way NESmaker makes 6502 accessible.
now, im no stranger to videogames, Im a romhacker since over 20 years now, and outside of making Dimenion Shift, my main passtime is producing fantranslations
for PSP games. As such, I am definitely no programmer, hacking things is one thing, but my brain just isn't wired for writing code, it's confusing, frustrating,
slow, boring and generally just drives me nuts, and that's not just assembly, i can't code in C, java, or anything else for that matter either.
now back to nesmaker then, I bought it because I actually want to learn to make NES games, so "OMG NO CODING REQUIRED" sold it to me,
off to the window went that phrase within 20 seconds of opening the tool, lol.
Joe knows i love the software to death and back, but that catch phrase is just a big fat lie
the fact that dimension shift exists though, is just a testament to the power of what (I believe) nesmaker should be viewed as, instead of a
tool that allows making nes games without programming. it MADE me capable of learning to code in assembly.
I dont know if any of you are aware of the game i am making so here's a quick run down of what has been programmed into it that NESmaker does not provide.
- CHRram bankswitching,
- free-scroll (any direction at any given time, no restrictions)
- palette shifting fades
- color emphasis
- custom physics
- custom physics based mechanics (wall climbing, alternate water physics, conveyor belts)
- complete overhaul of collision engine
- custom tile drawing routine for drawing 8x8 tiles instead of 16x16 metatiles that nesmaker's UI forces you into.
- cursor based menuing system (my game's stage select screen uses this)
now, I work on this game with a friend of mine and as such the above is not all my work but regardless, the game is more or less been torn apart as far
as it's base engine goes.
I wrote the stage selection framework completely from scratch after 2 weeks of assembly, as such the code is terrible, in fact it's so terrible
that even though I barely even understand assembly as it is, even I can see how terrible it is. Regardless of that, the terribleness of it is completely
invisible to the end user.
im just going on an on here, back to the topic at hand. Basically, what nesmaker does to a person is sits them down and accustoms them to extremely simple
pieces of assembly code, take controller input scripts, you define on to a button press and it can be as simple as 5 lines of code. THEN it forces you to
modify it somehow, because the way it is set up, absolutely WILL NOT WORK on your game. The first thing 99% of people who started making a game with nesmaker did
were complete rewrites of controller input assemblies, in order to fix issues with in player animations not working due to conflicting input commands.
from that on I moved on to making more controller scripts, and then dared to venture to making custom tiletype scripts. My wall climbing code is a tiletype that
controls the gravity, has it's own collision checking routine, and is paired to a jump code that is again completely separate from the one provided by the engine.
it went on an on and soon enough (lol, 6 months of work) we started to have things like custom subroutines that combine game objects in order to create complicated boss monster
fights combining several normal simple, boring monster objects into one gigantic 300HP monster that changes it's shape and behavior patterns as you fight it.
a lot of custom code written entirely from scratch has gone into the game, and for me that is exactly what I wanted nesmaker to do for me,
as time goes on, less and less of my game actually functions within nesmaker's UI, as it just keeps doing things nesmaker was not really designed to do.
Im fairly confident that (except maybe the screen painter) I will eventually abandon Nesmaker in order to futher break out of the bounds it sets for a nes game,
and hopefully learned enough to put together "a real homebrew" game.
nowadays I use the screen painting tool to create game screens, and the built-in script editor/organizer to keep track of the sourcecode.
graphics I do using paint shop pro, then run them into tilesets using shiru's screen tool, and what nesmaker does is converts a .bmp into a .chr
Music is made with famitracker, and the sound engine is GGsound, which, while included in nesmaker, is by all means not exclusive to it.
well this post turned out to be a mess, so I think i'll stop here, Just felt like it would be nice to write a word or 2.
And for those who have not seen my game, here's a few screenshots/video.
here's what the current build's scroll looks like(does it even scroll, bro?)
here's some footage from an earlier build (bi-directional horizontal scroll only)
and here's a few screenshots from later graphics work, enjoy (?)
best regards
- that scrubby nesmaker "dev"