News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - PolishedTurd

Pages: [1] 2 3 4 5 6 7
Programming / Re: Disassembly + Re-assembly of NES roms
« on: July 29, 2020, 10:41:59 pm »
This is an impressive effort that I hope you find enjoyable. It seems daunting, based on both the amount of background knowledge you'll need about NES hardware, and the amount of detective work involved in understanding any particular game. My anecdotal impression is that people tend to follow through on something this large when they have a clear goal, which is generally related to a specific, beloved game. For instance, there is someone on the forum who completely disassembled Toejam and Earl for the Sega Genesis on his own.

If you come up with something generalizable (i.e., a process or utility for a range of games), I'd love to see it. But that is an order of magnitude beyond disassembling a specific game.

I suspect that by the time you've spent months with a particular game, you'll be so familiar with the blocks of code and subroutine addresses that you won't need disassembly to recognize them.  8)

Good luck, and let us know what you find.

For any RPGs that have random enemy encounters, a way of resuming the music close to where it was right before the encounter. This could be handled by:
  • Pushing the track pointers and state of all sound registers at the time of the encounter, and restoring them after the encounter
  • Storing multiple states of songs at a convenient point to resume (such as, at the start of a new section), and resuming the song from one of these states based on where the song was interrupted, or even just round robin
  • Storing duplicates of entire songs / track pointers in different sequence of song sections (e.g., the first duplicate of the song starts in the middle instead of the beginning) and cycling between them after each encounter
It really gets on my nerves hearing a song start over again and again. My most painful recollection is with Phantasy Star 3 dungeon music, which probably prevented me from finishing the game. Phantasy Star 2 wasn't innocent either, and I loved the music, but the repetition drove me nuts.

I always liked a platformer that "catches" but allows you to fall through if you want, namely by holding down prior to pushing the jump button. That's how it works in Contra, right? In CV, if I want to go back to the lower level, I'm disappointed to walk all the way back down.

Would it be possible to catch the player if (for example) the player is holding up or A while descending in the air to the level of the stairs, and otherwise allow the player to fall through? That way, getting hit on the stairs adds a small danger element, forcing you to hold the "latch" button during the knockback or else fall through. And if you want to fall through while on the stairs, you can just jump straight up while not holding the latch button.  8)

ROM Hacking Discussion / Re: Question about making a Kirby randomizer
« on: June 07, 2020, 06:12:06 pm »
The way this generally works, there is a number that corresponds to each type of enemy, and it is used as an index into an array. The contents of the array at that index will indicate what power will be granted. I'm not certain that's how this game is set up, but that's the general approach. A variant I've seen in one of the Batman games is to index the enemy attributes by what sequence they appear, not by what type they are, but that seems contrary to how Kirby works.

As Fast6191 suggested, if you set a write breakpoint on the register containing Kirby's power, you will see what is being written into it. If you do a trace to that breakpoint (or, less reliably, scroll up in the symbolic debugger), you will see how the value being written is chosen. In general, it will either be a lookup (offset from a memory location) or some conditional logic (if enemy # is A, power is B). Of course, you will need to build the list of values for powers and the values for each enemy type, and then you can describe the relationship between them numerically, which is what your program will ultimately do.

This looks beautiful. I can tell you have put a lot of heart into the project.

I like how many of the tracks have an evening theme. It complements the sunny style of the original.

My siblings and I probably spent more time playing SMK late into the night than any other game, so it's special to me. This looks like a wonderful sequel.

One thing the N64 version improved is that question marks regenerate after just a few seconds. If I recall, they only regenerate in SMK once the last one has been picked up. There were some long, boring battle sequences as we scrambled to find that last prize. It probably applies in GP mode as well. I would humbly ask you to consider adding this feature.

Edit: And about 5-10 seconds of invincibility after getting hit with a shell in battle mode would be great. It is easy and cheap to "target that explosion and fire," as we always used to say.

Looking forward to playing this!

I'm fascinated by "blind" Mario Kart and hope to try it soon. I will work with SNES Mario Kart because it has a nice looking editor. @Janagirl, here are my ideas. Please let me know if you think they will work for you.

  • Simple track layouts, such as rectangles and triangles, at least to start with. The game seems to force all tracks to be a loop. Unless I could figure out how to manipulate where Lakitu puts you when you fall off the track, I don't think a straight track is possible.
  • The center strip of the track is asphalt. This makes no distinct sound when the kart goes over it. To the right of the center strip is mud, which makes a squishy sound and slows down the kart. To the left of center is grass, which makes a rustling sound and slows down the kart. So you know, based on what you hear, how to adjust the facing angle of the kart.
  • Turning is handled with the L and R shoulder buttons, which hop the kart by a discrete angle (say, 15 degrees) in that direction. No D-pad necessary.
  • Prior to a turn, there will be a series of regularly spaced bumps on the track. These will tell you how many times you need to hit the turn button to complete the turn. For example, before a 90-degree turn, there would be 6 bumps. You will know it's 6 when you do not hear a 7th bump, and at the time that would be the 8th bump, you begin turning, using the same amount of time between hops as you heard with the bumps (I got this idea from NES Rad Racer!). This will be much easier if you are a musician, or you know Morse code, or you otherwise have a good sense of timing. If you can play a fighting game blind, you probably have a good sense of timing.
  • Turn direction will be indicated by another surface sound prior to the turn, such as wood for right turn and gravel for left turn.
  • Tracks will have no obstacles or pits to drive into. I will have to disable the AI abilities, such as Yoshi's egg and Bowser's fireball that they can drop on the track.
  • Item probabilities will be manipulated so you only get useful things. Red homing shell, star, lightning bolt, mushroom... No green shell, banana, feather, coins.
  • When you get an item, it will make its distinct sound to tell you what you got.
  • I have not figured out how to indicate your finishing position in a race. The music tells you if you won or did not win, but there's no audio cue for differentiating the other positions from each other. Perhaps a sound effect can be iterated at the end to count your position.

If I think about playing Mario Kart without seeing it, there are just a few sounds that could make it feasible: a sound to indicate how far the kart is from the center of the road at the current location (and which side of center the kart is on); a sound to indicate which direction the road will soon be turning and the sharpness of the turn, proportional to the kart's velocity; a sound to suggest the player's facing direction, or perhaps the angle of deflection from the vector of the road; and a sound to suggest the proximity of enemies, which is effectively already handled by the unique engine sounds and character voices in MK64. It would almost certainly be necessary to use headphones to reliably use stereo sound for spatial orientation.

Unfortunately, I don't know how to do these things, but it seems like most of the mechanisms are already in the game. Lakitu tells you when you are facing the wrong way. Perhaps his little siren could blare very quietly if you are sightly off center and get louder as you angle farther off course. There is an overhead map representation that could be referenced to "see" the curvature of the track ahead. Different surfaces of the tracks make different sounds. Perhaps the center of the road could be asphalt, then on either side of that some sand, and either side of that, the rattling wooden planks. In automobiles, drivers instinctively pull away from the edge of the road when they hear the rumble strips on one side, so it's the same idea.

People have defeated Mike Tyson's Punch Out while blindfolded, and they did not have the heightened senses that blind people tend to develop. So this seems well within the realm of possibility.

This would be a fun project to work on.

Hi members,
my idea will sound very strange to you, but I'll try it because it would be super for me.
My problem is that I'm totally blind and I have no sight. But it's still possible for me to play video games, but only 2d fighting like mortal kombat (which I love most) or street fighter.
As I looked through the hacks I found many for super mario kart for snes and I think three for mario kart 64 for the n64.
Now my idea: wouldn't it be possible to create a patch for the called two games so that the games are accessible for blind persons? The kart you are driving had to steer itself only. Or another choice, the tracks had to be straight. And perhaps a sound to know that I'm ready to fire on an opponent.

Do you think that would be possible? I really would love playing such games if it would be possible.


ROM Hacking Discussion / Re: Zelda II Title Music - VRC7
« on: May 19, 2020, 09:58:43 pm »
This is a cool project. The VRC7 sounds so beautiful to me. I would love it if there were a generalizable way to import an engine and songs into a ROM, even if it requires changing the mapper or expanding the ROM. Especially if the songs could be constructed on a reasonably modern platform.

I haven't played Lagrange Point yet, but I will play it one day, just for the music.

NES Arkanoid supported a special controller with a wheel and button, effectively a one-dimensional mouse. If the menu could be plausibly navigated in one dimension, this would work.

how about adding mouse controls? ie mouse moves the game cursor and click simulates press (this is even better than my idea from before). if it is touchscreen, touch = clicks at the area. is this more complicated to do, are there any emulators that can use mouse like this for point and click games?

For the second category, Sega MegaDrive Lion King -  I always found the delay between pushing the jump button and actually jumping to be intolerable. This is probably a "simple" matter of reducing the number of frames in the animation, or the duration of certain frames.

I never found out if it's otherwise a good game, because I couldn't stand this flaw.

I was wondering if anyone here has made a list of games (specifically NES games, but 16-bit is okay too) that have GREAT gameplay, but POOR-quality art assets? I would think that these would be some of the best games to give a graphics hack, since it would breath new life into something that most people won't touch simply because of the poor art.

A secondary topic would be which games have great gameplay EXCEPT for one or two problems. Jump distance and knock back might be the easiest to fix. Hit detection for weapons (such as increasing weapon reach) or platforms would probably be more difficult but still possible without rewriting the whole game engine. 

If someone wants to direct me to somewhere in this 329+ page thread (or another thread) that would be fine. I already tried Google searching here, so maybe it hasn't been covered yet.

Newcomer's Board / Re: Not a noob but having hell with Xdelta
« on: May 12, 2020, 04:53:48 pm »
I gather you are frustrated. It's not ideal, but someone has helped you solve your problem for free, so you can play ROM hacks that people made for free. Maybe they made a mistake with the submission, but that's how it goes sometimes.

On the bright side, the work you do to identify the problems can help others have an easier time in the future.

That reminds me, in another nod to Grand Theft Auto, I practiced driving the delivery trucks in GTA 3 to prepare for my truck driving test in real life. It was very helpful! It gives a pretty good feel for the turning radius, center of gravity, overhang, and backing up. If it had just included a trailer hitch, it would have been perfect.

I passed the test and felt much less nervous than the other folks.

Grand Theft Auto: Vice City really got me thinking about real estate. You reach a point in the game where you can just joyride from one of your properties to the next, collecting income. It's basically the same message as Rich Dad, Poor Dad, a famous book about wealth. The idea is to accumulate income-producing assets, instead of having a paycheck and buying objects.

Can't say I've figured out how to do that yet, but the game and the book make clear that it's how you can cease to do other people's bidding.

Gaming Discussion / Re: Favorite Castlevania game?
« on: April 30, 2020, 09:16:11 am »
CV3 on the NES. I love the ability to switch characters with wildly different abilities and movement styles. For some reason, I could not get into the anime art style from SotN onward.

Super Castlevania IV always felt funny to me in terms of player physics.

Indirectly, yes. I played a MMORPG for a few years during a difficult time in my life. My job industry was in the midst of a downturn, and my income was cut in half. The game became a way to escape the unpleasantness of my situation, and it was free to play. But the community had become toxic over the years. So many hostile and bitter folks who would post hateful things, or talk endlessly about all the foolish things they had done while drunk and/or on drugs. It dawned on me that most of us would've been better off trying to improve our situation in the real world instead of spending our time and intelligence goofing around in some game world. After awhile, it seemed like I could feel everyone's shame and disappointment, as if we all knew at some level we were capable of much more in life and were letting ourselves down, repeatedly showing up to play this game. But it was so fun!

I quit the game and started volunteering in the community as a math and English tutor. What a world of difference, using my time and skill to help others and connect with something outside of myself, that was more important than just my own entertainment. I studied hard and bootstrapped into a new profession. That ended up being a bust, but I jumped into another field and have been doing better since. The important thing is that I took action in a time when at least part of me would have preferred to play the game forever and not deal with hard decisions in the real world.

I am ambivalent about games to this day. They can be wonderful, but they also short-circuit the rewarding feeling we get from making progress, which can prevent us from making progress in the real world. Maybe it's not like that for everyone, but I have seen it be that way for many people, including a few friends and me.

In the game of Go, there is a strategy aphorism: "Don't go fishing while your house is on fire." This was a hard lesson for me that came from video games.

I've been eyeballing this game for awhile, on my short list of NES platformers that could be reborn with some QoL fixes, refined physics, better AI, and/or better level design. At least on paper, I like the idea of random prizes that don't stick around. There is no memorization of power-ups, you have choice, and getting what you want involves some dynamic skill, which these old games tend to lack.

This game looks so bad that it's good. Would benefit from having the items land on the ground rather than fading into oblivion, I think. That alone would probably be all this game needs.

Gaming Discussion / Re: The Spider-Man games for Xbox 360...
« on: April 16, 2020, 07:52:41 pm »
I have a stack of the 360 Spider-Man games I picked up at a discount a few years ago, but I have hardly played them. Under much tighter time constraints than ever, I just can't stand to watch long cutscenes, FMVs, or worst of all, in-game story where you have to slowly walk through corridors as someone talks to you and you can't skip it or make it go faster. At least one of the games starts that way. I'll wait until I have an injury or something to play them.

I had a blast with Spider-Man 2 on the original Xbox, although any gameplay other than the swinging is throwaway if memory serves me.

I'm just wild about the swinging / grappling mechanic in general. With that in mind, I enjoyed Bionic Commando on the 360 (Mike Patton on the voice! We care a lot!). It got savage reviews and should have been a better game, but I loved swinging around. Played through a few times and beat it at the highest difficultly.

Prototype and Prototype 2 were similarly fun, like a cross between Spider-Man mobility and Hulk destruction. So satisfying to take down a helicopter by tossing a car at it. The second one is funnier than the first, if you have to choose.

The Xbox Live Arcade Bionic Commando was fantastic. Its sequel was trash.

ROM Hacking Discussion / Re: Help color hacking an entire game
« on: April 13, 2020, 03:04:06 pm »
Set your save states just before the end of a level, so that the next level is loaded normally.

Newcomer's Board / Re: So I've made some hacks.. rules for uploading?
« on: April 10, 2020, 02:28:29 pm »
what might be apparently simple numbers to describe can have a profound effect upon the game.
So true. It is not clear cut to me. For platforms that readily support cheat codes or Game Genie, it seems less worthwhile to make a patch to change basic properties, such as lives, health, etc.

On the other hand, I recently wanted a simple lives counter increase on a TurboGrafx 16 game, which is not even listed in the database here. I had to spend a couple hours learning a new emulator and debugging a foreign architecture for a very simple hack that I would gladly have downloaded, and now would gladly upload for others.

Perhaps there could be a place for "simple" hacks, such as in the Hacking Notes section of a game?

I don't know enough about Lua or FCEUX to answer definitively, but I might be able to see some breadcrumbs. First of all, they are not the same error. The first error is about the function "readwordunsigned," and the second error refers to an undefined variable "ppu." Since it is a script, the second error suggests that the first error was not a problem for v2.2.3. Otherwise, the error would have occurred earlier on line 11. The problem on line 15 is that it's trying to ask an object named "ppu" to perform a function called "readbyterange," but the interpreter does not know what the "ppu" object is. So, either there is a version of FCEUX where "ppu" is defined such that it can be accessed from anywhere (like the object called "memory" in the script), or the programmer forgot to define what "ppu" is in the context of that function on line 15.

I would try to find another version of FCEUX that has "ppu" defined like "memory" is. Or manually try to do what the script does...

It appears to be copying swaths of memory into separate files in the dumpData function. The first argument of readbyterange appears to be an offset, and the second argument is a number of bytes, both in hexadecimal. You can easily copy and paste from a hex editor based on these offsets and sizes to create the files yourself. If you are not comfortable doing this in a hex editor, reply here and we can help with that.

Pages: [1] 2 3 4 5 6 7