Sem resumo de edição
Sem resumo de edição
Etiqueta: visualeditor
Linha 1: Linha 1:
= Introdução =
Antes da criação das Game Engines (motores de jogos), os jogos virtuais eram feitos do zero e com códigos específicos para aquela plataforma (vídeo-game), e apenas para aquela, pois era necessário otimizar o uso do hardware daquele eletrônico específico, como display, memória e capacidade de armazenamento de dados. Na época (anos 70), os vídeo-games e computadores em geral tinham uma grande restrição, o baixo poder de processamento. Ainda assim, o rápido desenvolvimento da tecnologia em informática forçava os desenvolvedores de games a praticamente jogar fora seus códigos depois de pouco tempo, já que as novas gerações de hardware permitiriam um Game Design diferente, que seria capaz de aproveitar melhor os recursos extras dessas novas máquinas. Assim, a maioria dos jogos feitos durante a década de 1980 tinham apenas seu código fonte com um número reduzido de fases e gráficos. Com a popularização do Arcade, companias de jogos desenvolveram suas próprias Game Engines, exclusivas para seus vídeo-games, numa tentativa de
facilitar o desenvolvimento de jogos para estes.
[ARCADE]
No entanto, já em 1980 foram criados sistemas de desenvolvimento de jogos 2D independentes, que consistiam em kits de desenvolvimento que facilitariam a criação de jogos na época.
[CONSTRUCTION KITS]
O termo “Game Engine” como conhecemos hoje surgiu na década de 1990 com o advento dos gráficos em três dimensões, o 3D. Essa nova ferramenta permitiu que fossem criados vários jogos diferentes utilizando o mesmo “motor”, o que barateou muito o desenvolvimento de jogos, e o tornou muito mais rápido e fácil. Ao invés de criar um novo conjunto de regras e códigos que cuidariam do funcionamento de recursos-chave do jogo, os desenvolvedores poderiam aproveitar o que já era fornecido pela Engine e apenas
criar seu conteúdo específico (como itens, gráficos, personagens e fases), e assim ter um jogo completo e funcional.
[DOOM E QUAKE]
= Conceito =
= Conceito =
Descrição minuciosa das características do programa proposto, pormenorização com detalhes técnicos e precisos que esclareçam a destinação. Identificar se gera um produto, um serviço ou um processo. Incluir definições, concepções ou caracterizações
Uma Game Engine é um framework de software feito para a criação e desenvolvimento de jogos virtuais, e geralmente possui um conjunto de ferramentas de desenvolvimento e uma série de componentes que podem ser reutilizados de diversas maneiras. Em geral, essa ferramenta possui uma IDE (''integrated development environment'' – ambiente de desenvolvimento integrado) própria, permitindo um desenvolvimento simplificado e ágil de qualquer coisa
<br>
relacionada ao jogo. Uma boa Game Engine deve ter tudo que um desenvolvedor de jogos precisa para publicar um jogo completo facilmente, como ferramentas de edição gráfica, sonora, física e de inteligência artificial. Essas ferramentas são conhecidas como “middleware”, e muitas vezes são o diferencial entre uma Engine e outra, porém existem middlewares agnósticas, que são compatíveis com várias Engines diferentes.
 
 
 
Hoje existem várias Engines disponíveis no mercado, cada uma com suas vantagens e público-alvo, e por isso, nesse tópico focaremos apenas na maior delas, a '''Unity'''.
 
= Software =
 
== Unity ==
A Unity foi lançada em 2005 na Conferência Mundial de Desenvolvedores da Apple, e inicialmente trabalhava apenas com o OS X. Hoje, a Unity é compatível com 29 plataformas diferentes, o que a torna a Game Engine mais abrangente do mercado.
 
[PLATAFORMAS]
 
A Unity é uma Game Engine multiplataforma que suporta gráficos em 2D e 3D, possui funcionalidades de arraste (drag n’ drop) e permite programar scripts principalmente em C#, porém outras linguagens, como o JavaScript e C++ também podem ser utilizadas sem muitos problemas.
 
[GAME 2D E 3D COM UNITY]
 
Unity pode ser usada gratuitamente por empresas com receita anual menor que U$100.000,00, mas também possui planos pagos que variam de acordo com o tamanho da empresa cliente e com as funcionalidades necessárias para o desenvolvimento do jogo.
 
[PREÇOS UNITY]
 
Além da quantidade de plataformas suportadas, alguns dos maiores diferenciais da Unity são a maior Asset Store do mercado, a maior quantidade de documentação disponível para uma Engine e também a maior quantidade de cursos e certificados em uma Game Engine.
 
[ASSET STORE, DOCUMENTAÇÃO, CURSOS]
 
 
 
A Unity é uma Game Engine extremamente amigável para novos desenvolvedores, sem deixar a desejar aos mais experientes, o que contribui para que 45% de todos os jogos desenvolvidos hoje tenham sido feitos em Unity.


= Softwares =
[MADE
Descrever os softwares usados para esta finalidade. Detalhar, se existir, linguagens, banco de dados e frameworks.
WITH UNITY]
<br>


= Código =
= Código =

Edição das 21h19min de 15 de outubro de 2017

Introdução

Antes da criação das Game Engines (motores de jogos), os jogos virtuais eram feitos do zero e com códigos específicos para aquela plataforma (vídeo-game), e apenas para aquela, pois era necessário otimizar o uso do hardware daquele eletrônico específico, como display, memória e capacidade de armazenamento de dados. Na época (anos 70), os vídeo-games e computadores em geral tinham uma grande restrição, o baixo poder de processamento. Ainda assim, o rápido desenvolvimento da tecnologia em informática forçava os desenvolvedores de games a praticamente jogar fora seus códigos depois de pouco tempo, já que as novas gerações de hardware permitiriam um Game Design diferente, que seria capaz de aproveitar melhor os recursos extras dessas novas máquinas. Assim, a maioria dos jogos feitos durante a década de 1980 tinham apenas seu código fonte com um número reduzido de fases e gráficos. Com a popularização do Arcade, companias de jogos desenvolveram suas próprias Game Engines, exclusivas para seus vídeo-games, numa tentativa de facilitar o desenvolvimento de jogos para estes.

[ARCADE]

No entanto, já em 1980 foram criados sistemas de desenvolvimento de jogos 2D independentes, que consistiam em kits de desenvolvimento que facilitariam a criação de jogos na época.

[CONSTRUCTION KITS]


O termo “Game Engine” como conhecemos hoje surgiu na década de 1990 com o advento dos gráficos em três dimensões, o 3D. Essa nova ferramenta permitiu que fossem criados vários jogos diferentes utilizando o mesmo “motor”, o que barateou muito o desenvolvimento de jogos, e o tornou muito mais rápido e fácil. Ao invés de criar um novo conjunto de regras e códigos que cuidariam do funcionamento de recursos-chave do jogo, os desenvolvedores poderiam aproveitar o que já era fornecido pela Engine e apenas criar seu conteúdo específico (como itens, gráficos, personagens e fases), e assim ter um jogo completo e funcional.

[DOOM E QUAKE]

Conceito

Uma Game Engine é um framework de software feito para a criação e desenvolvimento de jogos virtuais, e geralmente possui um conjunto de ferramentas de desenvolvimento e uma série de componentes que podem ser reutilizados de diversas maneiras. Em geral, essa ferramenta possui uma IDE (integrated development environment – ambiente de desenvolvimento integrado) própria, permitindo um desenvolvimento simplificado e ágil de qualquer coisa relacionada ao jogo. Uma boa Game Engine deve ter tudo que um desenvolvedor de jogos precisa para publicar um jogo completo facilmente, como ferramentas de edição gráfica, sonora, física e de inteligência artificial. Essas ferramentas são conhecidas como “middleware”, e muitas vezes são o diferencial entre uma Engine e outra, porém existem middlewares agnósticas, que são compatíveis com várias Engines diferentes.


Hoje existem várias Engines disponíveis no mercado, cada uma com suas vantagens e público-alvo, e por isso, nesse tópico focaremos apenas na maior delas, a Unity.

Software

Unity

A Unity foi lançada em 2005 na Conferência Mundial de Desenvolvedores da Apple, e inicialmente trabalhava apenas com o OS X. Hoje, a Unity é compatível com 29 plataformas diferentes, o que a torna a Game Engine mais abrangente do mercado.

[PLATAFORMAS]

A Unity é uma Game Engine multiplataforma que suporta gráficos em 2D e 3D, possui funcionalidades de arraste (drag n’ drop) e permite programar scripts principalmente em C#, porém outras linguagens, como o JavaScript e C++ também podem ser utilizadas sem muitos problemas.

[GAME 2D E 3D COM UNITY]

Unity pode ser usada gratuitamente por empresas com receita anual menor que U$100.000,00, mas também possui planos pagos que variam de acordo com o tamanho da empresa cliente e com as funcionalidades necessárias para o desenvolvimento do jogo.

[PREÇOS UNITY]

Além da quantidade de plataformas suportadas, alguns dos maiores diferenciais da Unity são a maior Asset Store do mercado, a maior quantidade de documentação disponível para uma Engine e também a maior quantidade de cursos e certificados em uma Game Engine.

[ASSET STORE, DOCUMENTAÇÃO, CURSOS]


A Unity é uma Game Engine extremamente amigável para novos desenvolvedores, sem deixar a desejar aos mais experientes, o que contribui para que 45% de todos os jogos desenvolvidos hoje tenham sido feitos em Unity.

[MADE WITH UNITY]

Código

<syntaxhighlight lang="python3"> Arquivo = "lista_contatos.txt" # Nome do arquivo

def ler_arquivo(): # Função que le o arquivo de texto

   try:                         # Tratamento de erro
       arq = open(Arquivo,"r+") # Abre o arquivo para leitura
       print( '\n'+arq.read() ) # Quebra linha e mostra o conteudo
       arq.close()              # Fecha o arquivo
   except IOError:              # Tratamento de erro
       print('\nArquivo não encontrado!')

def escrever_linhas(texto): # Função que le e escreve no arquivo

   try:                           # Tratamento de erro
       arq = open(Arquivo,"a+")   # Abre o arquivo para gravação no final do arquivo
       arq.writelines('\n'+texto) # Escreve no arquivo o parametro 'texto'
       arq.close()                # Fecha o arquivo
       print('\nLinha gravada com sucesso')
   except IOError:                # Tratamento de erro
       print('\nErro ao abrir o arquivo!') # Mostra na tela uma mensagem de erro

def pesquisar_contato(nome):

   try:
       arq = open(Arquivo, "r+")
       dicionario = {'nome':, 'telefone':, 'email':}
       achei = False
       # lógica ler arquivo e comparar nome
       for cont, s in enumerate(arq.readlines()):
           
           dicionario['nome'], dicionario['telefone'],dicionario['email'] = s.split(' - ')
           if dicionario['nome'] == nome:
               print(cont)
               print('Nome: %s'% dicionario['nome'])
               print('Telefone: %s'% dicionario['telefone'])
               print('Email: %s'% dicionario['email'])
               achei = True
               
       if not achei:
           print('Não existe %s' % (nome))


       # se achou imprime, se não mostra uma mensagem de nao encontrado
       arq.close
       
   except IOError:
       print('\nContato não encontrado')


def excluir_contatos():

   try:
       arq =open('lista_contatos.txt','r+')
       valores = arq.readlines()
       l = []
       splited =[]
       nome = input('Entre com um nome:')
       for x in valores:
           splited=x.split(' - ')
           if splited[0]==nome:
              pass
           else:
               l.append(splited)
       
       arq.close()
       novo_cadastro(l)
   except:
       print('erro')

def novo_cadastro(l):

   arq = open(Arquivo,'w')
   for x in l:
        #print("Nome:%s | Telefone:%s | Email:%s"%(x[0],x[1],x[2]))
        arq.write("%s - %s - %s" %(x[0],x[1],x[2]))
   arq.close()

while(True):

   print('\n        Opcões:')
   print(' ')
   print('1 - Cadastrar contato')
   print('2 - Listar dados')
   print('3 - Pesquisar contato')
   print('4 - Excluir contato')
   print('9 - Sair')
   print(' ')
   Op = int(input('Digite a opção desejada:')) # Entrada da opcao pelo teclado
   if Op == 1:                                     # Se a opcao for 1
       nome = input('\nDigite o nome do contato:')      # Entrada do nome pelo teclado
       fone = input('Digite o número do telefone:')# Entrada do telefone pelo teclado
       email = input('Digite o email:')            # Entrada do telefone pelo teclado
       contato = (nome+' - '+fone+' - '+email)     # Recebe o nome + o telefone
       escrever_linhas(str(contato))               # Chama a função que grava em arquivo
   elif Op == 2:                                   # Se a opcao for 2
       ler_arquivo()                               # Chama a função que le o arquivo
   elif Op == 9:                                   # Se a opcao for 0
       break                                       # Quebra o laço infinito
   elif Op == 3:
       nome = input("Digite o nome: ")
       pesquisar_contato(nome)
   elif Op == 4:
       #nome = input ("Digite o nome: ")
       excluir_contatos()

</syntaxhighlight>

Dar um exemplo de um código-fonte que mostre alguma parte da aplicação final. O código deverá ser curto mas que o leitor consiga enxergar para que serve. Pode-se usar comentários no programa.


Diagrama de Casos de Uso

Desenhar ou plotar  os requisitos funcionais de uma aplicação.


Interações com as tecnologias

Incluir links (internos ou externos) temas que tem relação com este, explicando detalhes sobre. Limite de 3 internos e 2 externos.


Informações adicionais

Descrever detalhes a mais sobre esse tema.


Referências bibliográficas

Relacionar aqui as referências bibliográficas no padrão ABNT. 
Bases de procura: Artigos, publicações acadêmicas, revistas e sites de fornecedores