HELPFUL HINT FOR DEVELOPERS
February 15th, 2022 by brotherhood

I thought this might be a helpful idea for developers who need to track many global values in their games. I refer to global values as a set of values that are used to alter the game state, store quantities, etc.



I have used strings rather than numeric values in a Dictionary in the past, but I have preferred to use numeric references for value stores for the last two games we have made. I found that referencing variables by name enforced lazy coding, and using a numeric reference with a spreadsheet was more efficient.




DEBUGGING GLOBAL VALUES






One thing that helped me tremendously with Beautiful Desolation was storing the reference AS WELL as a note to the code that changed the global value. So, for example, if you look at the code above, I store a string reference to the Script file and the Method that altered this value. It may seem cumbersome now, but it has saved me hours of trying to work out where a value was set from.






I have a singleton that stores the State Array as a List that contains all of the values and the place that set them.







Here is the clever part, I also write this data to the savegame file.







This Save is a dump of the State - what this means is that I can load ANY save from a player, tester, or my code base and review where and when the value was set. This helped out a MASSIVE amount during the playtesting of Desolation, which had 1500 variables in the State.




If a player sends me their save file, I can quickly ascertain why a value is not being set, or where it collided with another puzzle. If the save file only contained the value it would be useless in a debugging context.






My ingame Debug tool also allows me to check the details on any variable quickly.






This only took a few minutes to implement and it has made my life much easier!


An interview about Adventure Games...
January 20th, 2022 [brotherhood]
Read More
MERRY CHRISTMAS...
December 25th, 2021 [brotherhood]
Read More
A SHORT FILM BY CHRIS BISCHOFF...
December 8th, 2021 [brotherhood]
Read More
Beautiful Desolation wins BEST GRAPHICS!...
December 7th, 2021 [brotherhood]
Read More
STASIS Kickstarter Post Mortem Throwback...
November 16th, 2021 [brotherhood]
Read More
MARK MORGAN IS BACK!...
November 10th, 2021 [brotherhood]
Read More
Practical advice for Indie developers PA...
October 20th, 2021 [brotherhood]
Read More
WHAT WE HAVE BEEN UP TO...
September 1st, 2021 [brotherhood]
Read More
GAME DESIGN & BEAUTIFUL DESOLATION PODCA...
August 9th, 2021 [brotherhood]
Read More
STASIS ][ SCREENSHOTS - JULY 2021...
July 23rd, 2021 [brotherhood]
Read More
How to Make a Video Game While Rationing...
July 7th, 2021 [brotherhood]
Read More
LATEST

ANIMAL USE PROTOCOL

October 27th, 2024

In this first-person, narrative-focused survival horror, you play as Penn, a hyper-intelligent chimpanzee. Hunted at every turn, your only chance of survival lies in scavenging, crafting, and explorin...

Read More
BROTHERHOOD NEWSLETTER SIGNUP