Progress Report - January 16th, 2024


Video Overview

Introduction

So I'm back again after a month like I said. How are you guys doing? I'm doing quite fine myself since I just finished the last core mechanic for the game. Let's talk about it.

Objectives

It's about time I get to this. More than 6 months time in fact. Remember when this was supposed to be a game where you complete objectives to win? I would like a moment to thank those who followed the game for so long.

Anyway, I implemented objectives. Each time you start a game, you'll be assigned a random number of objectives. The chances are actually weighted, meaning you'll get a small amount of objectives more often than a large amount.

There only one objective in the game at the moment. I call it, Item Retrieval. When you get this objective, a random special item will spawn at a random set location. You just have to interact with it to complete the objective.

 

Goal Doors

Before implementing implementing objectives, I felt like I should implement the way the player ends the game after completing them.  At the time, It was difficult to think of how the player wins the game after completing all objectives. I could have the game immediately end once the player completes all of their objectives, but I don't want to do it that way. I preferred that the player interact with a special object to win the game instead.

I know it may sound weird but, that was when I realized that how I'm go about this would define the story of the game. It was so obvious. Besides getting a game over, how the game ends is equivalent to the ending of the story. The game's story is something I thought about from time to time. It was never on top of my list of priorities. I never thought about WHY the player has to go around completing objectives.

After some time, I finally decided on the thing the player has to interact to win the game. A simple green door. The player will spawn near it and it will be unlocked once the player completes all of their objectives. I even made small little sequence when the player interacts with it. While I was at it, I programmed a sequence for when the player dies as well.

  

Story and Design

After I designed Goal Doors, I've gotten a more clear idea on what the story will be. Now, the story is not gonna have a major presence in the game itself. It'll just be something I've leave in the game's description to add context. The general premise is that you play as a military soldier that was left behind. You have to earn the trust of the city's civilians by complete a number of tasks that serve to improve the safety of the city as a whole. 

Personally, I think it fits for the game I'm trying to make. Every objective will be designed around this premise. If you want to see the more detailed version of the story, I've updated the game's pages to include it, but you may have already seen it.

I even went out of my way to revise the game's design document and create a whole flowchart as you can see from the image above. I did this so I would have a concrete idea on how this game is going to end up. (As if they aren't concrete enough.) I know it's obvious, but one thing I've learned from making this game is that I really have to make sure the core mechanics are good, and every other mechanic in the game must be connected with at least one core mechanic. I never thought I would do this level of planning in my life.

Colors, Armor and, New HUD

As development went on, I started to keep track of what colors I use and what colors should represent important mechanics.

  • Enemies tend to be represented by the color red and be given a red outline.  That also goes for anything bad, like the player dying.
  • Familiars and anything related to them are represented by the color cyan.
  • Anything related to Morale and Sub-Weapons are represented by the color purple.
  • Stamina is represented by the color yellow.

It's nothing that groundbreaking. It's just basic color theory or whatever it's called. Objectives and almost everything related to them will be represented by green colors. This also goes for anything good like recovering health or winning the game. Although, armor was also green so that brings me to my next point.


I removed Armor from the game. Not only does it's color conflicts with the "color theory" I established,  (Which is something that was bothering me to no end.)  there's just not many interesting things I could do with armor.  I implemented it when I was working on the first enemy, and in hindsight it felt like something I just tacked-on without much thought. 

The process of removing Armor wasn't even complicated at all. Proving that Armor was simply an unnecessary mechanic. It truly was not needed. After I did it, I felt the need to redesign the the hud. 

The redesign took a lot longer than a thought. I really wanted to get this right.  Once I was finished, I thought it looked pretty good, so it would probably be the final design.

New Map, Collisions, and Balance Changes

Before I went to work on objectives. I reworked the collision system. Rather than using the inefficient tile based method, I went and used the Tiled Map Editor's object layer. Now I can be a lot more efficient with how many colliders are on the map.  Although, I'm not seeing a tangible difference here. 

To be honest, I wasn't all too excited when I finished objectives. After I did that I had an idea to remake the map again, so I could figure out what the game's level design would be. I think it took me around 1 day to make this map with AI Nodes and everything.

Man, I keep having these moments where I think that the area is too small, but while playtesting,  that was far from the truth. It actually does take a bit to walk from one end from the area to another. I couldn't imagine how long it would take to traverse a cramped are like the sewers. I'll try to do something  if it does become a problem. At worse, I may have to shrink the map.

After some playtesting and reasons, I decided to make some balance changes. One of which being lowing to spiders health to 5 so they can be killed in one shot by the musket. I noticed that wraith enemies tend to clump up when pathfinding, so made it that each wraith enemy's "preferred distance" is random.

This next balancing change is a little bit more major. I made it so that the familiar uses the player's stamina to activate their ability. If the player doesn't have enough stamina, their health will be used instead. The reason I did this is because I thought that using the player's health would be too costly. Especially since the player won't have Armor to act as a safe guard anymore. To attempt to balance it out, I lowered the stamina regen speed, and make it so the player can sprint for much longer.

After some testing, I'm starting to consider attempting to further balance this. Maybe by lowering the amount of morale you get from familiar sigils or increasing the amount morale needed to heal your familiar. Or maybe I won't do that because I designed the first area to be easy enough to traverse with just a flintlock musket. Familiars is meant to be the last tier of power progression, so course the area would be trivial if you have them. 

Either way,  expect some more balance changes in the future.

What's next?

I'll be making preparations to release the game on early access. Y'know stuff like making music, drawing thumbnails, and thinking of an actual name for the game. The game will be free, and you'll have an option to donate. I think it's reasonable that I would want some compensation after 6 months of work. At this pace, the game should be released on early access by the time spring arrives, and I live in the US.

You may have already figured out that this game is written in Python. Python is a very important language to me as it truly got me into programming after years of failing for most of my life. Right now, I'm trying to branch out to other things, like participating in collaborative projects, switching to code editors like Neo Vim.

Right now, I'm even trying to learn C++! I know it may be a weird decision to go from something like Python to C++, but I'm adapting to programming language surprisingly well. C++ was pleasant to code with and stuff like pointers was simple for me to understand. I guess it was because of my experience of programming in python, or I was just built different.

Although, try figuring out how to get C++ working, let alone install a library was frustrating. I guess it's because just wanted to use Neo Vim  to code in  C++  rather then using a heavyweight IDE like Visual Studio. I managed to get it working though. I'm now 18, and at the rate things are going, it seems like being a software developer will be my future.


Links

Itch.io Page

Game Jolt Page

With that, I'll see you guys later.

Get True Human Tribulation: Errand Run

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.