Friday, January 27, 2017

dev blog #27 - what a mess ....




so what happened with the release of techDemo 0.6?
only the 20$+ Patrons know it but I did some really bad quality checking before I released the early access version for them....

in short, there were several game breaking bugs in this release which forced me to release a bunch of short term hotfixes until I could re-compile everything into a new techDemo 0.6.1 version.

There is no excuse for that but I feel the need to give at least some explanation on how that happened and what I'm going to do about it in the future to minimize the chances of this kind of fuckup happening again.

To be clear: bugs can happen in every game development stage and release.

that said I'm going to give a little insight of my development process and what lead to the current situation.
If you don't care about details and just want the redemption gift scroll to the end of the page ;)

so, what happened?


what you are looking at here is my "relationship-diagram" for my events. Events are handling certain things in the game. they add or remove dialog options, place or move NPCs, modify the open/close status of doors etc etc.
in short, events are what make the game interactive.
each event has its unique ID and events can also call other events.

and here is where it gets tricky:
until now I only had a simple excel sheet where I kept a list of event IDs with a short description of what that event does. nowhere was noted the exact actions that event would start or which things it would modify.

this lack of detail resulted in a big messy bunch of numbers the bigger the game got. and to be honest the game is not very big at all so it also came a bit surprising for myself that my ID system already hit its limits at this stage of development.

so I sat down today and started to bring some clearance into the ID system. I made this diagram to have a visual aid on which event causes what. right now I only listed the events that get called either by the "new game event" E0 or the character related events E1 (Mike) and E2 (Lena).

those events are also embedded in the "timeKeeper" which controls the day and time related events so things like scenes and other time related things "happen"
.... or don't as it was the case now with 0.6!

because one of the events embedded as an "evening" event also triggered a "time increase by 1" it caused the game to skip "night" time and thus preventing the player from starting the brand new scene at "night"

due to the lack of detail on my ID excel sheet I simply overlooked it and unfortunately as it already was, the last minute changes I made to the game directly involved that said event...
and I did not test everything again that had worked previously because I was already two days behind schedule for other coding problem reasons....

so in order to minimize the chance of such fuckups I started to keep track of all the events in a much more detailed way.
a similar ID system is in place for all the dialogs in the game and dialogs can call events and the other way round. and it is a big messy pile of numbers already and not only once I had the feeling of getting lost in my own IDs....

BUT with the now visual diagram overview I'm going to maintain from now on I'm positive that I can keep those kind of problems under control.
it does also mean that I have to put even more time into "project management" as I already had to but that's how it is with such projects anyway.

so now for the gift:
all 20$+ Patrons will get access to a special archive that I will upload soon. this archive contains all the CGI that I rendered for the Mom/Dad scene. I rendered a total of  119 images in 1920x1080 and only 64 of these made it into the final scene reduced to 1280x720.

No comments:

Post a Comment