Introdução

Jogos digitais são projetos de software relativamente grandes e complexos. Sendo assim, em contextos profissionais, eles são tipicamente desenvolvidos de maneira estruturada em um ambiente de desenvolvimento integrado (IDE) com um sistema de controle de versão.

Objetivo

Nesse projeto você irá configurar o ambiente de desenvolvimento de jogos que será utilizado ao longo do curso. Primeiro você irá baixar e instalar a IDE CLion para programação e teste dos jogos. Em seguida, você irá criar um repositório GitHub (via Gihub Classroom) para o controle de versão e submissão do seu trabalho. Além disso, como primeiro projeto do seu repositório, você irá escrever um pequeno programa em C++ usando a biblioteca SDL para desenhar um quadrado em uma janela. A figura a seguir ilustra o resultado esperado desse projeto:

p1-configuracao-inicial

Inicialização

  1. Se você não tiver uma conta no GitHub, crie uma seguindo o tutorial [nesse link]
  2. Se você não tiver o git instalado no seu computador, faça a instalação seguindo o tutorial [nesse link]
  3. Aceite o projeto p1-configuracao-inicial no GitHub classroom [nesse link]
  4. Clone o seu novo repositório no seu computador:

     # Substitua <GITHUB_USERNAME> pelo seu usuário do GitHub
     git clone https://github.com/ufv-inf216/p1-configuracao-inicial-<GITHUB_USERNAME>.git
    

Instruções

Parte 1: Instalação

Na primeira parte, você irá baixar e instalar a IDE CLion e a biblioteca SDL.

  1. Instalar a IDE CLion

    1. Acesse o site da CLion [nesse link] e siga as instruções de instalação para o seu sistema operacional;

    2. Durante a instalação, crie uma conta utilizando o seu email da UFV, o que irá ativar uma licensa gratuita.

  2. Instalar a bilioteca SDL

    • Linux

      1. Acesse o site da versão 2.28.2 da SDL [nesse link] e baixe o pacote Source code.zip

      2. Extraia o conteúdo do pacote no diretório temporário /tmp/SDL2/

      3. Instale a biblioteca no diretório /opt/SDL2/:

         cd /tmp/SDL2/
         ./configure --prefix /opt/SDL2/
         make all
         sudo make install
        
    • Windows (64 bits)

      1. Acesse o site da versão 2.28.2 da SDL [nesse link] e baixe o pacote SDL2-devel-2.28.2-VC.zip

      2. Extraia o conteúdo do pacote no diretório C:\Arquivos de Programas\SDL2\, como na figura a seguir:

        p1-parte1

      3. Copie o arquivo SDL2.dll do diretório C:\Arquivos de Programas\SDL2\lib\x64\ para o diretório C:\Windows\System32\, como na figura a seguir:

        p1-parte2

    • Mac

      1. Acesse o site da versão 2.28.2 da SDL [nesse link] e baixe o pacote SDL2-2.28.2.dmg

      2. Clique na imagem para abrí-la e copie e o pacote SDL2.framework para o diretório /Library/Frameworks/. Ao final dessa etapa, a SDL deve estar configurada dessa maneira:

        p1-parte1

Parte 2: primeiro programa SDL

Nessa etapa, você irá utilizar a IDE Clion para escrever um programa em C++/SDL que desenha um quadrado em uma janela.

  • main.cpp

    1. Escreva um programa em C++/SDL que desenha um quadrado em uma janela

      1. Inicialize o subsistema de vídeo da SDL (SDL_INIT_VIDEO) com a função SDL_Init e verifique se a inicialização ocorreu com sucesso. Se não, imprima uma mensagem de erro para o usuário com a função SDL_Log e retorne -1;

      2. Crie uma janela com tamanho 1024x768 usando a função SDL_CreateWindow e verifique se a criação ocorreu com sucesso. Se não, imprima uma mensagem de erro para o usuário com a função SDL_Log e retorne -1;

      3. Crie um buffer de fundo usando a função SDL_CreateRenderer. Utilize as flags SDL_RENDERER_ACCELERATED e SDL_RENDERER_PRESENTVSYNC. Verifique se a criação ocorreu com sucesso. Se não, imprima uma mensagem de erro para o usuário com a função SDL_Log e retorne -1;

      4. Utilize a função SDL_SetRenderDrawColor para alterar a cor de fundo para preto;

      5. Utilize a função SDL_RenderClear para limpar o buffer de fundo com a cor preta, conforme configurado na etapa anterior;

      6. Utilize a função SDL_SetRenderDrawColor novamente para alterar a cor do quadrado que será desenhado para branco;

      7. Crie um quadrado no meio da tela com a estrutura SDL_Rect e utilize a função SDL_RenderFillRect para desenhá-lo no buffer de fundo;

      8. Utilize a função SDL_RenderPresent para trocar o buffer da frente com o buffer de fundo;

      9. Implemente um loop que processa eventos de entrada com a função SDL_PollEvent, enquanto ela não retornar um evento do tipo SDL_QUIT;

      10. Quando o loop terminar, utilize as funções SDL_DestroyRenderer e SDL_DestroyWindow para destruir a buffer de fundo e janela criados. Em seguida, utilize a função SDL_Quit para finalizar o subsistema de vídeo da SDl.

Parte 3: Customização

Na terceira, e última etapa, você irá ajustar algumas das variáveis do programa.

  1. Escolha um novo tamanho de janela;

  2. Defina um novo esquema de cores que modifique as cores do fundo e do quadrado;

  3. Escolha uma nova posição e um novo tamanho para o quadrado;

Submissão

Para submeter o seu trabalho, basta fazer o commit e o push das suas alterações no repositório que foi criado para você no GitHub classroom.

git add .
git commit -m 'Submissão P1'
git push

Barema

  • Parte 1: Instalação (0%)
  • Parte 2: Um primeiro programa SDL (90%)
  • Parte 3: Customização (10%)

Referências