Showing posts with label Games Production. Show all posts
Showing posts with label Games Production. Show all posts

Tuesday, 19 April 2016

Games Production - Spring Submission (M5/5)

Towards our final hand-in and alongside wrapping up texturing the models for our game, I looked at particle effects and the best visual optimisation possible. 




Here I have made a camp fire for the start of our game in the forest. I made my own customized image of a flame that could be inverted as a translucent file in a material shader.




I played around with various settings in the inspector to get the real-time movement of the flames right; as well as the scale. While making all of the textures and models I was not thinking about the end result and how it may make the game run slower. Above is one of the processes that helped with the particle effects. By using the stats feature I could check things like the games FPS which adjusted to a reasonable fifty eight (after reducing the amount of max particles from one thousand down to two hundred).




In Unity's Standard Assets package, is a water prefab I used for our lake and river (suggested by a fellow student). This allowed me change various settings (in no time at all) to get a moving plane texture to transition with another on loop; producing the illusion of running water. I enjoyed playing around with this and would love to experiment with this in the future.




One practise I followed was organising my folders into an easy to read order (scenes, models, textures, materials and scripts). As a group we decided on a day and night cycle for our game. This entailed a lot of fiddling with a rotation script to get the right timing (as well as the time included to get around the Vertical Slice). Here I added in a directional light acting as the moon in the hierarchy, on to that of the standard directional light sun. While being on an opposite direction on the axis, when the sun goes down the moon comes up. 




Above is the cart wagon UV unwrapped in Maya. The player encounters this crashed on its side in the game. I enjoyed trying to work out features that were more important and recognisable to keep when it came to building at a low stylized topology.




Here I have the wagon in-game in Unity with the textures applied that I made in Photoshop, exported as a TGA file and placed on as material shader.





As our game is an RPG with turn based combat, I had to model a set of dice. After the modelling stage I knew I would have to spend a fair amount of texturing and to help with the medieval theme, I put together some font ideas for the numbers on the dice.




Eventually I went for the second to last font in the previous image (Sanvito Pro) and positioned all of the numbers for the D6, D8, D12 and D20 dice.




I dropped the four dice in to the test scene I built in Unity to play around with the lighting emission for the die (each dice illuminates softly as a light source for the player to navigate at night).




I was really pleased with the results above of a barrel I modelled, unwrapped and textured. I was able to do all of this in under forty minutes. After practise on all of the other assets, I knew the stages required to create the barrel quickly and efficiently.




In our game is a small village with several houses in. Here I have unwrapped a Tavern as accurately as I can (with the building stages behind the highlighted).




As I placed the houses into the game, I realised that it did not feel alive. To help make an atmosphere, I made a watermill building so I could animate a wheel rotation in simple code (as seen above). After a few errors within Maya with axis orientation, I was able to get the wheel to spin on the centre point and I was really satisfied with the results overall.




In addition to the atmospheric elements, I made a torch light particle effect and a smoking chimney emission. Although I looked at a few tutorials for smoke, I was able to tweak the lifetime to last long enough to fade at the right height elevation. However, there were a few problems with positioning and I also made sure to debug the environment (become aware of the collision mesh/ nav mesh issues etc).




These are the two images I made to generate the texture for the particle systems. The Photoshop 'cut-out' effect was a popular feature throughout each texture I made and helped promote the three layered 'stylised' approach we were aiming for. 




As I had to work from my own designs (issues revolving around the Concept Artist) a lot of the time for the environment, I worked from reference images of my own or from my own knowledge. However, there were a few designs, towards the end of the project, that I could use such as the weapon sheet above (Concept Artist's work) I used as a template for the characters swords and enemy mace.




The castle ruins, situated at the end of our vertical slice, took longer than expected and I had to manually position several dozen vertices that did not want to flow well with the UV map.




Here is an early build of our game with the nav mesh re-baked. Assigning all of the models materials and sizing within the exported unity package took many many hours but the results paid off. While we were importing all of our groups work into a single organised build, I made sure to organise structures in the same order that I built my models; following a list that I had made on paper.




Something I regret not checking was the object sizes to the 4K resolution textures I used through out the map. For example, something like the ruins needed a 4K texture (4096 x 4096 pixels), whereas the small torch posts did not need that sort of size file. If I was able to go back I would have definitely improved this area of my work for an efficient running and less memory taken up build.




Above and in the previous image are screen shots of our game with occlusion culling (suggested to me by a group member). This fantastic feature, that I thought would be very time consuming, enables and disables rendering objects to help with frame rate and increases a games performance; which we needed after combining several dozen scripts and UI etc. Unity's manual overview was very clearly laid out and it took me no time to customise the tool and bake for our game.




I took quite a large collection of photographs to use for texturing in and around Farnham (a town with quite a few post-medieval buildings and environments). For many of the images such as the wood, I used a few effects in Photoshop to make the 'cut-out' stylized effect seen on the right side of the image overhead.




One of our limitations of the unit was a a total polygon triangle count of 300,000. To accurately measure that I was on track with this, I added into a scene afterwards all of the OBJ & FBX files (55). In total, our low poly stylized environment only came to 57,371 (without the duplicated objects).




I have had a lot of challenges in the environment building and have learned that going back over something can sometimes be more efficient such as in the topology flow. I attempted to construct the world to the best of my ability in our stylized theme; while following the concept art as closely as possible. Above is a before and after side by side of the first build with very simple elements, to the second to last, with almost all the assets in place. Overall, I enjoyed working in a different style to my normal work and strived to make the game look and feel good all in all.

Sunday, 10 April 2016

Games Production - Spring Submission (M4/5)

In the fourth milestone, we had to present a content complete stage version of the game. 




Above is a step by step of the process of UV unwrapping one of our tree branches in our game properly. In the time it takes to unwrap one tree, let alone the nine versions in our game, I would be massively behind the milestones and deadlines. To work against the tight schedule carried out by only one environment artist in our team, I relied alot on Automatic unwrapping objects.




Here is one of the final colour palette textures I made and placed on to the Oak tree models UV's. While using Automatic unwrapping to an advantage, there were slight issues in warped and distorted faces. As there is a stylized approach to our game, I only had to tweak the layout of the UV's for around half of the time; as opposed to laying them out from scratch and taking longer than was necessary.  




Once I had completed all the UV shells, along with the textures on all nine trees, I made a little diorama base to render out in mental ray.




 Previously, I noticed that all the trees blended too easily in the lighting. As the colour theme was autumn tones, I made three sets of palettes for each nine types of trees.




I was very happy with the outcome of these diorama renders and hope to do more in the future.




With all the trees complete, I moved on to placing them in the game space. As trees are dominant in the natural environment, this was an area I knew I would have to put a fair amount of time into (our game being set around the edge of a forest). After finding out I could not export scene obj files from Unity into Maya, I had to manually position all of the four hundred or so trees in Maya. I was only able to successfully match some of the trees thanks to being able to display two windows at once as seen above.




Thanks to help from a fellow student, I found out that I could convert Nurbs to Polygons via the Modify settings in the overhead tab. To save wasted faces underneath the ground, I masked out a lake shape to match the topography of the landscape.




Here is the final map and tree positions in Maya, textured via Lambert - file, using the hierarchy structure method (rather than manually adding all four hundred materials or so)!




I followed this same process in Unity using Materials with the textures assigned to them. After highlighting all the trees I wanted the matching texture to go on, I simply dropped the material onto the inspector to the right. To achieve the autumn colours and to make the trees feel unique, I slotted in irregularly, individual textures from the three different palettes onto the trees in the scene view.




In a recent update of the free Standard assets package on the Unity Store, they enabled camera effects and visual adjustments. This was something I was very interested in as I have done colour correction and other effects previously in college, so being able to add them to our games medium for the first time was alot of fun. 




Here is a screen shot in game with textures and a few of the effects in place. I added a subtle vignette and tilt shift effect aiding the autumn colour correction. I also was playing around with the idea that the mini map could be displayed in black and white for easy viewing and to stand out against all the greenery.




As the game map development came along, I created more and more objects. To help, I made sure to keep my hierarchy organised and all the items named. Here I have all the posts in our game placed out to be exported.

Monday, 7 March 2016

Games Production - Spring Submission (M3/5)

Our third milestone required a working build with core gameplay. We also tested other team's games in our Year and gained valuable feedback on certain aspects with what to improve on for our next milestone aims.




After finishing the nine different tree models for our game, I started placing them into a scene into Unity so I could then build the nav mesh collider. This would then act as a barrier and limit the player from being able to walk all over the environment. As I went along duplicating the trees, I was also thinking about composition and whether the camera panning would clip with the edge of the map (or with the tree border edge).




Once I had placed enough trees in as a guide, I took an ariel top down shot of the map and brought it into Maya. I did this by resizing a plane and adding in a JPEG image of the map for reference for the nav mesh collider. Above is the first stage of a very long and unexpected process where I did not correctly make the nav mesh barriers. I originally thought to build a wall to prevent the mouse click (ray cast) from landing outside of the player area.




Here, I took another ariel view of the final walls in Maya. After this I then had to combine an outer wall cube with the inside, as I thought that was what was causing the nav mesh bake to be wrongly place out. 




As you can see I have no idea why I did this as I basically made more clutter atop the mesh.




I imported these into Unity to test out again with the map and as expected the 'roof' of the nav mesh barrier became another base. On playing the game, the orthographic camera kept interfering with the walls and I suddenly realised (along with some help from our group's game designer) what I then had to do.




Back in Maya, I selected in the side view, all the faces from the Boolean difference and then deleted the map. This then gave me a height elevation blueprint that I could use.




Above is the result of cutting away the mesh walls from a fill hole action and a clean-up of faces with more than four sides. From this, I could then judge (if it worked in Unity) how much longer I would have to spend on this whole task; as all I would have to do is quad draw a topology correct one atop in 'make live' mode.




After some tweaking of several features in the inspector tab in Unity, I managed to get the nav mesh base to work with the point and click controls!




Here I took a shot of one of the major fix's I had to mend at the bridge which was a separate object to the map when I Booleaned it back in Maya.




I spent around four hours working on the final nav mesh base seen above and below. All I had to do was neaten up the clean-upped one. I did this by popping in and out of quad draw and extruding the paths in make-live surface mode which snaps the faces to a corresponding one.  




Here is a before and after, side by side of the collision mesh bases. I highlighted the correct one to the right.




And finally the baked nav mesh atop the map in Unity. This whole process has taught me a lot, before going into something I have not done before, for the future and that independent learning can be helpful some times and not with others.

Sunday, 21 February 2016

Games Production - Spring Submission (M2/5)

For our second milestone in Games Production, the 'vertical slice' grey box had to have been constructed. As I had already modelled simple grey box elements for the first milestone, I set out detailing a major game component; the level's environment.




Before I started constructing the environment base, I tried to find tutorials on how to model and shape a natural landscape; our game being in a rural medieval country. However, I came across scarce content and without knowing it, began modelling inaccurately from a large plane.




After asking my lecturer around the issue, he suggested that I model the terrain in flow with the player's path and route to the end of the level. One way of doing this (saving time not starting from scratch again) was to use the Quad draw tool on top of the previous map using another feature that makes the surface 'live'.




Above is the result of going over my previous environment with the quad draw 'player's path' method. I was very pleased with the smooth results; although it took quite a fair amount of time adding in all the quads and edge loops. Overall the outcome was successful and I also had as a corollary effect, less of a polygon/tris count.




Here is the fixed final map in Maya. Beforehand, with older environments open and enclosed, there were issues surrounding the baking of navigation's around ray-casting (within the game engine Unity).




Nevertheless, I was happy to see that after the topology correction, the navigation mesh worked wonderfully and the player's character could walk up the elevations and across the bridges.




Above is a simple scene in Unity at Uni, testing the map. This basically involved running about the environment and trying the isometric perspective camera settings; while using scripts given to me by the game designers in our group.




The next step involved making DirectX11 Shaders in the Hypershade editor in Maya. To allow the Viewport 2.0 to function as it would look like in-game, I had to switch a few settings around in the Preferences, something of which I had not done in over a year! All that was left to do for the map, was to add attributes such as the TGA image files enabling the texture to be seen in the scene.




Here is a step by step of the progress of one of the trees in our game. I started off from an extended cylinder, adding edge loops and then extruding on the z axis. To give the trees more character, instead of just all perfectly edged branches, I moved some vertices slightly.




I had to create a wide range of trees for our game as the environment is in the country. Here are the nine models I made in a stylized medium topology design.




I scaled the trees as roughly as I could against the human height reference. I also made sure to alternate between different perspective views to give the unique characteristics of each tree.




There were many ways in which I could have created the leaves on the trees. As our game will have a stylized approach, I thought of several forms and shapes. After finding an image of a low poly geometry forest, I found a good example in the shape of a sphere.




Towards the elevated section at the end of the vertical slice, the trees scale up to convey the monumental and vast journey of the heroine/character. Above is the large oak tree I made to represent this.




As the season of our game is in autumn, I made sure to include some trees that have no leaves for authenticity.




Something that I learnt at the end of modelling the trees, was I had left the UV unwrapping to the last minute which was a major error in my work flow. This then led to hours and hours of sewing edges and unfolding after automatic unwrapping. This was a good lesson for the future to make sure I work alongside the sub-tasks while building that could crop up and cause trouble.




Above is a diagram of the trees I made together with the examples below them. Although this part of the modelling was very challenging I taught myself a lot from it for later constructing.