Making NES Game #18 : will it work on Nesticle ?

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] hey what's going on Gamers it's not that much left until 2024 so before the year ends I wanted to make a video and tell about the latest changes in my game but first I really wanted to thank all of you for helping me to reach 1,000 subscriber Milestone I still can't believe I have 1,000 subscribers had no idea people would be interested in watching videos about some guy rambling and broken English about some boring game he makes for a 40-year-old system no but seriously thank you guys it's the best Christmas present for me okay now let's see how my NES game is doing as usual if you want to check it out for yourself you can grab the ROM from the links that are in the description my last video comments help me to realize that the entrance in the cave that leads to the crash site looks more than some sort of a glitch than an obvious destination where you need to go so I just had to fix it as soon as possible I decided to move the cave maps to the same bank as the alien base so these Maps would also use the same tile set as the base this way I could add more Graphics to the cave since I could not add any new tiles to the main tile set I gave the cave a makeover of some sort so now you can see the light seeping through where the entrance to the crash site is so you might wonder what the heck is it and hopefully you might want to go there I needed to somehow explain who lived in the house that is now taken over by our main character where the heck is this person so I added a room to the left of the Cave's entrance and put some items there but also the remains of an unfortunate guy who ventured to the cave so he's the owner of the house this is an actual NPC here but a different kind the one that doesn't move but it moved at the beginning while working I realized that cheat codes can be really handy you don't need to open the debugger every time you want to add some item to your inventory you can put the code in like the immortality or the item you need and do the testing that way I've never tried to create Game Genie codes before so it was something new for me as you probably know the game genie was an unofficial Hardware add-on that led to to modify your game's ROM memory by entering a code that consists of six or eight characters first I tried to come up with a six character code that grants me immortality so I needed to find a place in my assembly code where I could change a single bite to achieve my goal but apparently due to the fact that my game constantly switches Banks my code didn't work so I tried to create a eight character code this longer code has a comparison bite which used to compare the contents of an address you want to change for some reason this didn't work as well perhaps different banks had the same value at the same address anyways I did not want to mess around with Game Genie codes any longer why can't I just make a simple raw code that modifies not the ROM but the RAM memory it would be much easier because I would be modifying the variable values that are in the RAM and not the actual code that's in the ROM so I came up with two codes first one grants me immortality and the second one adds an Hammer to my inventory that I could use to clear the entrance to the crash site actually this last code can be modified to get you any item you want I don't know though if it's possible to use these codes on the ever drive but it's quite easy to apply them on a decent emulator like Meson while testing I found a huge bug well I was aware of it before but for some reason I didn't do anything about it at some point I even believe that I fixed it but unfortunately no it was still there and it was the radio at the crash site or to be exact the lack of it imagine you suffered everything that the game threw at you and you finally reach the crash site you see that the the end goal item is missing well well you might not even have a clue that there's supposed to be something there like okay you found the plane but now what the radio was missing because of the flawed item respawning the radio wasn't stored in the ram as a fresh item that wasn't taken by the player so the game thought that it was already gone and didn't spawn it to fix the issue I arranged my locations in two groups one group that has responible items and the second one that has not so if the location doesn't have respawnable items like the crash set in this case then the respawn routine would not be activated and the items will definitely be there when you enter that location for the first time also talking about the crash S I added an additional screen to it so when you enter from the Cave the plane is no longer straight into your face you need to go a bit to the right as I promised in my last video I wanted to fix how the NPCs are facing the player while attacking previously the problem existed because the NPCs only had four Direction frames but they could have one of eight movement directions so usually if an NPC had some diagonal Direction the game would not know which frame to use and would pick the worst frame possible so now before the NPC starts attacking I'm trying to pick the best frame for the current direction it has of course it's not perfect now but I think it's a bit better guess what happened next I ran out of free space in the main bank again so once again I needed to figure it out how to free it up mainly by moving chunks of code to other Banks without causing major glitches at this point I already knew that it's impossible to keep certain banks for like like specific things I had before for instance a separate bank for menu screen and separate bank for the audio now everything is getting mixed up together for example I moved a reasonable amount of code that doesn't have anything to do with menus to the bank that was previously used only for the menu screen talking about the menu screen I decided to get rid of the manyu options that are inactive or not working for instance like the store option when you're outside of your house or the cook option when you can't actually cook anything and so on I hope that's going to make the menus less confusing and reduce the decision fatigue so you no longer need to ponder what would happen if you pick a cook option when the food is already cooked then I spent some time on the quests not sure if it's a good idea but I really wanted to force the player to complete every quest for each villager or at least to talk to all villagers the best way to do that in my opinion was to stop incrementing the quest index until a special Quest is complete for that villager so the Villager would remind you that you need to complete his or hers special Quest previously the single special Quest was the delivery of a pie from Hedgehog lady to the granny now I added two more special quests one where you deliver a jar of jam from granny to Bjorn and the second one where you bring a letter from the cave that is written by that missing villager you need to deliver that letter to Hedgehog lady unfortunately you can't read the letter yet but I'm working on it so most of these special Quest must be completed before the last fourth villager Quest so for in instance if you don't deliver the jarif J to bjn you won't be able to activate the final quest where you get the Hammer as a reward and you won't be able to reach the crash site and complete the game then I decided that it was finally time to fix a very old issue where the color attributes are not restored after you close the menu screen sometimes after closing the screen you might encounter some weirdly colored areas but most most of the times you might not even notice that something is wrong mainly because the map looks the same everywhere so I guess that's partly the main reason why I ignored this issue for so long and also partly because the screen restoration code was so big and insanely convoluted I literally had to sit down for a day and carefully read every line and even leave comments after each one of those lines because I already could no longer tell what's going on there it felt as if I was trying to clean some abandoned basement of some insane hoarder the final result even though it might not be as noticeable to you but to me it felt really satisfying as if I achieved something awesome I also discovered that I missed few bugs that were related to the fishing rod first of all you could cast the fishing rod inside of the alien base as if it's some kind of a giant Lake and also you could equip some other item while the rod is already cast it it was too funny and I could not understand why I missed that also you might know that I had more than one complaint about the food stat how it's running out way too fast and it's impossible to explore anything without dying from Hunger I mean what what did you expect you're playing the game called cold and starving come on it's the game about starving to death okay I'm kidding I'm not that heartless but I'm not that good at balancing games either the main character has this super fast metabolism mainly because at the beginning there was not much to do but hunt bunnies and eat them now I try to reduce the hunger speed also I made that it would be possible to get food points by eating raw meat I kind of didn't want to add that early because I didn't want to create a zombie simulator where you Chow Down on Raw bunny inerts still eating just the raw meat is not a very good strategy it might just save you in very dire moments lastly I got very nostalgic about an old emulator that I used to play in es games on my first PC it's nesal I don't know maybe some of you also used it in the '90s I was really curious could it actually run my game surprise surprise it could not the game crashed just after the intro cut scene what's also interesting the same behavior could be observed on the NES emulator on the Nintendo DS are they somehow related sure I had no intentions to fix my game so it would work on some ancient emulator but I was really curious why I game so special and doesn't work I don't think I am doing something extraordinary here it appears nesticle could not properly emulate the Sprite Zero the Sprite Zero is the first Sprite of the 64 Hardware Sprites that the NES has the Sprite can be used to achieve such things as this status bar in my game you simply load your hood tiles and place the Sprite somewhere in your HUD and then you only scroll the screen when the scan line is collided with this Sprite for instance in super Super Mario bras this Sprite is this coin you can see in the top of the screen so this way the status bar cannot be affected by the scrolling and would stay in the same place as soon as I commented out the code that waits for the Sprite Zero Collision my game started working of course only the status bar no longer remained stilled while the screen was crawling [Music] you might ask how come other NES titles work on the nesticle without such issues it looks to me that this emulator simply went through the ROM and searched for a particular pattern of code and then tried mimicking the behavior of the Sprite Zero but it wasn't the proper emulation apparently it does not like the code that I put at the beginning and at the end of the nmi where I push register values to the stack it seems most of the old NES titles didn't do that if I remove those instructions the emulator would start detecting that I actually have a HUD at the top of the screen and I even managed to get the episode 2 code running almost flawlessly unfortunately it was impossible to achieve same results with the later iterations of the game so yeah looks like I won't be able to play play my game on this emulator after all but it was really fun to mess around and that's all I wanted to share if you're interested in my further progress and when the heck this game will be finally finished then please subscribe the channel so thanks for watching and I will see you next year bye
Info
Channel: Memelvar
Views: 755
Rating: undefined out of 5
Keywords: NES, famicom, gamedev, devlog, development log, assembly, Nesticle, emulation, sprite 0
Id: Jrf5PwthjOQ
Channel Id: undefined
Length: 14min 49sec (889 seconds)
Published: Sun Dec 31 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.