Motion: Gold milestone report

The semester is over and so is our game class, these past few weeks have all been about finishing the game and adding content that was core to the design. The development of the game went through a lot , changing the design midway and then having a theme that required assets like 3D models took a big chunk of some of my teammate’s time.

It was a hard project to manage and finish because it was bigger than what we had anticipated and other classes quickly took over our free time, but overall i think we have managed to get a pretty decent project and game.

Tasks done since alpha milestone:

I have worked on the overall feeling on the game by working on the camera and creating effects. For example when the player is just moving around the camera bobs vertically and horizontally, and the distance to the player keeps changing randomly, which makes the game feel less static and adds a bit more to the third person perspective. I also implemented other effects like increasing field of view and distance when the player takes a speed boost called red boids  and the increase depends on how many red boids the player has collected.  And finally my favorite was the Jump effect

Jump Effect:

Camera follows the player at a much slower pace thus resulting in him being on the upper part of the screen, which gives this nice feeling and makes jumping more impressive.Jump

Menu Animation and Night and day:

The Skybox interpolates with the lighting of the scene to create this effect of day and night. There’s a moon and a sun  and they are both Game Objects emitting light and rotating in a circle. In order for the lights to be separated, there’s a plane under the water which blocks the light that is below thus separating both parts of the day.

This animation of the camera is also part of the main menu that i have created. I did the simplest main menu I could have done , with this camera animation, and an even simpler Pause Menu which just has text appearing. It turned out to look quite good.
First Camera2

I’ve also implemented all other small things but required for a complete game , such as a basic tutorial , credits appearing when the game ends or in the pause Menu and a proper restart which turned out to be a bit more annoying than what it should have been.

Overall the project turned out to be better than i had originally expected, we ended up working the last week and adding content in a period where we should’ve just been fixing bugs and tweaking little things. Managing a team and yourself is not easy ,especially when alot of other classes are involved and we didnt have any artists for a 3d game that needed content. That slowed our development a lot but we ended up making a complete experience which is about exploring, speed and level interaction.

I really liked working on the project because i did so many different things, i worked on a gameplay system that ended up being a core part of the experience , then worked on creating a smoother sensation with the camera, and i also did visual effect like the day and night and some rain particles following you during the night.

Advertisements

Motion : First playable report

After going through some design changes we have finally settled down and started working on a playable version of the game. We currently finished a zone’s first iteration, which is going to be the first playable part of the game.

Tasks done

Designer Friendly camera zones
Designer Friendly camera zones

My role in this milestone has been very focused on the camera.Since it’s a fast paced game we decided to create a designer friendly camera zone in which different camera parameters are defined in the editor. Each zone has a shape collider, which can differ per zone that triggers it’s behavior. The rate at which the zone takes over the normal camera can be decided by distance or time, the zone can be active only once and be destroyed after that. It can also have a collider that triggers it’s destruction.

I think they’ve added alot to the gameplay and they are going to help us direct the player’s objectives

 

Changes the target of the camera so we can the door that we to unlock
Changes the target of the camera so we can see the door that need to be unlocked

For example , in one zone one would need to look at a big door needed to reach the next part , so the when in the zone the camera focuses on the interest point.

 

 

Changes distance of camera so we can surroundings better
Changes distance of camera so we can see surroundings better

Another use is increasing camera distance in some part or modifying where the camera’s position is so that you see more of what’s around you instead of in front of you.

 

I’ve been struggling a little bit with making entering and exiting the zone smoothly since big camera changes occur and i do not want the player to feel dizzy. I’ve fixed most problems if a player tries to exit and enter a zone many times in a row but if the target to look at is behind the player’s current direction then the player cannot see where he’s going , so an easy solution for that is to increase the distance at which the camera is from the player so that we see a bit more.

Camera changes its position and target so players see whats ahead better
Camera changes its position and target so players see whats ahead better

I’ve also added a camera offset for the gliding mechanics, which positions the player on the side of the screen and the target looks more in the direction the player is going to so we can see more of what’s ahead. It’s just on top of all the behaviors the camera is processing , taking the input into account the camera will move within a specified angle.

What’s next

I have to admit that the camera has been a challenging task but it’s very interesting to come up with solutions since they’re very gameplay specific and they would differ from game to game, which makes it hard to find good resources or tutorials. I think the first iteration of the zone are done thought and next step is going to be having them in a level with the correct values for a smooth gameplay and i will probably keep working on the camera for a while , but still needs to be decided in our weekly group meetings.

Motion : Prototype milestone report

Motion (2014)

This is the first game that I do on a 3rd party engine, we usually create everything from scratch , so i had to learn how to use unity (free version) which was pretty straight forward but still lacks the flexibility of modifying source code and having our own systems in there. The overall experience working with unity has been very smooth so far , and very easy .

The Pitxit team

The team is called Pitxit and is composed of Myself working on general systems that we need and visual effects and feedback, Sergio Vicente working on interaction with gameplay elements and also some needed systems , Ander Altzola working on the player and it’s behavior and on the overall design and feeling of the game and Andoni Besa working on gameplay elements for the player to interact with.

The game is called Motion and we have been developing it for 4 weeks now , it’s a 3-d fast-paced platformer where the players has to collect parts of his body and parts of the world in order to grow and unlock next levels. The player has 2 available forms, one goes on the ground and one glides and he is able to switch between them at will. At first gliding isn’t possible until the player collects a part of his body which will let him jump , then another part which is a bigger jump and so on to get to a point where the players glides for long amount of time

My role until now in the development of the game has been quite diverse. I’ve worked on particle systems , visual feedback and created some base systems for everyone to use.

Tasks done

The game is about interacting with the world and evolving so we decided that we needed to have some nice visuals in the game even though we have no artist until now (we may have one later ). The first think i worked on was creating  a beacon particle system that you could see from a far and that would be used to indicate items to collect

.

Beacon

The second task I’ve worked on is creating a rain behavior to follow the player , we tough it would look good and feel good since you’re gliding , but we still haven’t decided if we are going to keep it. the next objective of it would be creating sounds and reactions when interacting with the world
during the gliding stage. Wind also gets affected by wind which will help the player to see in which direction the wind flows , in addition to wind particles .

Rain + beacon

The next task i worked on , with the help of my game class teacher Thomas Komair, was a basic state machine system for everyone to use , since unity doesn’t offer state machines for any kind of objects, at least not in the free version. The decision to do it came when designing the boids that the player has to collect in order to progress through levels or zones .; each collectible or as we call them boid would have a pre collected state with some idle behavior and a post collected state with a different behavior.

(sorry no picture)

Right now we have 3 available boids to collect : blue , green and red.

  • The red one is a temporary speed boost that stacks
  • the green one is a key to open doors
  • and the blue one is a part of the player that he needs to access the next stage of gliding

And finally the last thing i was working on for this milestone was the creation of the blue boids , their idle behavior with particle systems and what happens when they get collected. I created some containers for all boids to have easy access and control whenever an object has a container of boids and collides with a boid , it gets picked up and acts accordingly ( we plan on using red ones on dynamic objects , but that’s just an idea for now ).

Blue boid idle (idle effect of blue boid)

Merging unity scene files may get annoying in the future and havent found an elegant solution for that , so for now we have decided to just export single packages and everyone works on seperate things , and if we ever need to merge something we use winMerge as a diff tool.

I really enjoy working with my new team , and looking forward for the next few weeks.