News:

11 March 2016 - Forum Rules

Main Menu

So, what's the deal with hardcoding?

Started by McKnight, July 10, 2022, 10:46:33 AM

Previous topic - Next topic

McKnight

Does anyone here know how hardcoding works?

Like, I recently hired someone on Upwork to mod five different games, starting with Disgaea 1.  From what he told me, a lot of it is hardcoded, which means that only the original developers can hack into and modify it.

Given some stuff I mentioned on Dreamwidth about our interactions thus far, though, my mother and sister already suspect him a scammer, and that leaves me wondering if it's any coincidence that someone claiming himself an expert modder was not able to modify the very first game I set him up with, and had also run into certain issues with the next game, Epic Battle Fantasy 4.  Is there really stuff that's outright impossible for anyone except the developer to hack into, or might he just be trying to do as little work as possible in exchange for money?

Has anyone here ever attempted to mod anything in any way that turned out to be impossible?

FAST6191

Still find this paying others to do things from these circles for you very dubious but your money and legal issues I guess.

Don't know if that is a different definition of terms between areas or something else.

If someone asks me to hardcode a cheat then I will assume they want the cheat patched into the ROM such that it runs on emulators/hardware without any cheat support built in. More classically some of that might fall under trainers but I will skip that for now.

Charitably speaking the person replying to you might have assumed that the stats or whatever you wanted was in fact in nice easy to edit ini files or equivalent, or reached out and touched with developer provided modding tools (some of the PC stuff being quite extensive and having been so for many years, hence they rather large detachment between sites like this and https://www.moddb.com/ despite both nominally being about modifying games) and instead found that it was all buried deep in code*.

*in some cases people will make a distinction between stuff made within the game's own scripting language and things that are baked closer into the code (easier to colour outside the lines of the scripting language, possibly quicker to code, possibly quicker code in the end... many reasons to not do it or take the hit in easy of change, readability, porting and other things that such a course of action entails). If you have continued with your learning to code thing from another post was it then think something like how you can multiply a value by 2 quite happily in code, if however you multiply the value by an additional variable it becomes easier to change when the boss comes back and says I am not feeling 2 so let's do 4 instead and you found you have to go through and change say 20 instances of multiply by 2 however it was quicker to do that rather than define another variable in the code. Not quite the same but close enough.

The cases where someone around here would make such a distinction are also very very very limited and with some very specific underlying reasoning, none of which was made evident in your post (though we are now what third hand with an invested party so who knows).

As far as "Has anyone here ever attempted to mod anything in any way that turned out to be impossible?" then there are three scenarios.

1) The developers employ some kind of encryption (which is usually considered a challenge to be overcome, though might trip up someone not so hot at hacking. This is also very rare on consoles, especially one that provides any kind of challenge, and instead is seen more in PC games) or even remote calculations (see also cloud gaming and many online only titles)

2) You try to do something flat out impossible. No your NES is not going to play the latest system grinder PC game, and if it ever does it is only because someone put basically a video streaming through the device making the NES a glorified video switch and maybe controller adapter which most would say does not count in this discussion**.

3) You try to do something that is potentially technically possible (see all the things people have ported to other consoles over the years, emulators people make for weak hardware and so forth and how impressed people are that it happened) but the amount of time required pushes it into several years of full time work and possibly more skills than you have (either now or potentially ever).

**lines can get blurry -- see MSU-1 for the SNES, various "adapters" to allow you to play other consoles on far weaker devices (mostly just hardware based emulators that use the base console for power and maybe controls), the enhanced flash carts for the DS (supercard dstwo and ismart mm being the most noted, them running dingux means you can just about get PS1 emulation going on and way better things than stock DS hardware a lot of the time), some of the stuff with sega cd/mega cd "emulation" with new megadrive flash carts, some of the stuff using a raspberry pi to act as an amiga CPU (as in speaks to all the same pins with the rest of the amiga being stock if you wanted, https://www.youtube.com/watch?v=ouakRDHisew for a nice overview) which brings in a whole raft of possibilities. Some people might also debate the validity of some of those as options in this, and I can stand to hear them, hence blurry.

Scammer is a distinct possibility then, more generous then he might have become a dab hand at using tools provided by devs to make mods on PC games (enough are similar enough that you can switch between them with only a small learning curve) and maybe a few cheats along the way and either assumed nobody goes beyond that (this entire site waves hello) or realised the time investment might be more considerable than is justified by what you are offering (and one that can reasonably fiddle with assembly on unknown programs to make changes usually commands a not inconsiderable sum if this is going to be industry paying).


MysticLord

Someone should merge the replies.

Modding a game can take any of a number of forms, from editing tables* (easy) to changing snippets of already existing code (moderately hard) to reverse engineering the game back to it's source code (fantastically difficult).

All things have limits, and some degree of difficulty in altering those limits.

I don't think this guy is necessarily a scammer, but it's likely your goals are unrealistic. You should list the games that you want to mod and add a short blurb (1 or 2 sentences) to each with what you want to do. We can tell you what's easy or not, and you can pass this info (and this thread, after the posts are merged) along to your guy.

* things like weapon power, spell cost, and so on

slidelljohn

#4
Quote from: McKnight on July 10, 2022, 10:46:33 AMDoes anyone here know how hardcoding works?

Like, I recently hired someone on Upwork to mod five different games, starting with Disgaea 1.  From what he told me, a lot of it is hardcoded, which means that only the original developers can hack into and modify it.

Given some stuff I mentioned on Dreamwidth about our interactions thus far, though, my mother and sister already suspect him a scammer, and that leaves me wondering if it's any coincidence that someone claiming himself an expert modder was not able to modify the very first game I set him up with, and had also run into certain issues with the next game, Epic Battle Fantasy 4.  Is there really stuff that's outright impossible for anyone except the developer to hack into, or might he just be trying to do as little work as possible in exchange for money?

Has anyone here ever attempted to mod anything in any way that turned out to be impossible?
I wouldn't ever give out money until the job is complete or at least they should have some sort of acceptable progress for them to get a draw from the agreed amount. Sounds like that person doesnt have enough skills for the job and I would look into different options.

Now the hard coding could be many things. One thing that it could be is a pointer to a group of data.

The pointer can be data which is easy to change. Here is a example of a pointer that is data:
fc 67 c6

Or the pointer can be written in assembly. Here is a example of a pointer that is code:
A9 FC 67    LDA #$67FC             
85 8D       STA $8D    [$00:008D]   
E2 20       SEP #$20               
A9 C6       LDA #$C6               
85 8F       STA $8F    [$00:008F]   

You could say the pointer that is written in the assembly code is hard coded.

McKnight

Quote from: MysticLord on July 10, 2022, 03:20:38 PMSomeone should merge the replies.

I posted to the other board before realizing that this one would be more appropriate for a question like this.  Went back to the former to edit to a dummy post and redirect, but then Jorpho replied to that one anyway, so I reverted it back.

Quote from: MysticLord on July 10, 2022, 03:20:38 PMI don't think this guy is necessarily a scammer, but it's likely your goals are unrealistic. You should list the games that you want to mod and add a short blurb (1 or 2 sentences) to each with what you want to do. We can tell you what's easy or not, and you can pass this info (and this thread, after the posts are merged) along to your guy.

I actually do have such a list on Google Docs, but it is highly detailed.  All I did on Upwork, though, was list the games and specify ASM modding above, since what I want for each game differs (w/ some overlap between games).

MysticLord

Quote from: McKnight on July 10, 2022, 06:25:38 PMI posted to the other board before realizing that this one would be more appropriate for a question like this.  Went back to the former to edit to a dummy post and redirect, but then Jorpho replied to that one anyway, so I reverted it back.
Just flag the one you want merged with an apologetic note to the mods and they'll do it.

Quote from: McKnight on July 10, 2022, 06:25:38 PMI actually do have such a list on Google Docs, but it is highly detailed.  All I did on Upwork, though, was list the games and specify ASM modding above, since what I want for each game differs (w/ some overlap between games).
Well post them, this is called romhacking.net for a reason.

Whether or not something requires asm hacking or data editing depends entirely on the data. Until it's located and documented you don't know if you're wasting your time with asm hacking, which is an order of magnitude more difficult and expensive than data editing.

KingMike

Well, that's just one of the reasons I would never pay someone for making a mod.
You don't know if they actually know what they're doing.
If they tell you "only the original developers can modify it", that's probably an excuse for that it probably requires skills they don't have, and don't want to learn.
"My watch says 30 chickens" Google, 2018

tygerbug



ROMhacking can be difficult, and if you're paying some random person to do it like that, they'll probably pretend they can do it, realize it's difficult and deliver nothing.

Nightwolf

anything in a rom is going to be hardcoded, since nothing is exposed outside of it to be edited (like a .ini file for example), unless you have a editor for that. But that editor what it does, it changes these hardcoded values.

Sanedan56

Hardcoding is essentially information that the game specifically expects, i.e., a certain enemy's stats are coded in instead of using a table.

dawnbomb

I actually know the TC and, feel like adding my two cents.

They brought me on (or tried to) after i saw two of their requests, and i wanted to look at the full request list. It's actually a incredibly long list of lots of games and asks, and every single one of them is without a doubt a challenging full new mechanic with new menus for it that all very technical. Most of their requests, although not as time consuming, are considerably more difficult then making english patches for japanese games.

The reason their not posting the list is because they probably don't feel like getting shamed out of the community by toxic coders that would give obvious "that an unreasonable ask" replies and call them slurs, but that doesn't at all actually make someone not want what they want. All of their asks ARE difficult, but many of them are the kind that actually look doable, and it's clear they are trying to pay people because all their requests are the kind where someone would just automatically reply no and move on, but an automatic no doesn't actually get them what they want. They must have spoken to a number of people and tempered their asks appropriately, their all "no way any novice could potentially do this" but not strictly impossible tier, just require immense time and effort, or more likely luck of having the experience needed to do any of them.

In the end i feel for them. They know their asks are difficult, so their trying to pay people to even attempt to take a serious look, but their all so hard most people will go "yeah no way" despite the bounty. If we look at bounty posts historically, their usually pretty ignored for super long times, until the original poster removes them, so i think it's kind of unfair to look at someone frustrated by the state of things and simply want 'more' and trying to pay people to get it.

Tygerbug's post is kind of accurate, but for me i came in thinking "oh thats not SO bad, how about the others" and very quickly went "you would obviously not only need to pay people, but pay way more and even then it's only a chance anything happens". I dipped out because i'm simply not skilled enough, but it's clear anyone without explicit training or history doesn't stand a chance in hell at those asks. It's not the kind of stuff you can just open 010 editor and change some data around, you would need to at minimum be able to ASM hack, and even thats generous.

I'll end my post by saying, lets just remember how it feels to want something really badly even if it's hard to do or get. Just because were talking game design / modding doesn't actually change that feeling. I'm sure they feel very frustrated and disappointed that it's so difficult to find any assistance.

Bonesy

If they posted the list the only thing that would probably happen is it would be moved to the hack ideas thread.

This situation is unfortunate but traditionally around here money is not bandied about, at least not in public.

MysticLord

#13
The worst thing that will happen if you ask a bunch of questions that turned out to be impossible or stupid is that you have an opportunity to get into an argument and piss off the guy you're arguing with. If you enjoy flaming people who flamed you first then eventually you'll get really good at it; afterwards the internet is your playground.

I understand that other people are not as unpleasant as I am, but I'm still around and many of the people who told me I'm dumb quit rather than argue with me. The only way to get better is to start.

tl;dr

Imagine this scene but instead of shooting autism beams out of my forehead I'm exchanging slurs with other people.