Sunday 23 October 2011

Final Evaluation

I shall introduce my final evaluation by saying what a good learning experience this project has been. It has taught me a great deal about Unity and scripting within it, as well as a key skill for transferring models across from Maya - "batch baking". At times the project has been a nightmare and really tested my patience, but at others I loved what I was producing and it was very rewarding to see the progression that I was making.


I will now summarize the story of the project from start to finish, detailing the parts I struggled with and new elements I learned, beginning with creating this blogger account. I find the idea of being able to work in an online sketchbook is great, particularly for our course being very computer based . The main reason being that it is very quick and easy to use; unlike handwriting which takes probably 3 times longer and of course looks nowhere near as professional. It is also much easier to upload images where as usually I have to print them off, cut them out and then stick them in - a process which wastes project time unnecessarily. The only downside to this is there is no way of backing up your work other than printing the whole blog off - which in my case would use a huge amount of ink and paper! Throughout this project I have been terrified of accidently deleting my posts with no way of reclaiming the lost work - it would be a major setback and motivation killer.


The first step after creating our blogs was to research "casual games" as this would be the style our "carnival shooter style" game would be in. The essentially meant a relatively simple game with much depth but still entertaining for a brief amount of time nevertheless. A key skill here was to ensure that examples of games were compared with one another to gain a good understanding of what elements were successful and which were not - which could then be applied to our games from the start. 


After carrying out the above research we were set the task of planning out some "initial ideas" - one of which would be developed into the final game. At the time the film "Cowboys & Aliens" was advertised everywhere as a new box office release which gave me the inspiration of a sci-fi combined with a western game (with western being the traditional element of a carnival shootout and the sci-fi being the modern twist). Also with sci-fi being my favorite genre - being a big Star Wars fan - it was a great opportunity for me to express my creativity combining it with something completely different. This was therefore my choice over my other initial ideas which I took into my "development of ideas" post, expanding on the original initial idea, giving more depth to allow for further research.


This further research became primarily images of western environments for scene inspiration, as well as some background research into the "Cowboys & Aliens" film including critic reviews and further information into the western sci-fi combination. This gave me a basis to begin my "initial design ideas" once I had completed a "game synopsis" - which specifically detailed what  would be in the game and how it would work; essentially a finalized summary of the "development of initial ideas" post. The "game synopsis" was useful as I frequently referred back to it when putting all the pieces together.


Now it was time to start my "initial design ideas" which I began with the setting. This had been narrowed down to 3 possible locations including a western ranch, western town and western saloon. I drew these concepts in 2-point and 1-point perspective to give a better impression of how they would look in 3D space, taking inspiration from my research images to add in detail and therefore give a more realistic feel to the drawings.


I next moved onto the opponents - which taking inspiration from "Cowboys & Aliens" - were to be aliens. I thought that the most stereotypical alien to shoot at would be the "martian" character so I drew a quick sketch off the top of my head to demonstrate this idea. I found that without resources to work from I could not demonstrate the idea successfully, so I went back to doing research to gather more images relevant to the idea in mind to assist with my drawing. The outcome was practically exactly what I had in mind - even though the legs in the drawing were out of proportion (life drawing is not my strong point!). 


All that remained to design for the game was the player weapon, which I had already decided in my "game synopsis" would be an old fashioned style rifle (to help clarify that the player was a cowboy/cowgirl fighting for their life). All I needed to do for this was to find an image of the right weapon which I decided was the "Winchester" rifle - it was pointless to draw it out when I intended on using an existing weapon, not my own design. 


Finally the UI was the last consideration - which didn't need to be designed as such, merely researched and evaluated so that I had a good idea of what I would be doing with it when the time came. I decided that simple would be the most effective in this case, as too much information would clutter the screen and detract from the exciting atmosphere the game was to create.


With all these key elements now covered it was time to take them into Maya where they would be modeled and textured ready for use in the game. As I described in detail in my "development of initial designs" the only issue I came across - which was a big one - was getting the textures to remain on the models properly once exporting them into Unity. This issue took me literally 6 hours of research to find a solution - which was the process of "batch baking". This scanned the models in Maya, memorizing how the textures were laid out on the model and saved them. 


It was around this time when I a new idea developed - with time running out and knowing the new skills I would need to teach myself to get my alien characters working as intended (animating, rigging etc.) where as this new idea would merely hover. This idea came about as a result of preparing music for my game - Daleks! As soon as I heard the Dalek theme whilst searching through soundtracks I realized what an atmosphere that music would create with Daleks entering the Saloon in time with the most dramatic parts. I did take into consideration that if I used somebody else's design would it penalize my marks but then I thought if i've modeled and textured it myself and have developed my own character previously then it would merely be a design decision to change. I made it clear in my development however that I take no credit for the Daleks and have referenced the music artist - Murray Gold - for the Dalek Theme soundtrack.


After completing all of the models and exporting them into Unity correctly I began work on setting up the game itself, which meant scripting. At this stage scripting was relatively new to me and I hardly understood what the code meant. All I could do was use the codes provided and if they didn't work correctly - which some didn't such as the bullet firing sideways and not colliding - I tried to find solutions on the internet. As I said, with my lack of scripting experience finding a fix was very difficult as I didn't really know what I was looking for. By the end of the project however I became much more familiar with how the code worked and what certain parts did, which gave me the confidence to add more code which we hadn't previously covered such as preventing the camera from rotating 360 degrees and creating a pause inbetween each gunshot so that the player could not fire quickly and therefore making the game too easy. All of the game development work has been thoroughly annotated and pictured in my "development of initial designs" post so I won't waste time repeating anymore of it here.


Something I forgot to include in my "development of initial designs" was the removal of the point scorer and cross-hair out of the UI. I had mentioned however how I wanted a minimal UI to prevent it from detracting the player from the "movie-like" atmosphere that I had created, and these removals were changes I decided on for this reason and forgot to note down. I wanted the player to feel like they were actually trapped in that Saloon being invaded by merciless Daleks - where they had to literally fight for their life. A cross-hair would remove this feel by making it very apparent that this was a game as in reality the character would not be seeing a floating red cross-hair to help them shoot their targets. Instead the player has to look down the rifle in order to aim accurately at their target. In regards to the point scorer I realized that it was no longer necessary as players could only hit the targets in the eye piece (now that the target had changed to Daleks). The countdown timer was the only essential part of the UI which being small and at the top left of the screen is relatively unnoticeable and doesn't cause this detraction from the atmosphere too much.


Another point I do want to mention about the "development of initial designs" stage is the amount of hours I had to spent animating the Daleks. Originally there were to be 14 of them but it soon became apparent how pushed for time I was and that this amount was too ambitious. I therefore reduced this number down to 9 - which also fit more comfortably into the 3 minute time frame. This did not mean I only had to animate 9 Daleks however as it became more like 15 - 20 with the amount of times an animation went wrong from start to finish and had to be completely redone. It was therefore incredibly relieving to see the last Dalek animating correctly, and it was at this point when I knew that the game was almost finished. 


It was also these animations which held the game back and made me need a couple of days longer to complete the game otherwise it could have been finished for the original Friday deadline - but being a perfectionist it was important that they were not rushed and completed to the standard I strive for. 


The only other issue I encountered towards the end of the project was whilst game testing. For some unknown reason, some of the Daleks would not be destroyed despite having a direct shot to their eye box collider. I suspect this was down to an invisible mesh of some kind obstructing the line of sight in places as moving these animations over seemed to resolve the issue. Even now on the completed game it is possible that this issue may occur at some point along the Dalek animations - but the game has been tested about 10 times and can be completed successfully. This is currently the only known bug that the game has.


Besides fixing the known bug above, the only other addition to the game that I would have liked to include would be a muzzle flash for when the rifle fires. To me that is really lacking and would add a great deal more realism had it have been included. I did however look into implementing this during the project and the tutorial seemed far too complicated at the time and with time running out I decided to leave that for a future project when I had more experience. 


With a short amount of time left remaining with the deadline now extended I decided to have another attempt at this muzzle flash now I had more experience and confidence with using Unity and scripting. To do this I downloaded the Unity "FPS Tutorial" which is similar to the "Lerpz Tutorial" we completed for our first time on Unity. Apparently this tutorial explained how to create a muzzle flash - which it did - but not in the same scenario as my game. This game did not use projectiles as bullets and therefore had a completely different script - so as you can imagine trying to combine the two really didn't work. I thought long and hard about what I was trying to say in the script in an attempt of salvaging specific parts from this tutorial script, which got me to the point where I thought I had done it; clear of errors. Sadly though it wasn't right as the muzzle flash remained permanently on - basically the script was merely manipulating the muzzle flash "plane" which was textured, rotating it to appear as though different every time. Despite rotating on the wrong angle which could have been fixed - this did not resolve the issue of the plane being visible permanently, and I didn't quite know how to call for it in the script and then hide it again after say 1 second. After a few hours of this I decided to once again put this idea to rest and leave it for a future project when I would have more knowledge and experience of code and scripting. 


Overall the project has been a good learning curve for me - I have encountered problems and then searched for a solution - learning more and more throughout this process. I am now much more confident with scripting in Unity than before, as well as my animating skill due to so much repetition. I have been allowed to fully express my creativity with designing the project from start to finish, without any restrictions except for what our skill level would allow for in Unity and Maya. With my new skills and knowledge acquired at the end of this project I will now be able to apply them to the next project where I will hopefully expand upon them further in order to create a better game with more depth and entertainment value. Without a doubt this has been the most enjoyable and rewarding project of this half term - and although I don't intend on going into games design in the future it has allowed me to express my love for 3D animation and atmosphere within a 3D world, particularly as it was essentially my favorite genre; sci-fi.


Please note: the research post has been moved down into "older posts" - it isn't missing.

No comments:

Post a Comment