NESmaker Pi beta 3.14 update patch and new tutorial set

Rob Burrito

New member
Video 10_FlashingDeath there's a spot you missed editing the code back. when you test after giving health at 1:06 your object moves to the top left tile object, where as the code as downloaded is written to JMP RESET and resets the game for tutorial followin folks at home. not a huge deal there, but later in the tutorial after putting in the animation it will not animate and jump back to restart which is definitely an issue for folks learning. its from at the end you threw in that JMP RESET line to show how easy it could be to mod that to do other actions, just updating the download to remove line 6 in Routines/System/HandlePlayerDeath. also note the yawn at 4:34 lol'd me.
 

RadJunk

Administrator
Staff member
Yeah, I'm sure there are a few things I may have missed. It's going to be hard to come up with a really serious tutorial set that teaches concepts, because I have to keep sort of going back and showing how I do things and change things (like with the platforming tutorial). But if I do it a strict way, I'll get a lot of "well why can't you do it like xyz" (which you can, but it takes that conceptually understanding of how and where to change things). That's why I keep doing these tutorials - to sort of see what is working.

As for the yawn...hey, full day of work, few hours of taking care of the kiddo, THEN starting work on NESmaker...it's amazing there was only ONE yawn! haha
 

Mihoshi20

Member
Finally gotten around to where I can follow the new tutorials for NESmaker 3.1.4(Pi)[Empty] and everything has been trucking along fine, but I hit a weird issue midway through video 12_HudPart2 that persisted for videos 13 and 14. I seem to be the only one having this issue as no one else has mentioned it so thought I'd post and see if I missed or overlooked something.

The issue I'm having is that when assigning ScoreGoesUp.asm to a button and pressing it doesn't immediately update the hud as seen in the video unless I leave the screen and come back, only then does it update as normal until the game is reset through death or a power cycle then the strange behavior is restored. This behavior also happens if I comment out all the lines in ScoreGoesUp.asm and create a 'pickup' type monster, only when leaving to a nearby screen and coming back does the game work as intended.

Would love any insight as to what's going on. Screenshot of the UI or code snippets can be provided if need be.
 

RadJunk

Administrator
Staff member
Sure. My *guess* is that the hud element number doesn't line up right.

For instance, if you use HUD Element 3 as the one that shows the variable score, you need to go to Routines\InitializationScripts\InitLoads.asm and update the part that says ///SET UP HUD HOOKS HERE.

You want to make sure that, in that instance, it says

Code:
LDA #HUD_ELEMENT_3
STA HUD_updateScore

This works in conjunction with the GLOBAL_Player1_Score variable, which you should set up as the thing displaying, and the variable being changed.

Lastly, make sure NO OTHER hook is set to update to that element, or it could be overwriting the update.
 

Mihoshi20

Member
TheNew8bitHeroes said:
Sure. My *guess* is that the hud element number doesn't line up right.

For instance, if you use HUD Element 3 as the one that shows the variable score, you need to go to Routines\InitializationScripts\InitLoads.asm and update the part that says ///SET UP HUD HOOKS HERE.

You want to make sure that, in that instance, it says

Code:
LDA #HUD_ELEMENT_3
STA HUD_updateScore

This works in conjunction with the GLOBAL_Player1_Score variable, which you should set up as the thing displaying, and the variable being changed.

Lastly, make sure NO OTHER hook is set to update to that element, or it could be overwriting the update.

Does it matter if a hud element is setup above it but goes unused? The hud element isn't set to the same number but isn't actually assigned in the hud.

Code:
;;;;;; SET UP HUD HOOKS HERE:
	;; what number element does it use?
	;; Set your created hud variable to #HUD_ELEMENT_x
	LDA #HUD_ELEMENT_2
	STA HUD_updateHealth
		
	LDA #HUD_ELEMENT_4
	STA HUD_updateScore
	
	LDA #HUD_ELEMENT_6
	STA HUD_updateLives
	;;;;;;;;;;;;;

Element 2 is never displayed.
On first boot, or anytime the reset routine is called then pressing the button or picking up an item doesn't set the score in real time, but leaving to another screen or returning to the previous screen then it does update the score in real time as intended until a reset is called. So the routine works as shown, just not on initial startup.

Update: Okay, with your help pointing me in the right direction I commented out the unused element and the score updates as intended! Many thanks for the heads up and jumpstarting my wheels turning! It seems you can't just have elements hanging out unused.
 

RadJunk

Administrator
Staff member
Hm. First boot may be able to be fixed...there is a code HandleScreenLoadHudDraw. Try ORing in the HUD_updateScore - but it should already be there. You should be able to look at it and see exactly what I mean. That SHOULD update it upon loading a screen.

I'm confused about what you're asking above. Are you TRYING to show Element 2 and it's not working, or are you trying NOT to use a health variable? Either way, it should not be a culprit. Though if you don't intend to use it, try commending out ORA HUD_updateHealth in the code I just mentioned...but it shouldn't have anything to do with it.

So the VARIABLE amount of score is loaded into element 4, then? It seems like the variable is working, but not real time update (these are handled separately...you can easily change graphic data when changing screens, but real time updates mid frame are much harder, which is why they're handled separately...the former can happen in line at the time you want it to, the latter can happen ANY time throughout gameplay, so it ends up getting cued and waiting for the next available update frame).

Again, this is hard for me to tech beyond what's shown in the tutorial. The reason I think it has to do with the STA HUD_updateScore or something related is because the variable IS being affected, it's just not showing, and that's the piece of code that determines which of the hud elements needs the update.
 

Mihoshi20

Member
TheNew8bitHeroes said:
Hm. First boot may be able to be fixed...there is a code HandleScreenLoadHudDraw. Try ORing in the HUD_updateScore - but it should already be there. You should be able to look at it and see exactly what I mean. That SHOULD update it upon loading a screen.

I'm confused about what you're asking above. Are you TRYING to show Element 2 and it's not working, or are you trying NOT to use a health variable? Either way, it should not be a culprit. Though if you don't intend to use it, try commending out ORA HUD_updateHealth in the code I just mentioned...but it shouldn't have anything to do with it.

So the VARIABLE amount of score is loaded into element 4, then? It seems like the variable is working, but not real time update (these are handled separately...you can easily change graphic data when changing screens, but real time updates mid frame are much harder, which is why they're handled separately...the former can happen in line at the time you want it to, the latter can happen ANY time throughout gameplay, so it ends up getting cued and waiting for the next available update frame).

Again, this is hard for me to tech beyond what's shown in the tutorial. The reason I think it has to do with the STA HUD_updateScore or something related is because the variable IS being affected, it's just not showing, and that's the piece of code that determines which of the hud elements needs the update.

I got it worked out thanks to you pointed me to the right area, I wasn't using element 2 for anything but had left it in the code. Seems that was throwing a wrench in everything as it looks like you can't have elements just loitering about. Commenting out the element 2 related lines fixed the live update refresh issue the score was suffering from.
 

RadJunk

Administrator
Staff member
Excellent! Yeah, we're working on a front end solution for this in the hud designer / variable creator that does all this automatically. It's the most sophisticated, nonsensical piece of the engine thus far, but it's cool how versatile it is!
 

Mihoshi20

Member
TheNew8bitHeroes said:
Excellent! Yeah, we're working on a front end solution for this in the hud designer / variable creator that does all this automatically. It's the most sophisticated, nonsensical piece of the engine thus far, but it's cool how versatile it is!

Yeah, code weaving is often like casting a magical spell. Amazing when it works buy one mispronunciation or added words and instead of lead into gold you suddenly have a portal to the void have have to figure out what went horribly wrong and turn to the dark arts of debugging. I'm happy to have found this gremlin now and saved you about a billion tech support messages on the same issue later down the line. LOL.

I for sure am looking forward to doing more with the variable image setting, not just for quick weapon selector or indicators, but also for changing a portrait to show a quick hurt animation.
 

Rob Burrito

New member
Mihoshi i think you and dale might be the only two ive seen at least on the forums to get this far into the pi empty tutorials moving on to 13 i think it's up to 17 views, i've watched all of them twice so far so looks like only a few beta testers have taken it on so far. i'm catching up, and also had some issues with the end of tutorial 12. for some reason after changing HUD assets i was getting test compiling error and windows error (given key was not present in the dictionary) . the 'given key' error seems usually tied to and fixed with deleting the previous text from the HudElement, and the compiling error was tied to the 'selector' Hud Asset. was able to compile after removing the bottom of the 'selector' asset, which was noted as an issue area already. got through it with a resized 3x2 selector box to move on. noticed changing assets is really problematic, so definitely save state before and during Hud work! gotta nail it first time haha, hopefully fixed on an update, believe Joe mentioned it's a known issue.
 

Rob Burrito

New member
the other anomaly i've seen with testing this one is that moving the player to the first (top left) tile of the screen will register a hit to the player. monsters can also roam to and from that tile without effect. in the demo, blocks are placed on that tile so not sure if anyone caught that yet. this occurs on blank screens or screens with other setups that do not have a tile there, and happens on screens with or without monsters. seems to be a constant for that tile address if that helps, on the overworld screen tile info, it reads null walkable, and writing over with a grass tile (null walkable) has no effect.

**edit** in working through video 14 i found that it's true tile 1 will register a hit if the previous screen had monsters on it. when placing pickups only, the next and future screens would not register a hit, but instead increase the score (by three). standing on the tile increases score rapidly, and is always increased by three no matter how many pickups were placed. another screen load remnant bug goin on there with monsters loading a collision value onto tile 0x0. *this also carries over with triggered screens too, with triggered monsters and pickups, seems to take whatever was on the previous screen and repeats it until it changes from pickup collision (score) or monster (hit)
 

dale_coop

Moderator
Staff member
Oh wow, Rob Burrito, didn’t know for the 0x0 tile and collisions issues. I am curious too, I will do some tests.
Thanks for sharing that.
Of course, as every software, code, there are bugs, glitches... Joe and Josh (and, as I like to think, us nesmakers) try to make them as few as possible, find the most dangerous / gamebreaker ones.
But there will be always small bugs somewhere, we have to accept it and deal with some of them.
<3
 

dale_coop

Moderator
Staff member
I played again with the pi empty beta, and managed to make a platform game, animations right/left OK, jumps OK (even ladders OK).
Small video: https://youtu.be/nTAwG6ZG1MM


PiEmptyBeta_plateform.png
 

Rob Burrito

New member
awesome dale! yeah i'm gonna try to go through from memory and make something playable next. agreed the crew is doing a great job on the tool, just reporting and isolating the issues as much as possible to help debug, and post for solutions for other folks who may run into the same issues while working through the tutorials. it's what we paid to be able to do! i do fully test every bug i find, and bigger ones i typically will try from a scratch build and run through as many variables as i can to give as detailed report as possible. apologies if any bug reports seem informal. try running a restaurant sometime and see how error report levels of logic and courtesy are handled by the public lol. joe seems to be off easy so far with just folks telling him how to run a business ('the way you're doing it is stupid' ...it's endless) and eating bags of dicks is public insult 101 (especially for online comments, a direct message was generous!) i think mihoshi shared the sentiment of rather find and work through this with a small group that understand there will be bugs, vs after release, answering the same thing endlessly, or all the headaches that come with releasing patches to folks who choose not to read the directions haha. loving the tool so far, tons of potential and the support for a beta has been amazing.
 

Mihoshi20

Member
Rob Burrito said:
awesome dale! yeah i'm gonna try to go through from memory and make something playable next. agreed the crew is doing a great job on the tool, just reporting and isolating the issues as much as possible to help debug, and post for solutions for other folks who may run into the same issues while working through the tutorials. it's what we paid to be able to do! i do fully test every bug i find, and bigger ones i typically will try from a scratch build and run through as many variables as i can to give as detailed report as possible. apologies if any bug reports seem informal. try running a restaurant sometime and see how error report levels of logic and courtesy are handled by the public lol. joe seems to be off easy so far with just folks telling him how to run a business ('the way you're doing it is stupid' ...it's endless) and eating bags of dicks is public insult 101 (especially for online comments, a direct message was generous!) i think mihoshi shared the sentiment of rather find and work through this with a small group that understand there will be bugs, vs after release, answering the same thing endlessly, or all the headaches that come with releasing patches to folks who choose not to read the directions haha. loving the tool so far, tons of potential and the support for a beta has been amazing.

Dealing with the public is never fun and I hope Joe was really anticipating a few bad eggs to come along, if anything it's inspiration for Troll Burner 2. LOL! But yes, it seems that the Minecraft method and Steam's Early access along with today's instant gratification/want it now mentality has warped the perception of what the beta process is about and expectations for it. Bugs are expected, as are wanky UI choices, not to mention having to start a project you've spent weeks on over from scratch because a UI or code change broke a lot of things. That's the price of getting to use software early. We are the early pioneers charting the course even if the waters are a bit rough to help smooth out the user experience before the general public gets a hold of it. To squash the bugs and suggest tweaks to the UI.

Most people who complain about not getting access to the beta are the ones who wouldn't be happy with it's beta quirks anyways.
 

Rob Burrito

New member
Any chance we can get a set of challenges for this tutorial for extra credit? Make something scroll, add the new path code and make a unique background path, hmm horrible game that has a night time random switch curse? Give us something to debug haha
 
So if I read the last few posts correctly there are but a few testers still hanging in and testing? How many were there? I've kind of put all my NES maker ideas to the side and was waiting for a final release before picking it back up. I am guessing the release in August won't be the final one and is still going to be buggy, maybe a useful tool for someone with a good grasp of assembly knowledge but still limited on it's own. It will be what it will be I suppose, I don't feel very hopeful of seeing any of may game ideas come to fruition. :p I guess it will be fun to play with for a while and see what I can manage to put together, glad I didn't commission many famitracker tunes, best to wait until there is a game which needs music.
 
Top Bottom