Entrevista com TJTownsend - criador do jogo Pythetron



  • Gabriel Costa: Antes de tudo, como de costume, gostaria de agradecer por aceitar o meu convite. Poderia dizer as pessoas quem é TJ Townsend? Experiencia profissional, vida pessoal.
  • TJ Townsend: Minha principal fonte de renda tem sido minha carreira de cursos de desenvolvimento no mundo do treinamento corporativo online. No entanto, eu sempre tive uma paixão por vídeo games e sempre fiquei de olho em ferramentas para desenvolver meus próprios jogos. Quando eu era criança na década de 90 eu comecei a programar Qbasic e fazer pixel art no Mircosoft Paintbrush. no final da década de 90, eu estava mexendo com gráficos 3d iniciando com o TrueSpace e eventualmente aprendendo 3d Studio e Photoshop. Começando no inicio dos anos 2.000 ActionScript e Flash foram minhas principais ferramentas para desenvolvimento até 2.013 quando eu comecei a aprender C# e Unity. Nos últimos anos, eu me encontrei fazendo alguns trabalhos de marketing para jogos criando posters, ícones, vídeos, packaging design e concept art. É um jeito engraçado de estar envolvido no mundo do vídeo game sem na verdade estar na empresa.


  • Gabriel Costa: Qual é a inspiração para jogo Pytheron? Digo, pode nos explicar a origem do nome, uma curta estória do jogo e porque naves espaciais?
  • TJ Townsend: Pythetron começou com um tutorial de como fazer um jogo muito básico de asteroides e envolvido a partir dali. Meu objetivo sublime foi fazer o primeiro speed-run centric shoot'em up que parecesse  um jogo old-school mas que tivesses, mas que tivesse a beleza e recursos fornecidos por um motor gráfico moderno. Eu escolhi fazer 2.5d por essa razão. Você pode fazer o jogo ter a aparência e sensação de jogos 2d do passado, mas oferece uma experiencia visual mais a par com jogos modernos.
Clique aqui para baixar o jogo
  • Gabriel Costa: Como Pythetron foi desenvolvido?
  • TJ Townsend: Eu sabia que eu tinha experiencia em todos os aspectos individuais de game making e com o motor Unity. Eu sabia que era somente uma questão de aplicar esforço e eu sabia que eu era capaz de desenvolver um jogo muto sólido. Meu pensamento inicial era que o gênero shoot'em up era um bom ponto inicial desde o motor de física incorporada, Unity, fornece seria mais do que capaz o suficiente de cuidar do jogo sem que eu tenha que fazer quaisquer levantamento pesado de um ponto de física. Quando eu comecei o jogo, eu tinha somente uma ideia muito vaga para uma história. Eu queria que o jogo fosse o centro em torno da gamplay primeiro. A história viria depois. O que eu não esperava era o nível de otimização eu que tinha que fazer quando criar o motor de jogo para que o jogo parecesse responsivo e rodar bem mesmo em hardware antigo. O desenvolvimento do motor de jogo parecia uma constante batalha ladeira acima devido aos meus padrões de gameplay leve em hardware gráficos antigos. Enquanto eu desenvolvia o jogo, eu mantinha um contador na tela que me deixaria saber de um frame levaria mais tempo que 1/60th de segundo para ser exibido. meu objetivo foi ser capaz de jogar um nível de teste de gráficos pesados e nunca ter queda de frame rate abaixo de 60fps. Depois de 12 meses de desenvolvimento do motor eu terminei de programar muitas técnicas de otimização diferente que constantemente escalaria os gráficos baseado em quanto tempo um frame levou para processar e quanto tempo um frame levou para aparecer. O motor analisa os frames e determina se o jogo está ao ponto de ter inclinação abaixo da mágica marca de 60fps escalará de volta baseado em que processo está sendo mais taxado. Cada frame descarregou para isso processos bastante, assim o carregamento é eventualmente distribuído. Por exemplo, se ele estiver começando a levar muito tempo para renderizar um frame, os sistemas de partícula através de todo o jogo começará a afinar, os shadow maps começarão a baixar a resolução, ou mesmo desligar completamente nos cenários onde não seria perceptível para o jogador. O anti-aliasing ajustaria, fontes de luzes não importante desligariam, raycasts e outros processos intensivos de CPU tomariam vezes utilizando a largura de cada frame. Essas foram todas as coisas que eu não estava esperando desenvolver que eu senti que era essencial em fazer uma boa experiência. 

  • Gabriel Costa: Você pretende continuar o desenvolvimento de Pytheron?
  • TJ Townsend: Depois que eu estava convencido de que eu tinha um bom motor de jogo, eu disponibilizei o jogo publicamente para obter um parecer de como ele seria recebido. A recepção para o jogo foi lista. O problema foi que eu passei um ano em uma bolha, otimizando a jogabilidade para mim mesmo. O jogo foi literalmente desenvolvido e testado por mim somente para um ano inteiro antes mesmo de obter feedback de outros. Essa foi uma decisão fatal na minha opinião. Eu decidi colocar o jogo no Kickstarter e deixar as pessoas decidirem se o jogo valia a pena ser concluído. Apesar de meus esforços de levantar conhecimento a respeito do jogo; ela falhou encontrar objetivo no kickstarter. No final eu tive bastante diversão e aprendi muito. O desenvolvimento do jogo não foi cancelado, mas está no aguardo. Minha esperança é que o jogo possa encontrar uma audiência ou um investidor com vontade de financiar o desenvolvimento mais adiante.
  • Gabriel Costa: Você possui algum outro jogo?
  • TJ Townsend: Aparte de mini games simples, eu criei para trabalho outro jogo completo que eu fiz foi um simulador de pescaria feito em flash. Era um jogo dependente de servidor que foi perdido em uma quebra 10 anos atrás.

Comente com o Facebook:

Nenhum comentário:

Postar um comentário

Viu algum erro e quer compartilhar seu conhecimento? então comente aí.

Observação: somente um membro deste blog pode postar um comentário.

Marcadores

A pior história sobre Linux que já ouvi (5) A.I (2) ambiente gráfico (19) AMD (14) analise (10) Andriod (16) android (7) Apple (1) arm (5) artigo (5) aws (1) bc (23) benchmark (6) BetrFS (1) blackhat (1) BSDs (30) btrfs (32) bugs (2) Caixa de Ferramentas do UNIX (19) canto do Diego Lins (2) certificações Linux (7) Código Fonte (54) comandos (31) comp (1) compressores (5) container (7) CPU (19) cracker (1) criptografia (5) crowdfunding (9) cursos (24) daemons (13) Debian (31) desempenho (1) desenvolvimento (90) desktop (19) DevOps (3) DevSecOps (4) dic (1) Dica de leitura (90) dica DLins (2) dicas do Flávio (27) Dicas TechWarn (1) diet libc (3) diocast (1) dioliunx (3) distribuições Linux (14) Docker (12) DragonflyBSD (22) driver (1) ead Diolinux (2) edição de vídeo (5) embarcados (1) EMMI Linux (4) emuladores (9) endless (5) English interview (3) Enless OS (2) entrevista (17) espaço aberto (82) evento (6) facebook (1) Fedora (11) filesystem (82) financiamento coletivo (2) fork (4) fox n forests (4) FreeBSD (20) Funtoo Linux (13) games (94) gerenciadores de pacotes (4) glaucus (3) GOG (3) google (9) gpu (3) hacker (2) hardware (104) hash (1) helenos (3) I.A (1) init system (11) Intel (15) inteligencia artificial (2) IoT (1) ispconfig (1) jogos (38) kde (1) kernel (138) lançamento (64) leis (1) LFCS (1) libs (2) licenças (8) Linus (16) linus torvalds (2) Linux (194) linux foundation (3) linux para leigos (1) live (5) LPI (8) LTS (1) Mac (1) machine learning (1) matemática (9) mesa redonda (27) microcontroladores (1) microsoft (6) microst (1) muito além do GNU (165) musl (3) não viva de boatos (9) navegadores (5) NetBSD (7) newlib (1) nim (1) nintendo (1) novatec (17) novidades (1) nuvem (1) o meu ambiente de trabalho (3) off-topic (12) open source (84) OpenBSD (7) OpenShift (1) oracle (1) os vários sabores de Linux (43) padrim (2) palestras e eventos (5) partições (6) pentest (8) performance (1) pipewire (1) plan9 (1) playstation (1) processadores (30) professor Augusto Manzano (11) Programação (64) promoção (1) propagandas com Linux (8) ps4 (1) real-time. (1) Red Hat (23) redes (4) resenha nerd (4) Resumo da Semana do Dlins (2) resumo do Tux (19) retrospectiva Linux (1) risc-V (14) RISCV (13) rtos (1) runlevel (2) rust (12) segurança digital (24) servidor web (2) servidores (2) shell (9) shell script (8) sistema operacional (25) skarnet (1) smartphones (3) Software livre e de código aberto (151) sorteio (3) Steam (10) Steam no Linux (8) supercomputadores (4) suse (6) systemd (7) terminal (89) terminal de comandos (18) toca do tux (1) toybox (27) tutorial (6) Tux (3) unboxing (7) UNIX (17) UNIX Toolbox (14) vartroy (1) vga (1) virtualização (2) vulnerabilidade (6) wayland (5) web (1) whatsapp (1) whitehat (1) Windows Subsystem for Linux (2) wine (14) WoT (1) yash (1) ZFS (15) zsh (3)