Tuesday, June 14, 2011

Break Post.

Recap
So we have had this course big game project for 10 weeks and we have created our game Overkill.
In Overkill we wanted the player to be the bad guy for once and make short work out of the hordes of cute and sugardipped enemies he is facing.

The Project
Our visions for the game itself was for it to be a multiplayer coop hack'n slash game. The players get to pick between four characters, each character has unique skills and a unique fighting styles. The main challenge i the game would be fighting these hordes and completing levels. We also had special events that could be triggered on the levels. Rewards in the game would come as loot in the forms of new hats and weapons.

The outcome was good but still far from what we set out to do. Our multiplayer stability and syncing was not up to such a standard that we felt comfortable showing it on GGC therefor we settled with a smooth working single player build instead. We had to cut one of the characters and iterate the level itself numerous times, the three remaining characters had unique fighting styles and unique weapons. We had to cut the amount of skills for the characters aswell but we still wanted to show the feature so we made one skill for each character. Basically we had everything we wanted to show for on the floor on GGC that we aimed to have but in smaller scale except the multiplayer which was very unfortunate.

My Role
My role in the project was Producer and Programmer. In programming i was doing: Shaders, Movement script, Level editing tools, Special events, Event and enemy spawn triggers, Importing majority of the assets, Creating majority of prefabs, Ragdoll creation, Building the level.
As the producer i took care of: Chasing unity pro licenses, Making presentations, Holding presentations,
Presentationtechnique course.

I think i have put in an immense effort into the project from a programmer or a producer perspective. I have put out at least forty hours a week and spent many nights working aswell. What i could have done better is to call a meeting and discussed with the group exactly what priveliegies and responsibilities each role in the project had. So if trouble would arise the correct person would adress it. In the ends our game was revieced well from the public and jury, most people liked the graphical style, the music and the general pace of the game. I know that our game could have been awhole lot better if everyone in our team would have put a hundred percent into the project and the responsibility issues would have been solved in the beginning.

Personal Improvement
I have learned alot about how to present a product trough powerpoints and formal presentations. I have learned Unity3D in alot of aspects from importing assets, setting up assets, scripting, tool designing and level designing in it.


Best Practice
Roles - Define who has what roles, what they are entitles to decide and more importantly what their responsibilities are. We never really decided who was responsible for specific things in the group and it created lots of problems in the group. With power comes responsibility and it is hard working with people who want to have the power but lacks the interest in having the responsibility.

General Attitude - If someone in the team gets upset or offended by something it can't just be frowned upon, it can not be met with a "grow up" attitude. If people in the team have a hard time getting along they dont have to be friends but need to find some middle ground.

Working hours - Be there in time, leave in time. If going early or late give a heads up. When you are at work dont sit with 5324 windows up looking at online tournements, facebook, youtube and forums while working. Take actual breaks and do that, and do take breaks.

Thursday, May 19, 2011

Lots of things done,

First of sorry for the delay in updating the blog i have had a lot to do the last week.
The time since the last update i have been spending with Lina going through all the models we have made cleaning them in 3DSMax from leftover cylinders, correcting the pivots and position of the models and just giving them a rough look over for model or texture errors. We have then exported them as FBX files, imported them to our Unity project. Structured them after what they are and their materials, adding new materials if one model has several different. Setting so all the materials use the correct shaders.

After everything that we had was important i started making prefabs, a prefab in Unity is a neat thing. For example if i take a model of a crate i have imported and drag that into my scene i will have a crate and not much more. If i want the players to collide with this crate i have to add a collider to it. Now, if i have dragged several crates into my scene and i remember they need something else for example a script to be able to destroy them, i then have to go through all crates and add them to each single crate.
Instead i create one crate, attach a collision box, make all changes i want to it and then drag it to a prefab. Now instead of dragging the crate model into the scene i drag the prefab of the crate. And if i want to change anything on all crates i can just do the changes on one prefab and press an "Apply" button and all other prefabs of the same type will get the changes. Sweet :D

On the terrain i have imported and set up all the correct terrain textures, grass textures and tree painting models for our level with the correct shaders.


Altogether this is around 500 different files, materials, textures, 3D models and prefabs so it's been a lot of renaming, checking and catalogue structuring

I promised you a picture for this time and here it comes, it is the most recent take on the level design. It has gone through 4 iterations since the first one i posted a couple of weeks ago. The main things that have changed is that we will have no inside of the castle, we want to put that time into making the outside scene look better then to have essentially two levels that are not of as high quality as one.
The other changes has been shortening the map a little, this because the larger map we have the more time it will take to make every part of it look nice. As you can see on the picture there as certain key areas of the map but i don't want to reveal to much details, that you can experience when you come play the game at GGC.


See you next week /Viking

Sunday, May 8, 2011

Polishing and tweaking.

The last week i have been working with a man named Troels Linde on the presentation i will be holding for the jury on Gotland Game Conferance. We have discussed alot of how to setup the perfect atmosphere for our game in the presentation. We have also made a good structure on the flow of the presentation. When it it done and i have presented on Gotland Game Conferance i will put the slides on the blog for everyone to see.

Besides the work on the presentation i have created a new event involving guards and a general on a training ground. I have programmer what i call a "StrayMobsEvent", this is a class that is responsible for all the enemies not connected to specific events during the progressing trough our game chapters. I have also polished and tweaked the chicken and mage event and restructured the editorial creation and modifying of respawnpoints and enemy spawntriggers.

I will post something to feast your eyes upon next week. I promise *grin*
Viking over and out.

Friday, April 29, 2011

Weekly update.

This week i have been tweaking the dodgeball event, i have created the prototype for two more events aswell but i dont wanna reveal every event in our game so ill hush hush those :)
I have also structured up what we call our Storymanager, the storymanager is a class that holds all vital information about the level the players are currently playing.
More precise the storymanager holds X numbers of chapters, each chapter has a spawnpoint connected to them and several events.
I am aiming on tweaking it further so it should be very easy to connect whatever event you want to create to some sort of starting condition, for example if another event is completed or the players has attacked something or walked over a pressureplate.

I will try to bring something to the table next week that you wanna lay your eyes on.
Viking over and out.

Friday, April 22, 2011

Weekly Update

This week i have not done as much programming as i would like but there have been other issues to deal with. I have iterated the level a little more, changed and tweaked abunch of stuff and its coming together nicely.
We discussed if we were to build the castle in modules so that we could walk inside it but we decided it would be more time efficient and less problematic just creating a specific indoor scene.
With that decided i created a prototype to see what that would look like and it looks pretty good even with placeholder graphics.

I have also created the different events that will exist on this level and after some iteration on those i started working on the mage dodgeball event.
What you see in the video below is a trigger on the ground the player needs to stand on for some seconds to activate the event. Four walls and a mage standing outside spawns when its started and he then starts to throw fireballs into the square the player is locked in.

Enjoy.

Monday, April 18, 2011

Level Design

Last week i have been developing the level more than the very early paint versions.
I went trough abunch of information with the rest of the group in regards of gravity, scale and animations in Unity and we ended up not mixing with the scale cause there were incidents when the gravity or animations went haywire. I have also started designing the special events that will happen troughout the level and i will go into those more specifically this week.
I will also design the exterior of the castle closely with Lina and then more on to designing the layout of the interior of the castle.
Anyway here is the mockup of the level, remember i am using placeholder art and textures for everything. It is just showing what is supposed to be where in roughly which sizes and so on.

Thursday, April 14, 2011

Shaders.

More shaders. We discovered that Unity's builtin shaders do not cast or recieve shadows so we had to make something up that works ourselves.
As you can see in the picture unity's own transparent shader makes the blood recieve no shadow so when it is in a shadow it looks quite bad. Unity has a second shader group called transparent cutout and what it does is that it cuts all the pixels above a certain alpha out and renders them. There is no halftransparent pixels, either it is rendered or it is not. This gives a really sharp edge on everything and we also noticed weird delay when we were moving the camera around. As thou pixels from the previous frames were showing and it looked quite odd.
So i worked up a shader of our own that does exactly what we want, it does not render transparent pixels but it does render pixels with some transparency.

If you have any questions don't be afraid to comment.

Saturday, April 9, 2011

Shaders.

Have been working with Unity's built in shaders recently and have had a couple of issues with how they work.
In Overkill we want the player to be able to walk behind buildings and then those buildings will turn halftransparent while they are obstructing the view of the avatar.

First problem came when we discovered that the specular (reflective glow) and transparency were both taken from the Alpha channel of a texture. In a specular texture you define what things on the texture will reflect light by making them more white, so a black part will not reflect any light at all. In transparency black means 100% transparency and white 0% transparency. So what happened when we walked behind a wood building with windows was that when the building were to go halftransparent it vanished complelty except the windows. ( since wood = no reflection = black = 100% transparency)

Second problem was that the shaders did not take into consideration what parts of the building were closer to the camera then other parts in it. So when rendering the house it showed us all the sides of all the parts in the model and that makes it look really weird. We dont want to see the wall inside the building facing us when its transparent, we just want to see the front of the model as transparent.

Everything might become clearer if you see this example on the knight model.
The feathers in the hat don't reflect any light and therefor they instantly vanish if we turn on a transparent shader.
The shoulders show the problem with considering on what depth the parts rendered.

It is now fixed after hard work, testing and research. First and foremost learning shaders scripting, Unity shaderlab and then getting it right.
End result is a shader that has a separate specular texture. Alpha channel on the main texture alpha and it also considers the depth when rendering.

Enjoy.

Wednesday, April 6, 2011

High Concept

No programming update this time, have been researching shaders and creating destroyable static meshes on an efficient way but i dont have anything to show you guys as of now.

Been working on the high concept of our game and a presentation, its coming along slowly. Brain is so saggy today.

Sunday, April 3, 2011

Pathnode Edtior

Created an editor for the pathnode system Teddy has been working on so we can produce
or expand the pathsystem without any hassle. Enjoy.