My suggestions for NESmaker

erockbrox

Member
Oh, boy Joe either you are going to appreciate the comments that I make here or you will literally just hate me. We will just have to find out. :mrgreen:

So I've very opinionated about certain things and I like things a certain way. Even though I have just begun messing around with NESmaker. I already have many things that.... well.... just bug me. So I'm going to make a list and I will try and offer constructive criticisms here. Also since I'm new to this program, what might look like a complaint might just be something that I do not understand. I also understand that this is a beta and things are subject to change.

1) When you click on a palette and that image of all of the NES's colors pops up when 2 colors meet there is a blur and it generate "extra" colors. In my opinion it is kind of misleading because it technically is showing colors that the NES can't do and it seems like a better image could have been used. Yes, it gets the job done, but it looks like a blurred image and I cringe every time that I see it.

2) When I click on Overworld a special tab comes up which says MAP next to FILE, PROJECT, TEST. Same thing happens when I click on Pixel Editor a special tab comes up which says PIXEL EDITOR. The problem that I have with this is that it just feels odd. Like whey can't the tab MAP and PIXEL EDITOR just always exists there at the top of the program as shortcuts? To see something appear and disappear just bothers me.
 

RadJunk

Administrator
Staff member
We totally appreciate any and all feedback. Some things are harder than other things to change, and a lot of things, at this point, are function over form. The magic trick that we're trying to pull off here is the sort that, for 30 years, we were all told wasn't possible. So...UI and UX get the short end of the proverbial stick compared to it actually being able to output the data. All criticisms are welcome and are great to hear at this phase, but keep that in mind as a balance :)
 

erockbrox

Member
Thanks Joe, well I'll just be posting all my thoughts here as I continue to learn the software.

3) In the Pixel Editor, the icons that say Global Color Change and Tile Fill. I can't even tell that the icon is a paint bucket. In other words, its very hard to me to recognize what the picture on the icon represents. In the image below I can clearly see the fill paint bucket icons in other programs, but in NESmaker at first I didn't even know what it was.

lkiGV6Q.png


4) While in the pixel editor. Every time I click the button "show bad pixels" I keep on wanting to treat this icon button as a toggle on/off button. One click and it shows the bad pixels and another click turns this off. I don't know if anyone else feels this way, but I keep on doing it and it doesn't work that way.

5) While working in the pixel editor. I am very used to working with YYCHR and with YYCHR to copy or select a color all you have to do is RIGHT CLICK on a color and then you can start drawing with that with the pencil tool with the LEFT CLICK button on the mouse. I would really like to be able to right click on a particular color in the pixel editor and then start using that same color with my left mouse clicks.

6) While working in the pixel editor. If you turn on both the 8x8 grid and the 16x16 grid the blue and yellow lines sometimes confuses me because they are of equal "weight". Sometimes I think the yellow is the 16x16 and the blue is the 8x8. The top image is how NESmaker shows it currently, in the bottom image I dashed the lines of the yellow to make it easier to differentiate between the two sizes. What do you think? Does the bottom image look better and is more clear? Note that mine isn't perfectly dashed I just did it in paint kind of quickly to make the point.

If a person ever gets confused they can always remember "oh remember the dashed lines are always inside of the solid lines". and quickly know what area is what.

VZF4qM4.png


7) While in the pixel editor, if I use the select tool and select something and then hit DELETE on the keyboard nothing gets deleted. It would be nice if selecting something and pressing delete turned that area to the "black" color or transparent color.
 

Mihoshi20

Member
Though I don't have issues with the solid lines of two different colors, I've always been a huge fan of pixel or image editors that use dashes to differentiate between 8x8 and 16x16 along with two different colors.
 

erockbrox

Member
8) I tried to copy a 16x16 graphics tile from paint and photoshop and paste it into the pixel editor in nesmaker and it didn't paste. It would be nice if you could copy images from one program and paste them into nesmaker. Let me know if there is a way because it doesn't seem to work for me.

9) It seems to me as if the "paths" are always automated or auto-generated. While this does speed up game development time in some cases, I just want to place my path's one tile at a tile manually. Is there any option that allows this? I like to have full control over my game and where each tile specifically goes.

10) So I tried to create some assets and got that strange infinite loop again saying "A tileset was changed, would you like to reload it". it won't go away. Don't know what to do.

11) Probably a small bug, in the pixel editor if you click on the 16x16 grid then click 8x8 grid and then click 16x16 grid all of the grid lines turn yellow.

12) So after creating some assets I went over to the overworld section and clicked on a screen to start building my screen. I have some duplicate tile graphic assets and so I wanted to get rid of them. I literally clicked on the tiles that I did not want and clicked the REMOVE button and nothing happened. It won't let me remove them.

13) When creating my assets in Graphics Bank 1, I understand that you need to click on each tile and then set the tile type to give it properties, however after I have given it the type like Solid or Walkable then if I click on it again it seems to never "remember" what type it previously was. Like shouldn't it do this? And are you only allowed 15 different tile types in the whole game?
 

RadJunk

Administrator
Staff member
To address a few of these - thanks so much for the feedback. I'll let you know what things you can expect to be supported, what things are interesting to think about on our part, and what things aren't easy or possible or high priorities, for reference. But the notes are great and appreciated! :)

1) Palette blur in picker may be a resolution issue on your machine? Not sure.

2) The menus are loaded specific to the type of window you're working on. You can't load a BMP when you're on the map screen. You can't export the current screen info from the pixel editor, etc. So the menus change with the current part of the tool opened. Not sure this will change. You can always access the map by clicking on one of the maps, or pixel editor by clicking on the pixel editor.

3) The paint and photoshop icons are much higher resolution. Ours is more pixelated. But there are also tool tips if you mouseover. I can't imagine this would be too complicated after using the tool 1 or 2 times even if someone didn't quite recognize the icon. I haven't heard anyone else voice this yet - maybe some will?

4) Interesting thought about the show bad pixels. These are a mode of display, though...like BRGB - Translate through palette - show bad pixels. Those are three choices, so what would show bad pixels toggle to? Unless it was tethered to BOTH brgb and palette translate?

5) So right click acts sort of as a color picker from the canvas you're working on? Something like this might be able to be implemented. I'm not sure what function right click currently serves in the pixel editor specifically.

6) Dotted lines = not a bad idea. Also, possibly being able to choose your color for each. Though most people will be creating graphics using one or the other (whether they're working on background tile or sprite graphics)

7) That's because there is no such thing as delete in the traditional sense. Yes, as you've described is exactly what would happen. But for this purpose, why not just use the rectangle tool to achieve the same purpose?

8) You can't copy from an external source and paste to an internal source. The graphic has to be loaded to perform the NESmaker things. You CAN load the graphic, select the area, copy, and then paste. This is one of the primary things in the tutorials.

9) paths are auto generated. That's how paths work. I don't know what you mean "place one tile at a time manually". Tiles work like that, but paths are a special type of tile that are an attempt to modularly build graphics by using a much smaller part of the tileset for complex, modular graphics. If you need to place tile at a time, just make tiles rather than paths.

10) I'm not sure I've seen that error. This message pops up when you change graphics in the pixel editor. What's probably is that you were making changes in the pixel editor and this was popping up a bunch, and you were ignoring it or it was happening passively in the background, many many times? I'm not sure.

11) Interesting! I'll have to check that out!

12) I'm confused. You want to get rid of tiles? You remove them in the hierarchy, not in the screen painter. Find them in the drop downs, right click and choose delete.

13) You REALLY need to watch how this is done in the tutorials. I'm not sure what you mean, but this is one of the most fundamental NESmaker things, so I'd definitely make sure you're not just lone gunning it. Watch the tutorials on that particular part. Also, 16 (0-16) tiles...4 bits to define collision data. But that's a ton. Take Zelda...walk/solid/entrance/fairy pond/change-to-secret...that's about all. Super Mario 3...walk,solid,one way platform, vine, question block, music note block, level end, pipe, water, death...16 tiles goes a long way if you use them intelligently. There are some ways to cheat to get more out of the game, but it may be at the expense of other things.
 

erockbrox

Member
Thanks for your response Joe. I'll comment on a few of these in the near future.

14) When I'm editing the overworld screens and I look at my color palettes, they all have this gray gradient effect happening on them. To me this is very strange because, well.... what's the point. I thought the whole point was to be able to see the actual color palettes and not hide or disguise them with some strange effect. Any logic reason for this that I'm not understanding.

15) When editing the overworld, I know that you can right click and place the player where you want, but I've always enjoyed the idea of clicking on the player icon and doing a drag and drop.

16) While editing the overworld, I didn't seem to see any UNDO or REDO buttons. These would be really nice.

17) While editing the overworld, for paths you press the 1,2,3,4 buttons on the keyboard. I found this very counter intuitive, almost as if these were "hidden" commands. Are there other ways to implementing the paths other than these shortcuts? Like why not have a drop down tab in the menu to choose your path? Also my first instinct on how to use this was that you need to hold the 1 key to get the path working but also click the mouse too, but it turns out that when you hit the 1 button that literally draws the tile as if you were clicking the mouse button. This again felt very counter intuitive when first starting to use it.
 

dale_coop

Moderator
Staff member
Adding my comments :
14) agree with that, the grey gradient on sub pals color is bothering/distracting me, each time I open a screen :p
I think it’s just a small « bug » of the NESMaker tool, at initialization of the component. Josh will fix that for the new beta ? (Please)

17) Yeah the « press and draw » is a useful practice in the NESMaker tool (« 5 » key, « Q », « W », « E », « R », ... ;))
For paths, may be a drop down list on top of the tiles panel, ( « tiles », « paths »,...) to switch between the tiles panel and a paths panel ?

And I would add :
A button « select »/« draw », switch mode, for selection tiles on the screen (to use with the copy/paste keys) and for drawing with the selected title / path
 

RadJunk

Administrator
Staff member
I am 99% certain that what you see when you enter the screen is the day/night gradient on palettes? If you have left *night pals* blank, they’re gray, thus the gray gradient. By toggling that day/night switch, that geadient will go away and you’ll either see day or night. This was something that is a holdover from Mystic Searches code, but may not be as applicable here.
 

erockbrox

Member
18) So I'm watching the pi beta 6 tutorial and following along. At one point you talk about in the HUD that when you click SET NUMBERS and click SET LETTERS that you need to click on the 0 (zero) and A (letter) to set them. The issue I have here is that this is NOT stated anywhere in NESmaker when you actually click on these. In other words you need to have this "extra info" and key insight on how NESmaker works an order to use this. If you could, you could write out some simple instructions in NESmaker so that when you do click on the SET NUMBERS button it then says "pick the tile that has a zero in it" and "click the tile which has the A in it". It would make it a little more intuitive and self explanatory. For example, if I just clicked SET NUMBERS without knowing that I need to select the Zero I would have no idea what to do, but if there was a hint that was displayed then it would make sense.

19) So I'm watching the pi beta tutorials/videos and trying to follow them and learn from them. Since I am only a May beta tester I naturally started with the pi beta videos. I didn't want to start with the beta 1 videos because the program has changed since then. But anyway, so I watched all of the videos for the pi beta except the 3 hour simple platform game, and well I don't have a game up and running yet. I don't know how to create a start screen and saw no video in the pi beta videos section which described this.

20) One thing that kind of makes me uneasy is the idea that the beta assets can only be used for testing purposes and not sold commercially? Like I just don't get this idea. It's like here's a game engine go and create stuff but you can't have it in your actual game. The way I see beta assets is that you could create your final game with them, but since everyone would know that they were the beta assets then you by choice wouldn't want to use them because it would make your game look unoriginal. I just don't like the idea of getting a program and then having someone say that there are restrictions on what I can do with it. Was the money that we raised in the kickstarter not enough to hire an artist to make some assets that are free to use???
 

RadJunk

Administrator
Staff member
As for the beta assets - don't think of the beta assets as "coming with the program". I'm personally creating them because you need SOMETHING in order to work through the tutorials. The purpose is that a user creates ALL original assets that he or she has the expressed rights to use. The 'beta assets' (as far as graphics and music) only exist as placeholders. If it makes you feel better, for the exact same result, download some legend of zelda graphics to work through the tutorials with, knowing that in the end you have to change them. It's the same thing. They're graphics that you didn't create, therefor you don't have the legal right to make something commercial with them.

If you want to avoid this altogether, create your own graphics from the start, or have an artist you know create graphics/music for you and give you permission to use them before you even get started.

I am working on a new ground-up tutorial set with a few tiny tweaks to the engine that will hopefully help people in your position get up and running a bit quicker, by giving more explanation as it goes, explaining things a bit deeper, and making the user write in a little code so that he or she understands it, and then showing where one can access full code and where he or she can put it to make it work. I'm hoping this gives new users better command over what NESmaker is actually doing and how it works.
 
yup, if you click your day palettes to switch them to night and click again to go back to day,
you never see the gradient effect again.
 
i think the confusion around assets is how it's phrased in the kickstarter page.

"Will NESmaker include art assets for me to use to get started right away?
Yes, we will absolutely include art assets for you to get started with, modify and use however you want."

and then the troll burner expansion including a full suite of assets.

even i thought the stuff was ok to use, but obviously as a point of pride to replace it with self made stuff.
but i can see where users not as comfortable with the art end wanting to use premade assets like rpgmaker for example.

maybe for release just fill the assets folder with community stuff that everyone donates with the correct creative commons?
 

MistSonata

Moderator
Just wanted to jot this down here while I'm thinking of it.

Currently the system has it so that if you want to change the name of a script you've customized, you have to remember which one it is and go into the Project Labels to change it manually (which I think could lead to human error, mislabeling things, having to recheck everything to make sure it has the right name, etc).
What if the tool took the name from the script itself? This wouldn't be applicable to EVERYthing, mind you, and it wouldn't have to be hardwired into the program, but it'd be nice to have a button that's like "Get Project Labels From Scripts" and then it'll check the first line in the scripts and look for whatever signifier means "this is the name of this script", like ";;; NAME:DoSpookyStuff" or something similar.
 

RadJunk

Administrator
Staff member
We thought of doing some similar things with in-script naming conventions...for instance, looking for ;;arg0: xxxxxx and then exposing arg0, that sort of thing. Not sure where we landed on that. Possible we might try and implement things like that, but a lower priority. :)
 

erockbrox

Member
21) I think this was a bug, but I'm currently working with the latest beta with the latest new tutorials on vimeo and I was editing the players graphics or gameobjecttiles file and after saving, NESmaker never asked me if I wanted to reload the graphics. This was an issue because I was then trying to make my player animated and the graphics changes never took effect. A simple close and restart of the NESmaker program fixed this.

22) In the graphics banks index inside NESmaker, it says graphics banks 0, 1, 2, 3. The 1-3 have little plus signs on them so bank 0 must be different, however out of all of the tutorials I've watched, I've haven't heard the explanation on why bank 0 is different.

23) One thing that kind of feels odd is when I'm creating assets, in the upper right-ish part of the program you get to see all of the graphics in your yychr file or graphics file. When you click on a palette ALL of the graphics in that file change to that palette, this makes them look odd. It would be nice if in that small black box that it retains the specific color palette which you choose just for better visual appearance.

24) When setting up the animation frames for the player, there is a RED BOX which is an 8x8 tile which allows you to piece together your character. That RED BOX to me is barely visible and I have many times click on things that I didn't mean to just because I could hardly make out where that red box is. Maybe pick some other design to highlight an 8x8 box other than a thin red line because its hard for me to tell where that red box is sometimes.

25) While watching your new tutorials 1_paletteandplayer, you say "the other thing we have to do is build a HUD". So my question is why? Why do I need a HUD? What if I don't want a HUD at all. Or what if I want a HUD but I want 100% of the game to be a "playable area". If you play Zelda 3 for SNES there is a HUD but the whole screen is the playable area. Usually the screen is centered so that Link is in the center so he doesn't walk behind the HUD and inside of a dungeon usually the HUD is blocked off by a dungeon wall anyway. but I guess Zelda 3 also has priority layers too for block tiles where as NES does not. I guess you could make a minimum HUD out of sprite tiles and have the player simply walk underneath it.

26) Does NESmaker have code built into it for a random number generator (RNG)?
 

RadJunk

Administrator
Staff member
A couple of answers:

21) make sure the window wasn't hidden. Like, it was open, but not brought to the front (you'd still see it in your task bar as *another window*. I've had this happen sometimes if I've clicked on the program somewhere (which brought it to the front) after that window has popped up (or simultaneously).

22) Bank0 is where things like start screen graphics are stored. That hasn't always been the case. Having access to it is more of a holdover...it's sort of a dead link. But you may not even be breaking them down by bank in future versions anyway.

25) You ALWAYS need to define a HUD area. You CAN still overlap them (to make your playable area appear on screen), and there is a bit that you can flip to turn screen off. This will be located on screens (Hide/Show hud toggle). Right now it is not, but you could still do it in code. Off the top of my head, I can't remember what that bit is, but I can look it up. If you were just asking if it's possible to go no-Hud, yes. But you still have to define an appropriate hud area even if you have no intent on showing it.

26) Yes. JSR GetRandomNumber (I think) will yield a random number 0-255 into the accumulator. You can then use bit masks to get that more precise. For instance:

Code:
;;;;;;; GET A RANDOM NUMBER OUT OF 2
;;;;; This only cares about the last bit, which can be 0 or 1, allowing you to get two possible values.
    JSR GetRandomNumber
    AND #%00000001 
    
    ;;;;;;; GET A RANDOM NUMBER OUT OF 4
;;;;; This only cares about the last two bits, which can be
;;;;; 00, 01, 10, or 11, allowing you to get four possible values.
    JSR GetRandomNumber
    AND #%00000011 
    
    ;;;;;;; GET A RANDOM NUMBER OUT OF 8
;;;;; This only cares about the last three bits, which can be
;;;;; 000, 001, 010, 011, 100, 101, 110, 111, allowing you to get eight possible values.
    JSR GetRandomNumber
    AND #%00000111 
    
    ... etc etc etc.

And then you can read that value with a compare:

Code:
    CMP #%00000101 ;; if the result is this exact value
    BNE dontDoThis ;; the result was NOT that value
    ;;; do the thing, because the number was equal to that value
    ;;; code goes here
    JMP done
 dontDoThis:
    ;;; don't do the thing, because the number was NOT equal to that value.
    ;; code goes here...maybe check other possible values.
    ;; repeat above but compare to different possible cases?
 done:   ;; end of code.
 
Top Bottom