Posted July 01, 2022 by Diogo Mendonça
#Programming #Design
And here we are, the end of the road.
Not much new content was added by me this week. Most of it was bug fixing and making the tools to collect data.
One fun bug we had is that when running a build (this did not happen in editor) jumping would not be available in the first level loaded - the tutorial. Through our debug shortcuts we found out that if we reloaded the tutorial - exact same scene, we could jump, for some ineffable reason. And thus did I write what I consider the Mangum Opus of my career, this component, attached to an object in the tutorial scene.
What this marvellous piece of code does is reload the tutorial as soon as it is loaded. And it fixed the issue.
Data collecting was relatively straight forward. Just register the player entering certain areas, using abilities, taking damage, etc. in a single class, and then serializing that to XML. It would have been the simplest thing in the world, had Unity not once again proven itself to be the greatest engine ever made. As it turns out, the Vector3 class that Unity uses for everything is not serializable. So I had to make my own Vector3 class. Nothing hard or lengthy, but just another unnecessary annoyance this engine gives me.
I did also add a few more sections to the tutorial, to explore more of our abilities. The double jump section worked great, the dash one not so much. People were just double jumping where they should be dashing.
Other than that, just a lot of minor bugs that are not worthy of being addressed here.
And of course, the MOJO itself. It was such a fun experience, making all the trouble we had gone through worth it. To see people play and enjoy this little game we made was something very special. And they even managed not to stumble across any of the (many) issues with the character controller I made, bless them.
We got a whole lot of feedback, and we have decided to discuss it this weekend, so there's not yet an unified conclusion to be taken from the event, but what I can say for my part is that the controller (as in, the script managing the player character interactions with the physics of the world, not the control scheme) was good enough for the prototype. The character seemed to behave as players expected it to, and none of them had anything to point out about it. The only thing a couple said was that they felt the need for a crouch action. This mainly in the wolf fight, where crouching under pigs would help a lot. I don't really count it as feedback on the character controller, but rather on the boss, as it was a consequence of pigs being haphazardly spawned. Were that boss fight to be further developed, the logic for their spawn would need to be better thought, and that would probably make the feeling of a lack of crouch disappear.
As for some closing thoughts. This game was a blast to make. We had a good idea to begin with, making initial development very quick and very smooth. We had some great artwork too. The end result is something I am quite proud of. That being said, I'll probably not develop this game any further. This mad sprint the last couple weeks, coupled with the pressure of being something that needs to follow a course's structure and evaluation burned me out on it.
Lessons learned?
And that is it.
Thank you, for joining us on this adventure.