Okay, technical stuff. I’ve successfully implemented multithreading into Against the Wall. Multithreading allows a program to do multiple things at once. It’s akin to how your operating system can have multiple applications running at the same millisecond. Time consuming tasks like mesh generation and physics are now separated into threads, while the game’s main thread does its thing.
Unity, the game engine that I use, does not support multithreading naively, everything running in a single thread. As a result, whenever I would generate a number of chunks, the game would hitch for a fraction of a second, as the program waited for the generation to be done before updating the player or the environment. Now, I have performance-intensive things running in the background so the the framerate will not be affected by them.
I used ThreadingHelper to help me with this task. I had earlier attempted multithreading over the summer, but did not have much success. Specifically, the performance difference wasn’t justifiable considering the amount of work that I was putting into it. The helper library managed the tough stuff and brought the game down above 60FPS, even while it’s loading! I will have to test this on some older computers, and keep polishing away at it.
Right now I’m on winter break from my graduate program at the NYU Game Center. I still managed to get stuff done on the game, but things temporarily came to a halt earlier this month, around the 14th, when finals came around. I had a paper due that nixed my plans for the Ludum Dare, a board game that was very, very well received, and a digital game that stressed me out to no end.
I did hire one of the other students as a story consultant, my friend Shoshana Kessock. She’s a writer and a RPG person, and will be a great help in fleshing out the game world.
My plans for the beta? Well, I’m going to be shoveling as much code as I can before school restarts. My goal is to have at least three environment types done, one more city, and one more set piece. I have the art for a new city platform that I did in October that will serve as the basis for the city.