How do you write a game? (Non-technical)

Saki_Sliz

Well-Known Member
May 3, 2018
1,403
993
You could suggest using fewer, but more generic and widely applicable traits. Like "statement" and "question", or "factual" and "subjective". By definition though, the more widely applicable a trait, the less information it carries, and the less useful it is. I don't think you can sidestep the complexity problem, no matter how you slice or dice it.
That's again assuming I want to make a 'generic' system that can handle complex situations, or be ready to handle something it wasn't prepared for. Your example of "statement" "question" or "factual" is still too specific (thus complex) compared to what I am thinking. Instead, what I am thinking of limiting the complexity of the situation, by basically just doing a normal VN. But instead of being limited to good, mean, neutral dialog choices, or picking oral or normal sex, options depend on context and mood. Instead of mapping out a dialog tree and making a story that has multiple endings, it's the same thing, BUT it introduces a new game mechanic.

say in a vn there is only one right option for a particular ending you want, however you can't figure out which and where this line is, and maybe you totally disagree that X line should generate Y reaction from the characters, so you never would have figured it out because it was a nonsense choice. I have had to deal with this in some VN's.

instead, what if the dialog options were not fixed, but could be swapped out with different options, that matched the conversation. Well why would I want to do that, how does it make the game better, as you often point out? Does having more dialog options or more context better make a better gameplay experience. I say no, it won't, people won't even notice it, even if they replay a few times they will never notice it. So then what is the advantage of this?

Originally this was for a trainer game, that could be played in different ways with players having different goals or experiences they wanted, and naturally like many other creators I wanted to accommodate for this somehow. like any story with multiple endings, you have to figure out all the different paths to get there. in the case of a trainer game and the case of my AI that I've been mentioning, the key thing that controls this path is the mental state of the target NPC, as they become 'trained'. so you could simply organize your notes by personality traits the character develops, and plan out how the story progresses and you plan every line.

However, usually with VN everything is pretty straight forward, auto click your way through the walls of text, make a choice, repeat until you make it till the good xxx stuff and then the end. In my case, what if you first have to unlock the right dialog options before you get to the major story point scene that causes the story to unlock new stuff or progress. In the case of trainer game, you have various gameplay mechanics, ie actions you do to or with characters to get them ready, ie you train them, to unlock new options. This similarly inspired my system, where actions or what the character chooses to do affected the target NPC, and eventually make or hide options. With how you choose to interact with the character being the main game mechanic (rather than focusing leveling up love by buying her presents).

Since this was inspired to be a trainer game, most of the time you are the bad guy, but most people want to play the good guy, so to offer a good guy solution I tried to use dialog options as an mechanic to get a good guy ending. Just as actions could have certain properties (ie normal sex vs butt stuff vs other humiliating acts), I could do the same to dialog options. Such as if you are talking about sex with a shy girl, she could be embarrassed since she could have a low familiarity or comfortability to the subject. I was talking about it with Cul, it is about 3 dimensional (with positive and negatives) in describing a range of personalities and ways of responding to situations. with about 4 to 6 final dimensions of possible mental states.

I was showing Cul the math and it generates far more possibilities than what any human could possibly fill up. Instead, to reduce complexity this goes to what I mentioned before, plan this like a vn. start with a finite state machine, which each state being a major story point and what the NPC attributes should be at that state or what it takes to get in. in each state you can unlock key major story points and dialog options. inside of each state can be a sub state machine to allow player to progress to each of the different other options but also be able to backtrack if they need to ( ie apologize). The idea being you can see the reaction of the NPC, and rather than hoping you pick the right option (because you didn't really read the walls of text the author made), you can instead try to gauge their reaction to make your choice. hell you could unlock skills and upgrades now that I think about it so that you can prob. for more information, ie being smart and asking hypotheticals so its not obvious you want to ask something. but you could always go back before you lock yourself into a new major branch of the story. ie try to win your first girlfriend back (possible in to do so across different major finite state? idk I'll have to explore this more).

Another possible issue is communicating the game state and behavior to the player, so they can make informed decisions, especially if your game is not standard in any way. It's tempting to leave them to naturally interact with the NPCs as if it was a real person, but that might bite you in the ass once the NPC doesn't behave realistically.
absolutely, we all assume that we all agree on the same definition of words.

Other classic problems common to all games are providing challenge to the player, pacing of gameplay and story, telling an interesting and coherent story. If it's to be a good game, your system should account for all of those.
now this, this is going to be the hard part, because I haven't made any mock ups that go far enough in depth, I haven't a clue how this will work overall. For example, maybe I can only really think of one storyline that is true, one way the character should developed, and all the other ones feel wrong and out of character, and this could make it hard for me to make a story that could branch out in multiple ways. The only way I could do this and not be paralyzed by this way of thinking is to focus more on how to emulate particular fetishes or goals different players want to achieve. right now my current mock up game idea using this system focus on one good guy branch, with a few branches to other endings should a player want a particular focus that just so happens to run parallel with the good guy behavior at first.

while breaking things up into reasonable finite states will be key to trying to map out the progression and pacing of the game, starting with the big concept ideas and working down to the details, even if the mechanics work perfectly, it will be up to the skill of the writer or planner to be able to effectively map out the story arc and necessary character progression. If anything progression will be faster than expected as well as slower. slower for when players need to backtrack, and faster for when a character enters a finite state with most of the requirements already high enough to move onto the next state. But if you have already worked to get a girl or npc to a certain mental state that unlocks these other states, even if it is faster than expected (possibly even skipping important information?) then wouldn't it seem smooth to have the story continue to progress and not stall just because you still have 20 dialogs you don't want to miss, because 'reasons'.
 

jezzoo

Newbie
May 12, 2020
32
28
I think I see the light now, the way you describe it does sound doable, on a technical level. There really is no AI, and the dynamic behavior (logic) seems quite simple. At least, for the moment to moment gameplay mechanics. There are still, as you admit, the higher order problems of how to use those mechanics to create a fun game.

It is similar to those training games you reference, in which the player gradually increases (through whatever mechanic) attributes of the NPC, like Corruption and Arousal. There, game progress is gated behind higher values of these stats. It feels natural, and it feels like you've achieved something.

In your game the stats are (mostly?) personality and mental states, and thus it's not necessarily the case that higher = better (as opposed to, say, Corruption). The game state is just a point in N-dimensional space, with one dimension per stat, and progress is gated behind being in a particular region of this space / combination of stat values. Though N-dimensional space is actually a metaphor that's applicable to the state (memory) of any finite state machine.

Whether you have a linear or a branching story is actually independent of these mechanics. You as a dev could choose either, and the classic issues that are true for all VNs are still applicable. I'll reiterate my earlier point - I think branching stories are overrated (and much more difficult).

Clear communication with the player is even more important in your case, since it's all more abstract. There might be no technical difference, but it's just easier to understand "0 to 100 Arousal" than "-100 to 100 Assertiveness", both in how to change them, and what the effects will be. For Arousal the effects are "What types of sex she will allow, and how close to orgasm she is.", for Assertiveness it's... who knows?

The game I'm working on uses a somewhat similar concept of NPC "personality" - comprised of a number of attributes, but not numerical, just a couple of values each, randomized at the start. Progress is gated by standard progress variables like Relationship, but also by the player having to choose dialog options that correspond to the current personality. I plan on implementing mechanics that will allow the player to modify at least some parts of the personality, so further progress will be gated until the player modifies them. This is all running on a classic script. Technically it works, but like you, I'm struggling with building a fun game around this concept.
 

Saki_Sliz

Well-Known Member
May 3, 2018
1,403
993
I know when I started it, I wanted to focus on clear communication, the being, you could see these few properties to know what state the character is feeling. Just as the idea was inspired by trainer game, I was also inspired by groping games, where you have to balance fear and pleasure. Now while the original idea was try to be clear, and using UI graphics, maybe even show how much each stat would be affected by an action before you clicked it, I don't actually know if it works as expected since I haven't played tested it. In fact, talking about this project for the first time in a while has helped me further refine the idea.

If anything I agree, branching stories are not exactly easy, but writing is one of the easiest, if not just simply the cheapest, form of creating art and content for users. If anything this was a tool to help me plan out storylines. The better I could make a system that attempted to quantize human-like behavior patterns, and do so in a more general sense while still offering artistic control, not only the better chance of being able to effectively plan a character or story, but if I could break this behavior down into code, then I could use such code to automate some behaviors and expand to other large projects. such as for the NPC of Skyrim. Would this project work as a simple AI for general NPCs? I don't know, still havent' gotten to that point of hypothesizing and testing, all I can do is plan for an AI that has every major contingency I can think of, and hope I'm not being too abstract about my coding that this thing actually does what it's suppose to do.

The game I'm working on uses a somewhat similar concept of NPC "personality" - comprised of a number of attributes, but not numerical, just a couple of values each, randomized at the start. Progress is gated by standard progress variables like Relationship, but also by the player having to choose dialog options that correspond to the current personality. I plan on implementing mechanics that will allow the player to modify at least some parts of the personality, so further progress will be gated until the player modifies them. This is all running on a classic script. Technically it works, but like you, I'm struggling with building a fun game around this concept.
I know I was just recently watching video by Extra Credits recently, and they talked about how instead of showing a character a bunch of stats, show them one calculated value that makes it easy to decide, and then later players could investigate later on. I know before I reached the end of my mental exploration I was worried that I was just going to have a list of a bunch of abstract ideas or stats for characters, and it would just be hardcoded how stats would control players instead a more natural system that somehow better reflects human behavior. However, I am pretty happy with the system I was able to create, and it naturally explains various human behavior patterns. If you want, I could pm you a copy to go into more detail so as not to completely dominate this thread and stay on topic.

the balance between focusing on game mechanics vs story, or getting the two to synergies is a constant struggle. I worry that we are acting too much like perfectionist, and because we are too busy trying to plan that we produce nothing, where maybe only half the mechanics we are thinking about are enough to make a really fun game.
 

jezzoo

Newbie
May 12, 2020
32
28
writing is one of the easiest, if not just simply the cheapest, form of creating art and content for users
Yep, definitely the cheapest/fastest.

instead of showing a character a bunch of stats, show them one calculated value that makes it easy to decide
I see how that works for the example of weapon effectiveness they used, I'm not sure it works in our case though. Weapon effectiveness (spread) is a fuzzy problem - any weapon can kill an enemy, they just do differently well in various scenarios. But if you have a system that requires specific conditions for success (specific NPC stats), you can't simplify the requirements. Like a lock and a key - a similar key won't do the job.

You can change the system, so it accepts a wider range of NPC stats (making it easier to solve), but you still can't present all of them as one stat. The principle of that video remains true, I don't see how it's easily applicable here.

If you want, I could pm you a copy to go into more detail so as not to completely dominate this thread and stay on topic.
Sure, I can take a look.

I worry that we are acting too much like perfectionist, and because we are too busy trying to plan that we produce nothing
I feel the same way. That's precisely why I was trying to keep it simple from the start. As soon as you start complicating things, with this personality, it's likely you'll never finish it.
 

probably_dave

Member
Jun 3, 2017
133
358
Firstly, thanks for all the information provided on this thread. I've recently embarked on making my first game and the information here has been really helpful.

I noticed this link hasn't been mentioned and it contains some really simple guidelines that a lot of games tend to forget:
https://f95zone.to/threads/non-technical-guidelines-for-making-better-porn-games.18516/

As part of the planning, I've been trying to get my head around how to handle the different stats and decided on a model similar to that in the Choice Paralysis video.
In short, there will be around 5 primary stats which will be the average of 5 sub-stats. At the start of the game, the player will only be able to see the key stats at the top. As the relationships progress, the sub-levels stats will eventually get opened up.
From here, each scene will be related to a primary stat and have a minimum/maximum requirement for the scene to trigger. From there, the sub-stats will be used to influence how the scene plays out. In addition, one of the other key stats could be used as a follow-up.

For example, if we take Love and Lust as a key stats, and Horniness as a sub-stat of Lust. If the level of Lust is high enough, the character will be willing to come to your place at night. The scene will then play out based on the sub-stat of Horniness. Following that, if the average of the Love stats is high enough, the character might stay over and there can be an additional scene in the morning.

I think this way, it gives some flexibility to the types of scenes you can create, while limiting what the player needs to think about to get the scene. In addition, at the start of the game, the player only needs to care about the 5 key stats to make progress with the character.

Please let me know you thoughts on this type of system.

Also, as a benefit, as it's my first game, if I find the system gets too complex, I can easily switch back to only use the 5 key stats if it doesn't work out :)
 

jezzoo

Newbie
May 12, 2020
32
28
5 primary stats which will be the average of 5 sub-stats...each scene will be related to a primary stat and have a minimum/maximum requirement for the scene to trigger. From there, the sub-stats will be used to influence how the scene plays out
I like the idea.
Besides the benefits you mentioned, it mirrors the natural fuzzyness of feelings and motivations. Why is the NPC willing to come to your place? Their Lust is high enough, that's all that matters. It's not important whether they are Attracted to the MC, or just Horny (maybe the NPC doesn't know either), the aggregate is the deciding factor.

It can also give the player some freedom in achieving the goals. If the goal is to raise Lust, you can raise any of the sub-stats, doesn't really matter which ones. Of course the game should limit which sub-stats you can raise, or how hard it is. Good RPGs don't allow you to max out all stats (that's boring), instead the player must be smart enough to figure out which ones you need most to achieve the goals you're seeking.

Another view is that what you're suggesting is an explicit version of what we see in RPGs implicitly - not all stats go well together, there are more or less beneficial combinations, a specific combination being called a "build". So whereas in RPGs you can have a Tank Build, in your game, you could have a Lust Build, focused on maximizing Lust sub-stats, at the cost of the others, if the rest of the game rewards such an approach.
 

Saki_Sliz

Well-Known Member
May 3, 2018
1,403
993
Firstly, thanks for all the information provided on this thread. I've recently embarked on making my first game and the information here has been really helpful.

I noticed this link hasn't been mentioned and it contains some really simple guidelines that a lot of games tend to forget:
https://f95zone.to/threads/non-technical-guidelines-for-making-better-porn-games.18516/

As part of the planning, I've been trying to get my head around how to handle the different stats and decided on a model similar to that in the Choice Paralysis video.
In short, there will be around 5 primary stats which will be the average of 5 sub-stats. At the start of the game, the player will only be able to see the key stats at the top. As the relationships progress, the sub-levels stats will eventually get opened up.
From here, each scene will be related to a primary stat and have a minimum/maximum requirement for the scene to trigger. From there, the sub-stats will be used to influence how the scene plays out. In addition, one of the other key stats could be used as a follow-up.

For example, if we take Love and Lust as a key stats, and Horniness as a sub-stat of Lust. If the level of Lust is high enough, the character will be willing to come to your place at night. The scene will then play out based on the sub-stat of Horniness. Following that, if the average of the Love stats is high enough, the character might stay over and there can be an additional scene in the morning.

I think this way, it gives some flexibility to the types of scenes you can create, while limiting what the player needs to think about to get the scene. In addition, at the start of the game, the player only needs to care about the 5 key stats to make progress with the character.

Please let me know you thoughts on this type of system.

Also, as a benefit, as it's my first game, if I find the system gets too complex, I can easily switch back to only use the 5 key stats if it doesn't work out :)
I think it sounds pretty good!

From what I have seen and experience, this is what may happen. If your player gets into the groove of things, their enjoying your game and focusing on it, than they start to become a mindless audience member. Meaning, they will accept anything you tell them, because they are following the story and not really thinking about it. So answering concern Jezzoo pointed out why an npc may be willing to go to the player's place, sometimes a basic enough explanation or even none can work. if the whole time you have been talking with an npc, they have been enjoying your company, and then you ask them to come with you. Thats all the context players will need to understand why an NPC followed you. Maybe they do cheeleader practice most evenings, but this one time they say, they can skip, that will atleat let the player know that the game may be self aware of breaking any patterns you may have set up.

I think to help in this, is the fact that sub stats become visible to let players know what is going on, how things are progressing, just because it would be visual feedback.
 

probably_dave

Member
Jun 3, 2017
133
358
Thanks Both for your feedback,

So whereas in RPGs you can have a Tank Build, in your game, you could have a Lust Build
This has given me an idea on how to handle having to the player managing to get the stats completely different to what I was expecting. I know I won't be able to have all combinations for all characters until quite late in the development, so I'm thinking of assigning each character a primary personality driver, associated with one of the main stats. This will give the player info on how to progress with that character (e.g. if their driver is Love, do stuff to increase that). The NPC will then progress in the relationship (and with new scenes) based of this. As the game progresses, they'll be able to unlock the sub-stats and the secondary driver info to progress further. So the other stats aren't wasted, these will be used to help the player with the general gameplay, rather than unlocking new scenes (apart from maybe a few bonus ones or later game stage stuff). These will be harder to raise (less events associated with that character etc) so should push the player down the intended path (at least at the beginning).

Maybe they do cheeleader practice most evenings, but this one time they say, they can skip, that will atleat let the player know that the game may be self aware of breaking any patterns you may have set up.
I like this and it fits in with the style of gameplay I wanted. Something like, once your relationship is over X amount, you can now go and watch the cheerleader practice. This could then be a 'date' afterwards or even participating in the practice (to boost your own stats) and eventually going home with the MC. I'll think it will be key to keep this events simple however, and focus on three self-contained parts (start, middle, end). I can then add a few varieties of each one, which could influence different stats (each will will need to be non-branching). This can add some variety to the game and giving the player more control of how the stats progress without the need for an exponential number of scenes.

I think to help in this, is the fact that sub stats become visible to let players know what is going on, how things are progressing, just because it would be visual feedback.
Definitely. Too often when playing the games on here, I get lost with what to do next or how to proceed. I then end up finding a walkthrough and spend the game following instructions rather than playing the game. Within my plans, a basic 'stat' tracking feature will be unlocked near the start. This will be expanded to provide more information (e.g. the sub-stat) as you progress in the game. In addition, when you meet the different stats, it must be clear to the player that there will be new options opened before the scenes begin to save the player retrying every scene whenever a single stat changes
 
  • Like
Reactions: Saki_Sliz and Cul

khumak

Engaged Member
Oct 2, 2017
3,432
3,475
I'm not sure I agree. Yes, of course more options means more complexity. But that's what makes it a game, rather than a kinetic novel. The trick for avoiding the tree of death is to not think of them as branches in a tree, but as tracks on a railroad. Occasionally the tracks diverge, bringing back some cargo, but there's only one sets of tracks. You can also give the feeling of interactivity by having multiple parallel tracks that can are each linear, but can be explored in any order, but at some point I feel you have to have meaningful player choice, or you're not really a game.
I think the key to allowing the story to have some meaningful choices that diverge is to have those paths reconverge back to a central plotline at some point. So you don't have to create an entirely unique storyline for each major plot divergence, just a short term offshoot that meets back up with the main story later. Sort of like a tree where the tip of each branch was tied to the trunk. So regardless how long the branch was, it bends and twists and then eventually reconnects to the trunk of the tree again. If each branch has a separate path leading to it's own unique ending then you have a development nightmare.