Making Progress – Even Offline
To all my fellow Americans, happy Independence Day!
Over the past few weeks, I made good, but slow, progress on improving my game. I managed to add two big items and fix a bunch of smaller ones. Now the game will credit you for the time you spend offline. It’s not 100% but the core functionality works and I can tackle the rest as I move forward. I also added a new tech for autocompleting goals, which I found more challenging than I anticipated. This tech sets the stage for autobuying encounters which I plan to have in alpha 5. Read below for more details and the full patch notes.
Head over to itch.io and play the latest version of Treasure Hunter: Quixxen’s Suit.
Time.timeScale + Coroutines = Offline Progression (Mostly)
If you have worked with Unity then you have worked with time, there is no way around that, a game = time. The first lesson I learned is that in the Editor
Time.timeScale is limited to 100f. No documentation tells you this, you discover it by reading the error reported in the Console. Well for an idle game, a 100:1 ratio won’t cut it, that means if you are offline for just 24 hours, it would take the game over 14 minutes to update. However, it would work for testing.
Speaking of testing, I added a Jump Time button to help in play testing. On the side I added an info panel about timing in the game to help me during developing and testing. As part of that I added a way to manually jump forward in time. I decided to leave it in the game so you can use it in your testing. I’ll take it out before the game hits v1, until then enjoy.
Back to offline catch-up, initially, I decided to use 7200:1 for live version, that’s 2 hours to 1 second. That seemed reasonable, yup perfectly reasonable until I tested it. Something about that speed makes Unity do wonky things. I use a coroutine for the autocomplete timer and even though the coroutine uses
WaitForSeconds, which is supposed to use scaled time, it doesn’t keep up. On top of that, sometimes I would get 10x as many wingits (the new name for the quest currency) as I was due. Sigh.
I ended up creating a bit of a hack for right now. The offline catch-up speed will start at 600:1 and ramp up to 3600:1 and stop there. Before I move to beta I will have to rework the entire offline system. I started developing games to get a challenge and that is exactly what I’m getting, and then some. 🙂
New Tech – Autocomplete Goals
I worked on another big ticket item, a new tech that allows goals to autocomplete after a set period of time. Once you buy the tech the goal button gets a progress bar and timer after the goal has been reached. The tech by itself seems small, however, it sets the stage for autobuying encounters which I plan to add in alpha 5. Once I add the autobuy techs I will have replicated the core idle component from Matter of Scale. Then the real fun begins, new features.
Life’s an adventure, enjoy your quest!
Full Patch Notes
- Added offline progression
- Added tech to enable autocompleting goals
- it always says "maps" even if there is 1 – "1 maps"
- bug: if I finish a river quest then a partial river gets the focus instead of it moving down to the first available Plains quest
- bug: a partial quest still builds up income and it shouldn’t
Quest and Quest Display
- bug: encounter button turns green before MAX says you can complete 1 encounter
- create encounter names for RiversQuest
- create encounter names for SwampsQuest
PurchasableEncounter: refactor prefab so I can set an encounter number through a SerializeField member PurchasableEncounter: refactor Start() to use GameManager for getting DisplayQuest
- DisplayGoal: remove LocationChanged use GameManager.Instance.Selected Location instead
- look into IncreaseResearchPointsResearch to establish a good formula
- look into IncreaseResearchPointsResearch to make sure it applies the bonus correctly
- add in at least 1 more techs – Research: Autocomplete goal ⭐
- update research reward to a calculated value
General and UI
- review art comp
- design offline play
- implement offline play ⭐
- add in a confirmation routine to the reset button
- design flow of game so it has an end
- update formula comments to use Level instead of Tier
bug: if Research Panel is on when starting the game in Editor it gives NullRefEx