On March 2nd, Unreal Engine announced it was becoming free. Along with that, Unreal released version 4.7 of its Unreal Engine software. It was a huge day for our little capstone project. Everything seemed to be clicking into place. Not only were we knocking out a surplus of tasks early on, but we were also on the forefront of a game design MOVEMENT. We were ecstatic.
Then we read the release notes. This epic update was not just changing the game design mantra and buffing an already polished design – it also changed a whole slew of inbuilt function headers, names, and so on. This is good and all, but more than half of our c++ classes and functions had to be re-written or updated, which was a huge setback.
Sam, Isaac, and I toiled over the hundreds of lines of code we had all already written in an effort to fully integrate 4.7. We deleted classes, pieced together broken function calls, renamed dozens of outdated references, and debugged our butts off. Though Kurt and Julia were able to continue work without many interruptions from the update, by the time Isaac, Sam, and I were done updating…
… well, you see where I’m going with this. After a sprinting start in the first week of March, I had stumbled on the usable actor class I was supposed to implement. Isaac had only finished half of the animations we needed and still had not started testing out the VR mode. Of course, Sam was still popping out c++ classes like it was his job (it kind of was, but that’s a different story). However, he was now doing so at an admittedly frustrating pace, due to having to relearn many of the class/function declarations he had already learned, along with having to adapt all of the new stuff into an entirely new architecture (we were now using mostly blueprints).
Beyond the setback of the update, we were hurting in some other implementation fields. Kurt was struggling with the incredibly complex art of AI in Unreal Engine (for which debugging is often impossibly abstract). Sam was being crammed with not only his work, but most of the overflow of other group members’ issues. Julia was having to make some hard design choices, especially when deciding which elements were superfluous and which were essential. As for me, I had no attached sounds, no player market to speak of, and the usable actor class (I finished a couple weeks into April) was proving to be much less useful than previously thought.
And to top all of this off, STEM backed out of their promise to have developer kits out before the middle of March. The due date was two or three weeks away, and all of the sudden we had to explain to our professor that an integral part of our design, hand motion, was no longer viable. We had to scrap a huge piece of our user experience, which upset several of the members of the group immensely.
We were in a nuclear meltdown. A month and a half ago, we were at optimal cruising speed, and now we were in atmospheric reentry with a malfunctioning parachute.
However, we knew what we had to do – plug on and get this thing finished, come hell or high-water.