Categories
Game Design Game Development Geek / Technical

Freshly Squeezed Video Progress Report: Transferring Knowledge Between Characters

Here’s the companion video for Monday’s Freshly Squeezed Progress Report: Transferring Knowledge Between Characters:

Enjoy! And let me know what you think.

Categories
Game Design Game Development Geek / Technical

Freshly Squeezed Progress Report: Transferring Knowledge Between Characters

Last week, I reported that I created submenus for Beliefs about Topics when asking a character a question in The Dungeon Under My House, my second Freshly Squeezed Entertainment project.

I set out to finish the asking-questions flow.

Sprint 40: Pre-production and initialization

Planned and incomplete:

  • Characters speak when TALKed to

I had to look back because I feel like where I left off last time was a million years ago, even though my progress might otherwise seems slow. But I had quite a few little pieces all add up together to make this update feel a bit more substantial.

So, quick recap: you could ask characters in the game about Topics, such as other characters or arbitrary topics, and some of those Topics will have Beliefs associated with them, which you can see in the asking-questions menus, but you couldn’t actually select them because I hadn’t implemented it yet.

The Dungeon Under My House - asking about a Belief

Today, you can actually select a subtopic, such as the location of a character, and ask about it, and you will get an appropriate response.

The Dungeon Under My House - asking about a Belief

The Dungeon Under My House - asking about a Belief

Originally, the response was a bit generic and non-human sounding, but I think it isn’t too difficult, although maybe a bit tedious, to have variations in how text is generated for questions and responses to based on what is being asked.

A WHERE question uses different words (“Do you know where XYZ is?” -> “XYZ is in the kitchen”) than a WHAT question (“What do you know about XYZ?” -> “XYZ is a pigeon”).

The Dungeon Under My House - asking about a Belief

Along those lines, I started work on modifying the text generated based on how a character came to believe what they believe. So instead of always saying, “I believe X”, they might say “I know” or “I heard” based on whether they directly know some information or if they were told this information by someone else. The work is still in progress, but the groundwork is there.

The big thing I accomplished was in making what text is shown on the screen translate into knowledge shared with the player’s party. So when a character says “I believe XYZ is in the kitchen” then everyone in the party updates their beliefs about XYZ.

And tying all of the work I’ve been doing for the last few weeks together, I updated the intro script so that when the parents mention making snacks for the Explorer’s Club members and ask you to go into the basement to get a jar of pickles, “the jar of pickles” becomes an available topic with an associated belief about its location.

The Dungeon Under My House - asking about a Belief

The Dungeon Under My House - asking about a Belief

The Dungeon Under My House - asking about a Belief

There’s still a lot of loose ends to work out. For instance, if the party learns something, they learn it together, but what about non-party members in the room? They don’t yet learn from what someone in the vicinity has said.

Also, if you ask someone what they know about the jar of pickles, they will still say they know nothing about them, even if they do, in fact, know about their location. So what would be nice is if asking someone to tell you about a topic might grab a random belief about that topic and share it instead of feigning ignorance. They will have to wait until I program them to be deceitful on purpose.

Behind the scenes, a lot of the work involved creating helper functions to help me manage the complexity of characters, their awareness of topics, their beliefs about individual topics, and ways to display both the belief name (“the location of the jar of pickles”) and the value of that belief (“basement”) to the player.

Also behind the scenes, I am still learning about linguistics and philosophy. I am currently reading Umberto Eco’s The Role of the Reader, and even though I am still slowly making my way through the introduction, it turns out that a lot of my work for the last few months thinking about the nature of knowledge and how it might manifest in this game and how to display it to the player in sensible ways is me pretty much being an amateur semiotician.

Thanks for reading!

Want to learn when I release The Dungeon Under My House, or about future Freshly Squeezed games I am creating? Sign up for the GBGames Curiosities newsletter, and download the full color Player’s Guides to my existing and future games for free!

Categories
Game Design Game Development Geek / Technical

Freshly Squeezed Video Progress Report: Asking Characters About Details

Here’s the companion video for yesterday’s Freshly Squeezed Progress Report: Asking Characters about Details:

Enjoy! And let me know what you think.

Categories
Game Design Game Development Geek / Technical

Freshly Squeezed Progress Report: Asking Characters About Details

In last week’s report, I said that I had spent a lot of time on research and design, before starting to implement the concept of Beliefs about Topics in The Dungeon Under My House, my second Freshly Squeezed Entertainment project.

I continued the design and implementation work this past week.

Sprint 39: Pre-production and initialization

Planned and incomplete:

  • Characters speak when TALKed to

One of the biggest challenges in game design is going from the awesome ideas in your head to playable implementations, partly because in order to make something real, you then have to deal with details that your imagination elided away.

In my head, asking a character a question would involve choosing either a Topic or a Belief about a Topic to ask about.

It seems simple and elegant. There’s some state in the game, and a character can have a belief about that state.

So for instance, I might ask Fred if they know anything about Chris, or I might ask if they know the location of Chris. Chris the game object has a specific location, and a character can have a belief that Chris is in a particular location which might be different from the actual location.

But once I start thinking about how I could code it, I start questioning how simple it is. Asking “Where is Chris?” seems different from asking “Is Chris your friend?” and “Does Chris have 12 eggs?” and “Is Chris tired?”

Maybe it isn’t so simple.

So are there flavors of Beliefs? Does the game need to intelligently know what the player’s intent is by the type of Belief being asked? It might help at the very least with generating the text for the question and generating good-sounding responses.

But I can build up to that. I started by treating Beliefs as glorified key/value pairs. So a character might have an awareness about a Topic, and that topic then has an associated collection of Beliefs. So if I know about the existence of Chris, I know that Chris is a person, and so all people in the game have certain characteristics and properties, such as a location they occupy at any given moment. And any such state is fair game for another character to have a Belief about.

Also, a Belief should be based on something. At the moment, a character can have a Belief they’ve always known about, or they can directly observe it, or they can be told about the Belief. As you can imagine, this concept of a Belief’s source might influence how confident characters are in what they think they know.

Adding this kind of simple implementation of a Belief helped me quickly create characters with such Beliefs as well as allow the player to ask about them.

I created a subtopics menu, which appears when you select a Topic that has associated Beliefs. It required adding navigation for this submenu while also allowing the player to return back to the previous Topics list while still having the currently selected Topic shown as selected.

The Dungeon Under My House - asking about a Belief

A player can ask about that main Topic either from the subtopics menu or from the Topics menu, but now you can see in the subtopics menu at least one Belief to ask about.

The Dungeon Under My House - asking about a Belief

Unfortunately, you can’t actually ask about it yet, as I ran out of time before I could get the code in to handle a question about a Belief.

As of the end of the week, it might not look like I’ve done much, especially since you can’t actually complete the process of asking about a character’s location.

And maybe I haven’t, but slowly and surely it will come together. I hope.

Anyway, next is to actually finish this flow, and then I can create some characters with gaps in their knowledge who would love to be TOLD such exciting things as the location of someone else they can’t currently see.

Thanks for reading!

Want to learn when I release The Dungeon Under My House, or about future Freshly Squeezed games I am creating? Sign up for the GBGames Curiosities newsletter, and download the full color Player’s Guides to my existing and future games for free!

Categories
Game Design Game Development Geek / Technical

Freshly Squeezed Video Progress Report: Characters Respond to Questions with Ignorance

Here’s the companion video for yesterday’s Freshly Squeezed Progress Report: Characters Respond to Questions with Ignorance:

Enjoy! And let me know what you think.

Categories
Game Design Game Development Geek / Technical

Freshly Squeezed Progress Report: Characters Respond to Questions with Ignorance

Last week, I reported that I had spent time researching philosophy, linguistics, and more, and that I had also gotten started on implementing the means for a player to ask a character a question about any known topic in The Dungeon Under My House, my second Freshly Squeezed Entertainment project.

The more challenging part was the response, which I worked on this past week.

Sprint 38: Pre-production and initialization

Planned and incomplete:

  • Characters speak when TALKed to

I had one of my least productive weeks in months, at least in terms of game development. Part of the reason was that I spent some time writing the latest issue of the GBGames Curiosities newsletter and figuring out the logistics of creating and publishing my first Freshly Squeezed Progress video.

But another part was that the week was filled with a lot of other things going on in my life.

Most of my game development time was spent on designing and planning. However, I did start the week as I planned by creating a response to the player’s question.

If you recall, you can pick a character on the screen, then pick the Ask option, then select a Topic from a list, and your character will then ask about that topic.

The Dungeon Under My House - initiating a question

But then the conversation ended because I hadn’t implemented replies yet.

So right away, I created a simple “I don’t know anything about that” kind of response, which can be used whenever a character has no information about a Topic.

The Dungeon Under My House - responding to a question

Which, at the moment, is the situation for everyone in the game about every Topic, including about themselves, funnily enough.

The next thing to do was to figure out how to get characters to reply about what they know, which requires implementing a way for these characters to know things about a Topic.

And just like how this work has been the entire project, it was vague and hand-wavy in my head, and I very quickly needed it to get concrete and playable.

Initially I had Beliefs as statements about a Topic: “Francis is a member of the Explorer’s Club.”

Which means someone who hasn’t met Francis or heard of Francis wouldn’t have “Francis” as a Topic in their cognition.

And a new character who meets Francis might not know about Francis being a member of the Explorer’s Club.

And Pat, who is also a member of the Explorer’s Club, would surely know both Francis and that Francis is a member as well.

It seemed straightforward.

But then I thought that statements like “Mom is married to Dad” have implications, such as “Therefore, Dad is also married to Mom.”

So maybe instead of Beliefs as lists of statements, Beliefs are represented as some connected graph-like thing, and those statements can be derived from that thing.

Interestingly, I later discovered that these are actual models of thought in philosophy when I was reading about belief on Wikipedia. There is the “language of thought hypothesis” and there is the “map-conception” which more or less map to what I was thinking above.

On the one hand, I feel like my thinking on this is on the right track since it seems supported by the great thinkers. On the other hand, I wonder if I would have had a shortcut if I had studied philosophy instead of computer science. B-)

I felt like I was reinventing epistemology. What is the nature of knowledge? And how can I code it in my game.

A colleague suggested that I look into the interactive fiction development tool TADS 3, which features conversations based on topics. Each character can be configured with a list of responses to a topic.

I read through some of the docs, and I liked that the tool provided a built-in way to track when the player discovers something and separately when the player has seen something, with acknowledgement that the developer may want to modify things so that each NPC separately tracks such data. It also provides a mechanism for “revealing” something to the player, which is basically when something goes from unseen/unknown to known.

It also has concepts such as the difference between asking someone about something versus asking someone for something, greeting protocols to ensure interactions don’t feel robotic, and suggested topics to guide a player to know what to potentially say or do in a given situation.

It’s a powerful tool, and when I tried playing Return to Ditch Day for research, I was impressed with how the combination of various parts of TADS 3 came together to make it feel like I was taking part in a living world and not just sitting in state machine waiting to put in the correct input to get to the next state.

Still, TADS 3 seemed to require writing a lot of custom content, guiding the player through the particular story being authored. On the other hand, I suppose it is potentially powerful enough to make a much more open-ended kind of game.

By the end of the week, I had some solid ideas about the nature of Beliefs in my game, some of which I even started implementing.

For instance, if a character believes something about a Topic, that Belief came from somewhere. Perhaps they always knew it, such as fellow Explorer’s Club members being friends since they could remember. For something like “Where is Pat?” maybe the source of their knowledge of Pat’s location is “I last saw Pat in the kitchen.” But maybe someone has only heard that Pat was in the kitchen from someone else.

And of course, Pat might not be in the kitchen anymore!

Which led me to step back from Beliefs and think about the concept of Facts and objective truth.

A Topic represents something to know about in the game. The game has a collection of all possible Topics, while a given character has an awareness of a subset of those Topics.

Similarly, for each Topic, there might be a collection of Facts. If Pat is the Topic, then a fact about Pat is that they are in the kitchen, for instance.

So maybe all Beliefs in my game should be variations of Facts? It’s a good start and gives me something concrete to toy with. A character might not know where Pat is, but a character might believe Pat is in any particular location provided they gained that “knowledge” somewhere.

I was already wondering how to handle complex Beliefs, such as “Pat is either in the kitchen or in the living room” or “Since Pat usually goes home at dinner time, and it is currently after dinner, then Pat must be at home right now.”

I do wonder how I might handle a character having an opinion on something. Opinions aren’t Facts. “I like spring better than fall” or “I like anchovies on my pizza” might be controversial, but there is no actual objective truth here to compare against. “I believe Pat is in the kitchen” is different in nature to “I believe Pat likes being in the kitchen.”

And it seems like allowing characters to have preferences and judgments to debate about would make for a more interesting world than one in which everyone merely regurgitates what they think they know.

These are the kinds of things that have me wondering how I could work on game development full-time sooner rather than later.

Thanks for reading!

Want to learn when I release The Dungeon Under My House, or about future Freshly Squeezed games I am creating? Sign up for the GBGames Curiosities newsletter, and download the full color Player’s Guides to my existing and future games for free!

Categories
Game Design Game Development Geek / Technical

Introducing the Freshly Squeezed Video Progress Report

A few days ago I posted my regular weekly Freshly Squeezed Progress Report: Asking a Character about a Topic. Now here’s the companion video.

I’ve decided to try creating a short video to go with each weekly progress report. My hope is that it reaches people who might not otherwise see the blog posts, or maybe it interests people who do read the blog posts by seeing the in-development work in action.

Either way, enjoy! And let me know what you think.

Categories
Game Design Game Development Geek / Technical

Freshly Squeezed Progress Report: Asking a Character about a Topic

In the previous report, I had started the work of designing dialogue systems, which required stepping back to design the concept of knowledge for a given character in The Dungeon Under My House, my second Freshly Squeezed Entertainment project.

I made some great progress in the last week.

Sprint 37: Pre-production and initialization

Planned and incomplete:

  • Characters speak when TALKed to

As you know, The Dungeon Under My House will be a non-violent 1st-person dungeon crawler. Most dungeon crawlers tend to feature hack-n-slash game play at their cores, and at best you’ll find people saying, “Well, this game allows you to be a pacifist if you want.” But those games clearly still have violence as a key aspect of the game.

So if not violence, then what? The challenge I’ve set out for myself is to make conversation and dialogue the focus of the game.

But I’m not interested in writing a visual novel or the typical branching dialogue that seems to be the state of the art in most games.

And I’m not interested in merely dressing up combat so that instead of swords and armor you use insults and witty retorts. That’s still combat.

Instead, the game play of conversation will revolve around knowledge acquisition.

Maybe. I’m still learning about the nature of conversation and dialogue and relationships.

In last week’s report, I started implementing the concept of a character’s Cognition, which represents their knowledge, values, beliefs, and attitudes.

A character can know about Topics, which represent their awareness of something in the game.

And so the focus this past week was on taking this internal, foundational work that I did the week before and make it visible and tangible for the player, if only to make it less hand-wavy and more concrete for myself.

Seriously, I could spend a lot of time learning about linguistics, philosophy, and models of communication, but at some point, I do need to make something.

So I started out by letting the player click on one of the party members, which pops up a menu. Which presents an option to ASK a question, and then you can select any character currently on the screen, then you can select a Topic to ask about.

The Dungeon Under My House - initiating a question

Now, right away, a design decision I have to make is whether or not the player has access to a party member’s knowledge. In this game, the main character represents the player. Yet there is a party you form with other characters. I think I like the idea that you would need to talk with your party members to share knowledge, and perhaps I can even provide an option to “chit-chat” so that all knowledge is mutually shared to make it less tedious.

Anyway, I have also been very concerned about how intuitive and easy it will be to go through the asking-question flow as a player. When you want to ask someone a question in real life, are you thinking, “I want to know more about that cat, so I will ask Chris” or are you thinking, “I will ask Chris, who knows something about that cat.”

So I decided to cut out one step by allowing the player to click on a character first, which already communicates an intent to talk with that character by the player’s main character, then click on ASK, then click on a Topic.

The Dungeon Under My House - initiating a question

By the end of the week, I had a working topic menu, with some sample topics seeded which represent knowledge of the individual members of the Explorer’s Club and the main character’s parents, plus some generic topics.

The Dungeon Under My House - initiating a question

I’m not an expert on user experience, but I was pretty proud of the idea of adding faces and icons at the top to make it obvious what you are doing at this step of the process.

I can already anticipate needing to provide built-in filters, such as People, Places, Things, or “Recently Learned” topics, or other things that might be useful to help navigate what I expect to become a very large list of topics. Maybe I can allow the player to choose specific topics to put into their first page so that they are easily at hand. We’ll see.

The Dungeon Under My House - initiating a question

The Dungeon Under My House - initiating a question

Once you select a topic, then a custom dialogue script is generated. Eventually the text and menu options can be more varied instead of always asking a question the same way, but for now I needed something I could interact with in the game.

Finally, since dialogue on the screen represented a situation in which the player had made a decision to ask the question, I now needed a way to persist this dialogue. I don’t want someone to ask a question, then restart the game partway through the discussion and have the game act like the question was never asked in the first place. All dialogue in the game is hard-coded at the moment, so this part took a bit of work, but now the decision is locked in.

So far, the question gets asked, but there is no response yet. Currently, no one in the game knows anything ABOUT the Topics they are aware of, so when I start working on it this week, the first thing to do is to create a simple response that will be the equivalent of a 404 error on a website: “I don’t know anything about XYZ.”

But then comes the real work of figuring out what Facts and Beliefs look like and how a character decides what to tell you, which leads to how you gain new knowledge, which I hope will be experienced as an exciting development by the player.

For now, I’m excited that this major aspect of the game’s design is starting to come together.

Thanks for reading!

Want to learn when I release The Dungeon Under My House, or about future Freshly Squeezed games I am creating? Sign up for the GBGames Curiosities newsletter, and download the full color Player’s Guides to my existing and future games for free!

Categories
Game Design Game Development Geek / Technical

Freshly Squeezed Progress Report: Implementing a Character’s Mind

Last week, I reported that I had finished clothing customization, fixed an issue with the Android build, and then created a way to configure your party in The Dungeon Under My House, my second Freshly Squeezed Entertainment project.

I finally started serious and earnest work on what is probably the biggest key to this game’s design: the dialogue system.

Sprint 36: Pre-production and initialization

Planned and incomplete:

  • Characters speak when TALKed to

When I started the week, I had plans to add menu options to let the player initiate a dialogue with another character or multiple characters in the vicinity, either by telling someone something or by asking about something.

The Dungeon Under My House - dialogue

Right away, I realized that I needed to step back and get those “something” concepts figured out. I needed to get from hand-wavy and vague concepts to something concrete and playable.

Now, it isn’t as if I haven’t been thinking about this topic for many, many weeks. I’ve got browser tabs open that are almost as old as this project is, each pointed to various forums, Reddit threads, and Wikipedia articles.

I spent much of the early part of the week reading about how communication and dialogue works. It turns out that this topic isn’t covered in a single field of study, such as linguistics. Everything from sociology to philosophy to anthropology to computer science to screenwriting touches on theories and models of communication. It’s a rich research area, and I know that I’m barely scraping the surface when I look at the Wikipedia articles or references.

I’ve also found posts online from other game designers trying to tackle the challenge of making dialogue compelling. Once you skip over all of the replies from people who can’t get past some surface concerns, there’s some real interesting directions to go in, such as this post about how modeling relationships with NPCs is the same as psychological simulation, acknowledging that there is no simple way to do it.

I just finished listening to The Great Courses: How Conversation Works by Anne Curzan over the weekend, which taught me concepts such as the locutionary, illocutionary, and perlocutionary forces, as well as putting names to the concepts I was toying with of report talk (functional, information transfer) and rapport talk (about relationship/affinity).

And of course, Chris Crawford famously left games to work on furthering interactive storytelling, and he had the advantage of dedicating himself full-time to the effort. His focus was on making a new form of drama rather than a new form of game.

And while I’m not interested in doing the same, I think it helps to know what has come before.

I don’t usually give myself a lot of time to play games, since my time is so limited for game development that it feels hard to justify not doing game development when I have a moment of “free” time. But I made some time to play Oxenfree and Signs of the Sojourner over the last few weeks, as each did something a bit interesting with dialogue.

Oxenfree was a delight to experience (how did I sleep on this game? Oh, right, I don’t play games as much as I would like), even when there were times that a character would interrupt his own line of dialogue or when Clarissa would reply outside of the house when I was inside perusing books on shelves, which was creepy in a way that the game didn’t intend.

And Signs of the Sojourner makes the deck-building game all about conversation. In each conversation you try to match cards with someone, and if you do well, you get some good responsive dialogue, but if you don’t manage to match cards, then it represents a failure in communication somehow. And the game simulates overall exhaustion by giving you cards that can’t match whenever you travel, and if you have too many such cards in your hand, you might have no choice but to fail a conversation.

However, both games still seemed to boil down to pre-written, branching dialogue under the hood. Even if Signs of the Sojourner has you play a game rather than choose your dialogue, you still encounter either a “good” script or a “bad” script.

And while I know that some people are experimenting with generative AI creating dynamic dialogue for NPCs, it is only really solving the “what to say” part, but it is still doing so within a framework of typical dialogue as seen in most games.

I’m more interested in figuring out how to make dialogue playful.

And since I like to keep pointing out how part-time my efforts are, I’ll take this moment to say that I both love all of this research and hate it. On the one hand, it gives me a base to stand on. I didn’t make up what I’m doing from scratch, and so it should be more familiar and understandable to a player. It’s based on the state of the art of humanity’s understanding (or at least my understanding of humanity’s understanding).

But on the other hand, I wish I could spend a lot more time living in the rabbit hole, experiencing other games, studying research papers, and corresponding with experts to get a feel for what that understanding is. But since I have a day job and a family and other obligations, I allow myself only limited time to work on my game development efforts, and it is even more important that I pay attention to how much time I spend on something that doesn’t get the game released.

It reminds me of how much I could accomplish in a shorter period of time if this was my full-time endeavor rather than something I make an effort to give space for. And I always feel like whatever I create is the equivalent of a child’s drawing when that child has no understanding of light, shadow, shape, line, and perspective.

And I suppose the only thing that helps is knowing that it isn’t like a ton is riding on this one effort. It doesn’t have to be my best and last. It just has to be my best that I can do right now, which can inform tomorrow’s efforts.

So what if I take this Freshly Squeezed Entertainment project as an opportunity to explore one approach that I might take? And the next project can be either a different approach entirely or a refined version of this one.

After all, I don’t have to solve “compelling dialogue in games” in 2023. Or 2024.

So as I said, early in the week, I recognized that I was in a rabbit hole of Wikipedia articles, and while I like it there and don’t want to be pulled out yet, I also want to prototype and play with something sooner rather than later.

I’ve mentioned in previous reports that conversations can revolve around Topics. So before a conversation can happen, those Topics need to exist. And the characters need to know about them.

So I created a Cognition object that each character has. Maybe I should have called it a Mind? Too late. The file is saved.

Anyway, a character’s cognition currently represents their knowledge, values, beliefs, and attitudes. If a character doesn’t “have” a Topic, then they aren’t aware of it, and so they can’t ask about it, and they certainly can’t tell someone else about it.

What they know about the topic could range from very little to being an expert on it, depending on what Facts they might have collected related to that topic.

BUT they could also have Beliefs that may or may not be true. So those beliefs aren’t verified facts, just assumptions or hearsay. They believe X, and as far as they are concerned X is true, but in objective terms, X could be false. And they might have a range of certainty of those beliefs.

Assumptions/Beliefs can be verified or falsified, which may depend on the character’s willingness to deal with the truth when it doesn’t match what they wish it could be.

But I’m getting hand-wavy again. In concrete terms, I created a character’s Cognition, which has a collection of Topics representing awareness of some subset of all of the Topics possible in the game. To start, the Explorer’s Club characters can know about the club and its members (each other). They can know about other characters, such as the player’s parents in the kitchen. They can know about rooms such as the bedroom being a meeting place and the kitchen and the basement.

I was hoping to implement a way to allow a player to see the topics that their main character knows, but I ran out of time before the week ended.

That said, despite not having much to show in-game, I was able to create a quick prototype using a deck of cards to see what it might look like to have three characters, each with some set of topics, and see how knowledge can get shared and disseminated. It helped me see that having Topics representing awareness is fine, but having Beliefs about a given Topic gives the player more tangible things to play around with.

Perhaps having a Topic means the player can ask another character about it. “What do you know about SAILORS?” for instance. But you can’t volunteer information about sailors if you don’t have any facts/beliefs collected.

Currently a Cognition has Topics to represent awareness, and a Topic has Beliefs to represent knowledge about that subject.

And remember, those Beliefs could be wrong, so there might be contradictory Beliefs or disinformation to deal with.

I’m hoping that learning a new key Belief/Fact is going to be as exciting as discovering a magical piece of weaponry or armor usually is in a typical first-person dungeon crawler.

Thanks for reading!

Want to learn when I release The Dungeon Under My House, or about future Freshly Squeezed games I am creating? Sign up for the GBGames Curiosities newsletter, and download the full color Player’s Guides to my existing and future games for free!

Categories
Game Design Game Development Geek / Technical

Freshly Squeezed Progress Report: Having a Party

In the previous report, I had made progress on clothing customization for the characters in The Dungeon Under My House, my second Freshly Squeezed Entertainment project.

I have since finished the footwear menu and then moved on to some more interesting work.

Sprint 35: Pre-production and initialization

Planned and complete:

  • Revise character customization

Unplanned and complete

  • Defect: Android app won’t run
  • Create party

With a variety of footwear, the player can now wear socks, shoes, sandals (but not socks AND sandals…yet), and boots. While I want to revisit the character art (especially faces), customization seems done enough.

The Dungeon Under My House - character customization

And I could finally move on to some experiments with dialogue systems.

Except first I needed to figure out why the Android build I created wasn’t running.

Initially I thought it was a memory issue. In past projects I would kick myself when I needed larger sprites for another purpose, such as creating high quality icons or printed items, but I only had smaller sprites that worked well enough in-game.

So I’ve been trying to create large sprites on the order of 1024×1024 pixels, rather than something like 32×32 or 64×64.

While in the back of my head I thought that I might run into memory issues, especially when each item of customization is such a large source image, I figured I could address it later.

Fortunately, it turned out to be almost a non-issue. Basically, when I worked on updating the supported target API for Google Play for my other games, I upgraded each project’s configuration and SDL2 Android project source as well as my development system’s build tools.

But I didn’t update THIS unpublished project’s relevant configuration, so I was using newer build tools with an outdated source/configuration.

Once I updated a few of the project’s files and used the newer android-project from libSDL2, everything worked fine.

So I didn’t have a memory issue after all, and I can kick that can down the road.

NOW I could work on dialogue systems.

Sorta.

I thought of a few scenarios I wanted to support, and I considered having different kinds of conversation types that each communicated the player’s goals to the game, such as persuading someone to do or not do something, or share information, or whatever.

Then I looked back on all of the various notes I’ve taken for the past few months about conversation topics, the role of emotions, character goals, trust between characters, and more.

And at some point I realized that it might be easier for me to hang a design onto something more concrete, and that requires me finally putting together the concept of a party.

In this game, I decided to have the party consist of a maximum of three members, partly to keep things simpler for me to develop but also to keep things simpler for the player to track.

The Dungeon Under My House - party configuration

To start, I added a button so you can configure your party in the bedroom, where the Explorer’s Club meets. After some discussion with my friend Branwyn, I decided that there was no reason to restrict the party to just the kids and so the parents (or grandparents? caretakers?) in the kitchen can join, too. So instead of the typical “kids are the heroes, parents are oblivious or MIA” kind of story, you have the option to get one or both of your parents to explore the dungeon with you!

The Dungeon Under My House - party configuration

The Dungeon Under My House - party configuration

The Dungeon Under My House - party configuration

Since all characters in the game are Friend objects, and a party is made up of a collection of Friend objects, this functionality was easy to add.

And so now I just need to change the dialogue so that the speaker isn’t hiding behind the party HUD.

The Dungeon Under My House - speaker hiding behind party HUD

I could configure the party, then reconfigure the party elsewhere, and leave someone in a different location from where they originally started out. As you can see, a few characters are now in the kitchen instead of the bedroom. Perhaps splitting up needs to happen as game play to allow for two characters to manipulate things at once.

So now that I have a party, and that party will always have the player’s character as a member, I can start experimenting with the party interacting with other characters through dialogue.

Again, my goal with dialogue is to do more than merely have branching text output or have relationships build as a simple function of “you said something nice to X, so X likes you more by Y points. After Z points, they become a romance option” or something like that. And I don’t want dialogue to merely be combat mechanics in disguise.

But I want dialogue to be as compelling as the combat usually can be in typical 1st-person dungeon crawlers. Like real-life, you’re not necessarily trying to debate someone into submission. You’re both navigating the absurdity of communication, and you are mutually trying to understand and learn.

At the same time, I am a bit wary about how much content I would need to create. Will I necessarily need to write a bunch of dialogue to cover various scenarios? If I don’t write dialogue, can I get away with scripts that merely describe how the dialogue is happening (“You ask about [TOPIC]. Sam replies enthusiastically. You learn [XYZ]”) or will that come off as less compelling?

These are the kinds of things I probably should have been exploring since the beginning of the year.

One thing I realized that is going to make me revisit the face customization sooner than later is that I think emotions will play a key role. Someone who is afraid or angry is going to be less forthcoming with information than someone who is happy or confident.

Thanks for reading!

Want to learn when I release The Dungeon Under My House, or about future Freshly Squeezed games I am creating? Sign up for the GBGames Curiosities newsletter, and download the full color Player’s Guides to my existing and future games for free!