Wednesday, May 14, 2014

New Job

Hola my friends,

If you hadn't heard I started a new job at Microsoft this Monday the 12th as a QA Tester.  It's the ground floor of the games industry but it IS the games industry so I'm quite excited!  I will be focusing on learning my job there for now and wanted to leave a record here as to why my blog entry frequency has suddenly taken a nose dive.  Now you know  :)

Thanks for your patience and support and I hope that what you've read here so far has been inspiring and informative!

Thursday, May 1, 2014

Unity vs. Unreal assets and their lighting problems

Hola folks!  As you know we went from Unity to Unreal 4 and we knew there was going to be some updating.  My biggest concern was getting our lighting to start working because it is going to be very important for our environment to light well both from in game light sources but also from the characters combat VFX that we have planned.

So when we brought our Unity modular pieces into Unreal and started messing with static lighting we found some pretty big problems.

Our original modular wall pieces

This was the result of baking out lightmaps in Unreal with those pieces




What ha-hap-happened was Unreal reads separate pieces of geometry as having AO between the pieces, no matter how close they are -- these are snapped together on the grid.  It also made me realize how much these walls don't look like a cave which is the initial environment the player finds him/herself in.  Instead they come off as concrete barrier pieces at a construction site.  There is also more baking at the base of the pieces where the floor plane meets.  Pretty ugly.

So with this I decided, first, to make more organic looking walls and appear more like they were carved out of a cave to create a temple type structure and, second, to make our 16x16 tile pieces solid geometry with as few seams between pieces as possible.  The fewer seams I have the less I'll have to hide with assets, decals and vertex painting.

The new modular floor and wall pieces are broken down into individual rooms and then compiled by our original naming convention: Lvl1F1T1(R1)


Still some lighting issues but nothing that can't be fixed!


So a quick rundown on the rebuilt assets.  As I mentioned before, once I brought the original walls into Unreal from Unity I realized they looked like crap.  This time I wanted to make them more organic and cave like that was carved and then smoothed by air and time.  So I started messing with the CV curve tool and lofting to create surfaces.  I finally ended up with 1 wall piece and 1 each outer and inner 90 degree corner. Shortly after I modeled a carved lightsource wall section -- all using the same original curve to maintain edgeloop continuity.

New modular wall pieces

I also created some better arch pieces and pillars to fit the new roomier level layout


To avoid having light baking issues like before, I decided to make the levels out of water-tight pieces of geometry.  Once my walls were setup, I used the Cut Faces tool in Maya to divvy up the original 16x16 plane



And the slicing begins

After that it was just a matter of fitting together, combining, welding, and edgeflow efficiency.



Total faces just over 5200.  I'm planning on revisiting these pieces to optimize as I get further in the project.  Until then I'm gonna hammer out some lighting, asset placement, and begin planning some VFX for the combat system currently being developed.  For now I'm pretty happy with the progress of this level piece from the original and am looking forward to putting together the rest of the pieces to see the level start to take more form.  Hoorah!


Thursday, April 24, 2014

Duality goes Unreal

Hola!  So we've been working in Unity for Project Duality and were about to subscribe to the pro version to begin implementing lighting and working on VFX; then we realized the difference in price and capability between that and Unreal 4.

Originally our purpose in using Unity was to learn the engine and because of the resources available for that. We also needed to have a highly accessible platform for us to work with.  This last reason has become especially important as our team has grown by a few heads.  Once we started getting to the point that we needed to look into committing to and investing in the engine, we realized that we were going to need more than just two licenses for James and I.  Unity is a great engine to work with, but at $75 a month per license (which we're still a little confused on how pricing for a team works exactly) and a commitment of 1 year minimum subscription, suddenly 2+ licenses was a little scary to sign up for.

As I'm sure you know, Unreal 4 was rolled out with an incredibly affordable subscription cost ($20 a month, cancel anytime, + 5% sales which we will prolly never have to pay anyway) and improved as well as new tools (yes, I'm looking at you Blueprints), with the same visual quality its always had.  Unreal is also an industry standard which, having a product built with it will improve our portfolios and, hopefully, chances of actually getting into said industry.  Also, the lighting capabilities of Unreal 4 is sexy as hell -- I like sexy.

So there it is; we've made the switch from Unity to Unreal and are very excited about it!  We are going to be making adjustments to our current assets and getting ourselves better acquainted to our shiny new toy so it may be a little bit till the next blog update.  Fear not my friends and peers, the juice'll be worth the squeeze.*

* 10 points if you know which movie that's from  :)

Sunday, April 20, 2014

Shiny stuff!

So the last couple weeks have been devoted building textures and modeling/uv unwrapping some assets to apply them to.  As you saw in the last post, I had some pretty basic models built already so there was already a baseline for me to work for texturing.

The Plan was to begin with creating 2 stone textures, one for assets and one for walls/floors (forthwith known as stoneAssets and stoneWalls) (forthwith heard).  I started off by building a template for a tileable stone texture in Maya and then exporting it into Zbrush for sculpting normal map information -- almost the exact same process as I explained in the Basement Stone texture for the Old Watermill below.  After that I also sculpted a quick tileable stone wall texture for normal map information as well.  When I finished with Zbrush, I imported the high poly meshes to Xnormal and extracted normal, AO, and height maps and a diffuse selection map in Maya for the stoneAsset texture.

After completing some pretty looking diffuse textures in PhotoShop, I imported the shiny new diffuse as well as the normal and height maps into Substance Designer where I generated spec maps as well as added wear and tear effects to both stoneAssets and stoneWalls.

stoneAssets Diffuse, Normal, Specular

stoneWalls Diffuse, Normal, Specular

After having some decent textures to work with, I went about uv unwrapping the assets and modular wall pieces.

Arches

archTypeA UV set

Pillars

largePillar UV set

tallPillar UV set

Sarcophagi

sarcophagiTypeA UV set

Modular Walls

It's pretty amazing what you can accomplish with just a few assets and a couple textures.  With these assets finally starting to look like something a little more interesting, I'll be plugging them into the Unity engine and begin working with lighting.  My goal is to have both static and dynamic lighting and to get more familiar with producing a finished lighting set up, including post processing.  I won't be working on assets anymore for the time being as I'm quite sure I'll be rebuilding everything after I better understand in engine lighting  :)

Till next time, stay classy

Friday, April 11, 2014

Project Duality

So the Old Watermill has taken a wee bit of a backseat to Project Duality for the time being.  The team has gone from just James Harris and I to James Harris and I + five and its really starting to take off.  We still have a long way to go certainly, but some major breakthroughs have happened and I wanted to document them here.

A brief synopsis of Project Duality quoted from our description on LinkedIn:

"A 3rd person bird's eye view Action/Adventure RPG in which the player explores two parallel worlds - phasing between both at-will to solve puzzles, combat enemies and bosses, and progress through levels.  Combat mechanics and art style is inspired by the classic Mana series that spanned from the SNES to the original Playstation and is very near and dear to our hearts.  This project will be a long work in progress and meant as a portfolio piece to showcase the teams talent and passion."


To date we've made 2 major breakthroughs:  Camera mechanics and production pipeline process.  Camera mechanics was our first major breakthrough and led to discovering our pipeline.

Originally we started with an isometric view with the camera centered on the player and this made the game feel completely removed from the Mana titles we are attempting to pay tribute to.  Our level development also felt very wrong -- Duality was becoming more like a tribute to Diablo or Baldur's Gate II (neither of which are bad mind you) and less like our beloved Mana games.

We went back to playing Secret of Mana and Secret of Mana 2 (Seiken Densetsu III) to regroup.  We discovered that these games, being 2D sprite based, are set up in grid chunks in which the camera is mostly on rails and advances only when the player breaks a threshold of screen space as they move forward through the level.  The camera doesn't follow the character as much as reveals the map as the character progresses and does not break the boundary of the level.  Example below:



So this led us to the idea of building our levels in square tiles and locking our camera to the level and advance only when the player breaks a certain threshold of screen space.  As we are building this game in Unity Engine and default units is in meters, we opted to build levels with 16x16 meter chunks with a level specific naming convention.

Which brings us to our pipeline process.  Being as we were now building levels on a square grid and that 16 is a power of 2, most of our future work is already simplified.  Texturing and maintaining texel density is a matter of division and asset scale and placement is extremely simple.  We also created a PhotoShop template with a 16x16 unit grid setup so all they have to do is draw a floor plan and export the .jpg to me and I can plug in the modular and custom assets accordingly.

Lvl1F1T1 floorplan jpeg from level designer


 Import to Maya

Extrude and create modular wall pieces

Place walls and ensure everything fits; adjust level floorplan as needed but maintain exit locations


Create environment assets from asset list

Plug in assets

This is the first floorplan of the first level and now that the modular assets are built, the rest of the level chunk iterations take a VERY short time to compile.

As of now we have 4 level chunks completed and this is enough space for our programmers to begin building the AI and combat systems James has designed as well as create and test our camera.  James has been focusing on updating documentation, organizing the team, and designing the elements our programmers need to get some testable gameplay going.  It will be a while until he can work on floor plans for the rest of the level and in the meantime I will be focusing on building tileable textures for the walls, floors, and environment assets.  I'll post progress on that front soon!




Wednesday, March 12, 2014

Basement Tileable Texture

After getting a semi-final blockout for the old watermill I decided to start attacking the tileable textures in turn to start getting an idea of how everything looked together.  The largest unbroken piece of the watermill is the basement so I thought I should start there.

I liked the look of the thin shale/sandstone brick in this reference so I decided to go for something like that.



First I looked at the shape and feel of the stone structure and did a quick paint over to get a bit of a feel for the construction and scale of it.  After that I highlighted some of the items that break up the noise of the stone for future reference as I dig deeper into modeling later down the road.  Also because I need to do more paint overs because they're fun and I'm a horrible 2D artist  :)




First I built a tileable template in Maya, paying close attention to my resolution because I planned to sculpt in Zbrush for a normal map and then transfer map and build my diffuse and spec maps from that.



And then a tiling test

From there I imported into Zbrush and began sculpting...it was a lot more pieces than I thought  :)


After a couple tedious hours I opted to export what I had and duplicate some stones to save time and get on to transferring maps and setting up my color selection map for PhotoShop



Final compiled result after PhotoShop diffuse and spec creation


And current progress on the Watermill


My next step will be to start breaking up the upper portion of the house with trim and planning out my uv maps.  Hoorah!


Wednesday, March 5, 2014

The Old Watermill

This is a portfolio project I began about 2 weeks ago.  I plan to learn and improve my skills in zBrush, High to Low Poly modeling, Re-topping, hand painting textures, visual effect creation and timing, and engine implementation.  That's the plan anyway and so far so good.

Research:

I went with the watermill because its a simple building with animatable bits and pieces -- meaning particle effects, interesting silhouette, moving pieces, opportunities for environmental texture effects.  These are some research images:










From these I created a basic Maya blockout:


And then moved into a final blockout: