Peter's World

USA PA Philly Drexel-University GMAP-378 Peter-Mangelsdorf 2020 March 10 am 7:45:42

So many things... not as expected

nor... as intended

Ambivalence

A lot of things didn't work out the way I anticipated they would with this project. I started out with this vision of a largely physics-based game. I thought Unity would be easy. Bully, was I off.

Take, for example, the character classes. Initially, I planned on just having their differences be set through parameters. The light and heavy would contrast not because of arbitrary differences, but instead the fact that one was more massive than the other. The effects of this should have reached everywhere: Being heavier makes you harder to move, but it also makes you harder to move. Being light lets you move around quickly, and so your animations would also be faster, allowing stronger movements.

This didn't really happen over the project. The first quarter was spent hacking things together. Neither I, not Frank knew what we were doing, and spent several, "Tuesday Night Crunches," just trying to get anything to work. We stumbled. We failed at using Git. We failed at using Design Patterns. We failed to get Multiple Controllers. I failed to make everything Physics Based. Worst of all, I summoned not only a God Script, but also a Cthulhu Spaghetti Monster!

Despite all this, we survived, and our project survived. I'm disappointed, but impressed. The characters have unique differences, albeit not from physics parameters, but customization scripts.

Technical Debt

Defeating the PlayerManager, otherwise known as The God Script, proved difficult. If it weren't for the new team, I'd never do it on my own. And honestly, the first day, nevermind the first week, was revelatory. Sure, I knew my code from first quarter was crud. I often liked to pretend it didn't exist. But nothing prepares you to hear that your baby is ugly, and needs work.

And bully, did it put me off. I got concerned, "Oh no! Does this mean I won't be allowed to code again? These guys must think I'm such a fool! How am I ever going to survive?!? Oh the humanity!!!"

But. To my amazement, we didn't kill each other, and instead grew to appreciate one another. People brought out all these engineering patterns, like inheritance, or event handlers, that neither I nor Frank knew you could even do in Unity!

And to this I say, thank you. Thank you for telling me my babe was ugly. Thank you for showing me I know so little about C#. But most importantly, thank you for working with me to fix it, and turning it into something immeasurably greater. Frank and I couldn't have done it alone.

Documentation

I spent a lot more time on documentation this quarter than I did any other. Sure, first quarter I'd gone through the effort of organizing the Discord. Sure, I'd contributed a little to the Google Docs. But nothing quite on this quarter's scale. And for what? I'd taken notes each meeting, I wrote up technical docs for lengthy bugs. But who would ultimately use these?

Communication across other areas also changed. Previous quarter, much time was spent on the game design document. Yet this quarter, I'm not even sure it was ever brought up once! So what things did people use? There's the Discord, for immediate conversations. There was physically meeting. And there was the Monday (A Gantt tool).

Part of me suspects I turned to documentation out of feeling like a dead weight on some of the programming. You can see in the Git Commits, that my commits this quarter are significantly lower than last quarter (btw, way to go Jake!). And part of this is due to Frank and I doing a ton of peer programming last quarter. But I also feel I didn't contribute my fair share.

I often avoid programming until I know exactly what I'm doing, and I suspect this largely hinders any progress I make. It's a habit endemic to all my classes, and something I need to actively work to kill. Hopefully this coming coop (my first!) can help to build my confidence and ability in C#, and so better contribute to senior project.

Future Worry

The Programmers

The Artists

This picture was taken on the first day of our in class meeting, and has been the situation this entire project. Contrast with last quarter, where there was less a stark divide. I worry, for this divide consumes many a senior project, leading to their downfall.

It raises other questions, such as, "how to evaluate and measure cognitive contribution to a largely intellectual project?" "How to plan in an unstable environment?" And most importantly, "how to be ok?"

That last part comes form a friend of mine, and I think it perfectly encapsulates the mood for the last two quarters. Game development, both academic and professional, is incredibly stressful. Industry has sickeningly taken to calling this, "crunch," and treats it as par for the course.

I don't want anyone to feel awful, yet I feel we already have. And I hope to combat this over senior project.

One of my goals last quarter was to, "revolutionize the digital media work experience," with everyone using Git as the backbone of their work, communicating in Discord (which hooks into Git), and having everyone using Unity, even if only to import assets. And wow, did that fall apart fast.

People very quickly took on odd roles, such as Cate, forever swamped in Google Docs, Google Sheets, Google Slides. I have never felt more guilty of anything last quarter than seeing how much of the cruft Cate had been stuck with. And then the technology started falling apart. Trello costs money! Discord only supports one plugin! Nobody even looked at the Google Sheet (including me) which we used for our Gantt.

So I don't know. There's a lot that can go wrong on senior project. But I think we can start by not trying so hard to keep two separate groups.

} Closure() {

Despite whatever happens, whatever Hell on Earth descends, I will be by your side. There is nothing more rewarding than working with such talented individuals (even you Frank!) on a challenging project.

I love you guys! Always.

Peter