Projeto de Jogos para Dispositivos Móveis. Gutenberg Neto gutenberg@fuze.cc



Documentos relacionados
Workshop Construct 2. Gutenberg Neto

Desenvolvimento de Jogos 2D. Gutenberg Neto

Desvendando Jogos 2D. Por Marcos Romero Setembro / Cyborg Arena - RHGames

Engenharia de Software III

itunes U Diretrizes Como montar o seu curso Visão geral

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

Tema UFPel 2.0 WP Institucional Guia de Opções de Personalização

MANUAL GDS TOUCH. Versão: 1.0 Direitos reservados.

Sumário. 1 Tutorial: Blogs no Clickideia

OneDrive: saiba como usar a nuvem da Microsoft

CTRL-SHIFT DOCUMENTO DE GAME DESIGN DESENVOLVIDO POR HILGAMES

Google Drive. Passos. Configurando o Google Drive

PROJETO INFORMÁTICA NA ESCOLA

Banner Flutuante. Dreamweaver

E-books. Guia para Facebook Ads. Sebrae

Construtor de sites SoftPixel GUIA RÁPIDO - 1 -

Universidade Federal de Santa Maria UFSM Centro de Tecnologia CT. Power Point. Básico

Microsoft Office PowerPoint 2007

Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3

Fluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção

ÍNDICE O QUE É... 2 COMO FUNCIONA Acervo Meus Livros Livros em destaque Fórum Notícias Ajuda Suporte...

Bleach Game MANUAL BÁSICO 2014

Disciplina: Programas de Edição de Textos Professora: Érica Barcelos

ENG1000 Introdução à Engenharia

Orientação a Objetos

ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007

1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2.

ez Flow Guia do Usuário versão 1.0 experts em Gestão de Conteúdo

Manual Vivo Sync. Manual do Usuário. Versão Copyright Vivo

O Office para ipad e iphone ficou bem melhor.

Manual Vivo Sync. Manual do Usuário. Versão Copyright Vivo

Sumário. Computação Gráfica Illustrator

Planejando o aplicativo

O Windows 7 é um sistema operacional desenvolvido pela Microsoft.

Universidade Federal da Fronteira Sul Campus Chapecó Sistema Operacional

Guia. PDA e SmartPhones. Windows Mobile, Pocket PC e CE.

WordPress Institucional UFPel Guia Rápido

02 - Usando o SiteMaster - Informações importantes

Fluxo de trabalho do Capture Pro Software: Indexação de código de barras e separação de documentos

Manual TIM PROTECT BACKUP. Manual do Usuário. Versão Copyright TIM PROTECT BACKUP

Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede

RELATÓRIO FINAL DE PROJETO DE INICIAÇÃO CIENTÍFICA (PIBIC/CNPq/INPE)

Oficina de Inclusão Tecnológica Windows Live Skydrive

SUMÁRIO TUTORIAL DO HQ. 2 DICAS PEDAGÓGICAS:. 2 DOWNLOAD DA INSTALAÇÃO. 2 PASSO 1 FORMULÁRIO PARA DOWNLOAD. 2 PASSO 2 ESCOLHENDO A VERSÃO.

APOSTILA LINUX EDUCACIONAL

Esse tutorial visa apresentar as principais funcionalidades do Editor de Roteiro de Aprendizagem do Portal Clickideia.

Aula 03 PowerPoint 2007

ROTEIRO PARA TREINAMENTO DO SAGRES DIÁRIO Guia do Docente

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

Introdução a Informática - 1º semestre AULA 02 Prof. André Moraes

AULA: BrOffice Impress terceira parte. Ao final dessa aula, você deverá ser capaz de:

2 Diagrama de Caso de Uso

Aula Au 3 la 7 Windows-Internet

DESENVOVIMENTO DE GAMES APRESENTAÇÃO. MARCELO HENRIQUE DOS SANTOS

ENG1000 Introdução à Engenharia

Itinerários de Ônibus Relatório Final

Pesquisa e organização de informação

Arquitetura de Informação

Ferramentas Web, Web 2.0 e Software Livre em EVT

JOOPP O construtor de sites mais rápido do mundo!

Curso técnico: Informática Disciplina: Aplicativos computacionais

O futuro da educação já começou

PowerPoint. Prof. Claudio A. B. Tiellet. Parte II

TUTORIAL AUTODESK 360 COLABORAÇÃO E ARMAZENAMENTO DE ARQUIVOS

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR

O Windows 7 é um sistema operacional desenvolvido pela Microsoft.

Índice. 3 Capítulo 1: Visão Geral do Blog. 4 Capítulo 2: SEO. 5 Capítulo 3: Backend: Como Funciona. Visão Geral Plataforma Frontend Backend

Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo.

Criar Newsletters. Guia rápido sobre...

AULA 06 CRIAÇÃO DE USUÁRIOS

Treinamento GVcollege Módulo Acadêmico - Pedagógico

Smart Laudos 1.9. A Forma Inteligente de Criar seus Laudos Médicos. Manual do Usuário


Programação de Robótica: Modo Circuitos Programados - Avançado -

8 Características do Windows 8

Gerenciador de Congressos de Iniciação Científica Manual de Instruções

CADERNO DE QUESTÕES WINDOWS 8

Aula 02 Excel Operações Básicas

Introdução ao Tableau Server 7.0

ÍNDICE MANUAL SITE ADMINISTRÁVEL TV. 1. Introdução 2. Acessando o site administrável/webtv SITE ADMINISTRÁVEL 3. CONFIGURAÇÕES

Serviço Técnico de Informática. Curso Básico de PowerPoint

AutoCAD para TOPOGRAFIA

COMO USAR DOIS MONITORES NO WINDOWS 8

PRINCÍPIOS DE INFORMÁTICA PRÁTICA OBJETIVO 2. BASE TEÓRICA 3. SEQÜÊNCIA DA AULA. 3.1 Iniciando o PowerPoint

Apostila para o 7º ano Profª Yandra

Iniciação à Informática

Apostilas OBJETIVA Escrevente Técnico Judiciário TJ Tribunal de Justiça do Estado de São Paulo - Concurso Público Índice

PASSO A PASSO MOVIE MAKER

Guia de Início Rápido

Manual do Plone (novo portal do IFCE)

Programa Intel Educar Tutorial: Ferramenta de Classificação Visual

Auxiliar de instalação (Português Brasileiro) Primeiros passos

Manual de Utilização do Sistema GRServer Cam on-line (Gerenciamento de Câmeras On-line)

Artur Petean Bove Júnior Tecnologia SJC

Roteiro 2: (Planilhas Eletrônicas) - Função procv / manipulação de formulários

Informática básica Telecentro/Infocentro Acessa-SP

Existem 109 questões nesta pesquisa

Exemplo de aplicação Car Parking 1in1out

MATERIAL DE APRESENTAÇÃO DO SCRATCH

COMO SE CONECTAR A REDE SOCIAL FACEBOOK? Passo-a-passo para criação de uma nova conta

Transcrição:

Projeto de Jogos para Dispositivos Móveis Gutenberg Neto gutenberg@fuze.cc

Apresentação Graduado em Ciência da Computação UFPB Mestrado em Informática UFPB IA em Jogos Eletrônicos 6 anos de experiência com programação e pesquisa em sistemas distribuídos e de alta complexidade C, C++, Objective-C, Java... Sócio/Desenvolvedor Fuze 3 anos de experiência no desenvolvimento de aplicativos móveis Objective-C 3 anos de experiência em desenvolvimento comercial de jogos programação e game design 20+ anos de experiência como gamer :-)

Projetos Anteriores

The Fish Dies in the End (2011/2012) Desenvolvimento independente Lançamento original Abril/2011 Lançamento posterior (Fuze) Janeiro/2012 1º Lugar App Store BR (+100.000 downloads)

Luiza no Canadá (2012) Jogo baseado no meme da Luiza no Canadá http://luiza.fuze.cc Desenvolvido em 16 horas Primeiro lançamento da Fuze Destaque em mídia nacional TV Record (Hoje em Dia) Folha de S. Paulo Estadão... ~1.000.000 de plays

Sobre o Curso

Objetivo Conceitos relacionados ao desenvolvimento de jogos Conceitos gerais Jogos 2D Jogos em dispositivos móveis Utilização de ferramenta Construct 2 Foco prático Aplicação de conhecimento Criação de jogos

Avaliação A nota final da disciplina será composta por dois componentes 30% - Participação em aula 70% - Projeto final Desenvolvimento de jogo em grupo

Projeto Final Desenvolvimento de um jogo com o Construct 2 Detalhes: Projeto em grupo Tema livre Podem ser utilizadas imagens e sons encontrados na web Haverá duas apresentações 08/03 Apresentação simples de 10 minutos com explicação do game design, ideia e concepção do jogo, expectativas para o desenvolvimento... 22/03 Entrega final, apresentação de 20 minutos com detalhamento sobre o processo de desenvolvimento (e dificuldades encontradas) e demonstração do jogo

Antes de começarmos...

Um pouco mais sobre a turma Quantos costumam jogar video games? Quantos possuem interesse em desenvolver jogos? Alguém já desenvolveu algum jogo?

Algumas estatísticas

Jogos em dispositivos móveis Representam a categoria mais popular de apps Responsáveis por mais de 80% da receita gerada por dispositivos móveis em 2012 Em 2013, os 10 apps mais rentáveis da App Store foram todos jogos, na Google Play, 9 entre os 10 mais rentáveis foram jogos Em média, usuários de smartphones passam 32% do tempo de utilização do dispositivo em jogos 64% dos usuários de smartphones acessam pelo menos um jogo diariamente Entre os usuários que pagam por algum app móvel, 93% pagam por jogos Espera-se que a indústria de jogos móveis alcance US$54 bilhões em 2015

Público Média de idade 28 anos Média de idade (jogos sociais) 39 anos 53% mulheres x 47% homens

Conceitos

O que é um jogo?

O que é um jogo? Definição muito difícil Atividade estruturada, executada por diversão ou prazer Sistema no qual os jogadores envolvem-se em um conflito artificial, definida por regras, que determina um resultado quantificável Katie Salen e Eric Zimmerman Atividade entre dois ou mais tomadores de decisão independentes que procuram atingir os seus objetivos em um contexto de limitação Clark Abt Forma de arte na qual os jogadores tomam decisões, a fim de gerir os recursos através de elementos de jogo na busca de um objetivo Greg Costikyan Uma série de escolhas interessantes Sid Meier

Jogos Eletrônicos Existem desde a década de 1960 Spacewar! (1962) Originalmente com gráficos monocromáticos extremamente simples (ou apenas texto) Popularizaram-se com os arcades a partir da década de 1970 Asteroids Space Invaders Pac-Man

Jogos Eletrônicos Nos arcades, cada sessão de jogo é controlada com o uso de moedas ou fichas Necessário haver alta rotatividade de jogadores para que os jogos deem lucro Jogos simples Fácil aprendizado Rápidos Sessões com duração medida em minutos (ou até segundos!)

Jogos Eletrônicos A partir da década de 1980, popularizam-se os consoles e PCs como maneiras de jogar video games Sessões passam a durar mais tempo Não há necessidade de rotatividade de jogadores Jogos ficam mais complexos Histórias Personagens mais bem elaborados Sessões de jogo medidas em horas Corrida por gráficos cada vez mais realistas

Jogos Eletrônicos Consoles portáteis e dispositivos móveis marcaram um retorno a jogos no estilo arcade Jogabilidade mais simples Sessões de jogo mais rápidas Gráficos também simplificados Inicialmente por limitações tecnológicas Posteriormente, por adequação aos estilos de jogos favorecidos nessas plataformas

Gêneros Jogos eletrônicos podem ser divididos em diversos gêneros Cada gênero define um estilo de jogabilidade Muitas vezes carrega expectativa de estilo gráfico, controles, cenário, etc. Muitos jogos pertencem a múltiplos gêneros

Ação Jogos que desafiam os reflexos e coordenação motora do jogador Exigem pensamento rápido Muitas vezes possuem alguma forma de combate Subgêneros Ação-aventura jogos que também possuem um componente de resolução de problemas, coleta e utilização de itens, etc. (e.g., Prince of Persia, Tomb Raider) Stealth (espionagem) focados em rotas sorrateiras, evitando inimigos (e.g., Metal Gear, Splinter Cell) Luta focados em batalhas em arenas de luta entre dois ou mais oponentes (e.g., Street Fighter, Tekken) Beat em up batalhas sequenciais contra diversos inimigos em sequência, ao longo de caminhos pré-definidos (e.g., Double Dragon, Streets of Rage)

Ação

Aventura Jogos que se baseiam mais na resolução de problemas e enigmas, coleta e utilização de itens, desvendar de mistérios Subgêneros Aventura em texto nos primórdios dos jogos eletrônicos, os jogos de aventura pioneiros não possuíam gráficos, com descrições de cenários e história inteiramente textuais, e utilização de comandos de teclado para controle por parte do jogador (e.g., Colossal Cave Adventure, Zork) Point-and-click jogos de apontar e clicar, muito populares nas décadas de 1980 e 1990, passaram a possuir gráficos e o jogador utilizava o mouse para interagir com o jogo (e.g., Monkey Island, Day of the Tentacle)

Aventura

Tiro Baseados em atirar projéteis diversos em inimigos, assim como jogos de ação, exigem reflexos e resposta rápida dos jogadores Normalmente divididos de acordo com a visão da câmera Subgêneros First person shooter (Tiro em primeira pessoa) câmera em primeira pessoa, dando a perspectiva direta do personagem, representam tradicionalmente os jogos mais populares para consoles e PCs (e.g., Half-Life, Doom) Third person shooter (Tiro em terceira pessoa) câmera por trás do personagem, dando uma visão mais impessoal, mas oferecendo melhor perspectiva do ambiente (e.g., Grand Theft Auto, Gears of War) Shoot em up jogos de tiro tradicionais na época de arcades, normalmente com visão 2D do topo ou lateral, onde é necessário atirar e matar inúmeros inimigos por vez, ao mesmo tempo em que desvia de vários projéteis (e.g., Contra, Space Invaders)

Tiro

Plataforma Jogos onde o protagonista deve percorrer um cenário, correndo e pulando entre diversas plataformas, desviando de obstáculos e inimigos variados Durante a década de 1980, representava o gênero mais popular entre os video games Subgêneros Plataforma 2D jogo de plataforma com gráficos bidimensionais, normalmente com visão lateral,também chamados sidescrollers (e.g., Super Mario Bros., Sonic) Plataforma 3D jogo de plataforma, com gráficos tridimensionais, adiciona elemento de controle de câmera e cenários mais complexos (e.g., Super Mario 64, Crash Bandicoot)

Plataforma

Estratégia Jogos baseados em pensamento e planejamento, muitas vezes envolvem coleta e gerenciamento de recursos, pesquisa de tecnologia, recrutamento de unidades, etc. Costumam ter câmera no topo, provendo uma visão geral do ambiente para o jogador Subgêneros Real-time strategy (Estratégia em tempo real) todos os jogadores executam as ações ao mesmo tempo, exige reflexos e capacidade de rápida tomada e execução de decisões (e.g., Starcraft, Warcraft) Turn-based strategy (Estratégia baseada em turnos) jogadores executam as ações um por vez, ganha quem tiver melhor capacidade de tomar decisões e bolar estratégias a longo e curto prazo (e.g., Civilization, X-Com)

Estratégia

RPG Baseados em RPGs de caneta e papel (e.g., D&D) Focados em desenvolvimento de personagem, evolução de atributos e habilidades, escolhas diversas, etc. Subgêneros RPG de único jogador jogos voltados a contar uma história, onde o jogador controla um personagem em um mundo povoado por NPCs (personagens não-jogáveis), resolvendo missões diversas e ganhando experiência (e.g., Final Fantasy, Fallout) MMORPG RPG em um mundo persistente com múltiplos jogadores (muitas vezes centenas ou milhares), cada jogador segue sua história individual, que é geralmente ligada a uma história maior, envolvendo facções ou grupos diversos (e.g., World of Warcraft, Ultima Online)

RPG

Simulação Jogos que buscam simular de maneira detalhada uma atividade qualquer de forma a conciliar da melhor maneira possível o realismo e qualidade da simulação com a diversão necessária a um jogo de sucesso Subgêneros Construção e gerenciamento jogos que simulam comunidades ou projetos diversos que o jogador deve gerenciar com recursos limitados (e.g., SimCity) Simulador de vida o jogador deve controlar uma ou mais formas de vida artificial, lidando com seus desejos e necessidades e gerenciando sua evolução ao longo do tempo (e.g., The Sims, Spore) Simulador de esporte permite ao jogador vivenciar a experiência de um esporte, controlando equipes ou participantes individuais (e.g., FIFA, Pro Evolution Soccer)

Simulação

Puzzle (Quebra-cabeça) Focados na solução de um quebra-cabeça qualquer (e.g., Tetris, Candy Crush Saga) Exigem várias habilidades do jogador, como lógica, reconhecimento de padrões, etc. Muitas vezes mais abstratos, não costumam possuir personagens ou história

Puzzle (Quebra-cabeça)

Jogos Sociais Jogos com fortes componentes sociais (e.g., FarmVille, SongPop) Costumam utilizar os amigos ou rede de contatos do jogador Cooperação Bônus diversos Vidas extras Mais tempo de jogo Geralmente integrados a redes sociais Normalmente gratuitos e casuais Voltados a um público não-tradicional dos jogos eletrônicos Não representam exatamente um gênero Existem jogos sociais de estratégia, puzzle, etc.

Jogos Sociais

Jogos Sérios Jogo criado com propósito além do entretenimento Educação Informação Treinamento Publicidade... Ao fazer o jogador se engajar com o jogo, faz com que o aprendizado ou informação que se queira passar seja absorvido mais facilmente Mercado em crescimento constante US$1,5 bilhão anuais Expectativa acima de US$2 bi para 2017 Em boa parte por conta dos dispositivos móveis Também não são exatamente um gênero

Desenvolvimento

Desenvolvimento O processo de desenvolvimento de jogos é muitas vezes bem mais complicado do que outras categorias de software Engenharia + Arte Não basta desenvolver um produto tecnicamente competente Divertido Interessante Capaz de prender o jogador Muita iteração

Papéis Em uma equipe de desenvolvimento Arte Áudio Game Design Produção Programação Especialização em equipes maiores Level Design Programação de IA...

Papéis No nosso caso Simplificação de papéis Utilização de ferramenta para desenvolvimento rápido Construct 2 Aproveitamento de assets Foco em aplicação de conceitos de desenvolvimento

Game Design Ato de decidir o funcionamento de um jogo Gênero Mecânicas Narrativa Personagens Inimigos/Obstáculos Ações Cenários/Níveis Monetização...

Gênero Em qual (ou quais) gênero(s) o jogo se encaixa? Como serão aplicados os componentes fundamentais do gênero nesse jogo específico? O jogo trará alguma novidade ou inovação dentro do gênero ou será mais tradicional?

Mecânicas Quais são as regras que definem a jogabilidade? De que maneira será estruturada a jogabilidade? Em turnos Em tempo real Podem haver vários jogadores em uma mesma partida? Como eles interagem entre si? Cooperação Disputa De que maneira o jogador se comunica com o jogo e como o jogo dará uma resposta ao jogador? Entrada/Saída O jogo possui um fim ou condição de vitória? Como o jogador chega a esse ponto?

Narrativa O jogo possui uma narrativa? Como essa história será contada para o jogador? De que maneira a narrativa será integrada à jogabilidade?

Personagens O jogo possui personagens bem definidos? Quais são esses personagens? Características Personalidade Habilidades Como haverá a comunicação do jogador com cada personagem? Personagens controlados pelo jogador NPCs

Inimigos/Obstáculos Quais são os inimigos ou obstáculos que o jogador irá encontrar durante o jogo? Que desafio cada um vai proporcionar ao jogador? No caso de inimigos, como será o seu comportamento?

Ações Que ações poderão ser executadas pelo jogador? Pular Atacar Correr Agachar... Como cada ação deverá ser utilizada no decorrer do jogo?

Cenários/Níveis De que maneira será dividido o jogo? Níveis Cenários... Haverá algum tema unindo os cenários (e.g., mundos de Super Mario)? Como se dará a progressão no jogo? E a dificuldade?

Monetização Relativamente novo na indústria de jogos Antigamente, não havia muitas opções, jogos em geral eram criados para serem vendidos por um preço único Hoje em dia há diversas opções Preço fixo Free-to-play (F2P) Microtransações DLC (Downloadable Content) O esquema de monetização terá efeito profundo no design do jogo Um jogo F2P não deve ser projetado da mesma maneira que um jogo pago

O que faz um jogo ser bom? Não há fórmula para criar um bom jogo É preciso conhecer e jogar video games Algumas boas características Desafio Idealmente o jogo deve oferecer desafio crescente ao jogador, mas sem nunca ser injusto Progressão O jogador deve se sentir em constante evolução à medida em que passa mais tempo com o jogo Inovação Não é preciso (e muitas vezes nem recomendado) ser inteiramente inovador, mas um toque de inovação ajuda

O que faz um jogo ser bom? Algumas boas características (cont.) Polish Deve ser bem trabalhado, com transições e animações fluidas, gráficos apropriados, jogabilidade refinada Expectativa O jogo deve causar uma boa expectativa no jogador em relação ao que há de vir (novos níveis, inimigos, recursos), deixando o mesmo na iminência de ser surpreendido positivamente Fantasia Jogos são muitas vezes utilizados como uma forma de escapismo e devem permitir ao jogador explorar mundos, situações e pontos de vista aos quais não teria acesso de outras maneiras

O que faz um jogo ser bom? Alguma outra característica desejável?

O que faz um jogo ser bom? É difícil prever o que os jogadores desejam Mais do mesmo? Jogos/conceitos revolucionários? Jogos de alto orçamento, produzidos por grandes equipes muitas vezes são fracassos de vendas Jogos independentes, produzidos por equipes pequenas (ou mesmo por um único desenvolvedor) podem se tornar grandes sucessos Exemplo recente: Flappy Bird

O que faz um jogo ser bom? Existe algum segredo para se tornar um bom desenvolvedor de jogos? Prática > Teoria A melhor maneira de evoluir é praticar sempre Desenvolver jogos constantemente Protótipos Game jams Mods Clones (para aprendizado!)...

Pergunta Alguém já possui alguma ideia para um jogo? Conceito Gênero Jogabilidade

Jogos 2D

Jogos 2D Jogos limitados a duas dimensões Durante um longo tempo o carro-chefe da indústria

Perspectivas Top-down Visão de cima Principais gêneros Ação/Aventura Corrida RPG Simulação

Perspectivas Visão lateral Principais gêneros Luta Plataforma Shoot em up

Jogos 2D 1990s - Decadência Jogos 3D Doom e seus filhos N64, PSX Morte do 2D? 2000s - Ressurgimento Mobile Indies Distribuição digital Jogos sociais

Jogos 2D Por que desenvolver jogos 2D? Aprendizado Rapidez Tempo Simplicidade Uma ordem de magnitude mais simples! Equipes menores Base para 3D

Elementos Básicos Engine Código/Lógica Input (Entrada) Sprites Tiles Outros Áudio IA UI...

Sprites Imagens que fazem parte do jogo Geralmente referem-se a imagens que serão animadas/movimentadas, ou terão algum tipo de interação Personagem principal Inimigos Obstáculos

Tiles Geralmente utilizados como elementos do cenário/imagens de fundo Estáticos Não possuem interação ou animação

Construct 2

Construct 2 Ferramenta para criação de jogos 2D Ferramenta visual Abstração de código Game Loop Display Atualização de estado... Utiliza lógica de programação Eventos Customização de comportamentos Loop de condicionais

Construct 2 Gratuito (com limitações) HTML5 Jogos multiplataforma Interface Drag and Drop Livre de Código Programação via eventos Comportamentos padrão (Behaviors) Ex: Plataforma Suporte a plugins Homepage: http://www.scirra.com/construct2

Construct 2

Construct 2

Recursos Download (versão r158.2): http://bit.ly/construct2r1582 Tutoriais: http://www.scirra.com/tutorials/ Guia para iniciantes: http://bit.ly/iniciantesc2 Expressões e Operadores: http://bit.ly/expressoesc2 Manual (em inglês): http://bit.ly/manualc2 Sprite Pack: http://bit.ly/c2spritepack Scirra Arcade: http://www.scirra.com/arcade

Criação de um novo projeto Projeto vazio Projetos configurados Mobile Facebook Windows... Templates Plataforma Tiro Corrida... Exemplos Iluminação Efeitos...

Layouts Telas do jogo Levels Menus... Layout Size Tamanho total da tela Window Size Tamanho da janela de jogo O que pode ser visto pelo jogador

Layouts O que significa ter um Layout Size maior do que o Window Size? E com o mesmo tamanho?

Layouts O que significa ter um Layout Size maior do que o Window Size? E com o mesmo tamanho? Um layout maior indica a existência de conteúdo fora da vista do jogador Scrolling pode ser utilizado para que o jogador eventualmente avance de posição e visualize o restante do layout Com o mesmo tamanho, obrigatoriamente não há scrolling, a visão do jogador ocupa todo o espaço do layout

Layouts Contêm os componentes do jogo Para inserir um componente Clique duplo no layout Botão direito -> Insert new object Exemplos de componentes Sprites Tiled Backgrounds Texto Objetos de Entrada...

Layouts Vamos adicionar alguns componentes Sprites (Ex: http://bit.ly/sprite1c2 ) Tiled Background (Ex: http://bit.ly/bgtile1c2 ) Editor de Imagem

Layouts Diferenças entre Sprites e Tiled Backgrounds Tiled Backgrounds não possuem animação Ao aumentar o tamanho do Tiled Background, a imagem se repete Alguns atributos Name Position Size Opacity Visibility UID

Tipos de Objeto e Instâncias Tipo de objeto Classe de objeto, indicando as características principais que os objetos daquela classe vão possuir (imagem, animação, behaviors, etc.) Criado ao inserir um novo objeto no Construct 2 Instância Representação individual de um tipo de objeto Todas as instâncias compartilham das características do tipo de objeto No jogo, instâncias comportam-se individualmente

Tipos de Objeto e Instâncias Na imagem, há dois tipos de objeto Jogador (Uma instância) Monstro (Oito instâncias) Todas as instâncias possuem a mesma imagem, animação, regras de comportamento, entre outros Durante a partida, comportam-se de maneira autônoma Se uma instância morrer, as outras continuam no jogo

Tipos de Objeto e Instâncias Para criar novos tipos de objeto Inserir novo objeto Para criar novas instâncias Copiar e colar um objeto Duplicar um objeto Arrastar da janela de objetos para o layout

HandsOn Crie um projeto com três diferentes tipos de objeto Tipo 1 (Tiled Background): Uma instância Tipo 2 (Sprite): Duas instâncias Tipo 3 (Sprite): Três instâncias Todas as instâncias devem estar visíveis na janela do jogo Nos tipos com mais de uma instância, as instâncias devem ter tamanho e opacidade diferentes Insira um texto com seu nome no meio da janela de jogo

HandsOn Exemplo de solução http://bit.ly/c2handson1

Tipos de Objeto e Instâncias Em um jogo como Super Mario, quais são alguns dos tipos de objeto que podemos identificar?

Tipos de Objeto e Instâncias Em um jogo como Super Mario, quais são alguns dos tipos de objeto que podemos identificar? Mario Goomba Tartaruga Nuvem...

Variáveis de Instância Variáveis associadas a cada instância de uma classe Cada instância possui diferentes cópias da mesma variável Valor individual Ex: Vida de inimigos Atributos: Name Type Initial value

Variáveis de Instância Possíveis tipos de variáveis no Construct 2 Boolean Valor booleano true / false Número Valor númerico inteiro ou decimal Text Valor textual

HandsOn Adicione uma variável de instância de cada tipo aos sprites criados no exercício anterior

HandsOn Exemplo de solução http://bit.ly/c2handson2

Variáveis de Instância Em um jogo como Super Mario, quais são algumas das variáveis de instância que o Mario poderia ter?

Variáveis de Instância Em um jogo como Super Mario, quais são algumas das variáveis de instância que o Mario poderia ter? Super : Boolean Power-up : Number VelocidadeX : Number VelocidadeY : Number...

Propriedades de Tipos de Objeto Imagens Animações Behaviors Variáveis de instância Eventos...

Propriedades de Instâncias Posição Ângulo Tamanho Transparência Valores de variáveis de instância...

Layers Camadas de componentes Melhor organização do projeto Background Interface do Usuário Inimigos...

Layers Janela de Layers Nome Identificação do layer Índice Maiores índices desenhados por cima Ordem Z Visível/Invisível Visibilidade do layer (e componentes) Trancado/Destrancado Editável ou não Indicação de layer ativo Layer onde são inseridos componentes

HandsOn Adicione dois novos layers ao projeto do HandsOn anterior Adicione ao menos uma instância a cada um dos layers

HandsOn Exemplo de solução http://bit.ly/c2handson3

Behaviors Comportamentos e características padrão providos pelo Construct 2 Podem ser customizados através de atributos Buscam cobrir algumas das funções mais comuns em jogos 2D

Exemplos de Behaviors 8-Direction Movimento em oito direções Jogos top-down Controlado pelo jogador Platform Movimento de jogos plataforma Andar para os lados Pular Jogos side-scrolling

Exemplos de Behaviors ScrollTo Faz a câmera seguir o objeto Bound to Layout Garante que o objeto não poderá deixar a área do jogo Destroy Outside Layout Caso o objeto deixe a área do jogo, é destruído Solid... Economia de memória Deixa o objeto sólido Impassável

HandsOn Crie um novo projeto Faça um esboço de jogo plataforma Um personagem principal Comportamento padrão de jogos plataforma Pelo menos três plataformas separadas por espaços vazios Acessíveis com o pulo do personagem Compostas de sprites diferentes Pelo menos uma plataforma deve conter um obstáculo Pelo menos uma das plataformas deve estar fora da janela de jogo inicial Acessível por scrolling Scroll deve acompanhar o personagem principal Nomeie os tipos de objeto

HandsOn Exemplo de solução http://bit.ly/c2handson4

Eventos Execução de ações de acordo com determinadas condições Análogo a condicionais (programação) Event sheet Lista de eventos Uma lista por layout Eventos avaliados pela ordem de listagem Uma vez a cada tick (frame do jogo)

Eventos

Eventos Event sheet é um loop 1. WHILE (JogoRodando) 2. IF (CONDIÇÃO1) 3. AÇÕES 4. IF (CONDIÇÃO2) 5. AÇÕES 6....

Condições Derivadas de objetos Objetos do Construct 2 (ex: Sistema, Teclado, Mouse) Objetos do usuário (ex: Sprites) Podem haver múltiplas condições em um evento Todas devem ser verdadeiras para que o evento aconteça Lógica AND

Exemplos de Condições System -> Every tick Sempre verdadeira ações executadas a cada tick System -> On start of layout Verdadeira no início do layout ações executadas uma vez System -> On end of layout Verdadeira no final do layout Mudança para novo layout Fechamento do jogo System -> Every X seconds Condição verdadeira a cada X segundos

Exemplos de Condições Keyboard -> On key pressed/released Verdadeira quando determinada tecla é pressionada (pressed) ou liberada (released) Disponível apenas se inserir o objeto Keyboard no projeto Keyboard -> On any key pressed/released Verdadeira quando qualquer tecla é pressionada (pressed) ou liberada (released) Mouse -> On click Verdadeira quando determinado botão de mouse é clicado Disponível apenas se inserir o objeto Mouse no projeto Mouse -> On any click Verdadeira quando qualquer botão de mouse é clicado Mouse -> On object clicked Verdadeira ao clicar em algum objeto do jogo

Exemplos de Condições Sprite -> On created/destroyed Verdadeira no momento em que é sprite é criado (created) ou destruído (destroyed) Sprite -> Compare X/Y Verdadeira de acordo com o valor da posição X ou Y do sprite Sprite -> Compare instance variable Verdadeira de acordo com o valor de determinada variável de instância

Condição Else Utilizada se as condições anteriores de um evento não forem verdadeiras IF-ELSE Para adicionar Botão direito no evento -> Add Else

Invert Faz com que a condição seja ativada se for falsa, em vez de verdadeira Lógica NOT Para ativar Botão direito na condição -> Invert

Ações Aplicadas a um objeto Objetos do Construct 2 Objetos do usuário Executadas se todas as condições do evento forem verdadeiras Ações disponíveis dependem de: Classe/Tipo de objeto Behaviors Variáveis

Exemplos de Ações System -> Create object Cria uma instância de determinado objeto System -> Go to layout Troca o layout atual para algum outro layout do projeto Sprite -> Set angle Muda o ângulo de rotação do sprite Sprite -> Set visible Faz o sprite ficar visível ou invisível Sprite -> Set opacity Define o nível de transparência do sprite

Exemplos de Ações Sprite -> Set X/Y Muda o valor da posição X ou Y do sprite Sprite -> Set Size Muda o tamanho do sprite Sprite -> Destroy Destrói o sprite Sprite -> Spawn another object Cria outro objeto de determinado tipo Sprite -> Set value (Instance variables) Define o valor de alguma variável de instância do sprite

HandsOn Crie eventos para Detectar se o personagem caiu de uma plataforma e reiniciar o jogo Fazer o personagem morrer (e reiniciar o layout) após bater em obstáculos cinco vezes Fazer o personagem piscar caso bata em um obstáculo e não esteja piscando atualmente Dica: Behavior Flash Desafio: Fazer com que o personagem seja controlável também com as teclas WAD Ação: Personagem -> Simulate control

HandsOn Exemplo de solução http://bit.ly/c2handson5

Parâmetros Podem existir tanto em condições quanto em ações Indicam o valor de atributos relacionados à condição/ação Ex: (Ação) Mover objeto para posição Parâmetros: X e Y Possíveis valores: Estáticos: X = 25, Y = 100 Valores de variáveis: X = Touch.X, Y = Touch.Y Funções: X = random(25), Y = sin(100) Expressões: X = (Mouse.X + random(25))/2

Exemplos de Funções sin(x) Seno de X cos(x) Cosseno de X tan(x) Tangente de X asin(x) Arco seno de X acos(x) Arco cosseno de X atan(x) Arco tangente de X sqrt(x) Raiz quadrada de X random(x) Número aleatório de 0 a X floor(x) Maior número inteiro abaixo de X ceil (X) Menor número inteiro acima de X

Parâmetros Para visualizar expressões disponíveis

Variáveis Globais Apenas uma cópia em todo o jogo Valor único Pode ser modificado via eventos Disponível em todos os layouts Ex: Pontuação do jogador Opcionalmente constante Valores globais imutáveis Ex: Gravidade Para adicionar Botão direito no event sheet -> Add global variable

Variáveis Globais

HandsOn Armazene em uma variável global a última plataforma alcançada pelo personagem antes de morrer Ao reiniciar o jogo, faça o personagem começar nesta plataforma Crie um texto que indique a vida restante do personagem Mantenha o texto sempre acima dele Desafio: Fazer o personagem se movimentar com o mouse/toque (utilizar objeto Touch) Personagem deve andar na direção do toque enquanto estiver pressionado (para a direita ou esquerda) Dica: System -> Compare two values

HandsOn Exemplo de solução http://bit.ly/handson6mobile

Link para download dessa aula http://bit.ly/mobileaula1