Pesquisar

terça-feira, 19 de fevereiro de 2008

Entrevista com Refraction, codificador do projeto PCSX2 - um emulador do Playstation 2.

Se há um grande projeto do qual posso afirmar que complexidade é o ponto alto, é o PCSX2, um emulador da famosa máquina Playstation 2.
Esse projeto conta com um time de desenvolvedores que entre outras várias coisas constroem software de maneira ágil.
Fiz a entrevista com Alex (conhecido como Refraction) e tive várias boas surpresas, por exemplo, eles usam visual studio 2005, tratam o projeto como um hobby não um trabalho... enfim melhor ler pra entender.

Entrevista traduzida:

Leandro:Primeiro qual o seu nome, onde você mora, alias conte-nos um pouco da sua história no desenvolvimento de software?
Alex: Meu nome é Alex, moro em Plymouth, Inglatera, desenvolvimento de software pra mim sempre foi um hobby, comecei com Visual Basic no ano de 2000, logo entre 2002 e 2003 eu fiz meu primeiro emulador (bom e velho *chip8!) usando a linguagem C, cuja tinha mexido um pouquinho pouco tempo antes, eu então passei para a bagunça que é a emulação do GameBoy, isso foi um gancho para trabalhar no time do PCSX2, comecei ajudando bem pouco, então Saqib (formalmente conhecido asadr) perguntou-me se queria juntar-se ao time, ai eu fui pra lá.

Leandro:Como nasceu o time do PCSX2?
Alex: PCSX2 foi criado pelos desenvolvedores do PCSX, Linuzappz e Shadow. Eles tinham terminado com muita acurácia a emulação do PS1 e descobriram o que o próximo passo lógico era dar gás a emulação do PS2, então o PCSX2 nasceu.

Leandro:O time de desenvolvimento é bem integrado?
Alex: Não tanto, o que você quis dizer com integrado, perto um do outro? na amizade sim, mas não tão perto perto perto. Embora nos continuemos bem.

Leandro:Que ferramentas vocês utilizam neste projeto?
Alex: Usamos sourceforge SVN e Visual Studio 2005. Alguns plugins, uso da **SDL, DirectX e OpenGL pra fazer o que for necessário para obter sucesso.

Leandro:O time de desenvolvedores segue algum padrão que vocês estabeleceram?
Alex: Nós não seguimos padrão nenhum, até porque isto é um hobby não um trabalho :)

Leandro:Há algum desenvolvedor responsável por coordenar as ações/atividades do projeto?
Alex: Não ia durar muito coordenando, às vezes dizemos "larga de ser preguiçoso e faça algum código" mas isto quase não é feito :p

Leandro:Vocês tem metas atribuídas por alguém ou apenas o desejo de construir bom software?
Alex: Definitivamente o desejo de construir bom software. Ultimamente o objetivo é ter uma boa emulação do PS2, mas isso é o jeito que as coisas vão.

Leandro:Qual é o melhor e o pior aprendizado que você pode ter no projeto?
Alex: Você quer dizer no projeto? Hmm, eu suponho que seria o ***timming do PS2, isto é dor além palavras.

Leandro:Você conhece algum dos membros pessoalmente?
Alex: Eu conheço dois dos meus testadores beta, CKemu e General Plot, eu conheci ambos.

Leandro:Que tipo de mecanismos vocês usam para se comunicarem?
Alex: Normalmente MSN e IRC, embora IRC tende ser menos sério.

Leandro:Qual recado você pode deixar para os usuários ansiosos?
Alex: Hmmm, no momento as coisas estão paradas, tudo que posso dizer é que em breve os usuários não precisarão ficar tristes por não possuírem o console, esperançosamente iremos ter uma alternativa grátis pra vocês, mas eu não tenho a data exata deste momento:)

Leandro:O cara Brasileiro no projeto (GoldenFinger) está ativo?
Alex: Não atualmente, ele até falou de uma volta, ele está inativo por anos, acredito que ele está ocupado no momento :)

Thanks
Refraction

*chip8 = uma máquina bem simples, que tem como forma de interação um teclado numérico, bem conhecida porque quem começa a desenvolver emuladores.
**SDL = Uma API cross-platform para escrever jogos ou tratar multimídia.
*** Timming = é clock interno (que também deve ser emulado) da máquina PS2.

Impressões:
Incrível como um software tão complexo pode ser construído por pessoas que estão geograficamente distantes. Só como ressalva o PCSX2 em processadores dual core (seja X2 (AMD), ou duo (Intel)) já está rodando em média de 20 a 50 fps.

Links interessantes:
Página oficial
Código fonte
Blog oficial
Forum oficial
Página de downloads
Beta releases
SVN Browser

A entrevista original:

Leandro:First what is you name, where you live actualy, btw tell us a bit of your history on computer software?
Alex: my name is Alex, i live in Plymouth, England, software development for me has always been a hobby, i started with VB back in 2000 and meddled in little bits here and there, then in 2002-2003 time i made my first emulator (good old chip8!) in C, which id picked up merely a few months before hand, i then went on to mess with Gameboy emulation then got hooked on the PCSX2 Team's work, i began helping out on bits, then Saqib (formally known as asadr) asked me to join the team, it went from there.

Leandro:How was born the PCSX2 team?
Alex: PCSX2 was created by the developers of PCSX, Linuzappz and Shadow. They had pretty much finished accurate PS1 emulation and figured the logical next step to fuel their coding needs would be to move on to PS2 emulation, so PCSX2 was born.

Leandro:The development team is quite integreted?
Alex: Not quite sure what you mean here, do you mean "close"? in a friend sort of way yes, but not close close. We get along fine though.

Leandro:Which tools you use on this project?
Alex: We use sourceforge SVN and Visual Studio 2005. some plugins use SDL, DirectX and OpenGL to do what they need to succeed.

Leandro:All the team follow some pattern that you stabelished?
Alex: We dont really follow any pattern, after all it is a hobby, not a job :)

Leandro:Some of the developers are responsible for coordinating the actions / activities of the project?
Alex: Not much coordinating goes on, sometimes we go "stop being lazy and do some coding" but thats as far as it goes :p

Leandro:You have targets set by someone or just the desire to build the good software?
Alex: definately the desire to build good software. Ultimately the goal is to have good PS2 emulation, but thats a way off yet.

Leandro:What is the best and the worst learning you could retrive from the project?
Alex: Do you mean part of the project? hmm, i suppose it would be the timing of the PS2 system, its a pain beyond words.

Leandro:Do you know some member personality?
Alex: I know 2 of my beta testers personally, CKemu and General Plot, i have met them both.

Leandro:What kind of mechanism you use to comunicate between members?
Alex: usually MSN and IRC, although IRC tends to be less serious.

Leandro:What scrap you can tell for anxious users?
Alex: Hmmm, at the moment things are a little dry, all i can say is hopefully soon users wont need to worry about not owning the console, hopefully we will have a free alternative for you, but i have no dates of completion :)

Leandro:The Brazilian guy on project (GoldenFinger) is active?
Alex: Not currently, hes talked about comming back as he was inactive for a few years, but i think hes a bit busy at the moment :)

Thanks
Refraction

Nenhum comentário: