Categories
Game Development Marketing/Business Politics/Government

Time to Reread ea_spouse’s EA: The Human Story

On this day in 2004, a very famous livejournal post appeared, sharing insight into the real ways that major game company record profits come at the cost of worker bodies and blood.

Each year as winter comes, and the ground outside is quiet and white, I like to curl up and reread Blankets by Craig Thompson.

There’s no snow yet (and I worry one year soon there won’t ever be again), but I realized that I could add EA: The Human Story by ea_spouse to my annual reread for the winter.

It’s a relatively short post, but it is worth rereading to remind ourselves of what is at stake when it comes to how gross, inhumane, and exploitive a company can be.

Despite game companies not being smokestack-covered manufacturing mills from the late 1800s, despite much of the white-collar work done in what would be seen as cushy office jobs, with nice ergonomic chairs, fancy monitors, delicious snacks, other niceties, working conditions can be pretty dire.

Game developers have done 12+ hour days, working through weekends, and barely having any time off, all to meet deadlines set by leadership. Sleep deprivation and a lack of movement for many hours at a time isn’t good for the human body. People get burnt out, their mental health suffers, and their bodies start to fail. To someone who worked in mines or did other back-breaking labor, it might seem from the outside that it isn’t so bad to sit at a desk all day, but literally sitting at a desk all day is killing us, as much research has shown.

Yet the companies they work for either mandate this kind of “crunch time” or the work culture is such that not doing crunch is seen as not doing enough to earn a place on the team, potentially costing opportunities, rewards, and even the job.

So in the 19 years since EA: The Human Story, what has really changed? While much talk has been generated after this post, and many companies claimed to have tackled it, it still happens.

And way too often.

Way too often for it to be an accident.

Games such as Lego Star Wars: The Skywalker Saga, which sold 3.2 million copies within a few weeks of its release, which sounds great for the TT Games, the company that made it, but who paid the price to make it happen?

From Polygon’s report on crunch at TT Games:

“It was a very soft-spoken blackmail,” one former employee says. “‘If people don’t start doing overtime, there’s going to be problems,’” although the problems were never specified.

That article highlights working conditions that sound very similar to what was happening at EA.

And TT Games isn’t a one-off. Expectations of 80-100 hour weeks, and that employees need to literally sacrifice their lives to help the owners make a nice profit, are still way too normal in this industry.

I used to think that crunch was an indication of poor management at a company. If management decides that they need to crunch, then they aren’t being smart, because they are fooling themselves into thinking that they can pay the same amount of money and get more value out of the labor of their workers, ignoring the very real costs.

But I then read an insightful post somewhere that said something along the lines of “No, they know what they are doing. They know the costs. They just know they don’t have to pay those costs, so it is actually very smart of them to squeeze their employees dry.”

Crunch isn’t an accident. It has this reputation as an emergency measure a company might use to try to deliver a late project sooner, used only in small doses in strategic ways. But too often crunch is just normalized as something you do in the game industry, because game developers have “passion” and it is a dream job you’re lucky to have. “If they don’t like it, they can work someplace else” as ea_spouse wrote quoting multiple managers at EA.

And to add insult to injury, employees often don’t get rewarded for their sacrifices. ea_spouse mentioned EA taking way comp time, which means all of the overtime everyone was working didn’t translate into paid time off later. It just disappeared, which worked well for EA’s side of the equation. They paid nothing in exchange for their employees giving everything to the job.

This year, rereading ea_spouse’s words might be especially appropriate. 2023 was a big year for major game releases, with the game market expected to be growing even larger than it already is in terms of real dollars, but it is also a major year for layoffs. Over 6,000 game developers found themselves out of a job this year so far from over 100 companies, with EA, Take Two, Unity, Epic, Twitch, and many more game development, game media, and other game-related companies all involved.

EA laid off hundreds of employees this year. EA also reported higher profits than they originally anticipated a few days ago.

While Bethesda (which had employees included in Microsoft’s 10,000 person layoff reported in January in many places) claims they don’t do crunch anymore, it’s still such a pervasive thing in the industry as a whole that I find it hard to believe, especially since no one can cite any actions taken to eliminate crunch at a company that has had crunch reported for many years.

Now, I don’t have a lot of direct insight into any of these companies or how they operate, and it sounds like some companies probably do not crunch anymore, but I’ve seen quite a lot of people posting about being laid off recently, and I know a lot of the companies they worked for are making a ton of money off of the value that those workers created.

The game industry has a reputation for being a youthful one, and it is easy to think that the reason is that it is due to innovation driving the market and so old ideas (and old people having those ideas) get replaced naturally.

But it is sobering to know that the reason why the industry skews young is more horrible. We don’t have a lot of older talent, people with long memories and the ability to mentor others, because many of them get too sick, too tired, and too disabled. The lucky ones leave the industry to avoid dealing with toxic work places and all of the associated health costs.

The only ones left to do the work are the young people, who don’t yet have the experience of false promises and who have the optimism that their “passion” for games is what separated them from others to get their job, when “passion” on a job posting is just code for “we expect you to always go above and beyond at your own cost.”

So, today, curl up in a blanket, make yourself some hot cocoa, and make it a point to reread ea_spouse’s EA: The Human Story on the anniversary of its posting. It’s not comforting, granted, but it is eye-opening, and having open eyes in the game industry is potentially life-saving.

And if you work at a game company, join a union. It’s your best weapon and shield upgrade to fight back against exploitation. Learn more at Game Workers Unite

Categories
Game Design Game Development Geek / Technical

Freshly Squeezed Progress Report: Keeping Track of What You Said

Last week, I reported that I was creating the Tell dialogue flow to complement the Ask flow in The Dungeon Under My House, my second Freshly Squeezed Entertainment project.

I was looking forward to finishing the final tasks for talking to characters.

Sprint 42: Pre-production and initialization

Planned and complete:

  • Characters speak when TALKed to

Unplanned and incomplete:

  • Create location art

Here’s the companion video for this report:

I say final, but what I mean is “currently planned” because I anticipate that there will be more dialogue-related work to do in the future.

But for now, the player can select a Topic and a Belief about that Topic to share with another character.

The Dungeon Under My House - telling someone a belief

Before, members of the player’s party were the only ones affected by changing beliefs due to someone else’s response to the party’s questions, but now other characters need to have their beliefs updated. So I added code to update not only the party but also any non-party characters in the same location.

Initially, someone always updated their beliefs based on what someone else said, which in a practical sense is fine.

But I quickly ran into the problem that if Dad tells you where the jar of pickles is located, Dad KNOWS where the jar of pickles is, but it was possible to then have his own belief about the location of the jar of pickles updated.

The location is the same, but to have Dad say “I know where they are” at first but then later say “I heard where they are” is confusing. He’s talking about this belief as if someone else convinced him, but that someone else was himself! His direct knowledge was being replaced with indirect knowledge by his own speech.

So I tweaked the criteria for updating the belief of a character, which means beliefs get updated only if the character either doesn’t have a belief in the first place or they have indirect knowledge about the topic. Eventually there will be more criteria, such as recency of information and trustworthiness of the source.

Finally, in service of making conversations meaningful and impactful, I wanted to make sure that if you ask a character about a Topic, they know not to respond with a random Belief that they’ve already told you.

That is, characters now need to track what beliefs they have shared with other characters, if only so they can avoid repeating info when they have other info to share, and if they shared everything, they can say something like, “I already told you about that.”

The Dungeon Under My House - remembering what was already shared

It will also be useful for a character to keep track of deceptions and lies they’ve told, as well as making some characters better than others at tracking their own lies. But that work comes later.

For now, dialogue can be scripted and also dynamically generated by the player and the current beliefs any characters have, which is going to be a major part of the game play, and I’m happy this piece is finished.

At the end of the week, I was getting tired of the temporary background art for the rooms of the house, so I started making better-looking temporary background art.

The Dungeon Under My House - temporary bedroom background art

My first attempt was using patterns provided by Gimp, which was serviceable but a bit too noisy and bright.

The Dungeon Under My House - temporary bedroom background art

So I tried a more cartoony style that implied what was there instead of directly showing it, and I think it looks a lot better, especially when using darker colors so that the foreground characters can stand out better.

The Dungeon Under My House - less temporary bedroom background art?

Soon I’ll add props, such as posters on the wall, a rug, a door, and a bed to make it clear that it is a bedroom and not a strange window-less warehouse prison, and I’ll do similar work for the other rooms as well.

Meanwhile, I was going through my game’s intro and trying to find ways to shorten it and make it more interactive, using the new dialogue options right away to both make the game feel less like a novel and to ensure that the core game play comes up right away.

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: Knowing When to Update Beliefs

Here’s the companion video for Monday’s Freshly Squeezed Progress Report: Knowing When to Update Beliefs:

Enjoy! And let me know what you think by replying below!

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!