Unite the people and ignite the revolution. As a hacker, make your mark in hundreds of moral choices. 3D Visual Novel Solace State is available today on Steam and Xbox!

You can pick up your own copy at:

Steam: https://store.steampowered.com/app/928000/Solace_State_Emotional_Cyberpunk_Stories/
Xbox: https://www.xbox.com/en-IE/games/store/solace-state/9nr5h934436j

Remember, you’ll get to meet Torrent! Here’s his new social profile:
Solace State: Social Media profile for Torrent

 

Additionally, we will be doing a livestream later on launch date (Sept 14, 2023)!

olace State's characters Rebecka (left) and Chloe stand in front of a purple-lit staircase. Text says: Solace State available now, dev livestream & Q&A 3pm EST @ twitch.tv/vividfoundry

We’ll be streaming live on our Twitch channel at 3PM EST. Solace State devs will be doing a Q&A, sharing behind-the-scenes info, and chatting about the journey to launch! Join us at: https://www.twitch.tv/vividfoundry

[This post was originally posted on www.solacestate.com]

Solace State is a visual novel that requires a lot of testing, due to its complex narrative, custom 3D text-in-the-environment system, and trippy sci-fi camera transitions. Less than a week before the game’s release, Kas Millard shares the process.

Long time no see! With days until Solace State’s launch date on September 14, we are trying something new with reaching out to folks across social media and even to our mailing list. This includes trying Ghost, a mailing list publishing platform! Let us know what you think about our longform content in the form of these newsletters here, because a few of us on the team love writing and sharing behind-the-scenes content.

Solace State is a game about empowering friends and hacking the system of a hegemonic biotech conglomerate. It’s also a visual novel that doesn’t look like a visual novel. This is because the 3D text system and its trippy sci-fi camera transitions are custom-designed for the game. And this means that we have a lot to quality control and test for, especially for a small team!

Kas Millard (she/they) is Solace State’s QA Tester and has done some heavy lifting to make sure that everything from the right characters show up on screen to that the music gets played at the right volume! For a game with 38 endings, 31 fully illustrated characters, and over 200k words, this is no easy feat! Without any further ado, Kas shares their insights below about what makes QA so important for a game of this scale.

Enjoy,
Tanya Kan
Director & Exec Producer


Quality assurance is one of those things that tends to be misconstrued by those not familiar with the work. Every QA tester has, at some point or another, tried to explain their job to someone not in the industry and was inevitably met with the dreaded response of:

“Oh. So… you just play video games all day?”

We’re definitely playing more video games at work than your average nine-to-five, but that’s not saying much. It’s telling that one of the first things told to prospective game developers is, “Don’t go into game development unless you like looking at spreadsheets.” To some extent or another, that’s true. Game development and spreadsheets go together like peanut butter and jam. And that’s true of everything from budgeting to tracking bugs to even keeping our scripts well organised!

black Xbox controller in pink and blue lighting

QA is not one-size-fits-all

QA isn’t the sort of thing that is a one-size-fits-all solution. Each game studio will have different needs, as will each project, from company-specific protocols and policies to particularly egregious bugs that require testers to completely redefine the way they’ve been doing things. Working in quality assurance means adaptability. QA’s job isn’t to fix bugs, it’s to find and report them, so it’s important that we do our best to ensure that we do our best to work with the rest of the team and what they need from us. Working on Solace State was no different.

While some issues could be easily logged and reported to the team, other issues were not quite that simple. Sometimes issues only occurred under a very specific set of conditions, requiring a lengthy set of instructions on how to reproduce the issue. Occasionally, it even requires video footage of the issue happening in real-time! On occasion, a seemingly new issue would appear, only for it to be a previously-resolved bug that had reappeared elsewhere due to a change to the code. In those instances, it was important to find the old report and link it to the current issue so that the new fix didn’t accidentally undo the previous one.

Animated GIF shows in-game footage from Solace State. Chloe (left) and Torrent are in an elevator talking about Chloe's work as journalist, whereupon she has to make a choice to tell Torrent about how she knows her missing friend Rebecka. The camera swoops around the two characters while cutting in and out of the walls of the elevator.

An in-game gif of a choice that Chloe makes early on about finding her best friend Rebecka.

But Solace State is a visual novel that doesn’t look like a visual novel, and it also doesn’t have routes that completely branch off from the overarching city-wide conflicts and story arcs. With that came unique problems that required equally unique solutions.

When I first started working on Solace State, we were still a long way from what would end up as the final, shipped product. Much of what would end up in the final version of the game had yet to be implemented; from complete visual rehauls of Solace State’s original demo to massive story moments with choices that would affect the whole game. For instance, Sueli – who would quickly become one of my favourite characters – didn’t even have a finished romance route yet! So how do you test a game that isn’t even finished yet?

Solace State: Sueli and Chloe sitting on a park bench in front of a bush with white flowers. Sueli is a dark-skinned woman with natural, curly brown hair wearing a green cardigan and a white top. Chloe is a woman with brown hair that fades to blonde. Chloe says: For what it’s worth, then, I think Zircon Hill is lucky to have someone like you looking out for them. Text is shown with the OpenDyslexic font option.

Right from the beginning, Sueli was one of my favourite characters. This screenshot is shown with the OpenDyslexic font option.

Testing from big questions to small

Well, my first task was to test the basic functionality of the game – especially the core fundamentals that would require extensive fixing because they don’t work with certain inputs and impact the game regardless of the scene. This was the stage where we focused on making certain that anything that would come next would have a solid base to be built upon. It is so crucial to have testing early on because of this!

This was the time to be asking the big, important questions. Can the game run from start to finish? What happens if I press the button that the game wants me to? What happens if I pressed a button that the game didn’t want me to? That last part was my favourite.

QA often requires you to play the game like no one probably will, but what if someone does play like that and breaks the game? I remember one of the first bugs I discovered was when I repeatedly pressed the interact button while the game was starting up, players would skip over the main menu and immediately start a new game. Our Generalist Developer, Seamus Ly, would later ask me why I was pressing buttons when there was nothing on the screen, and I just laughed and said it was because I got bored while waiting for it to load and that players would likely feel the same.

Solace State: The settings menu contains multiple buttons and headers to enable or disable various features. Some settings included in the image are text speed (which is set to immediate), enable character highlight (which is set to pink), and film grain in flashbacks (which is enabled). Next to the menus is Alden Aldridge who is examining his cuticles with one hand on his hip.

The main menu of Solace State showcases the most important menus of the game. From here, players can create new games or load old saves as well as adjust their settings for a better gameplay experience.

From there, testing gradually became more specific. Was continuity maintained between scenes, especially when players made choices that altered the story? Did every aspect of every system work as intended? Were the intentional functions of those systems properly communicated to the player? Were those functions communicated well? If this was someone’s first-ever video game, would they know how to play it?

This was also the stage where new content was gradually getting added, which came with a twofold problem. First, all that new content would have to go through all the previous checks. Second, and perhaps most frustratingly, the solutions to the previous issues would have to be checked to ensure that they still worked with the addition of new code. This often meant that the issues we had long considered resolved would reappear once again.

Tracking issues

To help document all these issues, the dev team utilised a project management tool called Trello. With the help of developer Ryan Miller, the dev team adapted Trello plug-ins so when we experienced a bug in-game, we could export out our log debug files as well as a screenshot that would then be uploaded online.

Four columns, titled left to right: FPS drop issues, art assets lower priority, character outline, audio bugs. Each column has several small screenshots of Solace State, each image captioned with a bug, such as characters missing highlights when they are speaking.

Trello was a particularly useful service used by the dev team to help keep track of bugs, prioritise, and communicate with each other about bugs.

Think of the log debug file like a grocery list of code, with a full written list of things that happened while the game was running as well as any errors. This log debug file is custom written by our development team so that we get the information that we want. We could then look at all the reported issues from the team, and add in any missing details, additional notes, or things like video footage and more screenshots and put them into different categories for different developers to address. Sometimes there would be an issue with a character’s art, so those issues would be filed under the appropriate art category to be fixed by one of our artists. This keeps everything organised and helps to play to every developer’s strengths.

As these bugs and issues got patched out, they’d be sent out to be confirmed as fixed by quality assurance–that’s me!–who would run tests to see if the issue had been fully resolved. If they weren’t resolved, I would make note of how and where the issue was still persisting. On occasion, fixes would be correctly applied but sometimes they wouldn’t work on a practical level.

For instance, a character was too close to the camera in one scene, but the fix moved them too far back and now the perspective of the scene doesn’t work. Or, after making a change to an object, the object would go back to its default state… which happened in this hilarious-looking character art bug of the one and only Alden Aldridge himself.

Torrent and Chloe are sitting at a table with a red and white chequered table cloth. On the table is a white ceramic coffee cup and two copies of Alden Aldridge. He is a man with blonde hair and a white and purple floral suit and is the same height as the cup of coffee.

I don’t actually think additional context is needed for this one. (There are Alt Text for all the images in this article though!)

Scope and constraints on testing

Still, if issues couldn’t be fixed, whether this be because of technical restraints or time, we would have to sit down and consider a new approach. Then it was a matter of rinse and repeat. On paper, it doesn’t seem like too much work, but I think it’s important to remember just how much content Solace State contains.

Some estimates place the average length of a novel at around 50,000 words. If we’re just talking about what’s in the final, shipped version of Solace State at over 200,000 words, we’re looking at over four times that! That’s not counting the in-game codex (it’s a dictionary of names and terms), either! And all the additional documentation? The scripts? All the documents containing all the planning? Every single piece of writing that’s behind the final product? We’re probably looking at double even that number. That’s enough to be giving several multi-installment book series a run for their money. It all adds up very quickly.

For every page of content that ends up in the game, there’s easily three that didn’t and an additional five pages of documentation, planning, and drafts.

It’s very important to take that into consideration with game development. What may seem easy at first may not end up that way. That’s important for every member of the development team, and that was something I had to remind myself of when I was making suggestions to the team about features that just weren’t working in the final product. We had a small team, and that meant limited resources. If I discovered a problem, I would both have to consider how and why that problem occurred, as well as what the solution could be.

While the ideal fix for a problem might have been to rebuild the system from the ground up, sometimes there just isn’t the time or the manpower for that. It’s easy to think of what we could do if we had an infinite amount of time and just as much money, but it’s less easy to be aware of bugs on a technical scale while also managing player expectations, staying within budget, and also making certain members of the team can hit their respective deadlines.

So how can we fix the problem?

Well, let’s look at it a different way.

What is the problem? Is it a problem on a technical level? As in, is the problem actually one that is purely just based on code not working properly? Or is it a problem because it’s working as intended, it’s just that the intended function is unclear or otherwise not communicated well? Can we solve the problem by adding an additional line to the tutorial instead of completely redoing the entire section?

A bug. Chloe is standing in front of a conference room with glass walls. On the right side of the screen, her instant messages are open with a series of buttons reading flirt or be friendly three times.

This was a particularly fun issue to discover. Reloading a save with instant messaging choices could infinitely duplicate the choices. We later discovered that this affected all instant messages, leading characters to spam text the player if the player reloaded a save.

An intro on accessibility

Another thing I had to test for was accessibility, and accessibility is a much broader category than one would think. There’s the traditional accessibility that people tend to think of–audio, visual, and physical impairments–but there’s also accessibility in the sense of the base level requirements necessary for even able-bodied individuals to play comfortably.

This meant that accessibility checks ranged from checking for colour blindness friendly colours options to different fonts options for those with dyslexia to making menus autoscroll so players didn’t have to manually scroll every time. This was an extensive process, and it’s one that we look forward to talking about in a different blog post!

Solace State: The settings menu contains multiple buttons and headers to enable or disable various features. Some settings included in the image are text speed (which is set to immediate), enable character highlight (which is set to pink), and film grain in flashbacks (which is enabled). Next to the menus is Alden Aldridge who is examining his cuticles with one hand on his hip.

The settings menu underwent several revisions throughout the development process. As we added more features, we added more options to enable or disable them so each player can customise their gameplay experience to what works best for them.

Solace State is multiplatform, and that means taking the technical limitations of each platform into consideration, as well as each input method and the standards and expectations set by the average player on each platform.

In conclusion

So, yeah, as one of many crucial steps, we are playing games for a job. But we are also editing, we’re documenting with clear and technical language, and we’re providing the back-end support so that others can spend more time doing what they’re good at. For a project like Solace State, that’s a lot of work, but it’s work that needs to be done, and I can’t say I didn’t enjoy doing it.

At the end of the day, game development is about picking and choosing your battles carefully.
Sometimes the easiest answer isn’t always the correct one, and sometimes the correct answer isn’t always the easiest one.

That doesn’t mean that the answer still doesn’t need to be found, and for anyone looking at working QA in games, I wish you nothing but the best of luck.

Kas Millard (she/they) is a Toronto-based game designer and freelance artist currently working as a QA tester and Social Media Manager on Solace State. You can see Kas’ website here.


Want to read more deep-dive game development content? Subscribe to our newsletter here!


Solace State is a cyberpunk visual novel where you play the young hacker Chloe who confronts political plots as she fights for her friends and her neighbors. Your choices in building up relationships and communities can revolutionize into more or less freedoms.

Solace State is available NOW on Steam and Xbox! Please buy or wishlist today!

Thank you for your interest in our games! We look forward to hearing from you! Confirmation of identity may be requested.

How do I deal with the challenge of creating art about trauma, during a year when challenges seem more insurmountable than ever before? 

Solace State in 2021 has seen more production development from both myself and our larger team than in any previous year. But, on the other side of this is the vulnerability of tapping into myself to write fiction about social trauma and transformation, while experiencing my own grief and loss.

I’ve been working on Solace State as the video game’s director for years, and it has become a full-time focus since 2017. I’m a studio owner who balances administration and marketing with development work, which includes leading in writing, art direction, 3D art, game design, and level design. And I’m making this game so much bigger than what I initially anticipated, because I need to tell this story about a young woman coming to grips about how her personal anguish over injustice has a political root. It’s about her journey to find herself in a community and move away from wholesale apathy, and really gain ownership over the choices that she can make.

GIF: Chloe making choices when she meets Torrent for the first time.

In writing Solace State, it is like I’m balancing on a knife edge of being too pithy with hope while conversely being too grim. My heart aches with seeing more people in positions of authority backsliding into symptoms of tyranny around the world, which means that there are marginalized populations somewhere who lose badly, through loss of life and liberty. There are countless times when the depths of my own grief circumnavigates my learned academic compartmentalization from my political science degree, that analysing institutional fracture points is far from the experience of perceiving the malaise of their fallouts. There are days when I really dig into my head and grapple with what I think I can offer.

None of us exist in a bubble away from politics, health, art, and work, so all my life I’ve never separated these spheres from each other, and made politics and health my art’s key themes. To me, art is resistance when it seeks to inclusively and intersectionally strive towards equity. And the first step with grappling with this, and actualizing what that ideal can mean in action, is the act of talking to one another. And as pithy as it sounds, it has helped immensely. Talking can be resistance, too. 

Secondly, just the act of creating feels like breaking away from a cycle of doom scroll and destruction. Creating feels like distilling and bottling up a bit of hope for now, and for later. Maybe, even, feels a little like reminding myself to hold on fast to those humanizing ideals. 

As for Solace State’s core development, our team has gotten larger since the beginning of 2020, bringing five additional specialists to help with Solace State’s production pipeline. And everyone brings with them unique perspectives and experiences. I learn something new weekly from the most junior to the most senior person, and that starts feeling a little like soothing away grief’s clutches. 

The leading four characters Torrent, Chloe, Sueli, and Alden in our key art drawing, illustrated by SeageArts in 2021.

The narrative now has over 30 characters with narrative lines and character art. I also added in a new main character, Sueli, who has both her own character arc as an experienced community leader, and can be Chloe’s potential love interest. Sueli is uniquely challenging to me as a writer because I’ve lived with the story of Chloe, Rebecka, Torrent, and Alden and how they intertwine for years, but now I cannot imagine how Solace State works without her. 

We’ve expanded a lot more narrative nuance into how different characters experience gradual autocratic control, including through increased militarization, misinformation, and crackdowns. 

We also improved on a lot of character art rendering, so that the camera can pull in tighter to give you those deeply emotional shots of the character’s expressions. This is combined with a lot of large 3D neighborhoods for Chloe and her gang to explore. Much of the architectural modelling is already complete, though we are working on adding details, colors, and shaders to them to really make them pop. 

Chloe and Torrent sitting in a kitchen – S C H E M I N G. This particular section shows how the speech bubbles appear at the bottom of the screen for easier readability for a longer period of time.

Speaking of legibility, after some testing, we made the speech bubbles ADV style so that it’s much more easy to read for hours (ADV style is the more typical UI design style of having a screen-space text box at the bottom of the screen). Previously, 3D speech bubbles were rendered at an angle and limited our camera composition as well. The diegetic text and the transitioning cameras are still very much features we’re keeping, of course! 

GIF: See the hacky transition and the glowy atmosphere at work as Chloe and Sueli flirt with each other!

There’s a certain kind of pressure when making art about personal and political trauma. It feels harder to give myself allowances when I don’t hit certain self-imposed milestones. That’s even when we’re creating more progress as a team than ever before. 2021 saw me almost double my own development hours, and use those hours even more efficiently. Each month, I’ve made progress on writing and editing the narrative, art directing, level design, and 3D art, and balancing with administration, producing, funding, budgeting, and marketing. 

Writing the entire narrative script is almost done, and there’s a part of my heart that shrieks at that, because how can a story be done? But it will be, and it’s a warming feeling nowadays that, when I re-read through Solace State’s dialogue, I find myself enjoying it. I enjoy its whimsy, its self-reference, its allowance to let its characters breathe and live and make mistakes, and find joy.

We use Articy, an interactive storytelling management system to plug into Unity Engine for our branching story paths and many variables. This is just a small part of the larger picture!

The other side of trauma is healing, and that means reminding myself that I’m not just a disembodied idea but a body and soul that can thrive, that I can have stress but also moments of serenity. We’re all actively trying our best, and I’ve got such a good team to remind me that I’m doing the best that I can, too.  

Shout-outs to the team members who have put in the most hours this year in Solace State’s development: Gabi’s been working with so much nuance on Solace State as Lead Programmer that they predict many of my questions. Reilly, Character Artist, builds ample intention into each pose and outfit that she creates. Ashley, Writer, helped me reframe the narrative pacing, from our writing room meetings to her first drafts. Lauren, 3D Artist, dives into creating many neighborhoods’ architectural assets and its painterly style. Seamus and Sunny, newest to the team, have moved us forward by leaps and bounds on level design and narrative content integration respectively. And Jayme makes sure we stay focused and capable in taking on our responsibilities every week as Project Manager. 

An in-engine screenshot of the intersecting transition at work. Looks like a nightmare-scape for Chloe and Rebecka. #madeinunity

Perhaps at the end of the day, I can’t help but stare into the eye of the storm. I’ve been writing stories all my life. I vividly remember that some of the first pieces of fiction I wrote in pre-teen years were about losing one’s home, family, and the cost of war on civilians. The moment I understood the concept of death, I was struck by the unfairness of an unfinished life, and I have often circled around these concepts. 

But perhaps the other thing I can’t help to do is to find the silver linings in every dark cave, and to make it into a conversation. And, what better way for Solace State to do that than through interactive storytelling?

-Tanya

 

View this post on Instagram

 

A post shared by Tanya Kan (@vividfoundry)

Production and Marketing work at Vivid Foundry in 2021 has been supported by Ontario Creates

This is meant to supplement the already fantastic How To Market A Game guide by Chris Zukowski! If you haven’t done so, please be sure to read that first.

Here’s some additional ideas that may help you with you Steam Stream. As you can see from the volume of technical details, I highly recommend that you set this up at least a day in advance of the stream day, especially if it’s your first time streaming to Steam! 

OBS: Studio Mode

Studio Mode allows you to cue up your next transition. It’s great! 

To turn it on, select Studio Mode at the lower right corner. 

Now, in the middle of two screens, you have a transition column. You can even add different types of transitions as a button that you can click on! The toggle bar at the bottom of this column allows you to control the transition timing between the Preview and Program screens.

OBS: Livestream and make a recording simultanously

Let’s say you want to go live with exclusive show content, and have this looping at a later time. Here are some ways to do so!

 

  1. Go to File > Settings
    Go down to Output > Automatically record when streaming
  2. You can also manually start either Start Steaming or Start Recording in the main controls window if you so desire
  3. To loop this footage afterwards, just go to Source > Media Source and find the local file. 
  4.   Make sure to select Loop if you want it to loop continuously. I highly recommend also including a Text that says replay on the OBS for the Steam stream.

 

How to livestream to multiple platforms 

…with some caveats! 

 

You can livestream to multiple platforms at once using services like Restream

  • Works with OBS
  • Works with platforms like Twitch*, Steam, Youtube, Facebook
  • Great if you want to test out your audience reach on different platforms
  • Steam doesn’t show if you’re streaming right away; Restream at least lets you know if you’re live much quicker
  • You just need to set up OBS once, and then toggle on Restream’s end for different platforms. Helpful if you switch between streaming to different platforms regularly.
    • This setting below is the only one that you need to change on OBS if you want multi-streaming. Go to File > Settings, then change the Service, server, and Stream Key here. Restream’s site has very clear directions as to how to set that up.

Some caveats:

  • *Twitch Partner and Affiliate doesn’t allow multistreaming – you may have your Affiliate and Partner status revoked (see: Twitch Affiliate Agreement: Live Content Exclusivity)
  • Other platforms may have other rules and restrictions about multistreaming. Please read each of their TOS before trying this! 
  • If you’re doing simultaneous streams, might be splitting your audience rather than funnel them to the Point-Of-Purchase and the festival page

 

If you have issues logging into Restream, you may need to turn off some extensions and plugins on your browser, or try with a different browser.

 

OBS: Check your audio sources 

Check these ahead of time! What our team usually does is check mics in a non-streamed local recording to check how everyone is for volume about 30 min ahead of time.

In the case of a basic setup (without a whole sound board), you may have the following audio sources: 

  • Any media source like .mp4s that are looping
  • Mic
  • Desktop audio, including music and your teammates’ audio if they’re remote
  • Video capture devices

You may or may not want these playing simultaneously!

 

Right-clicking on any audio track or clicking on the gear will bring up the menu:

  1. Properties allows you to find the source. If anything is not recording, this is the first place to check. Mic might be going to the wrong source.
  2. Advanced Audio Properties allows you to set your microphone to higher volume if you find that your volume is much lower than everyone else’s, or the desktop audio. You can change it by decibel or by %. Some things which may also help is sync offset if you’re noticing a delay from audio to the capture of some of the speakers on screen.

Steam: Create a News Hub to announce your livestream to followers

This is great to create a community of announcements to folks who are interested in your game. It will also appear for people who are following your game! 

  1. Log onto both steam partners and steam community
  2. Select your game App, go to Community & Moderation > Post/Manage Events & Annoucements
  3. Select Create new Event or Announcement
  4. Then select Live-stream / Broadcast in the following page
  5. The specific art assets and descriptions will be up to you to fill out, just make sure that you leave time for the Cover Image because it has specific requirements of 800×450 and is required
  6. What’s really important is setting the event start date, time, and visibility of the announcement as visible once the event is published

  7. It won’t be published until you complete all of the required elements AND press publish on the published tab! 

Hope that is helpful to you! Happy streaming!

Our Pledge

A welcoming, respectful, and inclusive environment is the core tenet of Vivid Foundry. We, as team of collaborators, developers, and contributors, pledge to make our work environment a harassment-free experience for everyone, regardless of age, body size, visible and invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, ethnicity, caste, religion, or sexual identity and orientation.

Our Standards

Examples of behavior that contributes to creating a positive environment include:

  • Demonstrating empathy and kindness toward other people, including team members
  • Using welcoming and inclusive language
  • Being respectful of differing viewpoints and experiences
  • Giving and gracefully accepting constructive criticism
  • Behaving with the collective team’s best interests in mind

Examples of unacceptable behavior include:

  • The use of unsolicited sexualized language or imagery, and sexual attention or advances of any kind
  • Trolling, insulting, or derogatory comments, and personal or political attacks
  • Public or private harassment
  • Publishing others’ private information, such as a physical or electronic address, without explicit permission
  • Encouraging others to partake in hate speech, public or private harassment, coercion, or bullying
  • Coercing, blackmailing, or pushing others to ‘out’ any part or entirety of their identity
  • Microaggressions, including invalidating people’s traumas and vulnerabilities, and negative attitudes that further stigmatize marginalizing experiences
  • Using judgmental language at others to make unreasonable accusations, to cause harm, or to create hostility. Judgmental language comes from assumption, not fact
  • Using misinformation to undermine others
  • Stealing other people’s work and property or deliberately sabotaging work
  • Other conduct which could reasonably be considered inappropriate in a professional setting

Our Responsibilities

Vivid Foundry management is responsible for clarifying and enforcing the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behaviour. Management reserves the right to modify and change the Code of Conduct as to better fit the values detailed in the Pledge above.

Management has the responsibility and right to remove, edit, or reject digital messages and work contributions in our work environment that are not aligned to this Code of Conduct, in a manner as they deem appropriate for removing threatening or harmful content.

Scope

This Code of Conduct applies both within workspaces and in public spaces when an individual is representing the project or the company. Examples of representing a project or company include using e-mail to represent the project, posting via social media about the project, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by Tanya Kan.

Procedures (internal)

If anyone working at Vivid Foundry has made you (the Contractor) feel uncomfortable with unprofessional or disrespectful behaviour (whether towards you, another employee, a customer, or other person), either in or outside the workplace, it is essential that the situation is remedied so that it is not repeated. Every situation is different, and Vivid Foundry reserves the right to enforce punitive action, from required training to termination, or anything in-between, according to the judgment of Vivid Foundry management and the severity, frequency, and outcomes of an incident.

Here are the steps we encourage you to follow if an incident occurs:

  1. Consider talking it over with the person yourself. This is generally appropriate for budding interpersonal problems but may not be appropriate for serious incidents.
  2. If settling it with the individual(s) seems difficult or problematic, bring the issue up privately with Tanya Kan (the studio director). The issue can be brought up by email, private message, or by setting up a meeting, whatever best helps the individual.
  3. Vivid Foundry will investigate and deal with all concerns or complaints fairly and thoughtfully, centring the needs of those negatively impacted, and respecting the privacy of all parties as much as is reasonable.
  4. Where Vivid Foundry deems necessary, Tanya Kan will reach out to a third party, anti-oppression expert to advise on further procedures, at Vivid Foundry’s cost.

Procedures (external)

If you become the target of harassment while working at Vivid Foundry, or especially as a result of working here, it is essential that the company assist you as best it can during this difficult time. For its part, Vivid Foundry pledges to act in your best interests, prioritizing your safety and acting on your behalf only with your informed consent.

Here are the steps we encourage you to follow:

  1. If you feel you are in immediate danger, please call 911. Alternatively, contact Sexual Assault Centres, Crisis Lines, or Support Services as appropriate for your situation (https://endingviolencecanada.org/sexual-assault-centres-crisis-lines-and-support-services/). When you are somewhere safe, please ask someone to notify Tanya or your supervisor.
  2. “Speak Up and Stay Safer”: Engage with social media with care. We urge you to prioritize safety, but Vivid Foundry will not discourage your engagement with your community. Tools like blocking, filters, and/or allowing someone you trust to post/filter for you are all useful, if and when you deem it effective or appropriate.
  3. Either alone or together with someone you trust at Vivid Foundry, investigate cybersecurity and online safety resources such as Crash Override Network (http://www.crashoverridenetwork.com/resources.html) and decide together what the best course of action is.
  4. Vivid Foundry always supports self-care and professional guidance in taking next steps. If you feel it would help, consider asking your supervisor to approve time off. If this is not feasible, Vivid Foundry recommends discussing alternatives and accommodations with your supervisor.

Attribution

This Code of Conduct is adapted from the Contributor Covenant, version 1.4, available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html, the Contributor Covenant, version 2.0, available at https://www.contributor-covenant.org/version/2/0/code_of_conduct.html, and from Kitfox’s Harassment Policies, available at https://kitfoxgames.medium.com/kitfoxs-harassment-policies-fe2aa2305b97

Adapted by Tanya Kan, edited by Jayme Last, last edited and updated by Tanya Kan on 2024-01-09.

Solace State Tanya Kan and Gabi Kim Passos at GDC 2019

Solace State has seen both challenges and growth in 2019. We’ve also got a chock-full of pictures to share with you. Let’s celebrate our efforts from 2019 – from GDC, to Kinda Funny Games E3 showcase, to TCAF Comics x Games, and more!

They will treat us as disposable in life,
The young, the old, and the free.
They’ll call us mindless agents,
When we seek is a clear path for
A sustainable future, of hope
That doesn’t cost anyone else’s loss.

And after death,
They will desecrate our graves,
Shut down our memories and our shrines.

Raise the stakes.
Their shadow-boxing holds false substance.
Make them see colours
And a vibrancy to our way of living that
Cannot be contained.
Watch their eyes as you ask, again and again,
“Don’t you want to go home to a kind
And loving society that treasures everyone?”

Make them see that the basis of their gain,
Their greed, their children’s inheritance,
Will be threatened if even a few of us die.

Summer 2018 has been a season to remember for Solace State!

In May, Solace State brought on board Gabi (@UndeadOoze) working full-time as a programmer from May through the first week of June, then part time for the rest of the summer. We also worked with Silverstring Media (@Slvrstrng), narrative consultants, and Seage (@Seageart), 2D character artist, on contract throughout the last few  months. Everyone has been contributing their utmost; Our first ambitious milestone was to make a submission to Indie MEGABOOTH. Indie MEGABOOTH for PAX West is one of the most competitive pavillions in the world to apply to showcase indie games to excited consumers.

 

In June, we continued to polish this build, and by the last week of June, I travelled to Utrecht, Netherlands, for the INDIGO 2018 Expo on June 29, along with 40 other games. Run by the Dutch Game Garden, most of the games are by the Dutch, and some are from European developers; Solace State was the only one invited from North America. From the event, we connected with Utomik, had three pieces of press, and was selected by XGN.nl as one of four best-in-show games. Later in July, Utomik even followed up to connect with me to do a live-stream!

 

 

On July 13, less than two weeks after my Netherlands trip, I traveled to New York City with an updated build to Game Devs of Color Expo that took in some of the earlier feedback to improve on its choice mechanic. We had been periodically improving on the game build since it has had a lot of public exposure and concentrated feedback from local devs. I also did a talk about how Solace State became a social impact game (full stream here). Both the game and talk were well received, with Solace State mentioned on 7 publications and shows, including Kotaku, NPR, Polygon, and Intelligame Radio. It was shortly after this trip that I realized how much I need someone to help me on vlogging, video promotions of development, and marketing in general.

 

 

I received some timely feedback that my business and marketing plan are weak, which is actually a blessing because it coincides with my gut feeling about how I should structure my company and project. After consulting with Ryerson Transmedia Zone (TMZ) Mentors, TMZ teams such as Blackout, Paere, and Cherrydale, non-profit leaders, friends working at tech titans, and other published interactive digital media studio owners in Toronto, I refocused on sharpening the company’s vision to create an audience-community that encourages social healing and advocacy for marginalized stories.

 

 

The hard work paid off. In July I received a wonderfully surprising email: That I have been invited to participate at Indie MEGABOOTH. I will be showing the game with new build additions at PAX West, in Seattle on Aug 31 – Sept 1, at the smaller, more experimental pavillion Indie MEGABOOTH’s MINIBOOTH!

 

 

Please stay tuned! After PAX, we hope to keep building more content and perhaps even a vlog or two about my experiences travelling to show our new Solace State demos!

 

Peace and love,

Tanya Kan

 

Tanya Kan reporting in: There’s been a lot of behind the scenes activity for Solace State! In the past 9 months, I’ve been focusing on a lot of very diverse moving pieces of work that I have not written about in a blog post yet.

First of all, we have a new-ish trailer with new music by Robby Duguay, and lots of new in-game footage. The trailer is edited by yours truly. Don’t worry, the text will slow down to a pace that you’re comfortable with reading in the visual novel for the actual playable build itself.

We’ve been expanding our team. CJ “Seage” Howlett have been working with us to create beautiful character art for Solace State! He has a fantastic fantasy and fashion arts background and he streams some of his art commissions online frequently on Twitch!


Here we are showcasing the game at Bit Bazaar at the CNE.

I haven’t done a speaking engagement since the last half of 2017, but Sept 2017 onwards was very eventful. I spoke at two industry events at Toronto International Film Festival (DIALOGUES 2001: An Immersive Odyssey and CONNECTIONS New Technology & Immersive Storytelling) and connected with documentarians who are doing some incredible work and wish to dive into VR and interactive story-driven experiences. I took the opportunity to describe how politically complex and engaged work is as necessary as ever within even entertainment media. I also spoke at Make Change Conference on social impact games; A talk that I hope to polish – and with more than 3 hours of sleep before its delivery – and harness parts of it later on as well. I also showcased the game at Dames Making Games’ first ever Damage Camp. Finally, a small chapter demo of Solace State was selected as an official selection at the Regent Park Film Festival. The chapter was very well-received and I thoroughly enjoyed the programming at that festival!

I have also been working on a lot of writing in November through January, and have grown in my confidence as a writer to develop a story of complexity that presents how difficult it can be for communities to protect each other’s livelihoods and bring about a more peaceable society.

Silverstring Media are always a joy to work with. They have helped me wrestle with some of the hardest questions, including how to write about societal dramas, to how to stay productive and energized as a writer. I can’t wait to share more about my writing process as we get closer to launch, because the questions that the Silverstring team have engaged me with have been so substantial. I have also worked with Silverstring Media on Matt Makes Games’ and Noel Berry’s Celeste to offer narrative consultation on East Asian representation, and this was a most enjoyable and inspiring experience!

At the same time, I have increased the amount of bizdev learning over the course of 2018, including attending an accelerated course at the Artscape Launchpad program and participating in Ryerson’s Transmedia Zone.

Artscape Launchpad’s Creative Entrepreneur Program was fantastic in helping me reframe my mind around how to consider everything from the presentation of my business, to accounting, legal, marketing and grants. Launchpad brought in some great experts to walk artists through the process, and I highly recommend its classes and other events. Our cohort is fantastic and it’s great to learn from other artistic peers about their business directions. The whole experience has been very healing for me.

Transmedia Zone also gave me resources about pitching and offers a huge library of business development resources, and in the future I have their mentorship program to look forward to as well. I have been working with an intern at the Zone and engaging her with directions on branding and social media as I learn the material myself.

A post shared by Tanya (@vividfoundry) on

Bring that all together, I’ve been teaching myself more about social media use for branding, as well as taking advantage of my contacts in legal and accounting to ask questions to augment my learning. In turn, I have been getting more involved with consultation as an entrepreneurial artist, as well as engaging with community groups and legal thinkers to discuss about education and society. The community involvement helps ground my work as well, in a “bigger-picture” sense, and also helps me think outside of the box as a creative.

For the month of February and March, the bizdev side has been my focus, and it does take a lot of energy out of me. Grants and finding sources of funding have also remained at the forefront the last several months. From April onwards, I will be refocusing on strategizing set hours around writing, while I work on a bit of design during other parts of the day. We aim to have a new build out later this year to share with you all!


It was a joy to be interviewed by Lucy O’Brien, IGN Games & Entertainment Editor. We had a very reflexive conversation about some of the challenges that women face in the video game industry. What makes her piece stand out is that she examines deeply at our roots, our first spark of delight at finding game development as a viable path, to the systemic barriers, and finally to the actionable elements that can help us as an industry improve. Ms. O’Brien had interviewed 55 women and non-binary game developers from around the globe, and it’s extremely empowering to hear the stories that resonate with me. If there’s an equivalent to a palatial mural of our times on women’s experiences today in the games industry, this is that article.

 Read about it here!

 

An excerpt:

The no-girls allowed reputation around video games is further encouraged by years and years of mainstream advertising that has turned its back on the female gender (or sleazily revelled in its aesthetic). As video games continue to be primarily marketed towards boys and men, boys and men continue to primarily develop them.

… “To be honest, I would like to see a whole change in the way games are marketed,” says Vee Prendergast, a game developer from Perth. “Mainstream game advertising is still so male-oriented despite the target audience having completely shifted.”

This viewpoint is shared by Tanya Kan from Toronto, a game developer who frequently contends with the ill-educated idea that video games are, by default, ‘shooters’ or ‘gun games’, an idea as archaic as believing every video game console is called a ‘Nintendo’. “The moment I tell a bunch of strangers or friends I’ve not seen for a while that I make video games, they immediately think I’m going to make the next Halo,” says Kan. “I’m like, ‘I make pacifist games.’”

You brought her to the ocean edge.
She wondered how much it would hurt
If she held her breath without any peace.
If she trailed into the waves on her own,
Met mantle crusts that squeeze her side
Just for imagining different shore lines.

Times you’ve shared pilgrimage in virtuous lines,
Couldn’t say she was so much on a constant edge.
You’d say you’re a worldly friend to be by her side;
Only faraway carrion calls sounded the hurt.
But she said, “I can make it on my own”,
Smiled and prospered like flowers of peace.

There are such words to wound the peace,
Insincere, power-hungry, carnal lines,
To those that rob legitimacy of her own.
The futile silence becomes an edge
That only scrambles in betrayal and hurt
And fear of reprisal shackles her in-side.

Wondered how selfish you were in-side,
To break a pristine and platonic peace.
Prideful with lust and coiling with hurt,
You pried at her armor and broke border-lines.
Won’t let her descend to her own dreamer’s edge
And extol with her beholder’s eye on her own.

She’d once weathered mirrors to a world of her own:
Upbraided expectations that she’d shake off her side,
Kept the levies high to maintain her own edge.
Taught from dusk to dawn to keep the peace
With the boys and their machismo lines.
Her body heat chose solitude without hurt.

Now your emotional dishonesty that did the most hurt:
Tilting deafened eyes and ears, poured by your own;
How asking her for permission never lines
Your mouth as you clenched fingers up her bed-side.
Is this not the bleached desecration of all peace,
As you brought her to the ocean edge.

(As one goodwill drops off the saline edge,
Eventually turns into a tidal, pitiless peace
Emptying like sediment onto her corroded side.)

 

A sestina is a poem with six stanzas of six lines and a final triplet, all stanzas having the same six words at the line-ends in six different sequences that follow a fixed pattern, and with all six words appearing in the closing three-line envoi.

The fixed sequences:
1. ABCDEF
2. FAEBDC
3. CFDABE
4. ECBFAD
5. DEACFB
6. BDFECA
7. (envoi) ECA or ACE

GDC17 was a great time, and I was happily surprised by the positive reception to Eviction Notice! Because of this, I want to share some of the core elements of design that drove me and the art direction that I pursued with this small-scale VR project.

Eviction Notice’s design premise is very simple. It is primarily a linear narrative where voice-overs are triggered by gazing at objects around the room, which causes them to vanish. The story is about a young woman who is being forcefully evicted from her home for political reasons. So the overall feeling is that the space becomes more claustrophobic as it empties out, even as you examine artifacts that bring up feelings of nostalgia, whimsy and melancholy.

Compared to some other interactive projects that I’ve created, the core design of the project remained the same today as it was from its outset. From the feedback the game received, it worked really well within the core strengths and technical limitations of the Oculus Gear VR (without controllers).

Here’s the first pitch I ever made on an open channel for the Dames Making Games #hyperreal game jam:

And this is an excerpt from my original game design doc, and further iterations of it really helped further tighten the core vision:

I went with an aesthetic that was developed from my other works associated with Vivid Foundry: Painterly, with colours like a more muted version of Wong Kar Wai’s films (In the Mood For Love, shown below). I wanted to create a sense of homeliness and of a fleeting moment in time (as sociopolitical impressions upon a person often are). Thus, the scene is set with a kind of smoggy, urban dusk.

I’ve always loved setting up lighting, and creating colours in both raster textures and shaders in Engine. Because this was built for mobile VR, there’s a lot more limitations for post-production, but it was thus an interesting challenge adjust the look between modelling programs and Unity constantly. That’s the fun part of being the sole level builder, to really have the fine adjustments and control over the look of the game.

Additionally, when I was travelling in East Asia in 2012, I spent some time with the Society for Community Organization, a non-profit organization for the life and dignity of those in poverty and an advocacy group for public and grassroots housing. I must’ve shipped back hundreds of dollars’ worth books from SOCO and overseas, many of which I offered to friends of the East Asian diaspora.

When reading their publications, I was struck by how the interior spaces photographed create deeply anthropological documentations to underprivileged groups, while simultaneously tell deeply personal, social stories about loss in family and community. I’ve also had the privilege of speaking to volunteers and locals there to discuss the plight of both the working poor and the shrinking middle class in East Asia, and the civil society ramifications of this. These themes thus embed inside my writing for the entirety of Eviction Notice.

These were originally research for Solace State, but some of my writing, stories and inspirations that didn’t make it inside Solace State made its way to Eviction Notice. Thus, the two interactive experiences share very similar visual language as well. In many ways, Eviction Notice is suffused with “happiness within sadness”, while Solace State is about “sadness within happiness”.* I’ve also studied civic engagement for a good few years both during and after my academic career, and sought to create an accessible story that doesn’t take the political complexities for granted. It was in having conversations with people regarding their expectations of public policy and civil society that helped me bridge the gap between writing academically to writing for interactive narratives. It’s conversations about family histories, their hopes and fears for the future, and how they seek to protect the things that are most important to them.

Thus, one of the biggest changes to the game from initial planning to its current iteration was actually the script. My friends Kwan and Jason offered the feedback that our early build with a voice-over soliloquy comes off as a lecture (which is only engaging if my politics are very similar to the viewer’s), as a cerebral experience rather than an emotive one. It led to one of my most important design changes, which was to implement an “I-spy” narrative framework to pick out the objects in a somewhat linear manner, with another voice in the room guiding the player.

Here’s one of the lines from my first script:

Compared with this one, after my design changes:

Following this, I’ve also had the privilege to work with Kaitlin Tremblay, whose narrative editing ensured that the dialogue is as evocative and natural as it can be. Afterwards, Chris Donnelly recorded Erika Szabo and I as the two characters whose voices now occupy Eviction Notice: Erika’s voice acting brought to life the owner of the flat, who is politically detained and fears for her possessions in her flat; My voice is that of her friend and the player character who helps her pack away her belongings.

Eviction Notice has proven to be an interesting project for me to direct, design and develop because of its small scope, but still maximizing emotional impact through visual and narrative design.

*Original quote about happiness/sadness attributed to Jungkook in a video behind-the-scenes about Run music video versus I Need U. 

 

He was tremendous to me, once.
Told me everything I wanted to hear.
Into the long night, it was
Where everything was analyzable.
We scrutinized every silence and
Lorded over that time, that space.
We seemed unafraid to speak our
Minds: Restless, young, brash.

There were silences when we
Watched each other breathe,
Wanted to stay awake just so.
We talked about dreams
But forgot about the nightmares.
Flourished in play but negated
Grief and minute, intricate shames.
Eyes closed first, then the ears, and
Neglect became the most
Unforgiving silence of all.

There are many such silences.
A singular in a multitude.
A drop cascaded into a movement.
The streets creased unseasonally,
A stop-start jerk of arrested action.
There are some that hear not,
And twist the hearings.
There are blackouts.
There are lines that shouldn’t
Have been struck, erode the stories
Of the fallen and the meek
As noise.

In retaliation,
There are the silences of protests,
A bubbled time in a streetwise candle,
And of remembrance.

Then there are the silences
Of contemplation in a “temple” of the self.
Or: A behemoth in muffled lightning,
That roils with relentless challenges,
With drops of calm like oil in water,
Breathing deep against the tide of time.
There’s pressure, easing and honing in.
There’s scribbles, loose-leafs, coiled spines,
Which all get shuffled and satedly vandalized
On the way to create new memories.

[coda]

And then there’s you.
My newfound silence in newborn shyness,
In a staccato heartbeat of quiet hope.
A singular glance poised for harmony
Of endless discussions in crafted havens.
It runs full color arpeggios in my imagination,
Eliciting a gasp of paradigm shifts.
A question fluted on the lips, wondering,
If the meaning I make is meaningful to you.

      D.C. al Coda

[coda]

Sometimes (time and time again),
Allowing one’s truest self to Become
Is but the silent grace of listening.