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 = | ||
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 = | = 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