Putting the 'role' back in role-playing games since 2002.
Donate to Codex
Good Old Games
  • Welcome to rpgcodex.net, a site dedicated to discussing computer based role-playing games in a free and open fashion. We're less strict than other forums, but please refer to the rules.

    "This message is awaiting moderator approval": All new users must pass through our moderation queue before they will be able to post normally. Until your account has "passed" your posts will only be visible to yourself (and moderators) until they are approved. Give us a week to get around to approving / deleting / ignoring your mundane opinion on crap before hassling us about it. Once you have passed the moderation period (think of it as a test), you will be able to post normally, just like all the other retards.

Cain on Games - Tim Cain's new YouTube channel

The Wall

Dumbfuck!
Dumbfuck Zionist Agent
Joined
Jul 19, 2017
Messages
3,205
Location
SERPGIA


I talk about something that happened to me in college...and the different ways that people have reacted to this story when I have told it.

Gangbang party with bunch of niggers? Mike Pondsmith being Tim's college boyfriend? Tim fighting racism by sucking nigger cock for 1$
 

__scribbles__

Educated
Joined
Jul 5, 2022
Messages
314
Location
The Void


I talk about the decisions you need to make about your game's load and save systems. For details on how to implement such systems, I recommend looking up "serialization" for the language and/or game engine you are using.
 

The Wall

Dumbfuck!
Dumbfuck Zionist Agent
Joined
Jul 19, 2017
Messages
3,205
Location
SERPGIA
Save yourself. Don't play anything AAA released after 2016. Tim's every video make Me as Viewer feel like Psychiatrist

Hello Tim, I'm listening. Tell me today what bothers you with biology of Deathclaws? That they are bigdicked but not gay? Ok. Have you tried BG3 for that experience? Yes, you have. And you had great fun. Ok. Until tomorrow, Tim
 

StrongBelwas

Savant
Patron
Joined
Aug 1, 2015
Messages
501
Loading/Saving is highly dependent on what language you are using, what engine you are using, and what decisions about how you've decided to make it work. Will discuss high level stuff.
First one, and the one Cain likes using a lot, is save anywhere at anytime. Hardest ones to write, you have to save the state of many, many things. Sometime it's hard to get the things you need to save, if you can save anywhere, can you save when a character is in the middle of an animation? If they're falling, if they are casting as spell (Animation, particle effect, AI reacting) that is a lot of things to save the state of. You may not have written everything that is coded, if you brought in a third party physics engine, you need to know how to ask that physics engine the state and locations of objects so they can be recreated. Some of them don't provide that, so depending on choices that have nothing to do with saving/loading, you will be restricted on what save/load systems you can implement.
Probably a more common save/load system will be you can save somewhere at some times but not everywhere. For example, save when game is not in combat. That avoids a lot of save variables that only have to do with combat, especially AI (Can ignore moment to moment AI in favor of high level stuff.) Also seen games that only let you save when back in town, which presupposes you're not in combat and in an area without many state changes, especially if there are essential NPCs or you simply are not allowed to fight in towns. Some games only let you save at rest, a very restrictive way, but it guarantees you won't be casting a spell, be in the middle of a dialogue, nobody is falling, it allows you to avoid a lot of things to save down, many systems will never have to consider saving/loading under that system.
Some other system has has seen, very common in consoles, are checkpoints. Game automatically saves at certain point. Checkpoints are very easy because you are defining when and where states can even happen. More modules will never have to worry about saving and loading when you know it's only being saved at this particular variable. Not every story variable needs to be remembered, just which ones carry over into the next act and ending sides, all others get thrown out.
Some games also have an autosave system, the game may have save anywhere or save in certain areas, but an autosave is an addition. Autosaves are kind of like checkpoints in the sense not that much needs to be saved, but they are more of a way to making sure the player doesn't end up in a bad state if they die or the map transition goes bad. Related to autosaves are quicksaves. Quicksaves are when the player hits a button to save and the game allows him to (Can have quicksave systems in games where you can't save anywhere), allows the player to make a save without going through UI.
UI choices are the next stage for save systems. How many slots can you have, is it infinite until you run out of space, or is there a hard limit? Can vary with each kind of save, the player can have as many manual saves as they like, but quicksaves/autosaves are limited to a rotating set of 3. Some games do that, they kind of have to because without a UI the quicksave has to know where to save. Do you get to put a name to your save? Some games do auto generated save game names, map location/sublocation + date stamp. For autosaves and quicksaves that don't bring up a UI, you have to do that, so some people decide to just keep the manual saves consistent with autosave/quicksave and keep the same naming scheme.
Finally, does your save game have an image associated with it? Didn't use to do that because it was expensive space wise, the screenshot would be larger than the save system. Nowadays not a problem, image makes it easy to figure out which save game is which.
As for the save and load code itself, Cain won't show you how to serialize, will tell you what he does and what decisions you have to make yourself. For every module/class in C/C++, Cain would write a save module that knows how to write that particular class/module's (will only say class from this point forward) data. What tends to happen is that it's past a file pointer, and if you save, you write out your data at that file pointer and return. If you're loading, you load in that data from the file pointer. Some things you have to check is if the file pointer is in the right spot. If yes, you can do this and it's pretty fast. It requires you to follow a very specific rule of making sure it's at the right spot and it remains there. Nobody else besides you may know where that spot is. Will lead to failure if not properly done, hard to debug. If you decide to have each method reposition the pointer, that problem is solved, and it makes it easy to write in new sections. You put in that data, and it finds it's correction section when it is past the file pointer. This is always slower than just assuming where the file pointer is, you are calling out to your save device of choice and having it search through your data and move that file pointer. Maybe your save system is so fast this isn't a problem, but Cain has worked on games where this method has slowed it down a lot.
Next question is do you save the data as raw data. If you have an INT, do you just fwrite the four bytes in it and then fread in that INT from your load/save. Saving it in raw data is very fast and gets you the smallest file size you can get. But you need to learn how to serialize everything by hand. You will have to serialzie your base data, but figure out how to handle pointers, if you have pointers to items, you have to save those items and then reconstruct that array of pointers during load. This is memory allocation, settings pointers, lots of work, but gets you fast saving with small file size. Maybe you don't want to do that, something like JSON (String based object saving) got pretty popular. It is very easy to code for, you can read in your variables just from their names. Your save game will be very big, and very slow. If size/speed aren't a concern, this works, otherwise you have a problem.
This also impacts how you do versioning. If you have save games from previous versions of games, can the 1.1 read 1.0 saves? If you have a save with DLC installed and you uninstall the DLC, can the game still read the save? If you support modding, if you play a modded game can the base game load it? If you play a modded game does it know what the mods are, will it know if you try to load a save with a mod removed? Some games just fail, some games can't detect it and just load the base game version, lots of decisions on how to make. If you went with JSON, this is very easy as if you get to a section you don't know you can have a default. Can't read an item, have it default to not knowing. Can be done with raw data, but harder.
Also need to keep in mind patching, if 1.1 generates a save game 1.0 can't read, you need to decide if that is something you can see in the UI, this is a save game for 1.0. How does it display it? Does it just fail on load, does it warn you it can't load and tell you what to do, does it just grey out the save? It can get complicated and Cain has not mentioned a line of code.
TL;DR : What kind of save game system you want to support, what UI choices you need to make, and how you want that code to work with data, raw or serialized? Good luck, complicated thing to do.
 
Last edited:

ds

Cipher
Patron
Joined
Jul 17, 2013
Messages
1,375
Location
here
UI choices are the next stage for save systems. How many slots can you have, is it infinite until you run out of space, or is there a hard limit? Can vary with each kind of save, the player can have as many manual saves as they like, but quicksaves/autosaves are limited to a rotating set of 3. Some games do that, they kind of have to because without a UI the quicksave has to know where to save.

As long as that limit is more than one or the game at least writes to a temp file first instead of directly overwriting your one save file as an extra fuck you in case it crashes while saving. :argh:
 

StrongBelwas

Savant
Patron
Joined
Aug 1, 2015
Messages
501

Finding the canonical story ending for a heavy CnC based game can be tough. On Fallout, the person working on the play guide kept asking what the player is supposed to do, how is this section supposed to be done? They didn't have an answer for him, it depends on your build and your character. Hard enough to walk a walkthrough, what do you do once you get to the ending and try to figure out how it is 'supposed to end'.
Why do you need a canonical ending? Need a jumping off point for a sequel. Keeping in mind the only sequel Cain has worked on is Fallout 2, he has 4 different ways to pick an ending.
First one is the one he went with is look for the commonalities in the endings and assume those and nothing else. They knew the player had survived, they knew the master and the army was destroyed, and they knew the player was kicked out of the vault. Given those elements, they assumed just those 3 things for Fallout 2 and then jumped forward. Also assumed Tandi had lived. They decided not to reference too many things the player did, just things the player probably moved through and had some interactions.
Next one, just pick one and say that was canon. For Arcanum 2, they would have just assumed the player defeated Kerghan and learned about Franklin Payne at some point. References his plans for ToEE2 moving into Against the Giants and into ADQ. Going into that, they would have assumed the good ending, where you went to the bottom of the temple and banished Zuggtmoy.
Third way is to let the player call the canonical one, you can ask questions about what the player did or would have done if they played through the storyline, what they did for Witcher 3. Interesting way to do it, lets the player see how their starting situation would be different. Could be considered a way of doing end slides you get after buying the next game.
Fourth way is to let the player import a save game from the previous game that had all the tracking variables and the new game looks at all the tracking variables. Base the subsequent game on that, as the Mass Effects did it. Cain thinks this is a cool way to do it.
Can't think of other ways to do it, but he hasn't worked on many sequels so he never really had to think about it much.
 
Last edited:

Roguey

Codex Staff
Staff Member
Sawyerite
Joined
May 29, 2010
Messages
35,835
Sure there are other ways.

a) have it take place in an entirely separate area of the world where the events of the first game will have no bearing
b) set it in the past with a prequel
c) have it take place far enough in the future that the events of the first game don't matter
d) Reboot/remake, a different spin on the same concept

Since he brought up The Witcher I'd like to point out that in the 2nd one you could import your choices in which case you'd get a paragraph of text to explain why they went with a default canonical choice anyway.

witcher2yourdecisionsi5imm.jpg
 

StrongBelwas

Savant
Patron
Joined
Aug 1, 2015
Messages
501
Does like customizable difficulty settings, anything that lets the player turn the game into something they like more, he is not against. Has frequently had arguments with people who think that every time you put an option in a game, it's because you couldn't make a a decision. Cain sees where they are coming from, there are times he couldn't decide and just put in an option. Also sees the argument that it's hard to make your game good when you're at the balancing fun stage because you have to consider all of these options that the player set. Also considers it an accessibility issue, repeats the story of a level designer friend who puts games on easy so he can just explore the levels and not get stuck on floors, Cain thinks that is valid way to play the game. Difficulty settings are something people want to adjust to their personal level of comfort.
Whole bunch of ways to make the game more difficult. One thing you can do to make a game harder is whatever your algorithm is for enemy progression, push it up a little. When a combat encounter, pass in the player's level +5, or maybe -3 of it's Easy. If you wanted to do something really hard, multiply the player's level by two, which would make things slightly harder at the start and very hard as it goes on.
Numerical changes are the easiest. Player has less health, less regeneration (or none.) Can also say every skill check on hard mode is a little harder. Can use Cain's idea of tables for skill checks that everyone connects to, you can increase what a Medium Check is on normal mode vs. easy/hard mode with no code changes.
Also many non numerical things you can do, you can add food/drink/sleep requirements, as they did in Outer Worlds. Can get rid of fast travel, they restricted it to just the ship on Outer World's Supernova difficulty. Some people say this just adds friction, but almost any difficulty you can imagine is friction to some people and difficulty to others. If that's your argument against it, Cain doesn't really have a defense, but it applies to everything.
Many RPGs, including Cain, only have difficulty modes for combat despite there being other ways to play the game. Could make those other ways harder by just increasing skill check difficulty like Cain suggests. For Stealth, you could make it easier to be detected by enemies, or the detection bar fills out faster.
For Dialogue, whatever you need to have a successful dialogue statement (i.e presenting evidence in Fallout) is harder to reach. You can mark that item, maybe it moves to a more difficult area. If it's in a locker, maybe the locker is harder to open. If you need to talk to someone, that someone moves to a harder area, or you need to speak to someone else in a harder area.
Finally, you can do some things that are neither numerical or non numerical, Cain considers them to be less handholding. Basically reverting to how games used to be, when they were harder. Some people hate these, say games stopped doing them for a reason, other people miss them. Stuff like no quest marker, no automap, maybe even no quest log if you wanted to go hardcore. Some people say this makes it more immersive, trivial to implement. For all of these, Cain recommends making these options because they go too far for some people and create too much friction. Some people separate difficulty and annoyance.
Best way to do this? It depends. What game are you making, what options you do and don't want to open up to the player, what you want to code, etc. Have to decide for yourself.
Should RPGs get easier or harder as you play? Cain answers trick question with trick answer; Should be both. RPGs should have you feel more powerful as you go through it, why Cain doesn't like level scaling, should be able to stomp encounters that gave you trouble in the past, while encountering new dangers in new areas. Game just steadily getting easier isn't much fun. They should get easier in some places, harder in others.
 
Last edited:

Roguey

Codex Staff
Staff Member
Sawyerite
Joined
May 29, 2010
Messages
35,835
I have a friend who likes to play games because he's a level designer and he always sets the game's difficulty to easy because what he wants to do is see the game not necessarily get stuck on a particularly difficult combat encounter and I agree with that, that's a perfectly valid way of playing the game.

Going to cause some seething that there's a professional level designer who plays like that and that Tim approves.
 

NecroLord

Dumbfuck!
Dumbfuck
Joined
Sep 6, 2022
Messages
8,931
Location
Southeastern Yurop
Does like customizable difficulty settings, anything that lets the player turn the game into something they like more, he is not against. Has frequently had arguments with people who think that every time you put an option in a game, it's because you couldn't make a a decision. Cain sees where they are coming from, there are times he couldn't decide and just put in an option. Also sees the argument that it's hard to make your game good when you're at the balancing fun stage because you have to consider all of these options that the player set. Also considers it an accessibility issue, repeats the story of a level designer friend who puts games on easy so he can just explore the levels and not get stuck on floors, Cain thinks that is valid way to play the game. Difficulty settings are something people want to adjust to their personal level of comfort.
Whole bunch of ways to make the game more difficult. One thing you can do to make a game harder is whatever your algorithm is for enemy progression, push it up a little. When a combat encounter, pass in the player's level +5, or maybe -3 of it's Easy. If you wanted to do something really hard, multiply the player's level by two, which would make things slightly harder at the start and very hard as it goes on.
Numerical changes are the easiest. Player has less health, less regeneration (or none.) Can also say every skill check on hard mode is a little harder. Can use Cain's idea of tables for skill checks that everyone connects to, you can increase what a Medium Check is on normal mode vs. easy/hard mode with no code changes.
Also many non numerical things you can do, you can add food/drink/sleep requirements, as they did in Outer Worlds. Can get rid of fast travel, they restricted it to just the ship on Outer World's Supernova difficulty. Some people say this just adds friction, but almost any difficulty you can imagine is friction to some people and difficulty to others. If that's your argument against it, Cain doesn't really have a defense, but it applies to everything.
Many RPGs, including Cain, only have difficulty modes for combat despite there being other ways to play the game. Could make those other ways harder by just increasing skill check difficulty like Cain suggests. For Stealth, you could make it easier to be detected by enemies, or the detection bar fills out faster.
For Dialogue, whatever you need to have a successful dialogue statement (i.e presenting evidence in Fallout) is harder to reach. You can mark that item, maybe it moves to a more difficult area. If it's in a locker, maybe the locker is harder to open. If you need to talk to someone, that someone moves to a harder area, or you need to speak to someone else in a harder area.
Finally, you can do some things that are neither numerical or non numerical, Cain considers them to be less handholding. Basically reverting to how games used to be, when they were harder. Some people hate these, say games stopped doing them for a reason, other people miss them. Stuff like no quest marker, no automap, maybe even no quest log if you wanted to go hardcore. Some people say this makes it more immersive, trivial to implement. For all of these, Cain recommends making these options because they go too far for some people and create too much friction. Some people separate difficulty and annoyance.
Best way to do this? It depends. What game are you making, what options you do and don't want to open up to the player, what you want to code, etc. Have to decide for yourself.
Should RPGs get easier or harder as you play? Cain answers trick question with trick answer; Should be both. RPGs should have you feel more powerful as you go through it, why Cain doesn't like level scaling, should be able to stomp encounters that gave you trouble in the past, while encountering new dangers in new areas. Game just steadily getting easier isn't much fun. They should get easier in some places, harder in others.
One thing that bothered me about difficulty in Arcanum was that on Hard you get less than normal XP AND your skills are harder to use.
I don't understand. If I seriously invest in a skill, I want to be able to use it effectively at least.
Game was meant to be played on Normal.
TOEE had no need for a Difficulty Setting.
Neither did Vampire: The Masquerade Bloodlines.

What should difficulty truly alter in an RPG?
The AI of your foes?
Them using their spells and abilities more effectively?
 

Sloul

Savant
Joined
Mar 26, 2016
Messages
273
Gothic 1&2 didn't have any difficulty settings and were great for that.
Dealing with X and Y situation, was common tongue to everyone.
We all shared the very same experience.
 

Gandalf

Arbiter
Joined
Sep 1, 2020
Messages
394
That might be interesting what's his taken on it, because modern devs seem to not be well-versed in the literature of old, right?
 

StrongBelwas

Savant
Patron
Joined
Aug 1, 2015
Messages
501
Is going to assume you at least have a setting picked, otherwise you aren't really doing research, you are searching for the basic ideas of your game.
Cain does traditional research such as going to the library and looking for information online, but also looks into books/board games/ other videogames that share your setting, using what you like and don't like as inspiration.
In a Boy and his Dog, they liked the setting and some of the story decisions, not big on some of the dialogue and the overall story. Road Warrior was a huge influence on Fallout's look, like the fashionable characters. Don't necessarily do research for justifiable things, you look for elements of the setting you love. Sometimes, you find things you like that don't seem to fit quite right. Sometimes that juxtaposition works out well, such as 1950s and Road Warrior.
Some of Cain's games, like Outer Worlds and Fallout, diverged from our actual history. Arcanum was a bit different because they took a LOTR world and put it through an industrial revolution. Tried to define that, so Cain found a document he wrote called Victorian Times. Started writing it in 1998, looks like it's last edit was September 2001. Defines the Victorian Era, the ideals it followed and prevalent morals. Arcanum would explore many of those stereotypes, goes on for 6/8 pages. Cain wrote those down so when they did quests and character dialogue, as well as coming up with new locations, people could go to that document for reference. Document goes into coal, pollution, chimney sweepers (And their scrotal cancer), mad hatters, etc. Cain had a very specific one on air pollution, which was a real issue for the time period. An entire section on corsets, and their use, and another section on railroad magnets. A section on missionary work, on exploration on unknown parts of the world to Victorian, foxhunting, ballooning, etc. Boxing and it's revival in London. Ordering from catalogues had become a thing and was possible because of steam boats and railroads. They actually found an old Sears catalogue , people could order homes from them back then. Science was changed by the discovery of fossils, opera houses, photo plays, also looked into how schooling worked. They researched all the common ailments of the time and Cain wrote about them. Infant morality being surprisingly low , child labor, women's suffrage, labor movements, all wrote about so they could be put into the game.
Arcanum did a lot of social commentary, some people called this racist/sexist, Cain says they were addressing those issues through the lens of a fantasy game. Lots of research is done before starting the game.
Looked up information on radiation for Fallout, reread Lord of the Rings for Arcanum. Tarant is obviously modeled after London.
They also did a lot of research during the game as they realized they didn't know enough about certain things, the research they did at the start was too shallow. Someone is writing a quest and realizes they don't quite understanding something. Cain did a deep dive into micro biology research for Fallout because FEV dealt with Virions. A book called Elise a Terrifying Tale of Immortality also influenced FEV, it was about a woman born with a quadruple helix instead of a double helix which made her immortal, Cain took that idea and speculated that FEV duplicated your helix, would make you radiation resistant. They disagreed on if ghouls were radiation and Cain wishes he had wrote something down.
A German microbiologist wrote to them after Fallout and praised their description of FEV.
As Leonard put it, most people won't get it, but the right people will get it.
 
Last edited:

Gandalf

Arbiter
Joined
Sep 1, 2020
Messages
394
reread Lord of the Rings for Arcanum
So that might be one of the reason why they wanted to do Lotr game in Arcanum engine next?
Not sure about.
Didn't Tim say something about journeying to the center of Arcanum in the sequel instead?
I don't remember exactly the order, but they wanted to do Arcanum sequel and Lotr cRP game at some point too.

I think he talks about it in this video. Can't watch it at the moment.
 

As an Amazon Associate, rpgcodex.net earns from qualifying purchases.
Back
Top Bottom