1. Hope: A Sky Full of Ghosts
  2. News

Hope: A Sky Full of Ghosts News

A well-deserved face lift

It's been a long while, but taking a free course by the great Chris Zukowski of How to Market a Game fame, validated something we have known for a while: We need to level-up our capsule game!

So I'm here to show you something you've probably already seen. Our newest set of capsule is live! And you can see the main one here:



In our new capsule you can see the titular character Agatha Hope and her crew. From left to right: Sabah, Robert, Bluebird and Mariko.

We can't wait to have the demo ready for you to meet them.

Fly free!

On the Importance of a "Fresh Set of Eyes" - Devlog #6

It feels like it has been one hundred years when we had build v0.9.48.20230305 analyzed and torn apart by the great game design essayist from Games Over Coffee and GOC Consulting, DeVaughn Keys and let me tell you that was quite surreal.

That was so long ago that the name wasn't even complete, and the characters' designs hadn't been finalized! ːsteammockingː

Anyway, I'm not here to talk about what DeVaughn said for two reasons: 
  1. We have already addressed his insightful feedback in recent builds, and,
  2. You can watch him say it much more eloquently here: https://www.youtube.com/watch?v=DWo2IX7Sck8


I'm here to try to lay down how important it is to have someone like him take a critical look at your project. 

You may think that playing your game constantly is a key part of game development, and it is, but there are a few lot of things that you cannot test for yourself, no matter how hard you try. You are simply too close, and what you think might be problems may not even be the issues you should be focusing on.

Getting a fresh set of eyes will improve your development and your game exponentially. They will point out things you had given for granted, aren't at all clear, or don't communicate what you want clearly or even at all. They'll make you realize that the experience you are aiming for is one that you cannot have yourself

"That's all well and good Azrael, I get it 'find a fresh set of eyes'. " - You say  - " but where do I find them?" 

And the answer is... in the words of Canadian music icon Avril Lavigne: "complicated".

The first step is to reach out to those close to you, and although getting them to play a buggy mess of an idea you are trying to turn into a game is hard, nothing is harder than sitting by them and watch them struggle in SILENCE. If you can just shut up for however long they are willing to suffer for, you will learn a lot on how to make the experience less sucky for everyone until it's something they can enjoy.

To help with the "shutting up" part, grab a piece of paper and a pencil and scream to the pages about what is happening and most importantly when is happening.

Asking those close to you, has its pros and cons. Pro: They like you so they will try to help you in some way. Con: They aren't that many, you will run through them quickly and also they like you so they will try to help you in some way

Once you have gone through everyone in your close circle at most thrice, that's it. They are too close. It's time for step two.

[h2]Strangers.[/h2]

Asking strangers also comes with pros and cons. Con: They don't care about you or your game, so it's harder to get them to help you. Pro: there are millions of them, someone will play your game. 

We mostly post on our socials, our Discord and reddit. This last one being the most helpful although not a lot of uptake. The few post that have garnered some comments have been really helpful. 

Our subreddits of choice are:

The important thing is to provide some sort of value to that community. We try to do that with varying levels of success. Regardless, we will continue to try to get a fresh set of eyes on Hope and our posts constantly and learning from what works and especially from what doesn't.

Our hope, no pun intended, is that you will share your feedback with us once our demo hits Steam!

Thanks for reading.

Fly Free.

7 Tips for Time & Project Management - Devlog #5


One of the questions I get asked frequently is "Wil, how do you manage to have full-time job, to spend time with your wife and baby, to workout, to play games, to watching shows, and to make video games? Where the hell do you get the time?"

The answer is easy, my friend:



Jokes aside, juggling so many things is a real challenge but after doing it for so many years (without dying in the attempt), I thought that sharing what I do might be of help to someone else out there.

The first thing I want to say (in a disclaimer fashion) is that what I'm about to share is not a recipe for success. It is just a collection of tips and tricks I have been developing and tuning over the years that work for me, use them as a reference to find what works for you and make sure you adapt them over time as your life changes.

Are you still with me? Good! Now to the fun part.
[h2]Tip #1: It's all about consistency[/h2]
Let’s start with what I consider the most fundamental part of it all: consistency. Without consistency you won’t get far.

I use a technique I call "one commit a day" and the goal is to make at least one code change every day, no matter how big or small it is, as long as it is something I can push to the remote repository. But this technique is not limited to code, I also apply it to drawing, planning, designing, writing, and pretty much everything else. The idea is to move forward with whatever goal you have in mind, even if it’s just the tiniest bit.

I've read about variations of this technique, specifically, one called the 2-minutes rule, but it doesn't matter what you call it, it's all about keeping your project relevant in your head, fighting procrastination and making it a habit. As the old adage says, one commit a day keeps regrets away.

But it goes even beyond that. Me and my friends meet remotely every Wednesday night and Sunday morning for about 2 hours to work on the game. Some days are super productive, some others not so much but we are there, consistently.
[h2]Tip #2: Discipline is key[/h2]
Sometimes, even with the "one commit a day" rule, it's really hard to get things done. Motivation is great and it will push you through the initial phase of any project. The problem with motivation is that it is ephemeral. Once you start facing challenges and things start getting real, your brain goes: "Oh, hey! This shit is harder than I thought, so how about we just forget about it and find something easier and more rewarding?". That's because the brain loves dopamine and it will do everything in its power to keep us hooked to any source of instant gratification.

That's when I put my discipline hat and say: "Fuck off, brain! I have to do at least one commit" and more often than not, that commit turns into multiple commits and sometimes even into a full feature. It goes along with the 2-minutes rule, you just need the discipline to sit down and overcome that initial resistance, then things will start to flow.



Discipline is what keeps you going when motivation evaporates.
[h2]Tip #3: Be S.M.A.R.T.[/h2]
Perhaps it is because of my background but I use standard practices from Software Engineering in my personal projects and it has yielded very good results. In a nutshell, this is what I do:
  1. Figure out what is the objective I want to achieve.
  2. Define a series of S.M.A.R.T. goals (no more than 10) that will help me achieve the objective and sort them by priority/importance.
  3. Take the first goal and create a sprint/iteration for it.
  4. Define (grossly) the tasks required to accomplish the S.M.A.R.T. goal (also known as planning in Agile methodologies).
  5. Work throughout the iteration and complete as many tasks as possible (aiming to 70%).
  6. Generate a build and share it (friends, reddit, etc) to get feedback. This feedback is SUPER valuable to improve.
  7. Based on the feedback, create new tasks and assign them to sprints according to how they match each goal (unless they are bug fixes, I assign those to the immediately following sprint)
  8. Take the next goal and jump back to step 4.
  9. Rinse and repeat until finished.

As you can see, the overall idea is to have a roadmap and understand where to put the efforts to maximize them. Remember, nothing is set in stone and you need to embrace and be prepared for change. I usually iterate over this planning often to adjust, reprioritize or simply discard stuff that doesn’t make sense anymore.
[h2]Tip #4: Optimize the idle time[/h2]
When I was a kid, I learned to take advantage of the idle time to organize my thoughts and prepare for exams. For example, while my mom was cooking I'd sit with her in the kitchen to review my cheat-sheets or had her quiz me about the subject I was studying (yeah, and I'd prepare the quiz too :P).

Nowadays I still follow the same principle. While I'm waiting in line at the grocery store, while the kiddo is playing by himself after he took his bottle or while I’m in the bathroom doing #2, I see opportunities to organize ideas, make notes, catch up with that article or video I have in my to-do list or simply review and reshuffle the priorities of my current iteration. In my head, every minute counts.

The only thing I cannot do in these windows of time (20 minutes or less) is to code. It simply doesn't work for me. My brain cannot switch contexts fast enough and, by the time I understand what to do, the time is over. However, that doesn't mean I cannot use the idle times to improve my time programming.

Here's what I do. I take a task from the current iteration and start thinking about the problem, how to solve it and then I take notes (as detailed as possible). The magic happens later, when I sit down to code, check my notes and find a solution documented and ready to be implemented. I don't have to waste time thinking "what's the best way to solve this?" or make any decision. Just write the code. It's like hitting Cmd+P (or Ctrl+P if you use a PC) and watching the code getting printed.
[h2]Tip #5: Cut down on social media[/h2]
Social media can take up a lot of your time without you realizing it and, as an adult, time is very very limited. The way I see it is, any time I spend on social media is time I'm not spending on my game or with my family.

So, I stopped using Instagram, reduced my time on Twitter and Reddit to no more than 15 minutes a day, and repurposed that time to work on the game, either coding or as optimized idle time. This has definitely improved my productivity.

It's still a huge dichotomy because I just want to disappear from social networks and use that time to work on my game, but who's gonna know my game even exists if I don't talk about it and promote it on social networks? Finding the right balance here is tricky but necessary.
[h2]Tip #6: Maintain a healthy work-life balance.[/h2]
And I'm not only talking about work-work, side projects sometimes can become almost like second jobs and we shouldn't let ourselves get lost in them.

Whether it's "me time", hanging out with friends or spending quality time with my family; disconnecting from my projects and enjoying these moments is extremely important to make this whole thing sustainable, nurture the relationships with my loved ones (yes, those supporting me unconditionally through thick and thin) and even gain new perspectives by experiencing what others have created.

So I workout, play a game, watch shows with Andrea or just catch up with friends. I do something that is not my project but also makes me happy. I appreciate those little moments and the people around me.
[h2]Tip #7: Choose your battles wisely.[/h2]
Last but not least, learn to prioritize.

If you ask Andrea, she will tell you I’m the type of person that wants to workout, share quality time with her and the kiddo, make a game, go on a date, watch shows, practice drumming, learn to play the guitar, learn to sing death metal and ALL AT THE SAME TIME. She always says to me: “You can’t do everything, choose your battles wisely” and that’s what I’ve been doing for the last few years. As I’ve already mentioned, time and energy are limited, so I prioritize my tasks very carefully. Based on the S.M.A.R.T. goals, I find out what is the most important thing at the moment (basically the one that contributes the most to the goal) and then focus my efforts on it.

There you have it, my 7 tips to management your time and project without dying in the attempt. What do you think about these tips? Do you have other tips that have improved your productivity? Let me know in the comments.

Spreadsheets for Story: Here's how we Do It - Devlog #3

Aloha! Azrael here again with a brief follow-up on last's Devlog.

Since we shared it on Reddit we got a few great comments and questions. One of them was very interesting to me

Since I thought it might be useful to more people, below you will find the question and answer with a couple of screenshots from our spreadsheet.

[h3]How do you set up a spreadsheet to work on a story?[/h3]

That's a good question, and the answer is, you don't. (::shy smiley::).

We first identified a skeleton of the outline in free-form writing, but when it came to its implementation, we needed a structured way to follow it from start to finish. That's where a spreadsheet has worked wonders for us.

We have used spreadsheets for characters, relationships, motivations and more, but the biggest impact it's had is breaking down the story into its smallest pieces.



Once we knew what we wanted the story to be, we identified the components common to all scenes and give each a column in the spreadsheet. For us they are:
  • Objective/Quest: This column will have a brief title for what the scene is about or which quest it belongs to
    • i.e.: Access the Lunar Base
  • What: the what is happening in this scene and only during this tiny part of the scene.
    • i.e.: Get to the Control Access Point
  • How: the how is the scene presented or the objective accomplished, is this a mini game? which one. Is it a cinematic or a scripted scene. That goes here
    • i.e.: Navigation: this means the player walks there
  • Beginning: Well... how the scene starts, the current status or place the game is in
    • i.e.: The player/Agatha is at the entrance of the lunar base
  • Ending: the state the game is in after events have happened
    • i.e.: Arrived at the Control Access Point
  • Comments: this is to guide the scene, mood of the conversation, who is pissed at who and why.
    • i.e.: Agatha is dizzy from the trip to the moon.

This example isn't very narrative driven but it illustrate fairly easily all we take into account for each scene.

A more narrative example would focus on mood and conversation beats than location. It would look more like this:
  • Objective: Start the
  • SPOILERY SPOILER* process
  • What: Agatha tries to get Mariko's help
  • How: Conversation + Decisions
  • Beginning: Mariko is pissed at the crew because
  • SPOILERY SPOILERS*
  • Ending: Agatha manages to ease Mariko's concerns but not enough to get her to help at this time.
  • Comments: at key parts of the conversation, the player will be prompted with 3 options at a time to decide the next line Agatha says to navigate this situation.

A spreadsheet is nothing but a box of boxes and we use those boxes to separate each section of a problem as much as we can to inform how to tackle it narratively.

This break down is then used when I sit down to write the dialogue for that specific scene. If the decisions are really important they are included in the Comments, so I can try and nail them correctly.

Be careful though, a spreadsheet has infinite columns and rows so you need to commit to the things that actually matter to ALL scenes. Otherwise you'd end up writing lines of dialogue there, which you could do, but makes it harder to export.

We tend to think that Story is what happens when you sit down and write what will be on the page but in all honesty, that's only the second to last step in Story.

I hope this helps! Let me know how you use spread sheets in your project.

Seattle Indies Expo 2024 Post Mortem

It’s been a little more than a month since we participated in the Seattle Indies Expo (SIX for short) as exhibitors with Hope: A Sky Full of Ghosts and, now that the dust has settled, I would like to share with you all our learnings, what went well and what didn’t go so well.

SIX is a one-day in-person celebration of independent games made in the Pacific Northwest. At SIX, indie game developers can showcase their games (no matter if they’re released or a work in progress) to thousands of attendees that also have the opportunity to ask devs questions, play demos and give feedback.

[h2]Some stats[/h2]
The event ran from 12pm to 9pm. During that time we had 39 people playing the game with an average play session of 20 minutes, accrued 23 wishlists, 68 visits to the Steam page and 50+ people stopping by to know more about the game.

[h2]What went well[/h2]
We brought two machines for people to play the demo and it paid off. There wasn’t a second where any of the machines were idle. As I mentioned above, the amount of people that played the game and the length of the sessions were astonishing (considering our game is a point & click with lots of narrative and a big expo like this is not particularly the best setting to enjoy it).

We also brought a retractable banner (78" x 33") with the name/art of our game and a huge QR code. This gave us enough visibility around the other booths (pretty much everyone had one) and people were able to scan the code easily to get to our Steam page.

Lastly, networking! We were able to reconnect with other gamedev friends and meet a lot of cool people. From streamers looking for short & sweet indie games to play to journalists interested in reviewing games from the Pacific Northwest.

[h2]What didn’t go so well[/h2]
Since both of the machines were busy with people playing the demo, we didn’t have anything else to play the trailer. An extra monitor with another device to put the trailer on loop would have been a great addition.

A handful of people completed the demo (~1 hour of gameplay) and we didn’t have anything special to reward them. It was really humbling and flattering that, even with a one-day badge for PAX, these people decided to spend so much time with our game and our story. Ultimately, we had some prints about a proof of concept for an in-game propaganda and we gave them away to the last 3 but it would have been awesome if we had this planned from the beginning with something more cool or meaningful.

Despite the fact that the banner gave us great visibility and helped us point people towards our Steam page, we didn’t do a very good job at promoting our Discord server. We didn't even have the link handy and had to improvise to share it with some folks interested in following the development of the game.

We like to keep the player logs when we do play testing for debugging purposes. However, we couldn’t automate this process for SIX and we found ourselves spending precious minutes between sessions preserving these files (closing the game, rename log file with the player number, restarting the game).
What we learned
We confirmed that nothing beats playtesting to understand how people approach your game (even more if they have never heard about it) and expos are king in this regard.

During the GeekFest West 2024 we learned that in-person events are terrible for wishlists and SIX 2024 was just the confirmation of that. Even though we had zero expectations for the number of wishlists, I’d say that 23 is not too shabby.

Another thing we learned is that is very risky to arrive at a big expo like this one with a build that significantly changes the way players interact with the elements within the game (the interaction system, basically) without enough testing. I generated the build the day before at 3PM and was a bit scared the first couple of hours. Luckily, everything worked like a charm and people reacted really well to the new changes. But, what if that wasn’t the case? What if the game would’ve exploded and people couldn’t pass the tutorial scene? We had a fallback build from a month ago but, still, we were playing with fire.

We definitely need to automate the log rotation between player sessions. We could go even further by adding timestamps to the logs (Unity doesn’t do it by default) and keep metrics of the time spent on each scene. That’s really useful to understand player behavior and see if our assumptions about the game design are working as expected.

Last but not least, keeping your enthusiasm throughout the day is really important. Towards the end of the day, we were exhausted, thirsty and hungry but we kept talking about our game with the same love and passion we did in the morning. This was apparent for the people and made them want to explore the game further.

[h2]Final Thoughts[/h2]
This was just our second event and the experience was incredible. If you’re a gamedev and have the opportunity to join an in-person event near you, do it! It will be, without a doubt, an amazing learning experience.

I can’t thank all the organizers, judges and volunteers from the Seattle Indies community enough for putting together such an incredible event and for giving us the opportunity to participate with Hope: A Sky Full of Ghosts. I'm super proud and grateful to be part of this community!

If you’re still reading, thank you! I’m more than happy to answer any questions or provide more details about our experience in this event.

Take care, and fly free!