Alex.SilR

RSS
Oct 8

Day 22 - [SinC] – Game Overview Document, CustomPlayer and Shoots

On day 22 I did the GODD of the SinC, the CustomPlayer, and the gun shoot.

The first thing I did today was the GOD of Sync (Shooting Into Cubes [name that thought for now]). I will not explain how the GOD is, it is easier to see:

1. Executive

1.1 Game Type
The game will be a first person shooter puzzle.

1.2 Name
The name of the game will be for now SinC (Shooting Into Cubes).


2 Game Elements

2.1 Gameplay
The goal of the game is shooting into cubes in order to take them to certain areas. To do so the player will have a weapon capable of:

  • Change the projectile velocity.
  • Change the projectile mass.
  • Change the projectile impact.
    • Directional.
    • Blast.
    • Gravitational.
  • Remove gravitational force of the cubes.
  • Remove forces of the cubes.
  • Invert gravitational force of the cubes.

In addition to this weapon the player will also have the ability to stop time to prepare and plot the best strategy. While stopped in time the player can shoot projectiles, which also froze and returned to their trajectory when the time flow is restored.

2.2 Game Pacing
As the mechanics of the game will be very repetitive the game will aim to be casual, where the player doesn’t need to follow stories and other elements.

2.3 Target Audience
The game will target audience of players who enjoy first person shooter and puzzle without age restrictions, because the game doesn’t contain any violence or situations that may cause discrimination.

3 Story Elements

3.1 Synopsis
Not applicable.

3.2 Setting
Not applicable.

3.3 Player role
Not applicable.


4 Interface

4.1 Perspective
First Person Shooter.

4.2 Mechanics
Basically the game will feature a main menu and one where the player will be able to choose the level you wish to play.

4.3 Control

  • Player’s movement.
    • W – Forward.
    • S – Back.
    • A – Left.
    • D – Right.
  • Camera’s movement.
    • Mouse.
  • Shoot.
    • Right mouse button.
  • Change projectile velocity.
    • Mouse scroll.
  • Change projectile mass.
    • Mouse scroll when Ctrl pressed.
  • Change the impact type.
    • Mouse scroll when the right mouse button pressed.
    • 1, 2, 3 of the keyboard.
  • Time toggle.
    • Shift.

PDF version: Download.

Where I found (it has more models): Access.

After that I found here on the notebook, the prefab of a first person controller that I had made following a tutorial of FPS (I call CustomPlayer). He has the camera movement much smoother than the Character Controller that comes by default in Unity, actually I haven’t looked too in the settings to see if it can achieve the same result.

In the videos below you can see the difference.

Dia 22 - [SinC] – Game Overview Document, CustomPlayer e Tiros

No dia 22 fiz o GOD do SinC, o CustomPlayer e fiz a arma atirar.

A primeira coisa que fiz hoje foi o GOD do SinC (Shooting Into Cubes [nome que pensei por enquanto]). Não vou explicar como é o GOD, é mais fácil ver:

1 Executivo

1.1 Gênero do jogo
O jogo será um puzzle de tiro em primeira pessoa.

1.2 Nome
O nome do jogo por enquanto será SinC (Shooting Into Cubes).


2 Elementos do Jogo

2.1 Jogabilidade
O objetivo do jogo será atirar em cubos com a finalidade de leva-los a determinadas áreas. Para isso o jogador contará com uma arma capaz de:

    • Manipular a velocidade do projétil.
    • Manipular a massa do projétil.
    • Manipular o tipo de impacto.
        o Direcional.
        o Explosão.
        o Gravitacional.
    • Remover força gravitacional dos cubos.
    • Remover força dos cubos.
    • Inverter força gravitacional dos cubos.


Além dessa arma o jogador também terá a capacidade de parar o tempo para preparar e traçar melhor a sua estratégia. Enquanto estiver com o tempo parado o jogador poderá atirar os projéteis, que também ficaram imóveis e que voltaram a sua trajetória quando o fluxo de tempo for restabelecido.

2.2 Ritmo
Como a mecânica do jogo será bem repetitiva o jogo terá como objetivo ser casual, onde o jogador não precisará ficar atendo a histórias e outros elementos.

2.3 Público Alvo
O jogo terá como publico alvo os jogadores que gostam de tiro em primeira pessoa e puzzle, sem restrições de idade, pois, o jogo não conterá nada de violência nem situações que possa causar discriminações.


3 Elementos de história

3.1 Sinopse
Esse jogo não contém ou não conterá historia.

3.2 Definições
Não se aplica.

3.3 Papel do Jogador
Não se aplica.


4 Interface

4.1 Perspectiva
Tiro em primeira pessoa.

4.2 Mecânica
Basicamente o jogo contará com um menu principal e um onde será possível o jogador escolher o level que deseja jogar.

4.3 Controles

    • Movimentação do jogador.
        o W – Frente.
        o S – Trás.
        o A – Esquerda.
        o D – Direita.
    • Movimentação da câmera.
        o Mouse.
    • Tiro.
        o Botão direito do mouse.
    • Manipulação da velocidade do projétil.
        o Roda do mouse.
    • Manipulação da massa do projétil.
        o Roda do mouse enquanto Ctrl pressionado.
    • Manipulação do tipo de impacto.
        o Roda do mouse enquanto botão direito do mouse pressionado.
        o 1, 2, 3 do teclado.
    • Manipulação do tempo.
        o Shift para alterar entre tempo fluindo e não fluindo.


Versão em pdf (melhor formatação): Download.

Onde encontrei (tem mais alguns modelos): Acesse.

Depois disso achei aqui no notebook o prefab de um controlador em primeira pessoa que fiz seguindo um tutorial de FPS (que chamo de CustomPlayer). Ele tem o movimento de câmera muito mais suave do que o Character Controller que vem por padrão na Unity, na verdade eu não mexi muito nas configurações dele para ver se consigo chegar ao mesmo resultado.

Nos vídeos abaixo você pode ver a diferença.

Character Controller

Custom Player

See for yourself:

Veja você mesmo:

The tutorial is very good, the author explains each line of code. Start watching here.

As CustomPlayer was ready I just needed to integrate with the gun. At this point I found a problem actually is the difference of coordinates between Unity and Blender (in Unity Y is up and Z in Blender is up). As the script places the gun in the direction of the camera (the player’s eyes) and the coordinates are different, the gun stood aside. One way to solve this would be to change the script, but it would be very complicated, because I would have to keep the coordinates swapped. I researched and resolved in a way that is in Unity’s own documentation (here), place the object inside an empty object (Like the empty object is created within Unity the coordinates are equal), then any manipulation should be done through this empty object .

After I fixed the position of the gun, making the shooting script was pretty easy at the moment it is only changing the projectile speed.

O tutorial é muito bom, o autor explica como funciona e para que serve cada linha de código. Comece a assistir aqui.

Como o CustomPlayer já estava pronto só precisei integrar com a arma. Nesse ponto achei um problema, na verdade é a diferença de coordenadas da Unity em relação ao Blender (na Unity Y é para cima e no Blender Z é para cima). Como o script posiciona a arma na mesma direção da câmera (os olhos do jogador) e as coordenadas são diferentes, a arma ficou de lado. Uma forma de resolver isso seria alterar o script, mas isso ficaria muito complicado, pois ia ter que ficar com as coordenadas trocadas. Dei uma pesquisada e resolvi de uma forma que está na própria documentação da Unity (Acesse), colocar o objeto dentro de um objeto vazio (Como o objeto vazio é criado dentro da Unity às coordenadas ficam iguais), dai toda a manipulação deve ser feita através desse objeto vazio.

Depois que arrumei a posição da arma fazer o script de tiro foi bem fácil, no momento ele só está alterando a velocidade do projétil.

Test here.

Teste aqui.