Postmortem on “Valour” .. my latest group project.

This was meant to be the highlight of our trimester.  We had 6 weeks to produce a game with the only stipulation being that it couldn’t be from any of the favourite genres of anyone involved in its development.  For the most part, we had to rule out First person shooters and First and Third person RPG’s.  Really, it wasn’t much of a restriction, because who wants to make on of those games over 6 weeks, while still having to work on production code as well.  Who would want to play one made over that period.  I couldn’t be that good with that time constraint.

I found that I was more vocal during the design stage of this project, but also found that my views were not being listened to.  The original idea was for something that I would not consider a game.  I thought it was very soft on gameplay elements and more like a movie.  I have since learned that the best way to approach this is to call in one of the lecturers and have the designers pitch the idea to them.  It feels gratifying when some of your ideas are later incorporated into the design.  Health Bars, health drops (which weren’t included in the final “game”).  I felt my idea of having the health drops being scripted to spawn just out of view if it looked like you were going to die, would have helped give the appearance of some sort of gameplay.

This is a game, where the main character moves through levels, releases some prisoners and then dies … only to be revealed that he was actually a toy being manipulated by a boy in a sand pit .. only to be revealed that maybe he could have been real after all with is mother being told of his death.  Lovely twisty story, but Journey, it isn’t.

The early days of development went well, with  one of the designers accessing a 2d side scrolling game that we could look at appropriating the character from, and also some parallax scrolling scripts from.  The main aim of my brief, was to look after the special effects.  Particle effects. explosions, any shaders that could be used in the game.

About 3 weeks in and I was told that we are no longer using the parallax scrolling scripts.  The designers didn’t like the fact that the player was stationary and the scenery was moving.  Jamie and I didn’t like the sound of this move but as the designers were looking after most of the level design, I believed that what ever made their job easier would be better for the team and this project.  I had nothing to do over the last week of the project, after getting rid of all the arrays, checkpoints etc from the game, as we were making small levels that only had the one checkpoint at the start.    This gave me the chance to focus on Production code and some side work on shaders and gaining an understanding for how they worked.

I was getting worried by the Tuesday before the first draft of this assignment was due, especially after being warned that Gibbs tends to leave things till the last minute and Nick suddenly lost all ability to access Unity or Github.  Gibbs didn’t turn up in the Wednesday that the fallback version was due, and ended up submitting all the levels, slowly, over the Wednesday morning.  My first look at the levels was Wednesday afternoon.  I find it hard to understand how the game moved so far away from the original design to what was submitted.  This was done without consultation and obviously on the fly at the very last minute.  The levels looked nothing like what was planned for.  The character was walking on box colliders, infront of a solid piece of scenery.  The original design had several layers of foreground, back ground and middle ground.

It appears that this was the easiest way out for a designer that did nothing towards the art for the first 5 and a half weeks of this project.  This is reflected in the pushes to the repo.  55 pushes up until last Friday.  Then nothing until Tuesday afternoon.  19 pushes over the last 2 days of this project

I believe I must also accept a lot of responsibility for the way this project ended up.  Gibbs was the team leader and seemed very keen.  I should also have been a “back up” team leader and made sure that the art was being done.  I believe that I shouldn’t have to be a parent, but it is obvious that someone had to be in charge.  I am just as responsible as everyone else in the group for the mess of this project.

To think that I was bitching about the last project because there was no leader.  There was, however,  great communication between the working members.  With “Valour”, there was a leader, but no communication.

Communication, I now believe, is the key to a projects success or failure.  Moving forward, I believe that for my next group project, there needs to be an understanding from the start, that the group members will have several skype check ins between classes, checking how everyone’s work is progressing.  This can be bought down to daily as deadlines approach.  Everyone can relate how they are going and if they are having problems with their work.  Anyone that reports that they have done nothing, or if their work doesn’t match what they claim to have completed needs to be cautioned, and in the event of repeated failures, need to be, either evicted from the group, or bought before the Lecturers for counseling.  Anyone who does not report can be assumed to have not done their work and treated in a similar manner.  This means that the documentation needs to be well thought out, well published, followed up on and amended, if necessary.  The gantt chart needs to be reasonably accurate and time MUST be made to allow play testing after prototype has been completed and also before release of the final version.  Simply put, what the lecturers have been expecting from us.

A full list of my personal credits for this project are:

Modifying the existing player controller script (from the ActionGame2d package out of the Unity Asset Store) and modifying the Parallax scrolling script that was abandoned from the project.

Creating the prefab and script for the mine.  It had two “lights” that flashed on the top, an area trigger that started a countdown and flashed the lights at a rate that became quicker and quicker till the mine exploded.  It also had a collider that instantly blew up when touched.

I created the particle effects for when it blew up.  There was the explosion, smoke and bright sparkly bits that resembled pieces of the mine.

mine particle effects

mine particle effects

I created particle effects that generated puffs of dust from the player moving.

Player generating dust puffs from footsteps.

Player generating dust puffs from footsteps.

I also created 4 different types of smoke.s to be used in the scenes and in the backgrounds, however these were not utilised in the final game, probably due to the lack of depth provided by the final art.

Smoke effect indicating High smoke that is close to the player.

Smoke effect indicating High smoke that is close to the player.

 

Smoke effect indicating High smoke that is further away from the player.

Smoke effect indicating High smoke that is further away from the player.

 

Smoke effect indicating low thick smoke that is close to the player.

Smoke effect indicating low thick smoke that is close to the player.

 

Smoke effect indicating low thin smoke that is close to the player.

Smoke effect indicating low thin smoke that is further away from the player.

Created a shader that could work the health bar of the player (previously revealed in this blog post https://richarddanielstein.wordpress.com/2014/12/01/yay-shaders-a-breakthrough/)

Created the Game Director that handles the explosions, the player’s health and some sound.

Created a prototype health pickup that restored the player’s health but was not utilised in the final project.

Created a lot of Lists and objects to handle having various checkpoints within a level.  Also had functions that destroyed all the assets and then re-instantiated them when the player re-spawned.  Had some fun with that when I was trying to destroy the assets in the screen and Unity told me that if I wanted to destroy them, I had to use DestroyImmediate(object, true);  I was an obedient servant of Unity and did this instruction … only to have all of my prefabs deleted from their folder.  I then created a throw away list to keep the clones in and deleted them, if they existed.  But that is all moot, because the levels changed down to simple levels and had only one checkpoint.  This allowed that the entire scene was reloaded when the player died.

This project has helped me with my professional goals by providing an opportunity for me to get involved, albeit in a small way, with creating particle effects that could be used in this game.  The only real one that survived into the game seemed well received as we displayed the game.  The others gave me experience in trying to work with particle flows, sizes, rates of speed and experimenting with their length of life.  All of these particles were created in the old legacy system as I had great trouble understanding the Particle System method of creating them.

The 3 important things I have learned from this project are:

  1. Having good communication is better than having an ordinary team leader.
  2. I need to become much more assertive in all areas.  From design ides to team leadership, I need to become more of a parent and make sure that work is being done, on time, and as recorded in the Gantt Chart.
  3. I want to work with particles and effects, but I also want to become a better general programmer and work further with animations – more leaning towards 3d models and the shaders to show off the work.  I really think that will help me get into this industry.
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s