Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina.

terça-feira, 1 de março de 2011

Décima Oitava Aula: 28/02/2011 (Computação Gráfica)


 

FILTROS GRÁFICOS e MATRIZES em IMAGENS


O professor primeiramente revisou as aulas passadas sobre cores, imagens e limiarização. 

Sobre as cores, explicou a formação aditiva e subtrativa, esta por pigmentação e aquela por luz. Na pigmentação (tinta), utiliza-se o espaço de cores CMYK (Cyan-Magenta-Yellow-blacK). Pela iluminação, utiliza-se o espaço de cores RGB (Red-Green-Blue). 

As imagens têm vários formatos, como por exemplo JPEG (Joint Photographic Experts Group) que armazena 24 bits para as imagens, podendo exibir 16 milhões de cores. Seu método de compressão elimina as cores não captadas pelos olhos humanos. O tipo GIF (Graphics Interchange Format), que armazena somente uma paleta de 256 cores, por isso os arquivos nesse formato ocupam pouco espaço.


LIMIARIZAÇÃO (Thresholding):

É o método no qual, por meio do histograma (representação gráfica de distribuição de frequências de cor de uma imagem em preto e branco ou escala de cinza), transforma-se uma imagem definida a níveis de cinza em preto e branco. O método procurar o nível de limiarização ótimo que divide o histograma em duas classes.


FILTROS:

Finalmente, os filtros de imagem. Para que servem? Unicamente para eliminr ruídos na imagem, isto é, informação inútil da imagem. Ruído não é somente uma imagem com pontos estranhos, marcas de digitais de dedos, ofuscação, mas sim aquilo que impede a finalidade da imagem. Um dos ruídos mais comuns é o salt & pepper.




MATRIZES DE CONVOLUÇÃO:

Toda imagem pode ser representada por uma matriz, geralmente uma matriz de pontos (pixels), por exemplo: 


A maioria dos filtros são processados através da matriz de convolução. Mas, o que é convolução? É cálculo matemático entre duas matrizes, uma sendo a matriz da imagem e a outra é a matriz de convolução. A operação é a soma dos resultados da multiplicação de cada elemento da matriz com a matriz da imagem. Os valores resultantes substitutem os pixels originais da imagem.
Exemplos de Matrizes de Convolução:


Esta última matriz, Emboss, é muito utilizada para simular efeitos 3D, também chamado de Bump Mapping (simulação de efeito 3D através da iluminação).

Cada mudança dos valores da matriz de convolução mudará a imagem.


Finalmente, preciso instalar o aplicativo GIMP, software comparável ao Photoshop, mas de graça. Com o Gimp, e possível testar as matrizes de convolução e filtros para aprender mais.

O professor pediu para escolhermos uma imagem e, através da matriz e dos filtros do Gimp, transformássemos a imagem somente em contornos de preto com fundo branco.

Ah, estou com muito sono. Olhem a hora da postagem!!!

Abraços!

domingo, 27 de fevereiro de 2011

Décima Primeira Aula: 16/02/2011 (Aplicações para Internet)



HELLO WORLD!

O professor não ensinou o básico do Flash CS 5, pois não podemos perder tempo e o melhor mesmo é partir para o ActionScript. 

Podemos começar a escrever em ActionScript direto no frame.

O primeiro comando aprendido é o "trace()", função que escreve na saída (utilizado para informar mensagens para o programador durante a fase de teste) do Flash a frase contida entre parênteses. O comando trace("Hello World!")  foi a primeira frase que colocamos. Lembrar que os comandos, funções e variáveis são case sensitive, ou seja, precisa saber se usa letra maiúscula ou minúscula para não dar erro. 

Faltou um pouco de didática do professor para explicar o que são variável e função.

Variáveis são referências a determinado espaço na memória reservado para armazenar informações. Por exemplo, o comando var n = 5 reserva um espaço na memória, cujo endereço é referenciado por "n" para guardar o valor "5". 

Função contém um conjunto de comandos e que pode retornar um valor. 

Utilizamos "\*"    "*\"  para inserir comentários dentro do próprio código para ajudar a entende-lo pelo programador. 


ESCREVENDO NO PALCO:

Para escrever no "Palco" ou Stage é necessário utilizar as propriedades de texto do Flash.

import flash.text.TextField;     
//aqui nós importamos a biblioteca da classe TextField do Flash para utilizar as propriedades de texto.

var objetoTexto:TextField = new TextField();
//criamos uma variável "objetoTexto" do tipo TextField (classe/objeto) e reservamos, com o "new", um espaço na memória para guardar os futuros valores de objetoTexto.

objetoTexto.Text = "Hello World!";
//guardamos a frase "Hello World!" (entre aspas mesmo) na propriedade "Text" da variável objetoTexto.

addChild(objetoTexto);
//esse comando inclui o texto na stage. Child ("Filho") é assim considerado porque a stage é o objeto Pai ("Parent").

Na Programação Orientada a Objetos (POO ou OOP), utiliza-se a idéia de hierarquia parental entre objetos/classes para tornar mais dinâmico e eficiente a codificação. É imprescindível na programação de jogos entender a OOP.



Por exemplo, o objeto Stage é um Parent que pode conter Childs do tipo imagem, texto, animação etc.


Bom, essa aula foi só isso mesmo. É importante sempre fazer o primeiro programa "Hello World", pois, como disse o Gustavo Guanabara (o guanabara.info, link na coluna ao lado), isso tira a "zica" - quem não fizer esse programa, vai se tornar um péssimo programador.

quinta-feira, 24 de fevereiro de 2011

Décima Aula: 14/02/2011 (Computação Gráfica)








SISTEMAS DE CORES



Espaço de Cores RGB:

As cores Red-Green-Blue são adotadas no sistema computacional para formar as cores pelo processo aditivo (luminoso). Quando as frequências dessas cores se misturam, formam outras cores, como magenta, amarelo, e ciano. Cada uma dessas cores básicas contém 256 tonalidades, variando entre 0 a 255.





Quando as cores RGB são misturadas no seu valor máximo, 255, forma-se a cor branca (união de todas as cores). Pode-se verificar isso na prática através do Disco de Newton, no qual um disco com essas três cores é girado a uma velocidade em que aparentemente as cores se misturam, ocorrendo a formação da cor branca.

Na ausência das três cores, ou seja, cada uma das cores RGB tem valor 0 (zero), forma-se a cor preta, ou simplesmente há ausência de cor.


Cubo Cromático:



O Cubo Cromático é um meio de entender graficamente como se formam as cores. Por exemplo, seguindo os pontos da cor azul e da cor verde, as linhas se encontram onde forma-se o ciano. Preto e branco estão em posições totalmente opostas. E assim por diante. 

vermelho + azul + verde = branco
vemelho + azul = magenta
vermelho + verde = amarelo
verde + azul = ciano


Pixels e Cores:

Pixels são pontos na tela do computador. Quanto mais pontos, ou pixels, mais detalhista e melhoradas as imagens ficam. A palavra Pixel surgiu da aglutinação de Picture Element (“Elemento de Imagem”), formando Pic+El = Picel, ou seja, Pixel. Cada pixel na tela contem valores para vermelho, verde e azul, que são convertidos em diferentes intensidades e voltagens através da correção de gama.


Os Bits das Cores:

Bit é uma palavra que surgiu da aglutinação da redução das palavras Binary Digit (“Dígito Binário”), que designa os dois valores que os computadores compreendem: 0 e 1. Enquanto nós utilizamos o sistema decimal (0...9) para representar valores, o computador utiliza somente esses dois números. Vale lembrar que 8 bits equivale a 1 byte.

Geralmente, para cada cor do sistema RGB um adaptador gráfico típico utiliza até 8 bits para representá-lo. Assim, para cada pixel, há utilização de até 24 bits (8+8+8). Portanto, convertendo 8 bits em números decimais, encontra-se o valor 2^8 = 256. Então, para cada cor, há 256 intensidades de cor (0...255). Finalmente, no sistema de 24 bits, há aproximadamente 16 milhões (256^3 = 16.777.216) diferentes combinações de cores (tonalidade, saturação e brilho).





Além da representação binária e decimal, há a representação hexadecimal, que será visto posteriormente.

Mas, todavia, porém, não obstante, o olho humano só detecta 5 milhões de tonalidades de cor, ou seja, os outros 11 milhões não são detectados por nós. O que fazer com esse milhões “inúteis”? Essa é a tarefa do processamento de compactação de imagens, reduzindo o tamanho dos arquivos no computador. Com a compactação, elimina-se esses 11 milhões de combinações.


Espaço de Cores CMYK:

CMYK ou Cyan-Magenta-Yellow-blacK (ciano, magenta, amarelo e preto) é outro sistema de cores que é utilizado para formar outras cores pelo processo subtrativo (pigmentação). Conforme mostrado acima no Cubo Cromático, as cores ciano, magenta, amarelo e preto são composições das cores vermelho(R), verde(G) e azul (B). O seu processo subtrativo ocorre quando todas as cores da luz branca são absorvidas pelo material, exceto a cor que é refletida.

Esse sistema de cores é utilizado pelas impressoras (por isso os cartuchos de tinta contêm as cores ciano, magenta e amarelo), imprensas, fotocopiadoras. A cor preta pode ser formada pela união das três cores CMY, mas não seria o preto puro e por isso existem cartuchos de tinta que contêm somente a cor preta.

O sistema de cor CMYK tem um espectro de cor muito menor do que o sistema RGB e este é o motivo porque não é possível uma impressão da imagem em papel idêntica à vista no monitor do computador.


Outros Sistemas de Cores:

Existem os padrões HLS, HSV, IHS, YCrCb que são muito diferentes dos sistemas acima e são mais utilizados pelos artistas. O sistema HLS (Hue, Light & Saturation) adota as composições de Matiz (Hue), Luminosidade (Light) e Saturação (Saturation) para formar as cores. O sistema YCrCb é adotado na formação das imagens das televisões digitais.




sábado, 19 de fevereiro de 2011

Nona Aula: 11/02/2011 (Interface Humano-Computador)




Diferença entre iteração e interação?

Iteração: é o famoso loop da programação de computadores, utilizado para repetir ações várias vezes até que uma condição seja completada. 

Interação: é um acontecimento que ocorre quando uma ação de uma coisa gera uma reação em outra coisa. No nosso caso, é quando uma pessoa interage com um computador, aquele fazendo uma ação pela qual este reage.


INTERFACE HUMANO-COMPUTADOR:

É uma disciplina multidisciplinar que abrange: Ciência da Computação, Psicologia Cognitiva, Sociologia, Artes, Design, Ergonomia, Semiótica, Linguística entre outras ciências.

O principal objetivo de IHC é criar ou melhorar as interfaces de modo que o computador se torne uma ferramenta útil, eficiente, de fácil utilização e seguro contra erros e falhas do usuário . Também busca desvendar as relações entre usuário e o computador a partir de diversos pontos de vista para melhorar as técnicas de desenvolvimento de interfaces. 


AS INTERFACES ATRAVÉS DO TEMPO:

Na década de 1950, a interação entre o homem e a máquina (antigos mainframes) ocorria através de painéis e placas, sendo o homem um especialista (geralmente engenheiros e cientistas). 



Nos anos de 1960 e 1970, começaram a surgir as primeiras linguagens de programação, como ASSEMBLY, FORTRAN, COBOL que facilitou o uso dos computadores através de códigos que o computador podia traduzir para o processador.



Na década de 1980, surgiram os sistemas operacionais que facilitaram os comandos, tornando-os mais intuitivos e rápidos. MicroSoft Disk Operating System, mais conhecido como MS-DOS, foi um dos mais conhecidos sistemas, criado pela Microsoft por encomenda da famigerada IBM. O uso do MS-DOS perdurou até meados da década de 1990. E que época...eu adorava utilizar o DOS (depois de um tempinho aprendendo os comandos!), parecia que eu tinha o comando total do computador (mera ilusão...). Não era que nem usar o Windows, todo facinho, facinho.


 
Depois da era DOS, surgiram as primeiras interfaces GUI - Graphical User Interface, sendo o principal e mais impactante entre os usuários de computador pessoal (PC) o encontrado no sistema Windows. O Windows 3.0/3.11 era um aplicativo que dependia do DOS e utiliza o "rato" (mouse) para acessar suas funções. O Windows 95 foi o sucessor do DOS como sistema operacional e revolucionou a interface gráfica.





Graças às interfaces inteligentes, houve a possibilidade de desenvolver sistemas GUI para dispositivos móveis, aperfeiçoamento da tecnologia de displays, novas técnicas de entrada e saída de dados e difusão do computador para as minorias.

Atualmente, a IHC voltou-se muito mais para os dispositivos móveis, cada vez mais utilizados no dia-a-dia (celulares touchscreen, smartphones, tablets etc.). 


INTERFACES ATUAIS:

Algumas características comuns das interfaces atuais: extrema utilização de imagens para representar comandos, facilidade de uso para todos os níveis de usuário, facilidade de aprendizagem, sistema intuitivo para gerenciamento e configuração, personalização do visual.


DESIGN DE INTERFACES:

Ao projetar a interface, deve-se levar em conta quatro propriedades básicas:

Mapeamento Natural: utilização de padrões e símbolos bem estabelecidos e conhecidos pelo usuário.

Visibilidade dos Controles: tamanho, quantidade dos controles, bem como a proporção com relação ao espaço disponível.

Reconhecimento X Recordação: aprendizado baseado em tentativa e erro, gravando assim o caminho seguido anteriormente para atingir determinado objetivo. Na próxima vez que for utilizada a interface, haverá um reconhecimento automático.

Feeback: sempre responder às ações do usuário.


BIBLIOGRAFIA:

NORMAN, Donald. Design do dia a dia. Rio de Janeiro. Rocco, 2006.

Por que alguns produtos satisfazem os consumidores, enquanto outros os deixam completamente frustrados? Em 'O design do dia-a-dia', o especialista em usabilidade Donald A. Norman analisa essa questão, mostrando que a dificuldade em manipular certos produtos e entender seu funcionamento não é causada pela incapacidade do usuário, mas sim por uma falha no design do que foi fabricado. Para o autor, design é mais do que dar uma bela aparência a alguma coisa - é um ato de comunicação, que transmite a essência da operação do objeto e implica o conhecimento do público para o qual ele foi criado. O livro apresenta quatro princípios fundamentais do design - modelos conceituais; feedback ou retorno de informações; restrições; e affordances. Ao longo dos capítulos, Donald A. Norman dá exemplos de produtos adequados e inadequados, além de mostrar de que forma o excesso de tecnologia pode comprometer a facilidade de utilização do que foi fabricado. Ele também ressalta a importância do poder de observação. Sabendo olhar com atenção a si mesma e aos outros, cada pessoa se torna capaz de contribuir para a melhoria da qualidade de vida da população em geral. As dicas, análises e considerações reunidas neste livro tornam sua leitura interessante não só para quem trabalha com a fabricação de produtos, mas para todos nós, que diariamente temos que lidar com as engenhocas criadas por nossos semelhante. (Fonte: Falando de Design).


quinta-feira, 17 de fevereiro de 2011

Oitava Aula: 10/02/2010 (Programação de Computadores)


 




Logo após a aula de Plataforma de Jogos fomos ao laboratório para a aula de Programação de Computadores. 

O Professor explicou um pouco mais sobre Game Maker e confessou que realmente é um aplicativo de desenvolvimento limitado, não muito utilizado, mas que servirá para aprender o básico da programação de jogos. Futuramente, aprenderemos XNA (plataformas PC e Xbox 360). 

A primeira coisa que aprendemos foi abrir, no Game Maker versão 8.0, o arquivo de exemplo treasure.gmk (a extensão dos arquivos são “.gmk”). Tal arquivo contém um projeto de jogo chamado Explorer, um Pac-Man cujo protagonista lembra Indiana Jones.


Explorer feito em Game Maker

Aprendemos apenas um pouco de como alterar background, alterar cores das imagens já existentes, enfim, manipular os objetos que já existiam no exemplo. No dia deste post, irei aprender a linguagem de programação GML (assim espero...).


quarta-feira, 16 de fevereiro de 2011

Palestra sobre Desenvolvimento de Jogos na Campus Party 2011

Palestra de sobre desenvolvimento falando um pouco sobre a dura mas crescente indústria de jogos digitais no Brasil. Confira:




Comentem!


Sétimo dia de aula: 10/02/2011 (Plataformas de Jogos)





 

Olá, novamente!

Na aula de hoje, começamos questionando: é importante classificar os jogos em gêneros? Dizer que um jogo é assim ou assado faz diferença? Jogo é jogo, e pronto?

Resposta: É, sim, importante classificar o gênero de um jogo, principalmente em termos de público, marketing e desenvolvimento. O público se identifica com determinados gêneros, como jogos de luta, jogos de RPG, jogos de estratégia, etc. A indústria (grande responsável pela definição dos gêneros) criou, por motivos de marketing, quer vender o seu produto e, para atingir determinado público, usa os gêneros para chamar a atenção do jogador. No desenvolvimento, sempre é necessário verificar o que o mercado quer, o que os nossos consumidores querem naquele momento: há épocas em que os jogos de futebol estão em alta, em outro momento há uma grande demanda por jogos de FPS de guerra (Call of Duty 4 - Modern Warfare, v.g.), jogos de reprodução musical (Guitar Hero, Rock Band) entre tantos outros; claro, há também o conhecimento geral sobre determinado gênero que determina todo o desenvolvimento: todos os desenvolvedores de uma equipe sabem o que é um jogo de RPG, um jogo de plataforma 2D, jogos de tiro em primeira pessoa (FPS - First Person Shooter). A classificação por gêneros também pode ser útil para fins de estudo, pesquisa e inspiração para os especialistas da área.


Jogos e Gêneros...
 
No site Gagá Games, há uma crítica sobre gêneros de jogos com base na obra de James Newman, Videogames.  Muito bom, assim como os comentários dos leitores. Sua idéia sobre gênero de jogos não como meio de classificação mas como desafio (sair dos moldes previsíveis) é uma ótima idéia criativa para os Game Designers. 

Apenas para exemplificar, citemos alguns gêneros: Action 2D/3D, Point-and-Click Adventure, Strategy, RPG, Sports, Simulation, Adult/Mature, Advergames (Advertising Games - Jogos Publicitários), Educational, Serious Games (jogo com objetivos de treinamento, por exemplo), Casual, Social, Puzzle, Indie (independentes). 

O Professor comentou algo que eu desconhecia ou já tinha ouvido falar mais ou menos: ARG. 


O QUE É ARG?

Sigla para Alternate Reality Game (Jogo de Realidade Alternativa) é um tipo de jogo que se utiliza das mídias da vida real, combinando realidade e o mundo do jogo para dar uma nova experiência ao jogador. Geralmente utilizado para difundir uma marca, um meio de publicidade de forma indireta, sem afetar a imersão do jogo. Um exemplo é o I love bees, que tinha como finalidade promover o jogo Halo 2.

O primeiro jogo no Brasil e segundo no mundo foi o Sete Zoom, da marca Close-Up, lançado em 2001 (Wikipedia). 


PLATAFORMAS:

Perguntar em qual plataforma o jogo rodará é saber para quais hardware e software ele é compatível.

Algumas plataformas: MacOS, Windows, Windows Mobile, Linux, iPhone, JVM (Java Mobile), Brew (C++ for Mobile), Android, Blackberry, Wii, Wiiware, DS, DSi, DS XL, Xbox (1 e 360) , Playstation (1,2 e 3), Playsation Portable - PSP), PSP Go, Playstation Network, iPad, Browser (navegador de internet) e TV Digital. 

O que as plataformas definem em relação ao desenvolvimento de jogos? 

É de extrema importância, pois para cada plataforma há necessidade de estudo sobre IHC (Interação Humano-Computador), utilização de recurso de hardware e software (aprendizado sobre novas linguagens e limitações), organização da equipe de desenvolvimento (contratação de pessoal que tenham conhecimento sobre a plataforma),
criação de assets (recursos de jogo), custos (quais licenças devem ser compradas em relação a engines). reutilização de códigos já criados para a plataforma (desnecessidade de refazer códigos com a vantagem de estes serem mais confiáveis) e marketing (quantos usuários utilizam aquela plataforma e quantos jogam). Ou seja, é necessário planejamento minucioso para desenvolver no menor tempo possível.


EQUIPE DE DESENVOLVIMENTO - UM DESAFIO INTERDISCIPLINAR:

Desenvolver um jogo é um desafio interdisciplinar, pois a equipe deve ser formada por pessoas que conheçam quatro campos básicos:

Computação: responsável pelo processamento da Computação Gráfica, criação da Inteligência Artificial, aplicação de técnicas de Engenharia de Software etc.

Arte: no qual se encontram Design Gráfico, Modelagem 3D, Engenharia de Áudio (sonorização e trilhas sonoras), Vídeo e Roteiro.

Entretenimento: IHC, Game Design, Level Design, etc. para obtenção de novos meios e idéias para entreter o jogador.

Quais limites quando se planeja desenvolver games?

São basicamente três: realismo nos jogos através de gráficos e animações bem elaborados (os jogos eletrônicos são os grandes responsáveis pelo avanço da tecnologia dos computadores), conhecimento técnico para criar códigos cada vez mais complexos e tempo (existem prazos para conclusão do projeto). 

Algoritmos

É sempre necessário testar o jogo em minilaboratórios, principalmente quanto ao funcionamento da IA (Inteligência Artificial).


NOVOS HORIZONTES E PERSPECTIVAS:

Todas as formas de comunicação (rádio, TV, telefone, internet) estão se tornando digitais. O cinema, a TV, estão se tornando interações em rede através da digitalização dos mesmos. Com certeza, serão novos meios de entretenimento em jogos.

A Televisão 3D poderá ser um novo plus em termos de design de games, mas há questões ainda a serem resolvidas, pois as plataformas terão que avançar mais para suportar o processamento do jogo e das imagens tridimensionais (projeções de imagens 3D). 

Novas Perspectivas

Por enquanto, é só. Estou atrasado nos posts, mas infelizmente não estou tendo tempo mesmo. Se no meu trabalho tivesse internet, seria possível avançar mais. Mas, vamos que vamos.



terça-feira, 15 de fevereiro de 2011

Sexto dia de aula: 09/02/2011 (Aplicações para Inernet)

Essa é uma das melhores aulas. Aplicações (games) para internet com Flash CS 5.

O Professor começou a explicar sobre como o mercado funciona, as carreiras de games, a diversas áreas dentro de uma empresa de desenvolvimento.

Todos querem trabalhar com jogos, certo? Não obstante, as pessoas que entram na área não sabem quais os requisitos e quais os caminhos a seguir.

REQUISITOS:

Alguns requisitos para se dar bem na área de jogos eletrônicos:

  • Ter o "engrishê" em dia, no mínimo saber ler e escrever em inglês. O perfeito é que tenha fluência no idioma e em outro (alemão, espanhol, japonês, italiano, francês etc.);
  • Teamwork (saber trabalhar em equipe);
  • Self-motivation (saber se automotivar);
  • Self-study (ser autodidata);
  • Love games (adorar jogos)!


CARREIRAS:

Existem diversas funções dentro das empresas desenvolvedoras de jogos. Cargos desde o pessoal de engenharia de software, passando pelos artistas gráficos até o executivo (BizDev - Business Development)

Os Game Designers (incluindo Level Designers) são muito importantes no mercado em geral, mas no Brasil existe cargo praticamente não existe, pois este trabalho pode (e deve) ser feito por toda a equipe. Mais tarde vou colocar um vídeo de uma palestra ocorrida na Campus Party 2010 sobre o mercado de desenvolvimento de jogos. 

No nosso país, se quiser entrar e se manter no mercado sem muita dificuldade, escolha a carreira de programador, que não falta emprego.


FLASH CREATIVE SUITE 5:

Na segunda metade da aula, o Professor mostrou o programa Flash CS 5, que eu sempre quis aprender, nem que seja para fazer uma animaçãozinha boba. 

Ele explicou sobre a interface do programa, a barra de "timeline", termos como "keyframes", "inbetween", interpolação etc. e já avisou: não vamos ficar "brincando" de usar ferramentas de desenho e nem usar a interface, e tudo srá através do uso da linguagem ActionScript, versão 3.0. 

Sobre o Flash, ele é um produto da empresa Adobe, uma das maiores empresas de produtos com recursos gráficos no mundo. Com o programa, podemos criar animações interativas para internet no padrão SWF (Shockwave Flash). 

É possível criar aplicativos para web, aplicar em design para websites, vídeos interativos, e, no nosso caso, jogos!

A linguagem ActionScript é um linguagem OOP (Object Oriented Programming - Programação Orientada a Objetos) para a plataforma Flash e voltada para aplicações R.I.A. (Rich Internet Applications - Aplicações de Internet Ricas). Com esta linguagem, é possível utilizar toda a capacidade da plataforma Flash. Atualmente ela está na versão 3.0.

O próprio Flash CS 5 possui um editor de programação ActionScript, mas o Professor recomendou utilizar outros programas para, como o Flash Develop e/ou o Notepad++.


CONGRESSOS:

De acordo com o Professor, existem três congressos que é bom ficar de olhos bem abertos:

GDC - Game Developers Conference, já explicado em post anterior. Simplesmente a maior do mundo.

SBGames - Simpósio Brasileiro de Games. É um evento organizado pela SBC - Sociedade Brasileira de Computação, reúne todas as áreas envolvidas no desenvolvimento de jogos digitais desde 2002. No útlimo simpósio, houve a participação do criador do jogo indie Braid, Jonathan Blow, e ocorreu em Florianópolis/SC. Pelo visto, de acordo com o Portal Oficial, a SBGames 2011 ocorrerá em Salvador/BA.

SIGGRAPH - É um evento (Special Interest Group on Computer Graphics and Interactive Techniques - Grupo com Especial Interesse em Gráficos de Computador e Técnicas Interativas) organizado ela ACM (Association for Computer Machinery - Associação para Maquinismo de Computador, tradução livre). Reúne pesquisadores, profissionais, estudantes entre outros da área de Computação Gráfica. Em 2011, ocorrerá duas conferências, uma em Hong Kong e outra em Vancouver.


BIBLIOGRAFIA:

Dessa vez, o Professor nos informou de várias obras interessantes, com aspectos mais históricos. Vejamos:

KENT, Steven L. The Utimate History of Video Games. Three River Press, 2001.

História dos jogos desde a era dos arcades (fliperamas, para os tupiniquins) até os consoles. Ótimo para conhecer a indústria dos jogos desde seu início, sobre os desenvolvedores que criaram jogos marcantes como Pac-Man, e entender como esse meio de entretenimento marcou gerações.







DEMARIA, Rusel; Wilson, John L. High Scores! The Illustrated History of Eletronic Games. Second Edition. McGraw-Hill Osborne Media, 2003.

Também um livro sobre a história do jogos, com várias ilustrações, contém diversas entrevistas com desenvolvedores e pessoas que acompanharam essa indústria. 


KUSHNER, David. Master of Doom. Random House Trade Paperbacks, 2004.

Obra sobre um dos jogos mais marcantes de todos os tempos: Doom, e seus criadores, os dois Johns, Carmack e Romero, fundadores da Id Software. Um relato histórico romanceado, mas muito interessante.









SHEFF, David. Game Over. Press Start to Continue. Cyberactive Media Group, 1999.

História sobre a Nintendo, desde a sua quase falência na década de 1980 até como ela abocanhou uma grande fatia do mercado de entretenimento eletrônico através dos seus jogos.









WILLIAMS, Richard. Animator´s Survival Kit. Second Edition. Faber & Faber, 2009.

Livro escrito pelo premiado animador de Who Framed Roger Rabbit? Richard Williams fornece ao leitores dicas e usa sua experiência para ensinar desde o iniciante até o veterano, do animador clássico até o especialista em computação gráfica.

sábado, 12 de fevereiro de 2011

48 Horas de Desenvolvimento: Benny Lava

Vocês já devem ter ouvido falar do Global Game Jam 2011, se não, confira no site do evento.

Na edição de janeiro deste ano, o tema para criação de jogo em um fim-de-semana foi "Extinção". 

Uma equipe de desenvolvedores gravou o processo de criação e colocou no Youtube. É muito interessante, pois mostra a modelagem, a programação, fase de testes do jogo Benny Lava. Como foram 48 horas sem parar, o vídeo está acelerado. Confira abaixo:






Fonte: GameReporter.org.



Quinto dia de aula: 08/02/2011 (Roteiro e Narrativa)

Roteiro, o material mais que necessário na produção de filmes. Mas será que é realmente necessário em jogos? 


DEFINIÇÃO DE ROTEIRO:

Antes de tudo, o que é Roteiro e pra que serve?

Ele é um documento narrativo, um guia dirigido a todos os envolvidos na produção de um filme para cinema ou programas de televisão e outras obras audiovisuais. Inclui o local onde se passa a cena, personagens, diálogos, tempo (dia/noite) e detalhes relevantes para que tudo funcione como imaginado pelo roteirista.

Diferente de um romance, ele necessariamente deve contar uma história através de imagens e é centrada num personagem principal. 

Roteiro pode ser dividido em três partes: Ato 1: Apresentação, Ato 2: Confrontação, Ato 3: Resolução, basicamente início, meio e fim. 

Citando Jean-Claude Carrière: "Porque roteiro é o sonho de um filme".

"Bom roteirista é aquele que se atualiza constantemente com a literatura, grande fonte de inspiração para criar conteúdo, personagem, clima e dialogação."
                                                                                                     Marcos Rey


OBJETIVO DO ROTEIRO:

O objetivo do Roteiro é tentar estabelecer com seu leitor uma relação o mais parecida possível com a relação de um espectador vendo um filme. Ele será o guia durante toda a produção audiovisual. 


O PROGRAMA CELTX:

O Professor nos informou que será obrigatório o uso do programa Celtx, gratuito no site da desenvolvedora. 

CELTX é - de acordo com a própria desenvolvedora - o primeiro sistema de pré-produção de mídia "tudo em um". Ele substitui a pré-produção "papel e pasta" pelo meio digital, que é mais completo, mais simples de se trabalhar e mais fácil de compartilhar. Existe a versão paga (em US$) que fornece um adendo com 625 imagens e mais três ferramentas de escrita.

Caso queira instalar o software e utilizá-lo, aqui vão algumas instruções:

Em "Modelos de Projeto", escolha "Filme" (de acordo com o Professor, deveria ser "Ficção" e não "Filme").

O Cabeçalho contem o local da cena. Sempre deve começar com "INT." ou "EXT.", sendo aquele indicando um local fechado (interior) e este um local aberto (exterior). Escrever nome do local, tempo (dia ou noite).

Em seguida, em baixo, deve ter a descrições dos personagens,  com nome nome, características físicas mais relevantes, idade, profissão, etc. Existe a opção de incluir rubrica ("( )"), que pode conter pequenos detalhes característicos dos personagens.

Por enquanto, foi só isso que utilizamos em aula.


MASTER SCENES:

Master Scenes é o padrão de escrita de roteiros reconhecido intencionalmente, sendo seu princípio mais importante: cada página de roteiro para cada minuto de filme.

Os elementos de roteiro de ficção são: cabeçalho, ação/descrição visual e diálogos.

Em cada mudança de espaço (cenário), muda a sequência e um novo cabeçalho deve ser criado; também deve ser feito quando houver mudança de tempo (dia e noite, um dia para o outro, anos depois etc.)

Tudo o que o roteirista puder descrever, deverá descrever.


SINOPSE:

Sinopse é uma visão de conjunto, uma breve narrativa, que se pode percorrer com um olhada. É diferente de storyline, que é uma história de uma linha.

Sendo uma breve narrativa de história, tem cerca de meia página para um programa de meia hora ou uma página para uma hora.

A sinopse deve conter pontos de virada (plot points) do enredo mais específicos do que as premissas. Também deve dar indicações sobre as motivações dos personagens. O que não deve conter é uma porção de detalhes.

Uma dica para escrever uma sinopse é que essa deve conter as respostas para estas perguntas: Quem? O quê? Onde? Quando? Por quê? Para quê? e Como?


POR FIM...


Por fim, houve uma discussão na sala de aula sobre como as técnicas de roteiro pode auxiliar no desenvolvimento de jogos. Foi grande a discussão, viu...<sigh> O Professor não tem especialidade alguma na área de jogos eletrônicos (não tem nem experiência nem em jogar games!!!) e cujo conhecimento é oriundo da área de Letras.

Infelizmente, ninguém concluiu nada, nem alunos, nem professor. Aqueles por ainda estarem no primeiro semestre da faculdade e este por nem ter ao menos ter jogado um Pac-man (o nosso famigerado "Come-come").

Na minha humilde opinião, as técnicas de roteiro são ótimas para criar bons enredos e bom também para auxiliar na criação de Game Design Document (GDD, "Documento de Projeto de Jogo"). Eu tenho certeza que o livro que estou lendo (vou passar a bibliografia e mais tarde vou comentar sobre a obra) irá me ajudar a criar bons personagens, uma boa história, criar elo emocional entre jogo e jogador entre outras coisas. Todavia, com certeza um GDD é muito mais complexo que um roteiro de cinema. Essa matéria, Roteiro e Narrativa, será apenas um pequeno auxílio e nada mais.

O mais correto não é ter Roteiro e Narrativa, mas sim uma matéria específica de Game Design, ensinando como escrever em um padrão e como pensar em todos os detalhes de um jogo, desde o mais simples ao mais complexo. A história do jogo está incluída no GDD.

E é só isso por enquanto. Bye.


BIBLIOGRAFIA:

FIELD, Syd. Manual do Roteiro. Rio de Janeiro: Objetiva, 2001.

"Manual do Roteiro" apresenta, em linguagem simples e acessível, passo a passo, todos os elementos fundamentais para a construção de uma boa narrativa. Esta obra é instrumento essencial para o trabalho criativo de roteiristas experientes ou aspirantes a um lugar no mercado de Cinema e TV. (Saraiva)



 Obs.: Comentarei sobre este livro!




CHION, Michel. O Roteiro de Cinema. São Paulo: Martins Fontes, 1989.

Este livro não pretende ditar normas ou impor modelos, mas procura principalmente relatar as técnicas utilizadas sistemática ou intuitivamente na elaboração de roteiros de cinema, mostrando que elas não são arbitrárias, correspondem a certos princípios e podem ser adaptadas, alteradas ou renovadas (Livraria Cultura). 







SANDLER, Ellen. Guia Prático do Roteirista de TV. São Paulo: Bossa Nova, 2008.




Neste livro, Guia Prático do Roteirista de TV, ela revela os segredos do sucesso de seus roteiros para os seriados Everybody Loves Raymond e Coach. 









terça-feira, 8 de fevereiro de 2011

Documentário Mecânica do Jogo

Documentário realizado por estudantes de Jornalismo, Bruno Araújo e Carlos Oliveira, que busca apresentar os jogos digitais como expressão de cultura além de entretenimento, o mercado e indústria, e desenvolvimento no Brasil.

Muito bem feito, recheado com entrevistas de gamers e desenvolvedores, é perfeito para quem quer entender a influência dos jogos no Brasil.

São vários vídeos separados que podem ser selecionados no próprio Youtube.




Parabéns aos dois realizadores do documentário.

Informativo: Curso de Criação de Personagens de Games

Apenas para informar o que acabei de saber, através do Planeta Gamer. A Casa Guilherme de Almeida, aqui em São Paulo, estará realizando um curso sobre criação de personagens.

Ótimo para as aulas de Roteiro. Infelizmente, é bem na hora das aulas. :-(

Quem estiver interessado, pode entrar em contato com a Casa:
Av. Paulista, 37 - Bela Vista
CEP.: 01311-902 - São Paulo - Brasil
(11) 3285.6986 / 3288.9447
contato@poiesis.org.br

Visitem o site Planeta Gamer. O Link está aqui em cima e aqui ao lado, nos Links de Interesse. Para quem quer se manter informado sobre o mundo do desenvolvimento de games made in Brazil. Tem muitos artigos interessantes!

segunda-feira, 7 de fevereiro de 2011

Quarto dia de aula: 05/02/2011 (Computação Gráfica)



Aula de Computação Gráfica, meu (quase) primeiro contato com o mundo da criatividade artística digital. 

Conforme explicado pelo Professor, a Computação Gráfica (CG) é uma parte da área de Processamento Gráfico.  Seu objetivo é transformar um objeto em imagem. O reverso da CG é a Visão Computacional, que transforma imagem em objeto. Ela é um processo complexo (envolve algoritmos) que extrai informações de imagens para entender como uma máquina enxerga, principalmente aplicada em robótica. 

A aula em sala de aula foi basicamente sobre a Visão Humana. Tivemos que relembrar um pouco das aulas de Biologia para entender que a imagem no olho humano é formada na retina.

O que é cor? 



Cor é o que percebemos do espectro eletromagnético da luz. Nos nossos olhos existem células que captam essas cores. As cores primárias da luz captadas são Red(Vermelho), Green(Verde) e Blue(Azul), que formam o sistema RGB utilizados em computadores.

Existem dois tipos de formação de cores: as obtidas aditivamente (pela luz) e as obtidas subtrativamente (pela pigmentação).

No momento seguinte, o Professor...

FALTOU LUZ!!! Nós, alunos, ficamos na penumbra!!! Sério!!!

Inacreditavelmente, a falta de luz foi somente no edifício da universidade, o gerador parece que não funcionou, e fomos dispensados. 

Interessante...a aula sobre visão, luz, etc. e simplesmente faltou luz e nossas células ópticas pararam de serem estimuladas, nossa retina ficou sem receber imagens, nossos centros nervosos do olho só informavam escuridão.

Desculpem o transtorno causado não por mim. Ciao!

domingo, 6 de fevereiro de 2011

Terceiro dia de aula: 04/02/2011



Olá!
Terceira aula... tcham-tcham-tcham: INTERFACE HUMANO-COMPUTADOR.

O que, diabos, é isso?

Como sempre, o professor apresentou a matéria, o que será estudado, e também serão aulas lecionadas em laboratório (legal!).

O que é Interface?
Interface é a ligação entre o usuário e o software ou, no caso dos jogos digitais, é a ligação entre o jogador e o jogo.  É o meio com que o jogador interage com o jogo, realizando aquilo que deseja e sabe ser possível.  Artigo interessante sobre estética utilizada na interface de jogos, escrito por Edival Oliveira Lago Filho, encontra-se neste link: http://migre.me/3P1jo. Mais tarde postarei sobre o artigo e o assunto.

Essa matéria sobre Interface Humano-Computador é um elemento-chave do Game Design, pois uma boa interface mantém o jogador interagindo com o jogo facilmente, sem que ele precise se “descabelar” para conseguir se divertir.  Interface complicada significa jogo malquisto, indesejado e, principalmente, jogo com baixas vendas.

Plano de Ensino de Interface Humano-Computador (IHC):
  1. Fundamentos da IHC;
  2. Princípios da Comunicação;
  3. Usabilidade;
  4. Inspeção e Análise de Interface;
  5. A Psicologia da Interação Humano-Computador;
  6. Projeto de Interface para Jogos.
.
Em laboratório teremos que analisar as diversas interfaces, analisa-las, ver as vantagens e desvantagens e para quais fins (tipos de jogos) os quais elas se propõem. 

A última parte das aulas, como se pode ver, será necessário realizar um projeto de interface em equipe.

Aparentemente, as aulas não serão fáceis, mas aparências podem enganar, não é? (oh, Jesus Christ...). Não importa, de qualquer forma, pois se eu não souber criar uma interface interessante, fácil e chamativa, não terei um bom jogo. É muito importante essa matéria!!!

O professor informou-nos que a universidade tem alguns recursos muito úteis para os alunos, como a biblioteca virtual que disponibiliza livros na íntegra pela internet, informações sobre a área de informática, incluindo jogos digitais, incentivo à iniciação científica (com direito a bolsas de estudo descontadas da mensalidade), e o Escritório de Projetos, que possibilita a comunicação entre empresas e alunos, havendo a possibilidade de recebermos pelos serviços prestados a essas empresas. Achei muito BOM! Nem estou interessado em receber valores, mas só de ter a possibilidade de entrar em contato com o mercado de desenvolvimento já na faculdade me alegra muito!!!


Bibliografia, meus filhos. Vamos lá:
SHNEIDERMAN, Ben; Plaisant, Catherine. Design the User Interface. Strategies for Effective Human-Computer Interaction. Fifth Edition. Boston: Addison Wesley, 2009.
O valor do livro é de US$ 79,41 na Amazon.com, com 624 páginas.  Sobre Ben Shneiderman, quem quiser saber, tem esse link: http://www.cs.umd.edu/~ben/. Especialista em visualização da informação, é listado entre as 1000 pessoas mais criativas dos Estados Unidos, de acordo com o livro 1000: Richard Wurman´s Who´s Really Who (2002).

ROCHA, Heloísa Vieira; Baranauskas, Maria Cecília Calani. Design e Avaliação de Interfaces Humano-Computador. Campinas: McGraw-Hill do Brasil, 2003.
Neste link (http://www.ic.unicamp.br/~heloisa/) está o currículo da Professora Heloísa V. Rocha. Ela é especialista em educação à distância, informática na educação, inteligência artificial e interfaces humano-computador. O livro aparentemente não está mais sendo publicado. Quem souber onde adquirir o livro, por favor, comente e informe!

NIELSEN, Jakob. Projetando Websites. Rio de Janeiro: Campus, 2000.
Livro indispensável para qualquer desenvolvedor, mas infelizmente esgotado no Brasil. Com 432 páginas, a obra ensina a criar páginas web navegáveis, práticas e eficientes. Explica a aplicação da usabilidade pensando no usuário, do básico ao avançado. O autor é considerado o guru da usabilidade na área da internet.

Em 2006, o autor uniu-se à consultora de webdesginer Hoa Loranger e atualizou a obra com uma série de estudos de casos, analisando diversos fatores que fazem os usuários navegarem constantemente na mesma página web. O livro se chama Usabilidade na Web. Ambos os livros são caros, custando quase duzentos reais cada um.


Finalmente, o professor já indicou um afazer para seus alunos: apresentação de seminário em grupos. Até 18/02/2011 devemos nos agrupar em equipes de até quatro alunos e cada equipe deve apresentar três temas que pretende apresentar no campo da Interface Humano-Computador – IHC, e ele escolherá o tema entre estes três. Então, dia 13/05/2011 será o dia da apresentação do tema.

Estou pensando ou em estética de interface ou em usabilidade. Mas vou esperar um pouco. Não tivemos nenhuma aula ainda. Vou esperar amadurecer a ideia, seja qual for.

Senhores e senhoras, até semana que vem.