Program Arcade Games
With Python And PygameAntes de iniciar...
Você está aqui porque quer criar seus próprios jogos? Excelente!
Aqui estão alguns videos de jogos criados por estudantes até o fim deste curso:
Este prefácio possui duas partes:
- Configure seu computador para escrever jogos.
- Empregos e Perspectiva de carreira na área de tecnologia.
0.1 Instalando e Iniciando Python
Para iniciar, é necessário instalar antes os programas Python e Pygame. Python é a linguagem de computador onde serão escritos os programas e Pygame é uma biblioteca de comandos que irão ajudar a escrever os jogos mais facilmente.
0.1.1 Instalação no Windows
Se você está trabalhando em um computador que já possui Python e Pygame configurados, você já pode pular esse passo. Mas se deseja configurá-los por conta própria em seu Windows desktop, não se preocupe. É muito fácil.
- Execute o instalador Python baixado do endereço:
ProgramArcadeGames.com/python-3.3.3.msi - Execute o instalador Pygame baixado do endereço:
ProgramArcadeGames.com/pygame-1.9.2a0.win32-py3.3.msi
Um vez que tudo foi instalado, execute o Python selecionando o Ambiente de Desenvolvimento Integrado (IDLE - Integrated Development Environment) como apresentado na Figura 0.1
Os arquivos originais disponíveis aqui foram baixados da página oficial da linguagem Python:
http://www.python.org/download/
...e o arquivo Pygame:
https://bitbucket.org/pygame/pygame/downloads
Nota: Há várias versões Python e Pygame. Isso pode complicar um pouco na hora de escolher as versões corretas e trabalha-las em conjunto. Recomento usarem os links disponíveis do ProgramArcadeGames.com ao invés de baixar dos sites Python and Pygame.
Se precisar usar uma versão do Python diferente da listada aqui, procure combinar a versão neste site:
www.lfd.uci.edu/~gohlke/pythonlibs/#pygame
0.1.2 Instalação no Mac
Executando Python e Pygame no Mac. Devido as dores de cabeça que os estudantes tiveram ao trabalhar com o Pygame em computadores Mac, recomendo executar Python/Pygame emulando o Windows.
Se desejar trabalhar nativamente no Mac, certifique-se de ter os seguintes programas instalados:
- XCode
- XQuartz
- pip
- hg
- homebrew
Em seguida, abra o terminal do Mac e instale as pendências com:
brew install sdl sdl_image sdl_mixer sdl_ttf portmidi brew tap homebrew/headonly brew install smpeg --HEAD
Finalmente baixe, compile e instale o código fonte:
sudo pip install hg+http://bitbucket.org/pygame/pygame
Se tiver sorte, isso instalará a versão de desenvolvimento do BitBucket.
0.1.3 Instalação em Unix
Unix e suas distribuições podem vir com o pacote Pygame ou obtê-los facilmente. Se desejar compilar a partir do código fonte, este é o que tenho usado Linux Mint:
# Carregue os seguintes pacotes necessários sudo apt-get install mercurial libsdl1.2-dev libsmpeg-dev sudo apt-get install libasound2-doc libglib2.0-doc python3-dev sudo apt-get install libsdl-ttf2.0-dev libsdl-image1.2-dev sudo apt-get install libsdl-mixer1.2-dev libportmidi-dev sudo apt-get install libavformat-dev libswscale-dev # Use o mercurial para clonar o código atual hg clone https://bitbucket.org/pygame/pygame # Construa e instale cd pygame sudo python setup.py
O maior perigo na plataforma UNIX é a sua versão padrão do Python que pode ser da série 2.x, podendo não executar os exemplos de códigos deste livro. Certifique-se de ter e usá-lo na versão Python 3.x.
0.1.4 Wing como IDE opcional
Python já vem com um editor e um ambiente para desenvolvimento de código. Infelizmente não é muito bom. Quando usam o editor padrão do Python para executarem seus códigos, meus estudantes geralmente barram nos seguintes problemas:
Problema 1, quando trabalham com múltiplos arquivos é díficil de localizar todos os arquivos abertos. É fácil de esquecer de salvar um arquivo antes de executar o programa. Quando isso acontece o programa é executado com o código mais antigo que o recém escrito, causando confusão.
Problema 2, se houver algum erro em um programa que gera gráficos, o programa em Python
irá travar. Uma vez travado será difícil de interrompê-lo. A mensagem de erro que descreve o motivo do travamento é geralmente oculta e difícil de encontrar.
Ver Figura 0.2.
O editor Wing resolve o problema 1 através de um editor com uma aba para cada arquivo.
Também alerta para salvar todos os arquivos antes de executar o programa. Um programa é executado dentro do depurador Wing que não trava como
no problema 2, ao invés disso, o editor mostra imediatamente ao usuário a linha de código que causou o erro.
Ver Figura 0.3.
Apesar de ser mais um arquivo a instalar, recomendo usar o editor Wing. Existe uma versão gratuita chamada
"Wing IDE 101” em:
wingware.com/downloads/wingide-101/
Não é necessário para todos os sinos e apitos que vem na versão comercial, mas são legais. O programa irá sempre oferecer ajuda através do preenchimento nos nomes das variáveis assim que começar a digitá-las. Se tem um dinheiro extra e quer ganhar tempo você pode pegar a versão comercial.
Nos videos do site eu também uso o editor padrão do Python ou o Wing editor. Há vários outros editores que podem ser usados:
Entre algumas discussões entre desenvolvedores "qual é o melhor editor” é o mesmo que pegar um grupo de pessoas e discutir "qual é a melhor religião”. É melhor pegar o seu favotiro e evitar esse tipo de discussão com outras pessoas.
0.2 Visualizando Extensões de Arquivos
Uma ótima ideia é mudar as configurações do seu windows para exibir as extensões dos arquivos.
Um arquivo geralmente possui um nome como relatório.docx onde
.docx diz ao computador que é um documento compatível com o Microsoft Word. Por padrão, o Windows
esconde a extensão .docx quando há um programa que o execute. Esse tipo de configuração pode lhe causar alguns problemas na hora de programar.
No Windows 7, para mostrar as extensões, abra o painel de controleo. Encontre a marca para "Opções de pastas.” Clique na aba "Exibir”, e então clique para desselecionar a opção "Esconder extensões para tipos de arquivos conhecidos.”
No Windows 8, entre no windows explore apertando as teclas windows + tecla E. Clique na aba "exibir” e certifique-se da marcar a opção "Extensões de nomes de arquivos”.
0.3 Aprenda a Fazer Jogos e Ganhar Dinheiro
Assim que começar a aprender a programar, você poderá descobrir rapidamente que isso parece um trabalho.
Todos sabemos que preferimos pular o trabalho e direto coletar o ouro no World of Warcraft ou no Eve Online ou qualquer outro jogo, correto?
Então por que aprender a programar?
O que faz uma pessoa desistir de aprender a programar?
Aprender como fazer jogos e ganhar dinheiro? Ok, Eu não irei te pagar, mas se aprender a programar, haverá um bocado de pessoas que irão. Veja como lucrar:
- Aprenda a programar jogos.
- Divirta-se fazendo seus próprios jogos.
- Escolha a melhor oferta de emprego.
- Lucre.
Sorte, não acha ???
Pense nisso. Você joga jogos, mas qualquer um pode fazer isso. Ser um ótimo jogador de video game não é nenhuma grande façanha a alcançar na vida se parar para pensar bem nisso. Você pode aprender a criar jogos. As pessoas se importam com isso.
Enquanto estiver estudando programação de jogos, diga a seus pais e parceiros que está estudando ciências da computação. Soa bem melhor.
0.3.1 Por Que Estudar Ciências da Computação?
De volta ao dinheiro. De acordo com a Associação Nacional de Faculdades e Empregadores - National Association of Colleges and Employers (NACE) o levantamento de abril de 2014 sobre salários, Engenharia é a área mais bem paga e seguida por ciências da computação.
Média de Salários por área | |
Major | Oferta Média de Salário |
Negócios | $53,901 |
Comunicações | $43,924 |
Ciências da Computação | $61,741 |
Educação | $40,863 |
Engenharia | $62,719 |
área de Saúde | $51,541 |
Humanidades & Ciências Sociais | $38,365 |
Matemática & Ciências | $43,414 |
(Dados da NACE - Levantamento de Salário em abril de 2014.)
Enquanto aprende a programar jogos, você pode estudar um dos cursos superiores mais bem pagos. Sejamos honestos, o grau de engenheiro leva em torno de cinco anos para alcançar. Ciências da Computação é uma ótima carreira a se apostar.
Por que estudantes de ciências da computação são bem pagos? Devido a grande demanda e poucos estudantes. Ver Figura 0.5 e Figura 0.6.


Que tal dois anos de escola para aprender a programar? É uma alternativa mais barata aos quatro anos de faculdade. Caminho mais barato. Mas dê uma olhada na tabela abaixo. Use esse dado "Salário médio por nível de educação” como um conselho antes de escolher um curso escolar de dois anos:
Salário médio por nível de educação | |
---|---|
Vocacional/Escola técnica | $65,408 |
Faculdade | $75,701 |
Ensino médio | $79,370 |
Militar | $84,131 |
Curso de Graduação (4-Anos) | $85,815 |
Mestrado | $97,811 |
Doutorado | $113,600 |
De acordo com um levantamento realizado pela Dice.com, pessoas na carreira de tecnologia que se graduaram em escolas de dois anos ganham em média $20,000 menos que aquelas que estudaram quatro anos. Na verdade, fizeram uma escolha pior que abandonar quatro anos de Faculdade do que a de pessoas que possuem apenas o ensino médio! Então vá para uma escola de quatro anos e pule os dois anos de curso.
Isto está de acordo com o Levantamento de Salário 2013-2012 realizado pela Dice Technical. Percebam que os salários listados
não é a média inicial. Os números representam a média de todos os trabalhadores, não importando a experiência. Claro que acho que a Faculdade Simpson tem o melhor departamento de Ciências da Computação
do centro-oeste:
http://simpson.edu/computer-science
0.3.2 Obtenha o Máximo Destas Aulas
Procurando fazer seu tempo aqui valer a pena? Responda as questões do capítulo! Não os pule. São necessários para entender este material.
Faça os exercícios labs! É ainda mais importante. Aprender apenas por leitura é tão vantajoso quanto se tornar um jogador expert em basquete apenas lendo livros.
Pratique! Você pode ver outras pessoas que não precisam praticar. Isso não é justo. Você precisa ser mais esperto que os outros, pois eles fazem melhor que você porque trabalham nisso e você não. Isso também não é justo. Essa é a vida. Acostume-se com isso. Pratique.
Você está usando esse material como aulas? ótimo! Sabia que pode agilizar e copiar as respostas e exercícios de laboratório da Internet? Pode se inscrever numa academia e enviar alguém para malhar por você. Isso não faz muito sentido.
Sério, em que planeta Terra você está pensando em copiar de alguém? Se não está indo trabalhar, largue tudo e vá preencher um formulário de emprego da McDonald.
Se ler não faz muito do seu estilo de aprendizado a maior parte das informações encontram-se em videos.
Você pode pular o texto inteiro e apenas assistir aos videos na playlist do YouTube:
http://www.youtube.com/playlist?list=PL1D91F4E6E79E73E1
Você não conseguirá aprender sem fazer os exercícios. Leia. Faça perguntas.
Faça as planilhas. Pergunte. Escute os videos.
Faça perguntas ao seu professor.
0.3.3 Nos fale da sua experiência
Este é o texto que uso nas aulas da Faculdade Simpson College:
Computer Science 150
Fundamentos da Computação I
Existe uma versão impressa disponível nos sites da Amazon, Barnes e Noble. Apenas uma versão
on-line está disponível em:
ProgramArcadeGames.com
O objetivo do texto, do website, das tabelas, linguagem e videos é de ensinar os coneitos básicos da ciência da computação
e fazer com que estudantes comecem a criar seus próprios jogos assim que puderem.
Me envie um recado!
Se está usando para estudar sozinho ou para outra aula, por favor me envie um recado. Quanto mais pessoas usarem essa fonte, mais esforço farei para melhorá-la.
Escutei que alguns estudantes secundários usam este material. Se você é estudante em uma dessas escolas e gostou deste material, dê uma olhada em Departamento de Ciências da Computação at Simpson College. Adoraríamos de ter a chance de trabalhar com você. Entre em contato comigo admissões para maiores informações.
Se você identificar algum erro ou omissões neste livro, por favor me envie um e-mail. Desejo manter essa fonte o melhor possível.
Dr. Paul Vincent Craven
Department Head, Computer Science Department
Simpson College, Indianola, Iowa, 50125 USA
paul.craven@simpson.edu
You are not logged in. Log in here and track your progress.
English version by Paul Vincent Craven
Spanish version by Antonio Rodríguez Verdugo
Russian version by Vladimir Slav
Turkish version by Güray Yildirim
Portuguese version by Armando Marques Sobrinho and Tati Carvalho
Dutch version by Frank Waegeman
Hungarian version by Nagy Attila
Finnish version by Jouko Järvenpää
French version by Franco Rossi
Korean version by Kim Zeung-Il
Chinese version by Kai Lin