Pixel art isométrico - Parte 1

Essa texto trata sobre como fazer desenhos isométricos no computador. É um texto bem introdutório que só contém a base de isometria em pixel art. O texto ficou com muita teoria(bem mais que os outros tutoriais encontrados por aí). Decidi fazer dessa maneira já que as pessoas que trabalham, ou querem trabalhar com jogos tem que saber o que estão fazendo e não podem se prender a uma só técnica.

Recomendo que você abra o paint e vá desenhando de acordo com o texto para uma melhor compreensão. Bom estudo :D

O que é Pixel Art isométrico?

Pixel Art como muitos já sabem é a técnica utilizada para fazer desenhos no computador, pixel-a-pixel. Isometria já é um pouco mais complicado mas estamos aqui justamente pra isso :)

Isometria nada mais é do que uma maneira de reproduzir imagens em 3 dimensões em ambientes de 2 dimensões onde os ângulos entre 2 eixos são iguais a 120º. Ok, eu falei que ia ser fácil hehehe, então aqui vai uma imagem pra ilustrar o que eu tô falando:

Um cubo :)

Ou seja, em uma imagem isométrica os 3 eixos são desenhados com os mesmos ângulos, por isso o nome isometria(iso de igual, metria de medida). Não se preocupe porque essa parte matemática de isometria é mais importante pra criaçao de tiles complexos ou outras construções diferentes, nesse texto eu vou me focar em falar da parte mais simples, sem a matemática toda, o que já é suficiente pra criação de imagens satisfatórias.

Notem na imagem, que quando uma linha sai da horizontal, ela vai subindo com 1 pixel na vertical e 2 na horizontal, dessa forma:

Como fazer uma linha

Em teoria, o angulo formado seria de 30º, mas se nós formos desenhar dessa maneira e sem anti-aliasing os pixels ficam quebrados e com uma aparência meio estranha, então adotou-se esse esquema de desenhar 2 pixels a cada subida na vertical que na verdade forma um ângulo de 26.565º. Resumindo tudo, pra desenhar um quadrado em pixel art nós podemos seguir os seguintes passos:

Como desenhar um quadrado

Os vários tipos de pixel art isométrico

Ok, agora você já sabe desenhar um quadrado que é igual a um tile, agora é só pintar dentro juntar e pronto! Você tem um lindo chão pra um cenário, mas como a vida não é bela e sempre aparece um problema, as coisas não são bem assim. Quem tentou desenhar coisas mais complexas no paint(ou o software que você preferir) enquanto lia o texto pode ter notado alguns problemas na hora de juntar os quadrados. Vou explicar aqui algumas maneiras para contornar isso e principalmente quando contornar isso.

Para quem não tentou desenhar, o problema é mais ou menos o seguinte:

Primeiro nós desenhamos três quadrados

Depois nós tentamos juntar os três como se fossem tiles

Problema… As imagens simplesmente não juntam. Reparem que para corrigir isso nós poderiamos juntar o contorno delas

Isso realmente é uma construção possivel, mas não para tiles. Só é bom juntar o contorno de dois quadrados quando eles não forem tiles, geralmente se faz isso para criar bases para desenhos maiores, por exemplo:


Nesse caso não teve problema porque os quadrados eram vazios por dentro, e em tiles isso não acontece. Quando dentro do quadrado tem uma textura ou algo pintado(ou seja, um tile), se os contornos forem juntados vai ocorrer uma “colisão” de informações do desenho e alguma coisa vai acabar sendo apagada, por exemplo:

Existem varias maneiras de se corrigir esse problema, nesse texto eu vou falar uma das maneiras, no outro texto da série eu vou explicar com detalhes como fazer tiles. Nessa maneira de corrigir, os tiles são desenhados com 4 espaços horizontais na base, pra que embaixo caibam 2 do lado esquerdo e 2 do lado direito:

Ainda vale a pena notar outro tipo de construção de pixel art isométrico que existe. Algumas pessoas em alguns tutoriais falam que quando elas vão fazer um cubo, elas desenham o cubo com 3 pixels ao invés de 2 pra poder desenhar uma linha do meio sem que tenha problema de divisão:

Quando o cubo é desenhado com 2 pixels na base fica difícil decidir onde botar a linha pra dividir o cubo, então elas acabam criando 3 linhas pra poder ter o “meio” do cubo. Vale a pena notar que isso é não é util na criação de tiles, pois quando os cubos vão ser juntados com 3 pixels em cima e embaixo acaba tendo um problema e os pixels ficam serrilhados:

Ou seja, dependendo do motivo que você está fazendo a imagem em pixel vai importar em como você vai desenhar os quadrados. Quando o desenho é só para portfolio, não tem problema em juntar os contornos ou fazer o cubo com 3 pixels, já que o que importa é o resultado final. Mas quando os desenhos são para um jogo tem que ter em mente esse tipo de construção explicado acima(tanto no desenho quanto na programação do jogo).

Considerações finais

Com essa base já é possivel desenhar algumas coisas simples como retângulos e cubos. Por incrivel que pareça essa é a base de muita coisa de desenhos isométricos(dá até pra fazer uma casa assim!). Construindo variações de cubos é possivel desenhar um quarto, esse foi um que eu fiz em meados de 2003 mas utiliza boa parte do que eu falei aqui:

Você já pode criar coisas bem simples agora! No próximo texto eu vou ensinar construções mais complexas, tiles e outros detalhes :)

12 Comentarios

[RJ] Nova empresa desenvolvedora de jogos recrutando

Marcos Titan, um dos leitores de nosso blog, anunciou aqui sobre uma empresa que está em fase de recrutamento.

Segue sua mensagem:
“Olá, galera…
Estou sendo contratado por uma empresa no Rio de Janeiro que está fazendo estudos apra lançar um jogo on line na internet. Essa empresa já atua no segmento de internet via rádio. Será criada uma nova área para desenvolver o jogo..mas a equipe não está montada. Estamos precisando de alguém com conhecimento nessa área para assumir o projeto….de preferência que já tenha algo desenvolvido para apresentar. qualquer contato pode ser feito através do MSN titanmarcos@hotmail.com.
Fico no aguardo. Valeu…”

Ae, Marcos, se você nos passar mais alguns dados fica mais fácil para o pessoal saber se interessa ou não.

Cite coisas como:

  • Nome da empresa;
  • Regime de trabalho (carteira assinada, pessoa jurídica, freelancer; quanto seria o tempo de trabalho);
  • Tipo de projeto em que estará envolvido (você citou serem jogos online, mas tanto MMOs quanto webgames são jogos online e são bastante diferentes entre si!);
  • Restrições que possam haver no trabalho (quais as ferramentas a serem empregadas, qual a região em que a pessoa deve morar para poder ser contratada, etc.).

Bem, acho que foi só isso que ficou faltando. Uma boa sorte em seu recrutamento. :)

Um Comentario

A Equipe de Desenvolvimento – Parte I: Game Designer

Fala galera,

Estou preparando um série sobre Game Design para ajudar a todos, em breve começarei a postá-la aqui. Mas para meu primeiro artigo decidi direcioná-lo aos iniciantes, completando um pouco mais o tema aberto pelo Christiano.

Então este artigo abre a série “A Equipe de Desenvolvimento”.

Serão abordadas as áreas de atuação tais como Game Design, Produção, Programação, Artes Visuais, Controle de Qualidade – QA, e Level Design. Alguns profissionais de outras áreas constumam ser utilizados, geralmente como consultores ou técnicos, mas vamos focar aqui apenas os profissionais diretamente ligados ao desenvolvimento de jogos.

Parte I – Game Designer

Assumindo que o desenvolvimento de um jogo se inicia pelo seu projeto e que os resultados de todas as etapas de produção são originados pelas decisões tomadas nesse processo, vamos iniciar aqui abordando as funções e características do Game Designer.

Em suma, o Game Designer é responsável pela experiência de jogo, ou seja pelo Gameplay. O Game Designer deve trabalhar desde o momento da idéia inicial do projeto até os últimos testes de qualidade, em alguns casos extrapolando essa linha de tempo, buscando soluções em pacotes de expansão e correção de lacunas do Gameplay.

Gameplay tem a ver com todas camadas do desenvolvimento de um jogo, incluindo cada aspecto como jogabilidade, áudio, gráficos, interface, sistema de input. Isto automaticamente significa que o Game Designer deve conhecer as noções de cada área envolvida no desenvolvimento, e ter capacidade para interagir com cada integrante da equipe. Nas palavras de Clifford Bleszinski, Lead Designer da Epic Games nos jogos Unreal Tournament e Gears of Wars, o projeto criado para o jogo não diz respeito apenas a “fazer o melhor jogo possível”, mas “fazer o melhor jogo possível com o tempo, dinheiro, quantidade e características da equipe à disposição”.

Dentre as principais tarefas desenvolvidas pelo Game Designer estão:

• Organização e coordenação de seções de brainstorming;
• Coordenação e criação de protótipos;
• Testagem de Gameplay e desenvolvimento de soluções;
• Desenvolvimento, apresentação e atualização do Game Design Document – GDD.
• Coordenação e participação na equipe de Level Design, atentando para os resultados da estrutura dos cenários para o Gameplay.

Algumas companhias não possuem um cargo explícito de Game Designer, sendo esta parte executada por outros membros da equipe. Dependendo dos objetivos definidos para o projeto, essa pode ser uma característica negativa para a equipe, pois o processo de Game Design exige tanta atenção quanto as demais áreas – ou mais, quando consideramos que Game Design não se faz apenas no horário comercial dentro do escritório, mas 24 horas por dia durante todo o período de desenvolvimento, sendo necessário que a pessoa esteja com a mente totalmente voltada para a tarefa.

O profissional focado em Game Design passa a ter uma visão diferenciada e objetiva do projeto em que trabalha. Além de encontrar rapidamente soluções para os problemas surgidos nos meados do processo de desenvolvimento, o Game Designer tende a prever esses problemas e evitar que a equipe seja pega pelo inevitável ou inesperado a todo instante. O envolvimento com os processos cognitivos e com as outras áreas de desenvolvimento gera este equilibrio necessário entre crença e dúvida que capacita o profissional e ter de antemão a noção apurada dos resultados, e a capacidade de encontrar soluções para corrigir o percurso do projeto fazendo com que as metas previstas sejam atingidas.

É isso aí galera, as tarefas e cognições específicas para o Game Designer serão abordadas nos artigos específicos. Para as demais áreas que completam a equipe de desenvolvimento, este é um convite para que as pessoas mais focadas nas áreas específicas completem esta série… (vamos movimentar aí galera…) Espero que este material tenha sido útil e que a série auxilie os iniciantes a decidir por qual caminho deseja traçar sua carreira.

E fica por aqui… Luis Augusto Guimarães (Brainstorming)

6 Comentarios

Rastreando (e lucrando com) seus games em Flash

MochiBot, uma ferramenta criada pela MochiMedia para auxiliar os desenvolvedores de conteúdo em flash, é um tracker gratuito que rastreia quantidade e o local de acesso aos seus SWFs.

Por que rastrear?

Vigiando seus SWFs, você pode ter uma noção melhor da “vida útil” dos seus jogos, além de saber exatamente, onde seus jogos podem chegar quando não se faz o sitelock (não se assuste em vê-lo sendo distribuído em um site no Tailândia)

O MochiBot também traz possibilidade de implementação de um API de feedback, na qual o usuário pode dar uma nota e escrever um comentário, e então o autor tem fácil acesso a todos através do site.

A implementação do MochiBot é rápida e simples, ele atua de forma invisível - exceto quando implementada a API de feedback- os dados são atualizados todos dias e o serviço é totalmente gratuito.

-”Mas e quanto ao lucrar? Não vi o ‘lucro’ ainda!”

Lucrar com seus games em Flash, é possível sim, mas não tão fácil, uma outra ferramenta criada pela MochiMedia, é o MochiAds, de implementação parecida com o MochiBot, porém ao invés do rastreamento, a proposta é apresentar ads nos seus games em Flash.

O desenvolvedor recebe uma parte do lucro obtido com as visualizações de ads (sim, visualizações, e não cliques), os ads duram 10 segundos, e podem ser apresentados na abertura do game, ou entre níveis, com um intervalo mínimo de 2 minutos entre cada ad.

O eCPM (valor pago a cada 1000 impressões de ads) é baixa em comparação aos padrões, porém a grande vantagem do sistema do MochiAds é que os ads serão exibidos, e creditados em sua conta, onde quer que estejam, assim aquele seu jogo que fez sucesso na Tailândia continua a lhe trazer algum retorno.

Assim como o MochiBot, a implementação do MochiAds é rápida e fácil, normalmente seu game é analisado e aprovado em 24 horas.

Porém, não espere lucrar horrores com o sistema de ads, para conseguir alcançar o valor mínimo($100.00 USD) e então receber seu primeiro pagamento, vai lhe exigir um verdadeiro “hit”, ou então diversos games de nível intermediário. A subida é longa e a vista não é tão bonita assim, mas é algo que pode dar a motivação pra finalizar aquele seu projeto abandonado e liberá-lo na rede. Muitos iniciantes no desenvolvimento de games (como eu) adotam o flash pela sua facilidade de desenvolvimento, e também pela facilidade em distribuir e apresentar seus experimentos, portanto vejamos como incentivo adicional nesse sentido.

Indo buscar o seu

Vale lembrar que esta não é a única forma de fazer algum dinheirinho com seus games em flash. O número de portais de flash games tem crescido bastante, e novas oportunidades surgem para desenvolvedores, dentre elas as estão possibilidades de negociação com quem fará - ou já está fazendo! - dinheiro com os SEUS jogos…

Estes são os médios e grandes portais, que pagam uma quantia variável para exibir um splash na abertura do seu game, e/ou um link para o portal no menu do mesmo. Quem joga flash games já deve ter visto pelo menos algum destes: ArmorGames, CrazyMonkeyGames, ArcadeTown, FreeWorldGroup dentre outros.

Tais negociações são as famosas sponsorships, onde o desenvolvedor cede este espaço para divulgação do portal, mas continua com todos os direitos do game, podendo distribuí-lo onde quiser, limitado a apenas manter os links para o portal em todas distribuições.

Uma boa fonte de informações para sponsorships, inclusive exemplos de valores já pagos a outros flashgames, é o site FlashGameSponsorship, mantido pelo criador de Asteroids Revenge, game que alcançou o valor de $4,300 USD em um acordo de sponsorship.

Além do valor pago, também é comum negociar ad revenue, em formato de advances (após o seu game “se pagar”, atingindo o valor inicial pago pelo portal, você continua recebendo uma parcela dos lucros que o portal obtiver com o seu game)

Existem também outras possibilidades, como licenciamentos exclusivos, venda dos arquivos fonte e direitos sobre o game, ou até mesmo montar seu próprio portal. Oportunidades não faltam.

Assumindo a vanguarda

No meio de diversos portais com os mesmos games, exibindo os MochiAds e SplashScreens de seus patrocinadores, alguns se destacam pela diferença, como é o caso do Kongregate, já entitulado “Youtube dos Games”, nele os usuários podem conversar enquanto jogam, ao mesmo tempo que competem para conseguir pontos e subir de nível, tais pontos vem através da realização de tarefas específicas dentro dos games(implementadas pelos desenvolvedores em conjunto com a admnistração do site), ou enviando seus próprios jogos e alcançando boas notas perante a comunidade. O Kongregate em concordata com a MochiMedia bloqueia a exibição de MochiAds em seu site, no entanto, possui um programa próprio de ad revenue com os desenvolvedores, que inicia em 25%, podendo ser acrescido em 10% através da implementação de um API que registra os HighScores no portal, e outros 15% caso o game tenha exclusividade garantida para o portal (podendo ser desativada mais tarde).

Calma, já está acabando

Meu objetivo neste primeiro post foi o de apresentar algumas possibilidades para entusiastas em desenvolvimento de games em flash, muitas vezes subestimado como plataforma, mas que tem mostrado garantir seu espaço, e este felizmente não se limita a advergames ou serious games em geral. Será questão de tempo para que o estigma de “flashgame = jogo bobo” se desmanche.

[]’s e até a próxima

15 Comentarios

Your Ads Here!

Calma! Apesar do título, este não é um SPAM! :)

Estão vendo essa coluna aí do lado direito onde há alguns links de sites? Então, quem tiver algum blog, site ou projeto na área de desenvolvimento de jogos e tiver interesse de vê-lo aqui publicado por meio de parceria, é só entrar em contato conosco.

Pode fazer isso simplesmente respondendo este tópico, ok?

A parceria é bem simples: você põe um link para a PDJ ( http://www.programadoresdejogos.com ) e/ou PDJBlog ( http://blog.programadoresdejogos.com ) e comenta aqui pondo o link e o nome do seu site, blog, etc. e nós faremos o mesmo, ok?

Vamos fortalecer a divulgação por meio de parcerias livres! :)

Vale lembrar que periodicamente estaremos verificando todos os links a fim de certificar que as parcerias estão sendo mantidas, o que iremos fazer em breve também com a lista de parceiros da PDJ.

Abração e até mais!

24 Comentarios

Sou Iniciante… E agora?

Boa noite a todos!

Chegou a minha vez de falar um pouco. Como Edmar já deu início com um tema da categoria Programação (e foi uma excelente escolha, por sinal), não vou trazer agora um tema dessa área. Não se preocupem que traremos muito mais conceitos e técnicas, afinal, em 2005, Edmar e eu estudamos sobre como programar vários efeitos gráficos e nada melhor que estarmos passando para vocês um pouco sobre esses estudos, não?

Meu primeiro tópico, então, será mais um dos esforços da PDJ voltados a orientar os iniciantes a fim de criarmos uma boa cultura, uma boa atmosfera dentro da PDJ. Estivemos há pouco tempo discutindo sobre isso na PDJ e sei que alguns acham que deveríamos focar outros aspectos, mas não se preocupem que nós vamos fazer isso também, ok? Afinal, já somos cinco autores (o Brainstorming também entrou para a equipe, outra hora publico aqui a sua biografia e “oficializo” isso, :) ) e teremos muito o que conversar e apresentar aqui.

Uma cena que se repete muito, não somente na PDJ, mas em todas as comunidades e sites sobre desenvolvimento de jogos, é aquela (já clássica) em que alguém acabou de se inscrever no fórum, é a sua primeira mensagem, diz que já leu muito sobre criação de jogos e quer formar uma equipe para criar um MMORPG 3D de forma gratuita.

Sempre a gente encontra alguém com um novo projeto em um fórum sobre criação de jogos pedindo ajuda do pessoal para o desenvolvimento de um mega-sucesso e quando a gente começa a perguntar algo para a pessoa, a gente percebe que ela não sabe nem por onde começar e, uma ou duas semanas depois, já desistiu do projeto… Pessoal, não é por aí…

Vou então hoje gastar tempo dizendo algumas coisas que o pessoal tem que saber…

1. Descubra como realmente funciona um jogo!

Muita gente gosta deste ou daquele jogo e daí tem a grande idéia de fazer algo parecido acrescentando novos elementos. Ótimo! Mas quando se dão conta, eles não sabem como exatamente é a estrutura de um jogo, como ele deve ser desenvolvido, o porquê das coisas funcionarem de um determinado jeito. Então, como primeiro passo, estude alguns conceitos-chave. Não se preocupem, mais a frente será publicado aqui no blog algumas coisas para orientar nesse sentido, por mim ou pelos outros autores, ok?

2. Procure uma área em que se encaixe!

O desenvolvimento de um jogo já fora no passado multidisciplinar, agora está sendo transdisciplinar (agradecimentos ao prof. Henrique Nou Schneider que conseguiu me fazer entender a importância da transdisciplinaridade na informática) e como não dá para fazer tudo sozinho, o cabe a você escolher por algo que seja da sua preferência e então cuidar daquilo. Quando for procurar um curso técnico ou universitário, procure cursos que irão de alguma forma complementar seus conhecimentos naquilo com que você trabalha, ok?

3. Procure manter contato com pessoas mais experientes na área:

Sim, porque você não vai conseguir aprender tudo sozinho, ok? Então é importante que você mantenha em seu e-mail, MSN, Orkut, etc. uma lista de pessoas que você sabe que também estudam ou trabalham na área de desenvolvimento de jogos. Não precisa ser só na sua área, por exemplo, muitas vezes é bom para um artista gráfico manter contato com um programador (na verdade, sempre é bom!). Muitas vezes você precisará da ajuda deles! Procure a todos, não fique acanhado pelo fato de fulano já estar trabalhando na área e você vai estar “tomando o tempo dele”, tentar manter contato não faz mal a ninguém (agora, lembre-se disso também para não estar tomando tempo demais da pessoa com perguntas que você poderia conseguir a resposta prestando um pouco mais de atenção em apostilas, fóruns, etc).

4. Busque Ferramentas e/ou técnicas a serem usadas

Estude a maior diversidade de ferramentas que possa usar em seu trabalho e escolha as que melhor se adeqüem ao seu estilo e faça a mesma coisa para escolher as técnicas, lembrando-se sempre de levar em consideração a forma como surgiram, para que servem, em que os mais experientes a empregam, onde eles não aconselham, etc. Lembrando-se de levar em consideração o grau de complexidade de cada uma, ou seja, para aprendizado escolha ferramentas e técnicas mais simples, rudimentares. Com o tempo você vai aprendendo mais e mais e vai trocá-las por outras melhores.

5. Busque tirar dúvidas com outras pessoas:

Está tendo algum problema? Acha que não é daquela forma? Bem, em primeiro lugar: a net é ótima para se encontrar soluções, pesquise, procure. Não achou? Pergunte em algum fórum ou a alguém, busque a solução e você a encontrará. Persista, sempre!

6. Sempre teste os seus conhecimentos:

Aprendeu a desenhar de uma certa forma? Experimente desenhar então alguns personagens para testar e aperfeiçoar o seu traço. Aprendeu como imprimir na tela? Então tente imprimir diversas informações na tela, como textos, imagens, etc. Vá sempre testando e mudando um pouco de acordo com o que precisa, assim você irá gerar novos conhecimentos, os quais você poderá apresentar em fóruns, contribuindo assim com outros que estão iniciando. Não procure testar diretamente seus conhecimentos em um projeto muito grande, porque provavelmente você vai se atrasar nele, vai perder o gerenciamento do mesmo, etc. No máximo, um demo bem rudimentar, bem simples, só com as funcionalidades principais.

7. Produza alguns demos de jogos já existentes:

Pronto! Neste ponto, talvez você precise juntar-se a outras pessoas de outras áreas, para que cada qual faça uma parte e, assim, consigam ter finalmente algo que já podem dizer SEU. Mas o problema maior é que nesse ponto o pessoal ainda teima em querer fazer um super-projeto gigantesco… TOC-TOC? Tem alguém aí? É pra fazer algo bem simples! Tipo, um Space Invaders, depois um Tetris ou outro jogo de puzzle bem simples, mais tarde pode tentar fazer um jogo de nave 2D (shoot’em up) e prossegue, fazendo um jogo de plataforma 2D (like Mario), etc. Mas lembrando que o objetivo nesta fase é só desenvolver algo para testar os conhecimentos da equipe! Não é ainda fazer um projeto de jogo de acordo com como sempre é feito por aí afora, ok? Mas se vocês quiserem já deixar tudo o mais pro, e é o que vocês vão querer, para já irem treinando, então o projeto do demo deve seguir as seguintes etapas: brainstorming para decidir como será o jogo, elaboração completa do Game Design Document, análise e modelagem do jogo, implementação do mesmo, testes, divulgação e distribuição, elaboração do post mortem. Lembrando que durante todas essas etapas deve estar sendo feita a documentação de tudo o que for possível, ok? Em outra ocasião explicaremos qual a importância de cada passo.


8. Mais treinamento de equipe!

Bem, pessoal, como o nosso próximo passo já será o desenvolvimento de um projeto, devemos então intensificar o treinamento da equipe nas ferramentas que serão utilizadas a fim de que todos estejam em harmonia com as tecnologias e manter a comunicação ao máximo entre os membros. Sem contar que neste momento deve-se trazer inspiração e responsabilidade a todos para o desenvolvimento.


9. Desenvolvimento de um projeto de jogo:

Bem, se tiverem seguido tudo o que vim dizendo até aqui, com certeza o projeto de vocês será um sucesso, devendo lembrar-se de somente algumas coisas que sempre têm que ser visadas pela equipe: manter o cronograma em dia, seguir a metodologia de desenvolvimento adotada pela equipe e manter todos comprometidos com o desenvolvimento (seriedade e responsabilidade).

10. Divulgue o material produzido, contribua com a comunidade!

Bem, como a regra-base é sempre “10 mandamentos”, então, esta aqui não deve ser desconsiderada: se eu estou passando aqui tudo o que eu aprendi a vocês para que possam também desenvolver-se na arte sem terem que percorrer todos os sacrifícios do “caminho de espinhos”, não sejam tão egoístas a ponto de não ajudarem os próximos, né? Lembre-se: aquele que aprendeu com você ontem, pode ser seu parceiro em algum projeto hoje e quem sabe te ensinar algo amanhã! Sendo assim, divulgue a documentação de alguns projetos seus, post mortens, apresente algumas técnicas utilizadas no desenvolvimento, etc.

Há muitas outras coisas a se dizer. Claro que isto aqui não é tudo. É vital, por exemplo, a participação em comunidades. E não estou falando de entrar, ler e sair. Estou falando de participar MESMO! Escrever suas dúvidas, responder as de outros, etc.

Qual foi o último livro da área que você fez? E curso? E sites? Não adianta me apontar uma lista com mil sites se você não está lendo o que há neles! Eu, por exemplo, estou lendo alguns artigos do GamaSutra, e você, o que está lendo?

E por falar em ler, espero que já tenha ido até a seção “Iniciantes” da PDJ para uma boa leitura!

Bem, pessoal, por enquanto é isso, espero que eu tenha ajudado alguém hoje, até mais!

6 Comentarios

Grayscale

O Efeito Grayscale (Escala de cinza)

O efeito escala de cinza, como o próprio nome diz, visa transformar uma imagem colorida em uma imagem com tons de cinza (:P). Este é um efeito bem interessante, pois pode ser usado de diversas maneiras, tanto criando paisagens com ares misteriosos, tanto para servir como a paleta do jogo inteiro.

Como fazer a conversão?

Bom, vou apresentar aki duas técnicas de conversão: A conversão por porcentagem, e a conversão por média. Estas são apenas duas técnicas que eu conheço, mas podem haver mais.

Conversão por média

Este é sem dúvidas o modo mais simples de se fazer, mas também o mais precário. Tudo que fazemos com ele é pegar os valores dos componentes R, G e B e obtermos sua média. Fazemos isso com cada um dos componentes.

O código é o seguinte

r := (ir + ig + ib) div 3;
g := (ir + ig + ib) div 3;
b := (ir + ig + ib) div 3;

cor:= RGB(r,g,b);

ir, ig e ib são valores pegos previamente e representam respectivamente os componentes R, G e B do pixel selecionado. Podemos pegar esses valores usando as funções GetRValue, GetGValue e GetBValue, como no exemplo a seguir:

ir := GetRValue(Origem.Picture.Bitmap.Canvas.Pixels[x, y]);
ig := GetGValue(Origem.Picture.Bitmap.Canvas.Pixels[x, y]);
ib := GetBValue(Origem.Picture.Bitmap.Canvas.Pixels[x, y]);

Nada de mais né?

Entretanto…

Imagine que temos uma imagem dividida em três partes, sendo cada uma preenchida com uma cor diferente, vermelho, verde e azul. O que acontece? Ela vai ficar totalmente cinza. Como resolver isso?

Conversão por porcentagem

Este métódo eh um pouco mais complicado, mas não tanto, tudo o que fazemos é simplesmente usarmos a porcentagem dos componentes. A porcentagem de cada componente pode variar. Vamos ver um exemplo:

r := Trunc(0.3 * ir + 0.59 * ig + 0.11 * ib);
g := Trunc(0.3 * ir + 0.59 * ig + 0.11 * ib);
b := Trunc(0.3 * ir + 0.59 * ig + 0.11 * ib);

Simples certo? Quem me passou esta escala de porcentagem foi o Christiano, de acordo com ele esta é a escala usada pelo Photoshop. Bom, sendo ou não. Ela funciona :D e é o que importa.

Com isso, solucionamos o problema mencionado acima, pois estamos trabalhando com a porcentagem de cada componente. E não com a média de seus valores. Note por exemplo, que o resultado da média da cor vermelha, por exemplo, será igual ao resultado da média da cor verde:

Vermelho:

(255 + 0 + 0) / 3 = 85

Verde:

(0 + 255 + 0) / 3 = 85

Essa é a falha que ocorre na primeira técnica. Já na segunda técnica:

Vermelho:

76,5 + 0 + 0 = 76,5

Verde:

0 + 150,45 + 0 = 150,45

Notaram a diferença :D

Bom, é isso ai e tenham um ótimo dia.

;)

7 Comentarios

Inaugurando o PDJBlog!

Um grande olá a todos!

É com muito prazer que inauguramos o PDJBlog - um blog sobre desenvolvimento e mercado de jogos coordenado por membros da comunidade “Programadores e Desenvolvedores de Jogos”.

A idéia de sua criação partiu do membro Anderson Marcondes, que, juntamente com Christiano Lima Santos, é responsável pela organização da revista PDJzine. Seu objetivo inicial seria a criação de um blog que permitisse a publicação de forma gradativa e contínua de artigos, notícias e tutoriais que poderiam ser mais tarde selecionados e incluídos em cada edição.

Christiano, um dos administradores, viu então a oportunidade de um novo projeto para a PDJ e, para garantir o sucesso do mesmo, convidou Thiago Valle (avatar), um outro membro da PDJ, a fim de participar como um dos responsáveis pelo PDJBlog - o blog da PDJ.

O próximo passo foi, então, buscar autores para atuar nessa nova empreitada. Dentre os que já aceitaram a proposta, podemos apontar:

- Raphael Santos (Strid);

- Edmar Souza Júnior (supersayajin);

Com isso, Anderson Marcondes e Thiago Valle foram nomeados novos gerentes da PDJ, cada qual responsável por projetos distintos, mas que possuem muitas ligações e contribuições mútuas.

Agora, vamos deixar os nossos autores se apresentarem aqui:

Christiano Lima Santos
Fala, galera, sou Christiano, membro da PDJ desde 2001, admin desde 2003. Estudo desenvolvimento de jogos desde 1999 e atuo profissionalmente desde 2004 desenvolvendo jogos em Flash. Estarei aqui contribuindo com novidades e dicas de Game Design, Mercado de Jogos e Flash Games.

Edmar Souza Jr
Meu nome é Edmar Souza Jr. Sou graduando do curso de Ciência da Computação. Estudo programação de jogos desde 2001, quando comecei a me aventurar no mundo da programação. Já trabalhei com projetos de jogos em Delphi e em Ogre 3D. Estarei falando aqui sobre diversas técnicas para programação de jogos.

Raphael Santos
Meu nome é Raphael dos Santos, membro da PDJ desde 2006 (nickname Strid), curso Comunicação em Mídias Digitais e recentemente iniciei estudos no desenvolvimento e mercado de games em flash. Dentre meus interesses estão games casuais e multiplayer competitivo e estarei publicando aqui informações sobre Flash Games.

Thiago Valle
Meu nome é Thiago Valle (avatar na PDJ), entrei na PDJ em 2003 porque queria aprender a programar jogos, (eu usava makers desde que tinha uns 11 anos!). Curso Ciência da Computação e me interesso por Game Design e arte visual em jogos. Vou escrever alguns textos sobre Game Design e de vez em quando sobre programação também.

Agora é hora de deixar essa galera trabalhar e ver no que isso vai dar.

Sucesso a todos nessa nova empreitada!

4 Comentarios