Mega Ajuda aos Iniciantes - Parte I

Vejo que a muitas pessoas interessadas em atuar na industria de jogos, desde à programação até a edição de musicas. Com o intuito de crescer e aumentar está forte industria concorrente e sólida. Mas o que falta para que esses pequenos iniciantes possam iniciar a produzir é uma base de informações que possa ajudalos na sua iniciação. Hoje a no mundo vários sites em língua portuguesa com os mais variados tipos de informações, com a finalidade de ajuda-lo de diversas formas no seu aprendizado. Mas poucos se limitam, ou fornecem, uma base boa aos iniciantes que passam por diversas dúvidas e dificuldades no ciclo de iniciação. Então venho por meio deste, com a ajuda de diversos matériais que mais tarde estaram a sua disposição, dar uma base sólida aos iniciantes dessa área tão prospera e boa ao seu amante. Bom, desejo a você uma boa leitura.

Mas em qual área atuar?
Bem essa é uma pergunta em tanto quanto a iniciação, mas acho que cada um já sabe em qual área deseja atuar. Se não tenho os seguintes conselhos aos que estão em dúvida: 1. Siga o que você mais tem afinidade, se você modela bem seja modelador 3D, se você é musico (tem uma banda, grupo, toca alguma coisa e/ou sabe cantar e quer seguir na industria de jogos) seja uma musico, se você escreve bem seja roteirista, se você faz tudo isso bom e que cordena-los (ou até não sabe nada disso mas quer trabalhar com jogos) seja um Game Design, entre outros; 2. Não atue em áreas que dão mais dinheiro, siga o que lhe mais convém, como eu disse o que você mais tem afinidade. Busque a felicidade profissional , creio eu que um profissional satisfeito com sua profissão produz mais do que um que não está contente dando -lhe chance a ser demitido; 3. Para se ter um desenvolvimento profissional, se destacar na área que atua, não seja mais um. Siga a área aonde você faz por excelência e irá ter mais chances de se destacar profissionalmente. Bem com essa ajuda creio que você será capaz de escolher seu próprio campo de atuação na industria de jogos. Programação de Jogos Na área de desenvolvimento de jogos é mais normal se achar programadores do que editores de audio e ou modeladores, embora essa última também seja grande em comparação a editores de audio. Então pretendemos inciar com esta área seguindo os seguintes tópicos abaixo. Mas não se esqueça que não estamos aqui para falar de qual área é melhor para atuar, isso vem de cada um, do que você se da melhor e tem mais afinidade, iremos começar com à programação pelo fato de ser de interesse da grande maioria.

O que é programação e qual linguagem escolher? Programação é uma área não só em games cujo o programador é encarregado de, com a ajuda de uma Linguagem de Programação, editar com códigos/palavras programas que façam determinada função. Exemplos disso são Programas, Sistemas Operacionais, Aplicativos, etc. que são editados utilizando códigos/palavras de determinada Linguagem e depois compilados com um Compilador. Não cabe a nós aprofundar-mos no Básico da Programação se não o artigo ficara muito extenso. Sugiro para aquelas pessoas que não tem nenhum conhecimento sobre programação que leie mais sobre o Básico da Programação. Agora quanto à escolha de uma Linguagem existem varias formas, que seram apresentadas abaixo: 1. Escolha aquela que disponha de maior número de informações para o seu aprendizado(Apostilas,Tutoriais, Artigos, etc.) e aprofunde-se nela; 2. Escolha também aquela que as companhias de desenvolvimento mais utilizam e exige que seu profissional saiba; 3. Aquela que apesenta os principais requisitos é a Linguagem que tem maior tecnologia à dispozição; 4. Que propicie, logicamente, uma programação de um jogo mais ou menos facilitada; 5. Bem este não pode ser muito considerado uma ajuda mais sim como uma alerta: algumas Linguagens não devem ser comparadas as outras pois em cada caso ás suas limitações e seus beneficios, então escolha aquela que lhe apresente maior facilidade para aprendizado e/ou aprofundamento. Bem depois disso não será tão dificil escolher sua Linguagem. As Linguagens que apresentam os quesitos acima apresentados Atualmente são quatro Linguagens que apresentam os seguintes quesitos: são boas para programação, apresentam diversos materiais à disposição para uma aprendizagem boa e principalmente: são excelentes para programação de jogos e utilizadas pelas grandes companhias. Fique sabendo quem são elas e um pouco delas: C/C++: É com certeza as Linguagens mais uzadas para a programação de jogos nomundo inteiro, tanto entre iniciantes quanto para as grandes companhias. Apresentam amplo número de materiais para aprendizagem, os quais mais tarde etaram a sua disposição. São exigidas pelas grandes companhias no mundo inteiro. Recomendo tanto para iniciantes quanto para experientes em programação. Compilador: Para o sistema Windows recomendo o Visual C++, o único problema é que é pago e altamente caro. Mas para isso temos o Dev-C++ que tem para Windows e Linux e é de Graça. Visual Basic: Altamente recomendada para Iniciantes pela sua incrivel facilidade de manipulação. O seu ruim é que precisa ser pago para o seu uso e não existe nenhum outro programa para substitui-lo atualmente. Mas o seu preço pode ser compensado. Assembly: Em particular não recomendo para inicantes, desde que se tenha um conhecimento elevado sobre o computador, a forma como trabalha, etc. pode ser até recomendado. Caso contrário nada recomendado. Hoje o seu uso é um pouco baixo, mas antigamente era muito alto. Seu uso foi substituído principalmente por tecnologias mais faceis de serem manipuladas.

Compiladores: Caso seja de seu interesse utiliza-lá use o TASM (Turbo Assembler) caso esteja desenvolvendo para Windows. Mas se estiver usando Linux use o NASM. Obs: outras linguagens como o Pascal, Delphi(Object Pascal), Dark Basic entre outros, não foram colocados acima pois no momento em que este tutorial está sendo escrito as Linguagens mais usadas em larga escala e tem maior número de tecnologia e materiais são aquelas descritas acima. Outras Linguagens não descritas Algumas linguagens que não são muito usadas pelas grandes companhias e/ou não apresentam um número bom de materiais para estudo são: Pascal: Não se acha muita informação sobre desenvolvimento de jogo para está Lingua gem. Embora não seja impossível fazer um jogo nele, mas complicado pode ser. Recomendo pela fácil programação nesta Linguagem. Sua utilização serveria para aprender lógica de programação e uma posterior pogramação no Delphi com Object Pascal (um Pascal Orientado a Objeto). Mas não ache que será possível programar facilmente jogos nela, alguns acham que isso pode ser impossível, mas pode-se achar alguns exemplos na internet. Delphi: O Delphi não é bem uma Linguagem como todos acreditam ser. Ele e uma IDE(veja o seu significado logo abaixo) aonde a Linguagem utilizada é o Object Pascal (algo como um Pascal Orientado a Objeto). Nele sim é possível programar Jogos com a ajuda do incrivel DelphiX que torna ainda mais facil isso. Tem também sua versão para o Linux, já que o Delphi é para o Windows, conhecida como Kylix. Basic: Pouco se é conhecido sobre essa Linguagem no que se diz na parte de programação de jogos, aonde o que faz mais sucesso são suas variantes (QBasic, Visual Basic, Quick Basic, Dark basic, Blitz Basic, entre outros). Acredito que possa ser feito jogos nele, mas não tão facilmente como em outras Linguagens. Dark Basic: Totalmente feita para se programar jogos. Uma Linguagem facil para quem quer fazer seus próprios jogos. Ela é baseada no famoso Basic. Com ele o programador tem contato direto com o Hardware. Altamente recomendada e tem grande chance de passar a ser utilizada pelas grandes companhias. Blitz Basic: Outra Linguagem totalmente direcionada para a programação de jogos. Mais ou menos parecida com o Dark Basic, embora alguns briguem para dizer que são totalmente diferentes. Nas diferenças encontradas estão nas formas dos códigos, como são implementados nos codigo-fontes, entre outras poucas. Altamente recomendada e tem quase as mesmas chances que seu rival Dark Basic. Java: Considerada a Linguagem do Futuro, está possibilitando que desenvolvedores de games programe jogos nessa incrível Linguagem. O bom dessa Linguagem é que ela é multiplataforma e tem ótimos compiladores gratis. Recomendo para quem já tem um conhecimento em C++, embora alguns acreditem que isso não seje nescessário. C#: Pouco se fala da possibilidade de fazer jogos com ela, mas no pouco que se houve já a compatibilidade da Linguagem com a API DirectX da Microsoft. Existem os que falam que a Linguagem não é muito adequada para a programação de jogos, pois segundo eles o executavel é muito lento. Mas a jovem Linguagem pode provar muitas coisas ainda. Obs: Essas são as LInguagens mais conhecidas entre os desenvolvedores par Programação de a Jogos. Se houver outra Linguagem que você conheça e quer que seja acrescentada neste artigo

me avise por e-mail (no final fornecido). Agora Escolhendo uma Plataforma (Sistema Operacional) Agora que você já escolheu sua Linguagem (pelo menos acredito que sim), vamos escolhar a plataforma alvo para se programar. Em cada Plataforma (Sistema Operacional) se tem uma características distintas de se programar (não muito distintas assim, algumas poucas diferenças), o que faz com que se escolha uma plataforma alvo, desde de que você saiba programar para mais de uma plataforma você podera programar com sucesso jogos multiplataformas. Mas para aqueles que, logicamente, vai iniciar em uma segue abaixo a lista das principais Plataformas do mercado de jogos e suas vantagens e desvantagens: MS-DOS: Plataforma da Microsoft ótima para quem está se iniciando, pois sua programação pode-se dizer que é amigavel ao iniciante. Mas não muito boa para uma futura venda de jogos, pois sua utilização é meio que fraca, além de sua proprietaria, a Microsoft, não estar mais dando manuntenção boa a ela. Windows: Plataforma excelente para quem deseja futuramente vender seus jogos, pois seu uso é grande e em larga escala. Recomendo se aprender primeiro programação em MS-DOS para depois passar para Windows, embora alguns acreditem que isso não seja preciso. Unix: Quase não a informação sobre ele, mas para programação pode dizer que é quase a -se mesma coisa que o Linux, ja que o sistema (Linux) é baseado nele. Linux: Plataforma que vem se desenvolvendo intenssamente nos últimos tempos. Pode-se dizer ótima para quem está se iniciando em programação de jogos, pois aceita quase todas as API`s (ver significado logo abaixo) do Windows. Mac OS: Bem, está plataforma é meio que dificil se falar nela, pois quase que não a (ou se pode dizer nenhuma) informação sobre ela quanto a questão de programação de jogos. Além de seu uso ser relativamente pequeno. Solaris: O que se pode dizer sobre ela é quase a mesma coisa do que se diz em respeito ao Mac OS. Seu uso é pequeno e quase não a informação sobre ela quanto à programação em geral. Embora ela esteja suportando a Linguagem Java que promete poder Programar Jogos. Video Games: Está pode ser uma excelente escolha. Dizem ser muito rentável trabalhar com jogos para videogame, pois a maioria dos gamers tem em casa um ou mais videogame (se não já o teve). Compensa para quem quer vender legalmente, mas para quem quer desenvolver só para aprender não compensa, além de ser um pouco trabalhoso. Obs: Os sitemas acima mostrados são os que se tem maior conhecimento atualmente quanto a programação de jogos. Um pequeno dicionário das palavras mais utilizadas pelos desenvolvedores Muitas palavras e termos são usados nesta área, confirá abaixo alguns dos termos mais usados e seus eventuais significados: 1. Multiplataforma: Programas, API´s, Jogos, etc. feitos para mais de uma plataforma, vários sistemas operacionais; 2. API: bem seguimos por essa pois é uma das mais utilizadas e serve como (um pouco) de base para as outras palavras abaixo. API de Aplication Programming Interfacie são rotinas ou funções que ajudam o desenvolvedor a programar, sem que ele precise acessar rotinas de

baixo nivel para fazer e ou utilizar imagens, objetos e etc. Abaixo listamos algumas das principais API´s utilizadas de modo geral. Também conhecidas como bibliotecas de funções e/ou SDK (Visual Studio). OpenGL ou Open Graphics Libary é uma API ou biblioteca de funções multiplataforma (tem compatibilidade com algumas das principais plataformas como Linux e Windows), destinado à construção de jogos ajudando o programador a mexer com imagens em seus projetos. Utilizada principalmente para C e C++. Mas houve-se buatos de que a versões para outras Linguagens como o Delphi; OpenAL ou Open Audio Libary é uma API ou biblioteca de funções destinada à programação com audios(som e música), ajudando o programador na utilização de audios em jogos e/ou aplicações. Utilzada em C e C++; DirectX, uma API desenvolvida pela Microsoft, portanto só suporta o Windows, deixa o programador em estado direto com o Hardware para ajuda-lo na programação de jogos, sem precisar usar rotinas de baixo nível para mexer com graficos, sons, entre outros. Utilizada em C, C++, Visual Basic e uma versão de Delphi abaixo mostrada. Atenção, não se deve confundir ele com um compenente do Windows que controla Som e Video além de alguns dispositivos como os JoySticks; DelphiX é uma biblioteca de funções baseadas no DirectX, mas com uma diferença: em quanto o DirectX é utilizado nas Linguagens de Programação C e C++ o DelphiX é utilizado na suite de programação Delphi. Exclusiva para o Delphi; Allegro mas conhecida como uma biblioteca, é uma das mais utilizadas pelos principiantes na programação de jogos, talvez pela sua facilidade e versatilidade. Também é uma biblioteca multipaltaforma feita para as Linguagens C e C++. SDL é uma API multiplataforma que assim como o DirectX deixa o programador em contato direto com o Hardware, ajudando principalmente com a programação de jogos e suas pricipais implicações. Utilizada em C e C++; 3. Scripts são tipo Sub-Linguagens no qual não são compiladas, e sim interpretadas em alguns casos, além de funcionarem dentro de uma Linguagem. São pouco conhecidas e pouco utilizadas, por isso não a muita informações sobre elas. Segue abaixo exemplos de algumas: Lua script tupiniquim (Brasileiro) de alto conhecimento na industria de jogos, utilizado por grandes companhias de jogos com a Lucas Arts e a Blizzard. Utilizada na Linguagem C e C++. AngelScript é um script que ajuda na criação de Texturas. Menos conhecido do que o acima citado. 4. Engine é um dos termos que mais causa confusão entre os iniciantes. Muitas as vezes confundida como uma API e ou Biblioteca, Engine é o código reutilizavel de um Jogo. Os desenvolvedores ou mais os programadores, criam um código aonde se possa fazer varios jogos, ou de um só tipo, facilitando por exemplo na continuação de um jogo, num episódio novo de um jogo de RPG por exemplo. 5. Código-Fonte é o arquivo fonte aonde vai todo o código do programa/jogo para ser compilado e criado o executavel (o programa final) para ser usado, fazendo e/ou executando funções definidas no código fonte. 6. IDE ou melhor dita como Integrated Development Environment (algo como Ambiente Integrado de Desenvolvimento) são programas que possuem compiladores, editores, entre outros visando uma maior facilidade na programação e/ou criação de programas. Temos vários exemplos disso como o Visual Studio (Conjunto de IDE´s como o Visual C++ e Visual Basic),

Dev-C++ e Delphi. Não deve ser confundido com compilador que só compila o código. 7. Game-Design é um termo também muito confundido, algumas pessoas acham que o termo "Design" tem a ver com a parte gráfica do jogo. Nada a ver, Game-Design pode se dizer que é um documento, parte no ciclo de desenvolvimento de um jogo, etc. cujo o qual é definido as ideias do jogo, como qual estilo ele vai ser, o que lhe compõe história (se tiver), entre outros para facilitar na confecção de um jogo. Mais tarde será mais aprofundado. 8. Estilos de Jogos são como os jogos são divididos em categorias dependendo de suas caracteristicas. A muita confusão nos estilos, no qual será listado abaixo os principais estilos e posteriormente será mais aprofundado no Game-Design. RPG (Role Playing Game) MMORPG Luta Esportes Aventura Puzlle Estrategia FPS (First Person Shooter) RTS (Real Time Strategy) Simulação 9. Tiles são figuras, que pode ser em forma de quadradro ou hexagonais, aonde possibilitam que o desenvolvedor monte a tela do jogo como se fosse um quebra-cabeça, encaichando as peças e formando o jogo. 10. Sprites são figuras que reprensentam no jogo personagens, inimigos, ou tudo que no jogo tem vida, movimento. 11. Loop é a parte do código (ou do jogo) que está toda a ação do jogo desde o inicio até o fim. 12. FPS não, não se trata de First Person Strategy (Estrategia em Primeira Pessoa) mais FPS de Frames per Second (Quadros por Segundo), que é uma unidade que marca quanto quadros são formados por segundo na tela do jogo. Obs: Aqui estão listadas palavras que a grande maioria tem dificuldade no inicio, mais se surgir alguma dúvida em algumas outras palavras por favor me mande um e-mail e a colocarei aqui com resposta. Embora mas a frente outras palavras seram relatadas. Cada palavra em seu lugar. Finalizando Irei fazer breves recomendações quanto a questão da programação de jogos. Você viu acima como você pode escolher uma Linguagem. Porém a aquela que para você saber mais sobre o mundo de programação de jogos você deverá sabe-la. Esta Linguagem conhecida como C/C++ são as mais utilizadas, mais conhecidas, entre os desenvolvedores de jogos, além de que as principais API´s e as melhores são para está Linguagem. Seria então de extrema importância saber C/C++. Além de que seria interessante saber pelo menos o intermediario do Inglês, pois os melhores matériais para estudo (Livros, Apostilas, Artigos, etc.) estão nessa Língua. Acho que depois disso não haverá problemas na programação de seu jogos. s

Conclusão deste primeiro Artigo
Vimos aqui o básico sobre a área de programação, lógicamente você deverá se aprofundar mais no que você se interessou, isto foi uma previa do que se é mais comentado sobre a área de programação, mais já está bom para um excelente começo. Abaixo está os Links dos materiais de apoio para este Artigo e espero que você continue lendo a continuação deste artigo que tratará mais a fundo sobre o Game-Design, depois sobre Ambiente 3D, Ambiente 2D, Som e finalizando vou falar um pouco sobre o Mercado Brasileiro de Jogos, suas dificuldades e o que pode ser feito para melhora-lo. Bem espero que você tenha gostado desta primeira parte e qualquer dúvida, crítica ou sugestão serão bem aceitas no e-mail: nicrotiks@hotmail.com. Bem muito obrigado por ter lido até aqui e continue lendo esta incrível saga de Artigos. Link´s de sites Sobre Iniciação e ajuda à Inciantes: PDJ - Site em Português que conta com varios Artigos, Tutoriais e Apostilas, além de Documentações e Codigos-Fontes, para ajudar seus usuários nos seus aprendizados e um Fòrum para ajuda-lo em qualquer dúvida. Unidev - Site em Português que fornece varios Artigos, Tutoriais, Códigos-Fontes e Apostilas sobre os mais variados assuntos e um Fórum que está sempre a disposição para ajuda -lo. GameDevPT - Site em Português (Portugal) que conta com um excelente Fórum com os mais variados assuntos e sempre para ajuda-lo. NeHe - Site em Inglês que conta com Artigos, Tutoriais, Codigos-Fontes e outros para ajudar seus usuários, vale a pena conferir. GameTutorials - Site em Inglês que tem vários Tutoriais sobre os mais variados assuntos. Tem excelentes Tutoriais. Gamasutra - Site em Inglês que conta com varios materiais didaticos e excelentes exemplos para o seu aprendizado. GameDev.net - Site em Inglês que tem Artigos, Tutoriais, Codigos-Fontes e um Fórum para se desfrutar de um excelente aprendizado. flipCode - Site em Inglês que tem vários materiais que se pode dizer didaticos para seu desenvolvimento. Site Oficial de Algumas Linguagens: DarkBasic - Site Oficial (em Inglês) do Dark Basic. DarkBasic Brasil - Site Oficial do Dark Basic no Brasil. BlitzBasic - Site Oficial do Blitz Basic, logicamente em Inglês. Java - Site Oficial do Java. Delphi - Site Oficial do Delphi. Site Oficial de API´s e Scripts: Allegro - Site oficial do Allegro OpenGL - Site oficial do OpenGL

OpenAL - Site oficial do OpenAL DirectX - Site oficial do DirectX(API) SDL - Site oficial do SDL Script Lua - Site oficial do Script Lua AngelScript - Site oficial do AngelScript Sites Oficiais de alguns Compiladores: Bloodshed - Site oficial da BloodShed, dona de várias IDE´s como o Dev-C++ e o Dev-Pascal. MSDN - Site oficial da Microsoft sobre desenvolvimento em suas IDE´s (como Visual C++ e Visual Basic). Borland - Site oficial da Borland (antiga Interprise), que tem algumas das melhores IDE´s do Mundo. Site de Algumas desenvolvedoras do Brasil: Continuum - Site oficial da Continuum, dona do famoso Outlive. Jynx Playware - Site oficial da Jynx. GreenLand Studios - Site oficial da GreenLand Studios. Tilt - Site oficial da Tilt, uma das primeiras desenvolvedoras do Brasil. SouthLogic - Site oficial da SouthLogic, dona de um excelente jogo o Trophy Hunter.

Sign up to vote on this title
UsefulNot useful