Tuesday, 9 December 2014

Post-Mortem: Sidescroller Project

Well, I really didn't manage to keep this blog up to date during this project...again.

Back at the beginning of the project I genuinely had high hopes of logging all my progress here, but once the "real" project work kicked off, writing rants of self assessment seemed the least beneficiary of project priorities to spend time on, so my blogging was sadly lost in the pile. But my FMP will not suffer the same fate though! I believe in me!

Working as an engine artist was certainly a different experience for me; I always managed to elude technical responsibilities in past projects, so the inexperience alone was enough to bring with it its own set of problems and rewards.

One of the coolest things I got going was the Balloon ferry.
Up and away! Gee Chelsea is it getting foggy up here?
....it is! Wow would you look at all that fog that just appeared. Golly we must be high up! What a snazzy engine trick!

The most significant gain was how much I managed to adapt and grow comfortable using UE4. I suppose that is a pretty predictable outcome after having jumped in at the deep end, its only natural to learn when you have to. But even with that in mind, I've still come out of this project feeling happily surprised at my own progression. 

In the first weeks of the project, I hardly did any "solid" work - I was spending all my time watching and reading every Epic tutorial and mediocre YouTube rambling I could find. But there's only so much that's available, especially with the relative newness of the engine, so my strategy was to read as much as possible to lessen the damage when undocumented problems arose later. And it was a good strategy! I'm glad I dedicated this time early on, because it gave me a better understanding of the scope of what we could and couldn't achieve in time for when the team started getting inventive with their concepts.

This was one of the unique problems I faced with this project - managing expectation. Its a tough job but someone's gotta do it. Except I have zero real clue whether we can actually do X or create a Y. I'm just saying it with enough conviction that I'm hoping people just believe me and roll with it. Faking it and making it.

And its mad because it really works. It clicked suddenly for me that it was happening when at one point in the project, someone asked me to help them with a technical logic problem they had in Blueprint. "Sure" I say confidently. Nope. They've got you now. Oh no.

Yet... I take a look at the issue, and after a few finger wags and directive murmurs I hear "Hey that works! Thanks!" and then I walk back to my desk in a state of shell shock that I fixed a thing. I did. Me! And even if sometimes I'm not quite sure how I'm managing it, its still an awesome feeling to be flitting around a piece of software that six weeks ago I couldn't open without my tutorial training wheels ready for me in another tab.

Surprisingly, the majority of the problems I faced weren't the result of my own technical cluelessness. The biggest obstacle in getting my work done was every phase before me going smoothly and on time - something that you'd be mad to expect. Being at the end of the production line meant that every hiccup along the way rippled its way down to me, which meant that I was often behind without having any wiggle room for my own delays.
So being the last domino, the only way I could guarantee my usefulness was by guaranteeing I got my work on time - by putting on my nag hat and bossy pants. Sure, everyone had their own hindrances stopping them from doing work, but if their work never got in engine they'd not get to show it. But we still didn't always manage it, so on numerous occasions I'd get the work on deadline morning and end up with a huge backlog of assets to import and configure. Which meant that when we'd present our status to tutors, it'd look like none of that work was done and that the whole year was behind, whereas it was really just me struggling to tackle the hand-in-day queues.

So, I had to make sure I knew that everyone was on time and on track. Nagging and chasing up, imposing my own earlier deadlines before the official ones. I'm sure I conditioned everyone to collectively itch their forehead scars when I approached like the engine art Voldemort.

The bridge in our "Scary" level was a good chance for me to learn to make destructible meshes and particle effects.
Gasp! Look at it crumble and break unexpectedly! Just like UE4 when I haven't saved in an hour.
All in all it was a worthwhile experience. I could be disappointed that I've come away with no literal portfolio pieces from this project. But whilst I am behind the curve on my craft skills, I am at least ahead in my technical ones. As much as I doubt myself with my concepting and modelling abilities right now (and oh ho ho I do) I know that I'll have not forgotten it in actuality. But without this project, I might not have had the confidence to dedicate time to understanding UE4.

So I'm grateful to have had the opportunity to dedicate all the time I had to it, since it allowed me more space to play about. And literally, getting something to work was like having a new toy for a few hours. I made so much stupid stuff that nobody really wanted to use. Other people don't get to see how difficult some things are to make, which I forgot at times. When I managed to get checkpoints working,  I was in a state of blissful self satisfied delirium for the rest of the weekend.
 "Checkpoints work!!" I'd squawk at people, flapping wildly.
"..Ok?" they'd respond, edging backwards slowly, their fingers hovering over their 'call security' panic buttons.

If I could dictate how a similar project ran in future, I think I'd structure it pretty differently. I think our main problem we faced as a collective was the ambiguity of priority and pacing, and we worsened the issues via communication fall-downs.
One of our most critical errors was our focusing on gameplay. It wasn't necessary, at least not to the degree that we perceived it as. It seems we all took "make a side-scroller game" in a very literal sense, missing the implication that of course we're only artists and not expected to know how to design and program ship-ready games.But we're a very aspirational group of people and we did give it a good go - at the cost of time and decisions we could have and should have spent on pure aesthetic value.
I spent so much time play-testing my amateur platforming patterns, figuring out if that ledge is funner if its moving 0.2 fast or 0.45 fast, or maybe it should disappear, or maybe that coin needs to be a bit closer for that jump. My gameplay design was juvenile and shoddy, but at least I can stand proud as the person best at playing that juvenile and shoddy design.

Another point I'd take on board for another project would be to have an engine artist allocated to each team. For this project it was just myself and Elliott, each taking two teams. For the most part this wasn't too hard to upkeep, but when deadlines crept up and things began to break, I felt a bit like I was getting tugged between my two teams. It became a bit of a juggling act, where I would have to tell people straight up that I was sorry but I couldn't work with their team that day because I was needed with the other team, and I would be constantly swapping like this in an awkward juggling act that was dragging out the length of time that the artists would be waiting before they saw that their work in engine. Which in turn would mean delaying how long they'd find out they had problems to fix and so on, so more engine artists would have given the modellers the attention they needed.

It's been a change of pace from following a conventional art brief, and more than anything its been a testing challenge of my problem solving and communicative skills. It's given me insight into game logic and surface-level programming that will not only improve the interactivity and "gameness" of my future projects, but has also given me at least a bit more appreciation for real programmers/tech artists and real game mechanics. They don't often have use-able convenient interfaces like I've been using. Programmers. Magic.

No comments:

Post a Comment