XenoArt: The Two Towers

So Hard for it, Honey

There's something about working your ass off that just feels satisfying.  I recently finished a large chunk of our preliminary animations that we've needed and can finally kick back and work on environment assets for a few days.

Weight-painting the Femme XMSuit onto the third-person rig.

As many of you may not know, I've always been enthralled with environment artwork in video games.  Landscapes, particularly alien landscapes, intrigue me more than any other piece of art in any game, and I've recently found myself barreling toward that route faster and faster as the months progress.  Granted, I am not good at it, at least not yet, but I hope to someday become "good" after failing at it over and over again.  I can kind of see myself getting better with each new environment asset I make, put into Xeno's test map, and then tweak.  Ideas are also coming to me easier and easier, and I attribute this accelerating creative speed to both working, and perusing the online concept art portfolios of vastly superior professional artists to myself.  If you're interested, check out artstation.com and conceptartworld.com .  With more effort and time spent studying the work of others, these veritable Gods of visual composition, one becomes more adept at first copying these ideas, and then imagining one's own ideas.

Subterranean flooded cave hallway, complete with hot-gas vent and rippling light reflection on the walls.  One of Xeno's many early in-game concept designs.

I do have to say that I cannot wait until we are able, in whatever way possible, to hire another full-time graphic artist to help me work our magic on the end-run of Xeno's development, and certainly on whatever next game idea we'll have waiting in the wings.  It is both exhilarating and overwhelming to be the only artist on a 3D game of this scope.  Granted, I do have our part-timer Zurek Jerron working on weaponry for us, and he is doing fantastic work.  But he understandably has a life and work of his own that he takes care of in between helping me out with my weapon assets.  If we could afford to have him, or anyone else who knows their way around modeling software, I'd love to be able to hire them.  Perhaps in six-month's time I'll start looking through online art portfolios for realsies and actually go through a hiring process.  But we have to generate an income for Verus first, which, as always, is the big hurdle.

With that said, I've recently had a few days to "myself," post-animation, and have used them to continue brushing up on my modeling and conceptualization abilities.  I've also been using that time to learn more about Unreal Engine 4's material and lighting functionality, and BOY is it great.  As you can see in the above photo there is an invisible "point light" placed on the rocky ceiling of the flooded hallway.  The light itself, the actual asset, has what's called a "Light Function" slot, which is essentially an empty placement for a specialized Material.

The Water_Reflection Light Function material that I've created for the water light in the flooded hallway

The Water_Reflection Light Function material that I've created for the water light in the flooded hallway

As you can see above, I put two water caustic textures (made in GIMP) into Texture Sample nodes, and attached each of them to separate Panner nodes, each with opposing co-ordinates so they overlap one another and look more realistic.  Then I add them together and Voila I have myself a Light Function material that mimics realistic water reflection onto walls.  The Light color itself gives these textures their light, so the fact that they're brown in the original textures makes no difference.

That's pretty much everything for now.  It's past time I get back to work on Xeno.  We're getting a lot done this week, and we can't wait to keep on moving forward!  Wait until you see what we have in store for the environment tweaks this weekend...!

Thanks for reading, and as always, stay tuned for more info on Xeno!

~Anthony

Absolutely Unreal!

It's been nearly three weeks since I last updated with anything on this dev blog and it's quite about time that I lay down some law.

The main reason, perhaps the only reason, that we haven't updated is because we decided to change our development engine.  Originally we were using Unity 3D.  But it was revealed by both Epic Games and Crytek at GDC '14 in San Francisco that their respective game engines (Unreal Engine 4 and CryEngine) were going to be massively overhauled and massively cheaper, making them both more accessible to the Independent development scene.

Tim Sweeney winning my heart with those Baby Blues.

Tim Sweeney winning my heart with those Baby Blues.

This was a pretty big deal to a few of us when it was announced, and we quickly set to work reviewing the changes of both UE4 and CryEngine. In the end, Epic won our hearts, mainly with tremendously beautiful introductory and tutorial videos which they clearly polished well before their GDC announcement/debut in order to have them ready for release. Probably the one major tipping point for choosing UE4 was the ability for our programmers to code in C++, as well as to use Blueprinting (which is incredibly intuitive). CryEngine lost important points in this regard but is STILL very powerful.  We chose UE4 for these reasons perhaps also because we were already a month into development on Xeno and wanted to make the transition as painless as possible

So anyway, we made the transition which took about two weeks of full-time dedication from Nicholas, Dan (our second-in-command coder to Nicholas), and myself in order to get a handle on just what it is that Unreal Engine 4 can do. And we still definitely have several months of learning ahead of us, because there's a lot that it can do.

We were lucky enough to have gotten our hands on Unity Technology's "Unity" engine over the past year, but decided to wave goodbye to it over the 1500$ price-point per developer. At least 3 of us were required to purchase it (if we chose to go Pro), and the Pro version contains all the bells and whistles that one expects to find in a moderately-high-fidelity visual experience, along with some streamlined tools to incorporate and enhance gameplay mechanics that, frankly, I was expecting to be possible right off-the-bat with Unity. They weren't, and that was disappointing.

Unreal Engine's Registry site.

Unreal Engine's Registry site.

On the flipside, Unreal Engine 4 lowered their price to 20$/month per developer (if you pay the initial 20$ and then cancel your subscription, you still get to use the software), and 5% of earned revenue generated by any finished product that you sell when you're finished. Granted, this could very well be tens of thousands of dollars more than we would have given to Unity Tech. by simply purchasing their product outright, but that's the big problem with the communication/reality between big business and Independent developers, now isn't it? Epic may be big business, but they know exactly how to speak to their relatively "new" audience of Independent developers. They know that the vast majority of us are strapped for cash and they can make even more money (and more loyal users) by catering to our needs. This price point was the huge disappointment with Unity to many of us, and both Epic and CryTek managed to raise the bar by economically lowering it. Now if only major software IPs did the same with other good software like Maya, 3DsMax, Photoshop, ZBrush, etc., then we could actually APPRECIATE the "standard" of decent quality software which is imposed upon us.  But for now I'll keep using GIMP, Blender 2.70, and Sculptris.

About 1/3 of my workflow.  MakeHuman, Sculptris, Blender, GIMP, AutoDesk FBX Converter, Unreal Engine 4

About 1/3 of my workflow.  MakeHuman, Sculptris, Blender, GIMP, AutoDesk FBX Converter, Unreal Engine 4

Anyways, /rant off.

We chose to make the switch, and its proved remarkably positive and powerful.  But the learning curve is still a steep one, if only because we've been working within the confines of Unity for so long, and also due to the sheer breadth of Unreal Engine's capabilities.  A few problems that I initially ran into were major ones, mainly the difficulty of importing separate FBX files from Blender, resizing them, and attaching them to the same general animation and skeletal rig within UE4.  This was unnecessary in Unity, for comparison, because Unity had built-in support for Blender wherein I could merely drag-n-drop a .blend file into the content browser, and VOILA, the animation/rig/mesh was ready for splicing.  Unreal Engine has built-in support for Maya (hence the native FBX requirement).  Transporting .FBX files is a bit different from transporting .OBJ files, as far as the difference between Unity and UE4 are concerned, and so that took a few days of my time to work out all of the kinks in the process and bring myself up-to-speed, which was time wherein 0% new content was being created for Xeno.  So this was the difficulty with the initial transition.  But it's beginning to pay off quickly.

A powerful part of Unreal Engine 4, from an artist's perspective, is the intuitive and visual Materials editing.  You basically have a board of output nodes on a material that you're crafting, and you have complete control over what variables and textures, and combinations thereof, are going to influence those outputs.  Things like "roughness" and "emissive" properties, Normal maps (which can be combined and in differing degrees), and moving textures on a mesh, can all be influenced in countless ways.  This gives the artist A LOT of power, and this was the first immediate thing that I realized upon coming in from Unity.  But with this complexity of output came, of course, the learning curve.  While it is intuitive, it brings into full view my vast ignorance with many of these parameters.  I'm still getting a handle on the majority of them, but I had to spend quite a large amount of time bringing myself up-to-speed with them, and there's still such a long way to go.  It's so deep and powerful that I'm quite positive I will have only touched the surface of the Material editor's capabilities in the next year, and will have an entirely new take on texturing and visualization by the time Xeno is finished.

UE4 Content Browser on left: You can see the "Hallway 1" material selected. If you double-click this...

UE4 Content Browser on left: You can see the "Hallway 1" material selected. If you double-click this...

... it opens the Material Editor, where all the power is held. It's like looking under the hood of a car.  It's visually appealing, and has an awful lot of potential power.

... it opens the Material Editor, where all the power is held. It's like looking under the hood of a car.  It's visually appealing, and has an awful lot of potential power.

Everything in the Content Browser and Scene Outliner are fairly normal and expected, pretty straightforward and very similar to Unity 3D, while quite honestly being even more intuitive than Unity.  A really helpful part of UE4 is the "Modes" box in the top-left, which allows us to drag-n-drop very important and oft-used scene props into our level, like lights, mesh geometry, collider boxes, foliage, post-process boxes, trigger blocks, and a whole lot more.

You can see some of the above-mentioned scene props in the top/left of this pic.  We added and adjusted fog in our Xeno Drop-Room.

You can see some of the above-mentioned scene props in the top/left of this pic.  We added and adjusted fog in our Xeno Drop-Room.

Coding can be done via traditional C++ compiling (I have no idea what I'm talking about), or via visual Blueprinting in exactly the same way as Material editing is handled, with call-boxes containing functions and variables that string together logically.  It's a brilliant and welcome addition to "mainstream" independent development, and something even I can do with a little prodding and some extra time!

This is a "Blueprint" that I "coded" in UE4, that opens and closes a nearby door whenever the player enters and leaves the Trigger Box, respectively.  This was very easy to execute and, as an artist with no technical programming background, almost magical to me.

This is a "Blueprint" that I "coded" in UE4, that opens and closes a nearby door whenever the player enters and leaves the Trigger Box, respectively.  This was very easy to execute and, as an artist with no technical programming background, almost magical to me.

Particle animations are absolutely gorgeous in Unreal Engine 4, and the engine comes with a few of them right off-the-bat to both WOW you, and to help kickstart you into level ambiance.  I still have yet to really learn how they work, as I'm currently knee-deep in playing catch-up with my Xeno character development and level design.

This is a "Blueprint" folder originally set up in the Content Browser and which contains pre-fabricated particle animations.

This is a "Blueprint" folder originally set up in the Content Browser and which contains pre-fabricated particle animations.

This is a Component overview of one of the pre-fabricated Particle Effect blueprints, which is basically a roaring "campfire".  It combines several assets into one, including smoke textures, flame textures, and a looping "crackling fire" sound, and all of it is animated.  I need to learn how to accomplish things like this.  It is absolutely spectacular in real-time.

This is a Component overview of one of the pre-fabricated Particle Effect blueprints, which is basically a roaring "campfire".  It combines several assets into one, including smoke textures, flame textures, and a looping "crackling fire" sound, and all of it is animated.  I need to learn how to accomplish things like this.  It is absolutely spectacular in real-time.

The Engine also allows you to put customizable "text blocks" on assets that are displayable in real-time, and this would be especially useful for things like narrative expression or HUD elements in an FPS (which is precisely what we'd use it for).  All of this and more are very easy to implement.

Customizing/Editing a text block on a solid asset.

Customizing/Editing a text block on a solid asset.

The same text block/solid asset in real-time.

The same text block/solid asset in real-time.

As you can see in the above photos, the real-time reflections are spot-on, smooth as silk, and beautifully rendered.  My computer is not as powerful as it definitely should be (especially as a 3D graphics artist), but even with multiple programs like Blender, Sculptris, GIMP, and UE4 running simultaneously, it's amazing that the in-game test-play ability of UE4 can run as smooth as it does in-situ.  It has been well worth the 20$ subscription for us so far, and we anticipate it will only get better from here.

Well that's all I have to give this week.  Hopefully next week we can get Nicholas to fill you in a little more on his take on our transition to UE4, or even just Verus Games' process in general.  Who knows?  Or we may just post a bunch of cat pics.

Until then, thank you for skimming through with us! We hope you've enjoyed! Be sure to drop us a line on our Contact page, and follow us on Twitter for near-constant updates on our Xeno progress!

~Anthony