I'm a bit surprised by the reaction from Paradox - I assume the standard forum mod has neither the time nor skillset to assess whether any game binary patch is going to be safe, so banning them by default seems like a safe way to go, but removing even the discussion of it feels a bit overkill.
So you could say that Paradox is sensitive when it comes to people poking around or pushing boundaries.
Open knowledge is important, especially in video game scenes where elitism is a real issue, stopping people from getting into great hobbies that I'm sure many only got into due to that one person that didn't give in to elitism and bothered to listen and to answer questions.
https://github.com/nickbabcock/jomini.git
disclaimer: author
If you can add an option between Seduce and Romance of “Mine body ages and the offers are few, but my family hath bequeathed land” I’m buying this game right now.
The self-marriage part was pretty hilarious. "Do I take myself? I do!"
People are doing that in real life: https://www.abc.net.au/everyday/why-women-marry-themselves/1...
Of course, it isn't legally recognised anywhere. And I doubt it will be – marriage as a legal relationship between two distinct people has various legal consequences on property law, taxation law, etc – a self-married person is legally indistinguishable from an unmarried person. But no law against holding a party called a "self-marriage ceremony", if your guests are happy to attend it.
Further, not all jumps are equal; while you can certainly patch the assembly and let the assembler manage the variant selection and relocations etc., doing bytecode patching is a different story. You might have to change the jump instruction altogether depending on how "far" away the pointer is.
Also, jumps hold conditions in most cases (the exception being an unconditional jump, JMP) which means that you have to adhere to whatever state is expected at that point in time.
The NOP approach is usually the soundest and safest.
The NOPs as suggested by GP are meant to replace unwanted instructions. The purpose of a NOP slide is to serve as target area for jumps and to guide the flow of execution to a particular adress at the end of the slide, independent of where in the NOPed range a jump was actually executed to.
It's amazing how cheating or tweaking a game can spark a lot of interest professionally.
I also discovered signed/unsigned integers at this time : give yourself too much money in the save file, it overflows, and you end up with negative money in the game...
See: Matrilineal Marriages, Gender Equality, Same-Sex Relations, and Sexuality Distribution
"The core engine" doesn't do what you think it does. It's actually a running joke on /r/paradoxplaza that every time you mention Clausewitz, Meneth (or one of the other developers) pops up to explain this. It just does what every other game engine does, none of the actual game mechanics are coded into the engine. The reason why all Paradox games have so many things in common—a map-based UI, the scripting language, everything else that makes a GSG a GSG—is that game code gets copied and pasted from game to game as they start new projects. None of this is in the Clausewitz engine itself.
Funny thing though, they actually did decide (relatively) recently to centralize a lot of basic GSG functionality in one place so they don't have to keep copying-and-pasting code. The result is a library called Jomini. But this is a recent development; the only games so far that use Jomini are Imperator and CK3. It's a very new library, so it shouldn't have 15 years of legacy cruft in it.
If they made it by copy-pasting one last time, it certainly could.
If you make it equal, you remove the drama. If you force equality onto history, you falsify it.
Case in point: Edward II, king of England. He had affairs with Gaveston and Despenser the Younger, all the while in a marriage with queen Isabella. He wasn't too subtle about what he was doing, showered his lovers with gifts, prestige and land. His nobles pressured him send him away, but he was the KING, and it went back and forth a few times.
If it's in game, it should be called "sodomy".
Instead what we actually do is 'disassembly'. We just perform the minimal processing to get the human readable form of the assembly instructions that make up the binary. This is very hard to directly get you head round, so 'decompilation tools' are then all assistants that help the manual process of understanding the structure of the program. You can see a very basic example of that in the article where the author is looking for references to an address so they can see which functions reference the string.
The gold standard tool in the space is IDA Pro. You can see in these screenshots the visual tool it gives that allows you to group chunks of assembly together into functions and keep track of the linkages to codify the person's understanding as the process continues.
The article shows snippets of decompiled C++ code. No, nobody is claiming that it is the "original" code. But it is C++ code derived from the compiled binary. Decompilation.
> Instead what we actually do is 'disassembly'.
Additionally what we do is disassembly.
It's like the difference between cleaning guano from your car with the localized application of a wet rag or by disassembling the car down to the last screw, putting all pieces in a giant dishwasher, replacing all parts that got damaged, and reassembling the car.
So the resulting patch will be significantly smaller if only a few bytes need to be changed.
There is absolutely no need to do any of that, even in cases where you write a lot of new code yourself. 99% of the time it is enough to find the code location, insert a call to a DLL (which can be created in any language of your choice) you injected and be done with it.
If they were made in ASM? Well, then it is easy, what you get from the decompiler is probably very close to what went into the compiler.
C? It gets harder, but decompilation to C is possible, you lose function names and whatnot but that is alright.
C++? Then you are 100% screwed, virtual functions, polymorphism, etc... it all becomes just a huge mess, if they used some common libraries it helps (STL, BOOST, etc...) but if they made a ton of custom classes that have virtual functions, polymorphism and composition at same time, then nothing can be done, you will get some ASM that almost looks like non-sense.
And the first paragraph seems to confirm this interpretation:
> Crusader Kings III is a pretty impressive game. It’s impressive not only for its official content, but also for its extensive modding tools. Even before its release, I was drawn in by its promises of an improved modding experience. Relevant to this post, I was also impressed by an apparent dedication towards improved inclusivity.
Now I don't know what the creator originally wrote on there, or what the people who mentioned the patch have been saying, but it does raise eyebrows...
So no reason to get your pitchforks yet, but definitely reason enough to demand some form of explanation from paradox's side.
The game logic around this is simple enough that changing two byes fixes it, so it's not a technical issue.
What gives?
Do you mean the symbols next to "This is you"? I think you're misinterpreting them. That's the character's sexual orientation. It's always there, regardless of the character's marriage status. And gay or lesbian characters can and do marry people of the other sex even if that would not be what they want. The sexual orientation symbol doesn't change.
But it's not a good reason for why they are blocking all discussion about a mod that implements the feature in a buggy way.
As to not wanting to do the work to make it implementable without a binary patch, well, it's just not in the game. I can imagine hesitance to start modifying the game based on demands of modders for multiple reasons, even if they liked the mod itself.
As there is no adoption mechanic, same-sex relationships will lead to a game over unless you are one of the few countries that can use the House Seniority mechanic.
So I guess they never got around to implementing adoption.
Banning though...? That was weird.
If you think about this, it seems pretty obvious the reason they didn’t include adoption was that it’s overpowered. The CK series is all about managing dynasties, so the randomness of reproduction is a major game mechanic, one of the primary sources of problems and challenges. Adoption would totally negate all of that.
Like, if Henry VIII could just have adopted a son, his whole story would have been so much more straightforward! :)
(None of which really justifies the Paradox response, of course, since adoption isn’t necessary for having same-sex marriages (even player ones) and not losing.)
But I look forward to the woke brigade assuming the devs hate the LGBT community, and showing up with virtual pitchforks... /s (Disclaimer: I support the struggles of the LGBT community, but I do have a problem with stupid extremist unthinking zealots, and there seems to be plenty of them everywhere.)
No, you play on as your heir, which may be your uncle or some distant relative. This may even be your liege.
(also, there is the possibility your character will cheat, sire a bastard, and then have the bastard legitimized)
I personally wouldn't want a seemingly historically accurate (ish) game to present the churches of the age as being okay with same sex marriage when they weren't. Although being able to toggle it on in the settings would be cool.
I'm guessing it's just more or less something they didn't get around to implementing. Perhaps they wanted to tackle it in a future patch or DLC (I can see this happening if turning this on somehow led to buggy behavior in other areas)
https://theconversation.com/a-thousand-years-ago-the-catholi...
It is as though one attempt to translate the ranks of entirely different historical military structures.
Though, such is also often done, such as the “Kings” of Rome which were elected and had a co-ruler.
In any case, one might for instance argue that a male Japanese samurai in 1800 could be “bound” to both a male and a female at the same time, but only one of each, but only the latter union is traditionally translated as “marriage” for “reasons” even though the former comes no less close. In act, the former union was typically more so one of love, and the latter more so one of business.
No Christian cultures, obviously.
Presumably the AI would have the ability as well, and then you would have to start coding some restrictions to avoid a dynasty simulator spanning 100s of years going off the rails and then you'll be in for all sorts of progressive political wrangling.
Frankly if it was me I'd have stayed well away from it as well.
Also, Paradox have not a great track record of balancing things or maintaining quality straight out of the gate with their games anyway. I do love their games though.
And as an aside the game had homosexuality and so assuming there was some conservative stance on the part of the game developer appears ill founded.
> You can make same-sex relations acceptable, but marriage will still only be opposite due to historical constraints.
Other than their official stance, I wonder if it's because they'd need to script in the in-game church's (presumably negative) reaction to this. Also there doesn't seem to be adoption in the base game, so maybe they didn't want to hand the player a quick path to a game over?
Because the love/sex/reproduction angle was separate from the marriage angle, the game already has very deep support for all variants of human relationship when it comes to lovers, concubines, and uh, other special situations and it's very historically accurate. Homosexuality among nobles was not uncommon in the middle ages and the game supports this directly, but marriage had nothing to do with love or sex.
I went to Glitterhoof's chambers and gave him a good tumble. It is good to be the king.
Or maybe it's just a simulator of dark ages where same-sex marriage just wasn't. Go ahead, point out my wrong usage of "dark ages".
I have zero familiarity with the game so am purely considering the title here.
> it became clear from statements both on the forums and off of it that while the concern was noted, fixing the issue would be difficult, and it wasn’t a current priority.
Doesn't look like it's that easy.
It doesn't fill me with joy that a 2020 game would make that choice.
Also the choice to have characters default to open homophobia, and for that to be used as a positive in promotional material, is not an indicator of a gay-friendly organisation.
Occam’s razor suggests they built a historical game and just ended up embedding some in-game cultural background in the game engine. As others pointed out, dealing with same-sex marriages affects several aspects of the game, particularly dynastic rules.
> It doesn't fill me with joy that a 2020 game would make that choice.
You are working from your assumption, here. We really have no idea how it ended up that way.
> Also the choice to have characters default to open homophobia, and for that to be used as a positive in promotional material, is not an indicator of a gay-friendly organisation.
I find it interesting that you genuinely feel that. If anything, it tells a lot about how pervasive violence is in our societies. The game is full of back-stabbing, lies, cheating, poisonings, forced marriages, the occasional war, and yes, hate and irrational beliefs. Not much of it is moral, and yet you’re not pained that the developers might be enthusiastic about smothering babies.
It is a game set up in Europe in the Middle Ages. Hardly the most progressive environment. If you want to build a tolerant utopia, Cities Skylines is probably a better game. It is also great, but you might also like the occasional opportunity to be a ruthless, amoral, power hungry arsehole every now and then, regardless of your personal situation IRL.
I don't play Crusader Kings, was more curious about the technical bit, but it would be a shame to not be able to release what seems like a quazi-historical game with fairly different cultural norms by default.