A downloadable game for Windows

1. Introdução

Esse Projeto será um Visual Novel, sobre ensinar história de Florianópolis com textos interativos, e está sendo desenvolvido na Engine "Ren´py" da disciplina "Programação Aplicada Avançada".  

Programação Aplicada Avançada é uma disciplina superior ao anterior "Programação Aplicada", funciona parecido com o de antes, só que mais avançada, mais programação, Inteligência Artificial e Otimização. Em resumo: Funciona a maioria da programação de Software para criar apps, sites e jogos com a IA

Trabalho de Iniciação Científica (TIC) é uma atividade acadêmica desenvolvida por estudantes de graduação sob a orientação de um professor/orientador. Geralmente realizado ao longo de um ou dois semestres, o TIC introduze os estudantes no universo da pesquisa científica, proporcionando a oportunidade de aplicar conhecimentos teóricos em investigações práticas e experimentais. É como se fosse um Pré TCC e treino para TCC no final do Curso, a diferença é que esse TIC tem menos coisas do que o TCC.

Meus objetivos neste projeto é  fazer o jogo simples de jogar e um pouco fácil de entender a história de Florianópolis

2. Desenvolvimento

No começo do semestre (2024/1), o Projeto foi desenvolvida no Godot (versão 4), onde ele tem recurso chamado "Dialogic", pode baixar tanto no site da Godot, quando no GitHub e era mais fácil organizar as falas, o momento que o personagem aparece ou sai da tela. Porque no Godot de Dialogic, tem dois tipos de editor de texto, um é "Visual Editor" e o "Text Editor"

Figura 1:  Visual Editor no Godot 4


O Visual Editor permite que os desenvolvedores indie/iniciante saiba qual ícone, o título para colocar no diálogo.

Exemplo: 

Image - (Nome do Backgroun) - Imagem do Background (PNG e JPG)

Character join (O personagem aparece)

Text - Character1 - Reaction: Normal 

Oi, seja bem-vindo ao meu projeto 

Character exit (O personagem desaparece) 


Figura 2: Text Editor no Godot 4


O Text Editor é o oposto do Visual Editor só tem escrito, não tem ícone e tem que digitar, igual na maioria da programação na Engine que tem na indústria de games. 

Observação: Vocês podem escolher um dos dois se quiser, não tem um certo.


Fiquei boa parte do tempo do semestre desenvolvendo esse jogo no Godot, até que decidi mudar de engine, de Godot para Ren'Py, porque no Godot, não tem muitos recursos de gênero Visual Novel, procurei no site oficial procurando outros recursos e não encontrei. E por causa disto mudei de Engine, pois na Ren'Py já vem programação pronta, save game, configurações, retroceder (voltar) para frase anterior e etc... 

Figura 3: Interface 

O que muda é programar o diálogo, personagens, cenários e transições. Isso ajuda muito para não ter que fazer toda a programação do zero.

Com a mudança de Engine de 3 semanas antes do prazo (27/06/2024), me dificultou ainda mais o meu tempo refazer o jogo em outras Engine.

2.1. Conceito 

Esse projeto será um Visual Novel, que é um jogo de texto interativo, onde o jogador interage com os personagens através de texto e pode escolher decisões que muda o rumo dos personagens e do ambiente. Haverá um personagem  que é um Professor Fictício (ou seja, não tem inspiração) será um boneco de palito (apenas um teste) e a jogabilidade do jogo é apenas diálogo e decisões.  

Figura 4: 

Resumindo: Um jogo de texto interativo com um personagem de palito contando história de uma cidade, com imagens de artefatos, lugares, povos e etc...


2.2. Programação 

Ren'Py é uma engine de desenvolvimento de criação de jogos visual novels, tem duas linguagens de programação: Python (é o que eu estou utilizando) e o Cython (resumindo: é como se fosse o Python e C e a escrita é o mesmo, mas não é tão conhecido) . Idiomas que tem no RenPy: Português, Inglês, Espanhol, Japonês, Russo, Italiano, Alemão e etc... (tem muitos idiomas disponível). Para saber mais, é só ir no RenPy Launcher, clicar "Preference" e aparece as opções de idiomas. 


Figura 5:  Opções de Idiomas no Ren'Py Launcher 



Figura 6: Print no Visual Studio Code com a programação de Ren'Py em Phyton

Neste print no Visual Studio Code, mostra um código em Python, sobre como funciona a linguagem em Python. 

"define": é uma variável de mostrar quais personagens que vão aparecer e colocar a letra inicial do nome dos personagens declarados na variável.

"image": é parecido com "define", só que para imagem (como  próprio nome diz) de personagens e cenários (dependendo que tipo de imagem é). 

"label start": é  como se fosse "Inicio", onde o jogo começa. 

As letras iniciais do nome dos personagens dito no "define" devem colocar antes do "", como a fala. Isso é para aparecer as falas dos personagens e não a imagem dele. 

"show": mostra o personagem e cenário da tela. 

"hide": esconde o personagem e cenário da tela. 


SOBRE PROGRAMAR DECISÕES: Tem duas formas de fazer

Opcão 1: Simples 

menu:
        "Sim":
            e "Que bom!"

        "Não":

            e "Ninguém tem paciência comigo"

    e "Tchau!"

Nesta Opção 1 não precisa colocar uma variável para declarar que isso é uma decisão. O "menu" é como se fosse "ESCOLHA" e depois pode fazer mais de 2 escolhas (dependendo da proposta do jogo).  

Escolhi a opção 1, porque é mais fácil organizar os textos do que com a variável.


Opção 2: Pouco avançado 

Figura 7: Print tirado do bloco de notas (não vai pro meu jogo)


Esse print mostra o mesmo processo  da Opção 1 com variável, o "init phyton: " vai no inicio do código, na linha 1, depois digita "estaBem = False" é uma variável lógico, ou seja se é verdadeiro ou falso. 

==  é igual ao 

= vai receber  

if é Se em inglês 

Else é Senão em inglês


2.3. Discussão dos Resultados

Discussão crítica do planejado e do executado.  Deve apontar as limitações do trabalho. 

No começo foi bom de trabalhar um projeto em duas disciplinas, sem se preocupar em dois jogos em cada uma da disciplina, com a Engine Godot escolhida no começo do semestre de 2024, com o passar do semestre, eu decidi fazer uma decisão não tão boa, antes da entrega da M3 e mudei de Engine para Ren'Py. Pois no Godot, não é para jogos de gênero Visual Novel em quesito de criação do gênero, não tem recursos ou vídeos de tutorial no Youtube e no site oficial. 

O que tive de contornadas foi o tempo de desenvolvimento e o planejamento no semestre de 2024/1, isso me dificultou com essa decisão muito tarde perto do prazo, isso não quer dizer que eu fiz decisão errada ou planejei mal sobre onde eu vou iniciar o desenvolvimento, eu fiz mais pela experiência em desenvolver um jogo para duas Engines. 



3. Conclusão

Deve retomar os objetivos e apontar o que foi concluído. 

Como dito anteriormente sobre os meus objetivos que é deixar o jogo simples de jogar. Apenas um objetivos foi concluído que é a Gameplay.

O que foi concluído:

- Programação 

- Personagens 

- Jogabilidade  

- Decisões

Foi boa experiência, saber o acerto e erro. 


Obs: O jogo não está completo, no futuro atualizarei o jogo e não sei quando

Referências

[1] - Tutorial de Ren'Py;  

[2] - Site oficial da Ren'Py;  

[3] - Tutorial de Visual Novel no Godot 4

 [4] - Dialogic-Godot no GitHub



Ficha completa da equipe:

Nome: Eduardo da Silveira Pereira - Acadêmico - Eduardo da Silveira Pereira

...

Marcelo Dornbusch Lopes - m4rc3lo

Universidade do Vale do Itajaí - UNIVALI

César Albenes Zeferino | Diretor Escola Politécnica

Giorgio Gilwan | Coordenador do Curso de Design de Jogos

Rafael Kojiio | Coordenador Gamelab UNIVALI

-‌---

Projeto  desenvolvido como requisito parcial para obtenção de aprovação nas disciplinas: 

(i) Programação Aplicada Avançada - Professor - Marcelo Dornbusch Lopes

(ii) Trabalho de Iniciação Científica - Professor - Dennis Kerr Coelho; 

(iii) Eduardo da Silveira Pereira -Eduardo da Silveira Pereira;

Download

Download
FVN.exe 102 kB
Download
FVN-1.0-pc.rar 30 MB

Install instructions

Executar em dois arquivos 

FVN.exe  - só clicar nele

FVN-1.0-pc.rar - clicar nele, extrair para qual pasta que escolher e depois clica ok