Editing Modules?

gogreyhound

New member
How do you edit the modules without understanding assembly language?

I have no programming background at all - which is what made NESMaker so appealing. I would love to make a game, but I want to be able to get art and ideas out and working, and refine them as I go.
Upon following several tutorials and attempting to customize what I'm able to accomplish in the game, I'm learning the coding IS required (contrary to all of the advertising for the program).

So where is a good place to start figuring out things like adjusting the gravity value or adding a double jump function?
 

dale_coop

Moderator
Staff member
I would suggest to follow all the the tutorial, you will learn and understand how to use NESMaker, how to make modifications, ...
If you want to adjust the gravity, go to the "Project Settings > User Constants". You will find some constant gravity lo and gravity hi... just try changing those value to see the difference (note the original values somewhere, just in case).
For double jump... it will be more difficult. Would required modifications in the jump script code (I think there is no clear tutorial about that on the forum).

But really, watch the tutorial videos there is a lot to learn. (and her eon the forum)
 

digit2600

Member
Thing is, you'll start to pick things up here and there by making small tweaks and what not, but it's also good to get a grasp on game logic..

Comments are a life saver so definitely read Joe's comments on his code.

I know the first script I wrote, a friend started the ground work for me and commented, then I I took the idea he laid down and elaborated on them until what I had was about 100 lines longer and no longer resembled what he had written, but most importantly, did what I needed it to do... so start small.

That said, a game without coding is definitely possible, but you're not gonna write your masterpiece without getting your hands dirty.

The good news is, asm is now more accessible for noobs than it has ever been.

Coincidentally, I'm working on a double jump script, but how long before I actually get it to act right is anybody's guess.
 

gogreyhound

New member
dale_coop said:
I would suggest to follow all the the tutorial, you will learn and understand how to use NESMaker, how to make modifications, ...
If you want to adjust the gravity, go to the "Project Settings > User Constants". You will find some constant gravity lo and gravity hi... just try changing those value to see the difference (note the original values somewhere, just in case).
For double jump... it will be more difficult. Would required modifications in the jump script code (I think there is no clear tutorial about that on the forum).

But really, watch the tutorial videos there is a lot to learn. (and her eon the forum)

Good to know.
I've watched every tutorial and this information is nowhere to be found.

digit2600 said:
Thing is, you'll start to pick things up here and there by making small tweaks and what not, but it's also good to get a grasp on game logic..

Comments are a life saver so definitely read Joe's comments on his code.

I know the first script I wrote, a friend started the ground work for me and commented, then I I took the idea he laid down and elaborated on them until what I had was about 100 lines longer and no longer resembled what he had written, but most importantly, did what I needed it to do... so start small.

That said, a game without coding is definitely possible, but you're not gonna write your masterpiece without getting your hands dirty.

The good news is, asm is now more accessible for noobs than it has ever been.

Coincidentally, I'm working on a double jump script, but how long before I actually get it to act right is anybody's guess.

I don't have the first inkling as to how to go about reading the code. I can open the files, but i have no idea what they do, nor do I understand at all what I'm looking at. Even with the comments (as vague as they are), the code that goes along with them are a foreign language. I have no basis for understanding it.
 

dale_coop

Moderator
Staff member
gogreyhound said:
Good to know.
I've watched every tutorial and this information is nowhere to be found.

And you also have constants names Jump_speed_hi and jump_speed_lo that will control (with the gravity) the high and speed of your player jump.
(in the 4.x version, the player object's jump property does nothing).
 

Retrobuster

New member
I was in the same boat as you as early as this past January - not a single clue about coding of any kind. As has been stated - you definitely can make a game without messing with the code. Load up one of the tutorial projects and then just change the graphics and sound...boom there's a game. BUT if you take some time, look at the code, you'll start to see something that you think you kind of understand (you probably won't but it's beside the point), mess with it and see what happens. Most likely it will cause an error, but undo whatever you did (MAKE BACKUP COPIES OF YOUR SCRIPTS) and try again. Most importantly, don't be afraid to ask for help. Dale is one of the most helpful people in the community. You'll explain what you want, he'll help you to do it and then, you'll have a chunk of code that you know exactly what it does and therefore, can apply the same code chunk to another script that you want to do something similar with. It's like taking a piece of one code and adding it to another to make something happen but in a different way.

I know it's confusing and frustrating, but in those 2 months I've definitely started to get a grasp on the basics of ASM and submitted a game to the competition that really deviates from the basics. Even if I can't write ASM yet, I can at least kind of read it. And if I can't, the community is there to help.

P.S. The best piece of advice I can give about creating your game is to make sure you know what you want to do before you start. That will REALLY help you to ask the right questions.
 

gogreyhound

New member
Retrobuster said:
I was in the same boat as you as early as this past January - not a single clue about coding of any kind. As has been stated - you definitely can make a game without messing with the code. Load up one of the tutorial projects and then just change the graphics and sound...boom there's a game. BUT if you take some time, look at the code, you'll start to see something that you think you kind of understand (you probably won't but it's beside the point), mess with it and see what happens. Most likely it will cause an error, but undo whatever you did (MAKE BACKUP COPIES OF YOUR SCRIPTS) and try again. Most importantly, don't be afraid to ask for help. Dale is one of the most helpful people in the community. You'll explain what you want, he'll help you to do it and then, you'll have a chunk of code that you know exactly what it does and therefore, can apply the same code chunk to another script that you want to do something similar with. It's like taking a piece of one code and adding it to another to make something happen but in a different way.

I know it's confusing and frustrating, but in those 2 months I've definitely started to get a grasp on the basics of ASM and submitted a game to the competition that really deviates from the basics. Even if I can't write ASM yet, I can at least kind of read it. And if I can't, the community is there to help.

P.S. The best piece of advice I can give about creating your game is to make sure you know what you want to do before you start. That will REALLY help you to ask the right questions.

Replacing graphics isn't making a game - and if that's what they qualify as making a game when they say no coding required, then this is a sham.

The implication was the anyone could make any game they could imagine without knowing how to code. That's why this project got so much support. It was appealing to people who didn't understand how to code (not everyone's brains are "wired" for that task).

The whole point is that we don't necessarily want to learn to code ASM. We just want to make our game.

We have a really good roadmap with very few things that need to be accomplished (bi-directional scrolling, double jump, an endless runner type mini game, etc). It just doesn't seem that NESMaker is the tool it claimed to be.
 

Mugi

Member
you can make a game by loading different existing scripts into nesmaker based on what you need and you will never have to code.
it goes beyond simply replacing graphics by a long mile.

nesmaker is definitely capable of creating a game without ever having to touch code. (mind you, changing values of variables to modify, say gravity is not coding, thats just changing a value)
if you want bi-directional scrooll, double jump or whatever else that doesnt exist, you'll have to get down and start coding though. to answer your question from my compo thread too, how did i achieve bi-directional scrolling? by spending 2 weeks with my nose glued to an emulator debugger with my friend and then writing a kilometer of new code to fix bugs and add functions to the engine.

can it be done without coding ? yes. does it work properly without coding ? no.

tl;dr: you can definitely makes games without coding. you CANT make everything possible that pops into your head without coding.
 

gogreyhound

New member
Mugi said:
you can make a game by loading different existing scripts into nesmaker based on what you need and you will never have to code.
it goes beyond simply replacing graphics by a long mile.

nesmaker is definitely capable of creating a game without ever having to touch code. (mind you, changing values of variables to modify, say gravity is not coding, thats just changing a value)
if you want bi-directional scrooll, double jump or whatever else that doesnt exist, you'll have to get down and start coding though. to answer your question from my compo thread too, how did i achieve bi-directional scrolling? by spending 2 weeks with my nose glued to an emulator debugger with my friend and then writing a kilometer of new code to fix bugs and add functions to the engine.

can it be done without coding ? yes. does it work properly without coding ? no.

tl;dr: you can definitely makes games without coding. you CANT make everything possible that pops into your head without coding.

Which goes back to my point that the entire campaign for NESMaker is sort of a sham.

Thanks for answering my question. I guess at this point we're going to scrap the project. After spending the afternoon messing around, my game.nes file has somehow gone missing and i guess the only way to get back to where i was (which wasn't far) is by starting over (again).

We just don't have time (40+ hr wk jobs, families, etc) to learn to code ASM. NESMaker was sold as this way to FINALLY be able to make an idea - doesn't look like it's so.
 

digit2600

Member
gogreyhound said:
dale_coop said:
I would suggest to follow all the the tutorial, you will learn and understand how to use NESMaker, how to make modifications, ...
If you want to adjust the gravity, go to the "Project Settings > User Constants". You will find some constant gravity lo and gravity hi... just try changing those value to see the difference (note the original values somewhere, just in case).
For double jump... it will be more difficult. Would required modifications in the jump script code (I think there is no clear tutorial about that on the forum).

But really, watch the tutorial videos there is a lot to learn. (and her eon the forum)

Good to know.
I've watched every tutorial and this information is nowhere to be found.

digit2600 said:
Thing is, you'll start to pick things up here and there by making small tweaks and what not, but it's also good to get a grasp on game logic..

Comments are a life saver so definitely read Joe's comments on his code.

I know the first script I wrote, a friend started the ground work for me and commented, then I I took the idea he laid down and elaborated on them until what I had was about 100 lines longer and no longer resembled what he had written, but most importantly, did what I needed it to do... so start small.

That said, a game without coding is definitely possible, but you're not gonna write your masterpiece without getting your hands dirty.

The good news is, asm is now more accessible for noobs than it has ever been.

Coincidentally, I'm working on a double jump script, but how long before I actually get it to act right is anybody's guess.

I don't have the first inkling as to how to go about reading the code. I can open the files, but i have no idea what they do, nor do I understand at all what I'm looking at. Even with the comments (as vague as they are), the code that goes along with them are a foreign language. I have no basis for understanding it.


Chronosv did an excellent primer series on asm on YouTube which helped to make sense of things at the beginning level.

Do you have any experience with higher level languages? If so, it's all about finding the parallels between what you know and what there is to work with in asm...

For example, in the beginning, I didn't understand how conditionals were handled, where something as simple as if (variable=1){do this}else {do that} would be written..
Turns out, it's not that different...

It just looks different and has an extra step or two:
LDA variable ; LOAD variable you want to check into Accumulator
CMP #$01 ;compare is it 1?
BEQ oneisTrue ; branch if equal to oneistrue
JMP oneisnot true; jump if it's not true to a different instruction

Oneistrue:
;do this
Oneisnotrue:
;do something else

It follows the same logic as what I've written above, it just uses a different set of commands and format .

It looks scary and complicated at first, and it can get extremely convoluted since you have to check every condition one at a time, and you condition trees can grow quite unruly very fast, but once you understand the basics, you'll have a good framework for doing edits and experimenting.

I would recommend ChronosV's tutorials on YouTube.
But also, if you don't have any experience with programming, then you should do a crash course in basic game logic first before anything.
 

digit2600

Member
At no point in the campaign did joe ever say that you could make anything that popped into your head without code, he made it quite clear that if you really wanted to go beyond something very simple, you're gonna have to get under the hood and mess with the existing code or write your own. He said also, it would be impossible to predict every situation that might arise from game to game, hence the reason they kept the engine so vanilla.

Definitely not a sham, nor any dishonesty. Reality is that game dev is a lot of work, and no piece of software can do all of the work, as its just a tool.
 
Top Bottom