First Four Months of Indie Game Dev (Week 17 Update)

by Zack "Zappy" Maldonado on 2020/06/15

Overview

The demo for RavenHeart Hospital will be at the Steam Games Festival tomorrow, June 16th. With the event so soon, I wanted to take some time to reflect on the last four months leading up to our game demo.

Goals

Showcase the game

Important Dates:

  • Steam Games Festival (Demo Deadline: May 15th, 2020, Event: June 16th to June 22nd)
    • The Steam Games Festival is this week. Over the last few weeks, we've been working on bugfixes and new episodes and features for the demo. You can wishlist the game on Steam. We are planning to stream on Twitch.tv, Steam's broadcasting, and YouTube Live using Restream.io every evening at 7pm this week.

Playtesting

In preparation for the Steam Games Festival, we've been releasing latest builds of the game on Friday evenings to get feedback. This has been great for getting more eyes on the game and finding bugs that we didn't even know about. We will release a new version of the build this Friday and get some final feedback before the Steam Games Festival.

Support User Generated Content

We are adding more and more support for user generate content. I have been working with Discord user CraftMasterMatt on a scripting guide for easily creating story packs. If you are interested in scripting your own stories, you can join our Discord Server. With more iteration on the scripting workflow, one of the biggest future feature I see us needing is a story pack validation tool.

Month 1 - February

JT and I left our previous jobs on the Valentine's Day. JT was in the middle of moving out of their house to a new place and for the first week we helped them move out, talking about what our new studio was going to be, and figuring out all the things we needed setup for operating and being a legit company.

2020/02/23 Status Update reflected a lot of this time. I also talked about my desire to do weekly status updates to gather my own thoughts about what we were doing and share those details with people that are interested. Some things that strike me in that post were the core values for the studio that still hold true to now. When talking about choosing our company type, I say "we do not plan on scaling above our means, and the way that we approach developing games is, we hope, pragmatic and reasonably scoped".

This pragmatism has held true for a lot of the development decisions we've made over the last four months. For new features like the scoring system or tooltips, we've always tried to deliver the minimal viable version of the feature to test it out and update it based on user feedback. This has allowed us to work fast and spend days versus weeks to implement new features.

During this time, we knew that our game would require character art and background art early, so we developed an art style reference guide to send to prospective artists. One thing we got wrong was wanting dynamic character poses. We learned later that dynamic character poses would be more specialized stills for the characters and would be harder to reuse. As we continued the process for discovering our art style, we realized that the ability to change character's facial expressions was more important to us than the ability to change character's body poses.

While I researched using Perforce and build systems early on, I opted to use a git repository hosted on Azure DevOps and still manually created builds now using a python build system I wrote. For the size of our builds, this process takes under 5 minutes to create new builds and is not the bottleneck of our development process.

Month 2 - March

The big theme for March was getting ready to submit the game for GameScape at ArtScape. At the start of this month, I was still driving to JT's place and we were working there together in-person throughout the week.

On that first week (2020/03/01 Status Update), we had decided to make our own scripting language for our visual novel-like scripting. The biggest discovery from that time that has continued to influence our development. We created a map of our audience and the player profiles that we thought made up that audience. So far, we've continued to use that initial map as a guide for approaching social media marketing and feature development. It has continued to be a high-level razor blade and a necessary tool to keep us in line with the game we are making.

By the second week (2020/03/08 Status Update), we split up labor and gave JT the ownership for script writing. I had the first playable version of surgery gameplay using scalpel, sutures, forceps, bandaging, and medigel to remove glass fragments, create an incision, and patch up wounds. A lot of the code from that time is still in the game, with bug fixes added in for edge cases. The UI framework I created from that time still has needs some love but it served its purpose well for quickly prototyping dynamic UI.

The following week (2020/03/15 Status Update), we had the first pass of the scripting using our own scripting language, with JT writing the script and me writing the parser for it. I remember having some restless nights thinking about how I was going to parse the language and in a hazy dream state I had the epiphany that led reformatting the language to make nested section parsing easier. This was also the first week that we and the rest of the world learned about COVID-19 and started to take it seriously. We started to work totally remotely and have continued that to this day.

In the middle of the month (2020/03/22 Status Update), we started working with Zac Bolubasz (@_sneb_) on our first artist commission for character art. We figured a lot out for our art development process, working from sketches and giving feedback, increasing the fidelity and giving more feedback. JT started working on music for the game this week. I was adding more procedures to do in operations.

By the end of the month (2020/03/29 Status Update) we were getting ready to submit to GameScape. Another festival, MAGFest Indie Videogame Showcase @ AwesomeCon 2020, was already cancelled, and as we would learn, many in-person events during this time frame would get cancelled. Zac B had the final sketches for all of our main characters and a couple of side characters. JT had the first pass a music for the hospital, operations and characters, most of which we are still using in the build. This week was the first time we released the build to be playtested by people that subscribed to our newsletter along with a couple of surveys to get some more informations about the play habits for players.

Month 3 - April

After we sent out the demo (2020/04/05 Status Update), we got a lot of feedback and interesting info about our players experience. A lot of our high-level assumptions about the genre and players for the genre turned out to align with the survey results we got back. We were more certain about Steam and PC as the first platform for this game. The feedback also influenced our script writing and additional scripting features to add and allow for more complex choices.

For the next week (2020/04/12 Status Update), we worked with narrative designer Tori Schafer on improving our writing, especially based on feedback from the playtest. Tori taught us about the Table Reading process for reading our scripts out loud and together to make dialogue sound more natural and find issues. We also started working with Zac B. again to develop some playable characters for players.

In the middle of the month (2020/04/19 Status Update), we shifted from our codename for the game to RavenHeart Hospital: A Medical Visual Novel. We released a new playtest, trying a two-week model for iterating and releasing new builds. What we've found is that its better to have more features and changes between playtest builds as well as to release playtest builds ahead of major demo dates to get feedback that can be addressed ahead of the major date. With the feedback we received from the demo, we learned there was a lot of UI polish that we needed to focus on, such as nicer scene transitions, sized-based character layering, gentle operation phase transitions. I also added a history panel for players to be able to see previous dialogue.

In a big shift, I went from naming status updates after the date to more fun titles like Week 10: Steam Summer Festival, Environment Art, and Pivoting. Same status update format, just new titles. This was the first week we worked with Michelle Pineda (@pininkela) on three environment art scenes for the game. In an actual big shift, we decided to pivot the game for a single, linear story track to the multi-linear character story tracks that we have now. Before we were planning on laying out the game like a TV show, with episodes and seasons, but this felt limiting and not conducive to building up relationships with specific characters, which players were requesting.

This was also the week we submitted our application to the Steam Games Festival. We had no clue whether we would be accepted, but it turns out that Steam allowed all submission during this time to enter the festival.

Month 4 - May

In Week 11, we were working with Michelle on the first batch of environment art and worked with Zac B. to pivot the art style for characters. In preparation for the Steam demo submission deadline, I extended the python build system to be able to upload builds to Steam. This solution is still pretty turnkey and the only parts of this that I touch are the config files, not the code.

In Week 12, we had the first use case of supporting user-generated content. Discord user CraftMasterMatt was able to create a script using our custom scripting language, and I was able to import it using our Story Pack system. Michelle finished up the first batch of environment art for the surgery room, hospital cafeteria and hallway. Zac B had pivoted the style and given flat colors to two playable characters and Dante. JT was ramping up new character scripts for the new narrative structure for the game.

In the following Week 13, we had submitted our first demo build for the Steam Games Festival. With the game growing in complexity and behavior, we had to improve our process for tracking bugs in the game. We worked with Michelle on another batch of environments to flesh out more of the scenes outside of the hospital. This included the Crow's Nest Pub, the Street scene, and an exterior scene of RavenHeart Hospital. Zac B finished up reworks for another playable character, Annabel and Big Tex. We waited to hear back from Steam about whether our demo would be accepted into the Steam Games Festival.

In Week 14, we started working with Amilia St. John (@milistjohn) on UI art for surgery tools. We worked on some more features for scripting to handle nested, conditional blocks better. JT had a new set of music for Dante's story track. We started to run a Story Pack Jam in Discord with the theme "Start of Summer Vacation" to encourage more user-generated content.

In the last of May (Week 15), we ran another, looser playtest to showcase the new operation Scoring System and a new episode for Annabel. The Story Pack Jam had wrapped up with new OC character art and a new 34-page original story written. The community for our game right now is small and the community for original content creators is even smaller, but I want to keep on growing this and am so impressed by the work that our community has done. JT and I worked on improving the workflow for getting scripts and music that they work on into the game automatically. I implemented a first pass at the post-operation scene to showcase the Scoring System more.

Month 5 - June

We found out in the first week that the Steam Games Festival was moved back another week. JT wrote a couple of new episodes for Dante and Annabel's story tracks. These new episodes involved some new operations and procedures, including bandage casting and fixing a broken cat leg bone. We worked with Zac B again to rework Dr. Holiday's design to get in line with the other character art pivots we did. I optimized the game's shader usage to prevent some frame rate slow downs during the game. We released another playtest and receive a lot of feedback and bugs found by our Discord user.

And then we have this week. JT took a well-deserved trip to see their family. I worked on addressing a lot of the bugs that users encountered.

Writing up about the last four months (and having my birthday recently) makes me reflect on the journey we've gone on with creating this studio and making this game. I feel like we've learned a lot over the last four months and we've also had some instincts worked out. I am proud of the work we have done to get to the Steam Games Festival and all of the work that Zac Bolubasz, Tori Schafer, Michelle Pineda, Amilia St. John, and JT Radzai did to get us here. I am thankful to all the people that have been following our development and taking time to play our builds and give us great feedback.

I am excited for the Steam Games Festival and hope that even more players will find our game and our studio and join our journey for another 4 months.

Future Plans

Steam Games Festival Events

We have two major events plans for the Steam Games Festival. From 7pm to 8pm June 16th, we will do a developer livestream of JT and I playing the game and talking to viewers about the game, answering any questions live. From 12pm to 2pm June 17th, we will be doing a developer Q&A on our Discord Server. We look forward to showing off the game and hearing what people think!

The End

I hope you enjoyed this week's edition of our studio's status update. Each week, we try to bring new and interesting updates about how our studio and game are developing that we think people will like and learn from.

If you have any questions, comments, feedback for me, you can email me, Zappy, at zappy@ravenheartgames.com.

If you like this post, you can see more in the Devlog section or check out last week's post.

If you've been a part of our playtests and would like to chat with other players or us directly, join our Discord server below.

If you are interested in playing our latest demo, you can click the button below!