Categories
Games Marketing/Business

Happy Halloween! 🎃 Play Toytles: Leaf Raking Today!

I hope you’re having a spooky yet safe Halloween!

If you are into tycoon games, business management games, or economic simulator games, know that there are only a few days left in the Halloween Reverse Sale I’m holding for my leaf-raking business simulation game Toytles: Leaf Raking.

In Toytles: Leaf Raking, you play the role of a young turtle who wants the Ultimate Item(tm), and to earn the money for it, you’ll need to talk to neighbors, gain clients, purchase yard bags and upgraded rakes, watch the weather and the clock, and ensure you get enough rest to be able to do the work of raking leaves.

Luciana's dialogue on Halloween

It is available for desktop computers above, or you can get it for your iPhone or iPad or Android device below:

Download on the App Store

Get it on Google Play

Before winter arrives, can you earn enough to get the Ultimate Item(tm)?

Get the game today and find out!

Learn more about Toytles: Leaf Raking at https://www.gbgames.com/toytles-leaf-raking/.

Categories
Game Design Game Development Geek / Technical

Freshly Squeezed Progress Report: Knowing When to Update Beliefs

In last week’s report, characters can finally start transferring knowledge to each other in The Dungeon Under My House, my second Freshly Squeezed Entertainment project.

I set out to figure out various scenarios related to responding to questions the player asks.

Sprint 41: Pre-production and initialization

Planned and incomplete:

  • Characters speak when TALKed to

I had a short development week due to being out of town for a funeral, but even with fewer hours, I think I managed to make some decent progress.

If you recall from previous reports, the player can now ask about Topics and about Beliefs about Topics. For instance, once the player’s character learns about the jar of pickles, it is now possible to ask about the location of the jar of pickles, and if a character knows, they will tell you where the jar is.

However, if you asked about the jar of pickles, the default response was “I don’t know anything about them” which is patently false.

So now, whenever you ask a character about a high level Topic, a response gets generated about a random Belief about that Topic.

Which at the moment is always “location” since no other Belief types are in the game yet.

The Dungeon Under My House - responding to a topic with a belief

Characters also reply differently based on whether they have direct knowledge or indirect knowledge about something.

Saying “I know the jar of pickles is in the basement” is different from “I heard the jar of pickles is in the basement.”

It’s a small thing, and eventually I’d like individual characters to have unique mannerisms, but for now it makes it a bit clearer who knows what they are talking about versus who is depending on hearsay.

Similarly, when a character hears a response, they update their beliefs.

Which leads me to much of my design work: when should a character update their beliefs?

If a character knows nothing, they should always update their cognition/awareness with what they are told.

If a character gets direct knowledge, such as by directly seeing someone in the kitchen, they should always update that belief.

But what happens when they get indirect knowledge? In other words, if someone tells you something, when do you believe them, and when don’t you?

If I just saw my cat in the kitchen, but then a few moments later my wife says that the cat was in the living room, I might wonder how recently she saw the cat. If it was awhile ago, then I might tell her that the cat is actually in the kitchen, essentially that her information is outdated. But if she saw the cat more recently than I saw the cat, then I might be inclined to believe her instead.

I keep coming back to the concept of a belief getting stale, which means soon I will need to implement a clock of some kind into the game. Maybe it is turns? Maybe it is a simulated clock such as the one featured in the Etrian Odyssey games? I don’t know yet.

But I do know that I will need some criteria for determining if new information should update old information, and information recency will be one criterion. The trustworthiness of the source will be another.

In the meantime, I added some helper functions for myself, as a lot of this dialogue and belief manipulation was getting unwieldy.

And I also started the work of creating the Tell flow. When you ask a character something, you can ask about a Topic or a Belief about that Topic, but you can’t Tell a character about a Topic if you have no associated Beliefs about it.

The Dungeon Under My House - telling a character a belief

So I need to create a similar but different Topic menu system. Since you can’t choose a Topic but still need to navigate Beliefs through Topics, I can leverage a lot of the work I did, but I am wondering if the user experience for this menu flow is benefiting from familiarity or suffering from confusion that it is too much like the Ask flow.

Unfortunately, by the end of the short development week, I discovered that I lost the capability to share knowledge about the jar of pickles, so that’s something I’ll need to address first thing this coming week.

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: 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
Games Marketing/Business

Today Starts the Halloween Reverse Sale for Toytles: Leaf Raking

From today until November 2nd, you can get my leaf-raking business simulation game, Toytles: Leaf Raking for Windows, Mac, and Linux and pay 50% more than usual.

Toytles: Leaf Raking

While many developers are having a sale to celebrate, and you should definitely check them out, as usual I’m holding a reverse sale instead.

I think the game’s original price is more than generous, and a temporary increase still puts it under the cost for a movie ticket or a monthly subscription to a streaming service.

Also, you can get my first Freshly Squeezed Game, Toy Factory Fixer, at itch.io. It is always free to download and play, but itch.io does allow for an optional donation.

Both games are also available in the Google Play and Apple App stores, but know that there is no sale there.

If you do end up paying for access to Toytles: Leaf Raking or Toy Factory Fixer, know that I appreciate it, and I appreciate all of the itch.io creators who make itch.io amazing!

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.