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.

Saturday, 1 November 2014

Basic Platforming Blueprints

Hey guys!

Here's all the current major platforming Blueprints that we've managed to get going so far. I'll update as we figure more stuff out or perfect the things we're shaky on.


Basic Function: Running into an object consumes it.

More uses: Doesn't have to be coins, could be orbs or stars or curly-wurlys - whatever you come up with. Could also be keys or hidden collectables. 

Simple Pacing Enemies
Yeah. I had literally no idea how to illustrate this. I tried. 
Basic Function: Enemy moves from side to side/up and down/diagonally etc and kills on touch. Use jumps and good timing to avoid.

More uses: Not sure about any advanced uses for this yet. At the moment our hero is passive (well, he/she is a monk after all) so we're presuming we can't kill enemies.

Platform: Moving

Basic Function: Classic animate platforms. Up/Down, Side to Side, Diagonal.

More uses: Can be stationary until activated (as an elevator or a tram or whatnot). Or we could try to make rotary movements (like a Big Wheel) if it was requested.Any other paths that you come up with we can try out.


Basic Function: One false step and its over. Fail your jumps and fall to your death.

More uses: Could be lava, water, gunge, whatever you don't want to end up in. Doesn't need a static mesh as it could just be a black hole.

Motion Activated Lighting

Basic Function: Can run past lanterns/candles etc. and have them come alight. Character runs though triggers that activate the lights.

More uses: Could alight other assets like a mushroom's emissive glow. Could change the colour of assets as you pass them so you feel like you are "painting" the environment. Or even be used to set off particle effects so that dust crumbles from the ceiling, or fires ignite.

Platform: Seesaw

The box and the blue line would not be featured. I just included them as a self-reference to how the seesaw pivot works.
Basic Function: A platform that tilts depending on your postion, and can be encouraged to rock faster and more severely if you run back and forth on it to gain momentum. 
It is hinged to a still object (that would be hidden in game) like a chandelier.

More uses: Maybe with a wind system in place we could have decorative pieces swaying in the background? Honestly we haven't tested this one enough yet to say how adventurous it could be. I just play on the seesaw and forget what I was supposed to be doing.

Platform: Limited Life

Basic Function: After you jump onto these platforms they flash briefly before vanishing under your feet. Lasts just a second.

More uses: Not really much to spice up here. Just a classic.

Falling Hazards

Basic Function: A nasty object falls from the ceiling to kill you. You need good reactions and pacing to avoid getting the crush.

More uses: Obviously not just a rack of spikes, could be individual icicles or boulders or dripping lava or whatever you can come up with. Alternatively, these hazards could be raised back to the ceiling after falling and just drop over and over (think plunging pillars) and you would time your run between the gaps. 

There are a few others that are possible that I either couldn't get a great screencap of or I haven't had the chance to set up in a test scene.

Opening Doors: Either on approach, or pressing a button to activate. 

Hopefully I haven't missed anything, but I will add on as more stuff gets worked out over at team Engine.

Friday, 31 October 2014

Sidescroller: Engine Art

Just as quickly as one was over, another crawls in to take its place. Its another group project!

The teams? Team. One team. The whole year is a team. Its one big team project.

The Sidescroller

Produce a game in UE4 comprised of four levels (Hot, Happy, Cold, Scary) as a sidescrolling platformer, featuring 2 characters (M/F) and 3 NPCs.

Everyone has been pre-assigned roles - 5x Character artists, 4x Concept Artists, 12x Environment Artists and 2x Engine Artists.

Roles were picked based on people's listed interests in a blind survey. I listed "Engine" thinking the question was more about "What would you like more practise with?" as opposed to "What is your specialism?"

HAHA. Thanks Chelsea. You got us into this mess.

It feels strange to be head scratching with a notepad and biro. Bullet pointing paraphrases onto cheap lined paper with a click pen who's original owner remains long a mystery. I'm used to just doodling and calling it work. This is old skool study. Like what normal students do.

As a total foreigner to Unreal Engine 4, this is going to take a bit of work. I've had precisely zero experience in Engine programming systems, and I suppose with the newness of Blueprints in UE4 (previously Kismet), I'm not the only one new to it.

But dang it would help if I had that beautiful programmery logic - it feels like quite a learning curve.

Okay. Mmhm. Yep. Right. Gotcha. Ok. 
To break it down a bit more, my responsibilities are Technical Art,  Level Design and Game Design. All of these things are new processes for me. So this project is sure to be a real humdinger. But honestly, I'm super excited about it. I could be about to find out this is absolutely the last thing I should ever be responsible for, but on the flipside this could be something that really sticks. 

Final word though is that this project is going to be a lot of fun. Prepare for things to break! 

Tuesday, 21 October 2014

King of the Dead

Hey guys!

I thought I'd start afresh this year with the blog. Things might move around a bit, reorder themselves, go through several edits, and might look a bit haphazard for a short while.

So I hope you'll bear with the mess while the construction is going on.

~~King of the Dead~~

First team project of final year!

The brief was  to create, as a group of five in two weeks;
  • A character
  • A throne
  • A wall
  • A scene
that befits the title "King of the Dead".

To play bingo with the images in our heads reading that; Black, skulls, the Grim Reaper, Día de Muertos, sugar skulls, male gendered...
Its quite easy to relate these images to the brief - they were certainly my first thoughts, and in some respects they still are even reading the title now.

So, playing devil's advocate, we challenged to avoid the heavy prevalence of black and gothic themes, skulls for faces, Mexican culture or a definitively male gender. Not that these aren't fine representations of death; the tried and true would be guaranteed to meet the brief , but wouldn't it be a little more fun to explore riskier road less travelled?

We conveniently split ourselves into areas of interest, and opted to design The Throne.

I really wanted to design an object as a character, so this seemed like a great chance to do so.

Pencil work - I wanted the throne to be a natural feature of the background. Would it be an earthy chair, or chair-y earth?

Silhouette was of major importance in the composition of the scene. The throne needed to be organic and alive (or er.. once alive) whilst maintaining the eerie mystique of death.

Threes - the "S" shape was really standing out the most for me, so I tried to fill in the blanks a bit about what it would be like out of the darkness.

With a bit of input from the rest of the group, I produced this design. We liked the less restrictive "lounge" shape, but as more of a carving.  Human accessories were a no-go, so I swapped candles for mushrooms.
After I worked my way to this point in the concepting, I realised it had been a while since I referred to the work of the rest of the team. Not wise. So I thought it best to see our concept mock-up and assess the damage.

Not too bad! But there were two trees in place at this point, and mine was the least complimentary to the composition. Something had to be sorted out!

Twiglet - Composited into the scene as a whole, my throne seemed much closer to a yeast extract snack than a looming tree. 
With a needed paint-over, I thickened the central mass of the tree whilst trying to keep the extremities thin and straggly. A much more prominent and authoritative scale for the environment.

The final design 

Chunky! Now modelling. 

Nothing too out of the ordinary in my 3D pipeline. Just a nice blobby basemesh taken in Zbrush and retopologized with polydraw in Max. The tree is one element, and the seat another.

Totalling up at a pinch over a10k triangle count.
As for textures, I actually thought I'd give 3D Coat a try. I'd never attempted polypainting before, but it seemed sensible given the nature of the cryptic jigsaw pieces my non-tiling unwrap ended up being.

And it was awesome! I really enjoyed working in it. The viewport shaders are a lot to be desired, but the unlit previews are fine for getting those diffuse textures down.

Roughness and specular maps were just filter-to-fit versions of my diffuse. Normal maps were made from baking down the hi-poly model I had made earlier in Zbrush.

Imported into Unreal 4.

 Not bad! Now that's a throne. This one doesn't stand a chance of being mistaken for a twig.

Oh, and I also made a little ground clutter. Seems some birds didn't have much luck in our Death King's cove.

Over to Kat for the import into the scene....

We really didn't do too shabbily.

Overall the final outcome looks pretty representative of our collective vision. And it was loads of fun! I had a really great team to work with - people with lots of enthusiasm and ideas that I feel we all managed to have room to express equally. It made it far more exciting this way than if it was an independent assignment.

I suppose if I had to pick on something, I'd probably spend more time thinking about how my tree would catch the strong lighting - our atmospheric glows and shadows don't do too much to flatter a lot of our texture work. But it does really capture the mood, so its a minor sacrifice for a better overall image.