Liberdade Também nos Games!Presentation Transcript
Liberdade Também nos
Games!
#DiaDebian RJ 2010
USS (Vassouras)
Diego “Dukão” Moreira Guimarães
@diegodukao
http://diegodukao.net
1
“Please allow me to introduce myself”
● Diego Moreira Guimarães (Dukão)
● Bacharel em Ciência da Computação
● Mestrando em Computação Visual
● fale@diegodukao.net
● http://diegodukao.net
● @diegodukao
2
3
4
O que as pessoas costumam pensar quando ouvem falar sobre jogos para Linux?
5
(Mines e AisleRiot Solitaire) Jogos simples e clássicos. “Sem graça” para alguns.
6
(Frozen Bubble) Alguns bem divertidos, mas ainda bem simples.
7
(Sudoku) Mas será que só existem mesmo esses jogos pra Linux?
8
Também existem aqueles que são apenas “clones” livres de jogos consagrados.
9
(Secret Maryo Chronicles) “Razoavelmente” inspirado no Mario do Nintendo.
10
(Secret Maryo Chronicles) Essa versão mais nova é menos parecida, mas a jogabilidade ainda é a
mesma.
11
(Wormux) Clone livre de Worms.
12
(Hedgewars) Outro clone de Worms. Muito bom! Melhor que o Wormux
13
(Pingus) Clone de Lemmings.
14
(Frets on Fire) Clone de Guitar Hero. Porém, este é especial. Ainda será citado outras vezes nesta
apresentação.
15
“Ah, mas e os jogos famosos? De empresas grandes? Eu quero esses!”
16
(Doom 3) O que poucos sabem é que alguns dos jogos mais famosos possuem versões para Linux.
17
(Unreal Tournament) As próprias empresas que lançaram esses jogos desenvolveram versões ou
atualizações que permitem que eles sejam jogados no Linux.
18
(Civilization) Normalmente, basta entrar no site da empresa e baixar uma atuallização que vai
permitir que o jogo seja instalado na distribuição de sua preferência.
19
(Medal of Honor) É claro que para isso é necessário ter o cd/dvd original de instalação do jogo.
20
(Half Life 2) Alguns jogos mesmo não possuindo versões oficiais para Linux, rodam perfeitamente
com o auxílio do WINE (software que permite rodar programas de Windows no Linux)
21
“Mas eu não compro jogo. Só baixo do torrent? Como faço?” Aí complica. Por que ao invés disso
você não testa alguns jogos livre?
22
(Assault Cube) Existem jogos para todos os gostos. Principalmente para os fãs de tiro em primeira
pessoa.
23
(TORCS) Jogos de corrida também estão presentes.
24
(Tremulous) Todos eles são gratuitos, ou seja, você não precisa de crack, serial ou coisa parecida
para poder jogar.
25
(Frets on Fire X) Além disso, por serem livres, você pode alterá-los como quiser. O FOF é um ótimo
exemplo de jogo altamente customizável. Aqui ele está com um tema do Guitar Hero.
26
(Frets on Fire X) Aqui com um tema do Rock Band. Além disso você pode adicionar músicas novas.
Essa customização torna possível, por exemplo, lançar um “Guitar Hero” da sua banda. Com as
suas músicas e um tema feito por você, Já pensou nisso?
27
Outra vantagem desses jogos é que eles são extremamente leves. Então é possível se divertir com
máquinas mais modestas.
28
“Jogos livres? Gratuitos? Como ganhar dinheiro com isso?”
29
Cinco pequenas empresas pegaram seus jogos principais e disponibilizaram todos para venda em
um pacote chamado Humble Indie Bundle.
30
(World of Goo) Todos os jogos possuíam versões para Windows, Linux e Mac.
31
(Aquaria) E não tinham DRM, ou seja, você podia baixar e instalar onde e quantas vezes
quisesse.
32
(Gish) Mas o melhor de tudo era o preço: quanto você quisesse pagar.
33
(Lugaru) Ou seja, se você quisesse pagar US$1 pelos 5 jogos, tudo bem. Se quisesse pagar
US$1000, tudo bem também.
34
(Penumbra) O dinheiro arrecado seria dividido entre as cinco empresas e duas instituições de
caridade.
35
(Pessoas jogando Penumbra) O Humble Indie Bundle ficou disponível para venda apenas uma
semana.
36
E arrecadou mais de US$1.000.000. Interessante notar que os usuários de Linux tiveram o maior
valor médio de doações: US$14,52. Isso mostra que as empresas de games podem estar
perdendo dinheiro por não lançarem versões dos seus jogos para Linux.
37
O sucesso superou tanto as espectativas dos seus realizadores, que, para comemorar, eles abriram
o código de quatro dos cinco jogos do Bundle.
38
“Ok, quero fazer jogos! Por onde começo?” Existem várias opções de tecnologias livres para
desenvolvimento de jogos multiplataformas.
39
A Löve é um framework para jogos feito em Lua.
40
PyGame é uma biblioteca Python para jogos.
41
O Frets on Fire foi feito com a PyGame.
42
Para jogos 3D, a OGRE é uma ótima escolha.
43
(SumoCheckers) O pessoal da Devoid está desenvolvendo um jogo utilizando a OGRE. É
basicamente um jogo de damas com lutadores de sumô.
44
(SumoCheckers) Para “comer” uma peça, você deve lutar contra ela. Maiores informações:
www.devoid.com.br
45
(SumoCheckers) No site deles tem um post sobre como foi portar o jogo para Linux. Muito útil para
quem quer mexer com a OGRE.
46
O RPG Torchlight, a venda na Steam, também foi feito com a OGRE.
47
A engine do Quake 3 também é livre.
48
E você ainda pode se basear no código dos jogos do Bundle para começar a fazer o seu.
Não Subestime
Física e Matemática!
49
Quer fazer jogos? Então, por favor, preste atenção nos próximos slides.
“Matemática e Física não
são importantes!”
50
Esse é o pensamento que grande parte dos alunos e profissionais de computação têm. Se por
acaso você pensa assim...
1 - Você está enganado
51
1 - Você está enganado
2 - A culpa não é sua
52
A matemática otimiza seu código
53
A matemática otimiza seu código
Exemplo:
Somar os números de 1 a 100
54
A matemática otimiza seu código
Exemplo:
Somar os números de 1 a 100
soma = 0
for i in range(101):
soma += i
55
A matemática otimiza seu código
Exemplo:
Somar os números de 1 a 100
soma = 0
for i in range(101):
soma += i
>>> 5050
56
A matemática otimiza seu código
Exemplo:
Somar os números de 1 a 100
soma = (100 * 101) / 2
57
A matemática otimiza seu código
Exemplo:
Somar os números de 1 a 100
soma = (100 * 101) / 2
>>> 5050
58
A matemática otimiza seu código
Exemplo:
Somar os números de 1 a 100
soma = (100 * 101) / 2
>>> 5050
Progressão Aritmética
Soma de P.A.: Sn = (n (A1 + An)) / 2
59
Quer mesmo fazer jogo?
Você não vai chegar a lugar
algum sem matemática e FÍSICA!
60
Programação de Jogos
Gravidade?
61
Programação de Jogos
Gravidade?
Detecção de colisão?
62
Programação de Jogos
Gravidade?
Detecção de colisão?
Atrito?
63
Programação de Jogos
Gravidade?
Detecção de colisão?
Atrito?
Cordas, molas, dinâmica de fluidos...
64
Esses tópicos não vêm prontos. Eles precisam ser implementados por você. E para isso você
usará bastante física e matemática.
Programação de Jogos
Você usa Matemática e Física o
tempo todo!
65
Por que a culpa não é sua?
66
Por que a culpa não é sua?
Porque te ensinaram errado!
67
Por que a culpa não é sua?
Porque te ensinaram errado!
68
Por que a culpa não é sua?
Porque te ensinaram errado!
69
Por que a culpa não é sua?
Porque te ensinaram errado!
70
A maioria dos nossos professores costumam simplesmente passar a matéria sem nos dar um
exemplo prático do seu uso. Por isso grande parte dos alunos não se interessam por essas
matérias e acabam tenho a ideia errada de que elas não são úteis.
“O exemplo não é a melhor
forma de ensinar, é a única
forma de ensinar.”
71
Se os professores se preocupassem mais em mostrar exemplos práticos, os alunos se
interessariam mais por essas matérias e perceberiam que, além de importantes, elas podem
ser bem interessantes.
72
Para terminar: há bastante tempo corre o boato de que será lançado a Steam para Linux.
Atualmente o único motivo de eu ter Windows instalado no meu computador é a Steam. Se
isso realmente acontecer, significa apenas uma coisa:
73
Liberdade!
Obrigado!
Perguntas?
Diego “Dukão” Moreira Guimarães
@diegodukao
http://diegodukao.net
74