GithubHelp home page GithubHelp logo

invasores's Introduction

Invasores

Abaixo a página original da Wiki, portada para o GitHub.

O projeto continua vivo. A versão atual foi testada com Python 3.6. Aos poucos eu iriei documentando e modernizando o código.

Documentação disponível em: http://invasores.readthedocs.io/pt_BR/latest/index.html

Situação do Projeto

Mudanças estão sendo feitas para a realização da versão 1.0. Veremos muitas versões 0.9x por que o target da versão 1.0 é possuir fases. O jogo foi planejado para ter 5 fases. Otimizações ainda estão pendentes.

Instalação

Faça o download do jogo no GitHub.

Invasores utiliza Python e PyGame sendo multiplataforma por definição. O jogo já foi testado nas seguintes plataformas:

  • Instalação Windows

  • Instalação Linux

  • Instalação Mac OS X

  • Instalação FreeBSD

    git clone https://github.com/lskbr/invasores
    cd invasores
    pip install .
    python invasores.py

Ajuda

O Invasores nasceu de um grupo de amigos programadores. Infelizmente ninguém sabia desenhar. Se você é um artista gráfico ou entusiasta e gostaria de ver sua arte no jogo, não hesite em me contactar. LSK-BR Isto é sério, programas livres são feitos pela e para a comunidade. Existem vários planos para Invasores parados por falta de desenhistas e pessoas que possam contribuir com sons e efeitos.

Implementação

Invasores foi inteiramente desenvolvido utilizando-se Python e Pygame.

A implementação atual divide o jogo num loop de eventos principal e em várias classes. Basicamente, o jogo é composto de uma instância da classe Universo, populada por instâncias de objeto do jogo. Como o objetivo era fazer o jogo mais rápido que os demais, diversos assassinatos em relação a otimização e organização de código/uso de OO foram cometidas. Com o tempo, vários problemas foram resolvidos e as classes foram isoladas em arquivos independentes.

Diversas mudanças estão ocorrendo no código. Verifique o GIT.

Metas

Para a versão 1.0, a principal meta seria a divisão do jogo em fases. No entanto, outras metas surgiram antes disso:

  • Detecção de colisão fina, com quadrados internos
  • Desacoplar o jogo do loop principal
  • Redividir os módulos
  • Controles: otimizar, permitir customização
  • Score em barra
  • Log de eventos, permitir playback e save-games
  • Inimigos que atiram, com inteligência, linha de visão
  • Obstáculos
  • Menu
  • Textos introdutórios
  • Gravar em filme
  • Pacotes .deb, .rpm, .ebuild, ports e .exe
  • 2 jogadores
  • Versão em rede
  • Novas armas
  • Aumentar a equipe

História

O jogo começou a ser desenvolvido em 2002, quando um grupo de colegas da Fundação Paulo Feitoza resolveu fazer jogos. Eu criei um grupo no Yahoo, chamado Gamessa (07/02/2002).

Como era nosso primeiro projeto, publicamos regras e as esperanças foram grandes. Várias pessoas contribuiram para o grupo, mas na realidade jogo nenhum surgira.

Em 2003, a FPF começou a trabalhar com J2ME e com isso mais pessoas se juntaram ao grupo. Começamos então a discutir em que linguagem fazer o jogo. Abrimos votação e não chegamos a nenhum consenso. Para resolver este problema, cada um escolheu a linguagem que mais gosta e um projeto piloto. O resultado seria avaliado para a escolha final do grupo. Assim nasceu o Invasores.

Eu escolhi Python e fiz o primeiro release, a versão 0.5, em 22/09/2003. De lá para cá, o jogo melhorou bastante, principalmente os gráficos e a própria engine. Observando o processo de desenvolvimento, fica claro que o uso da Pygame foi melhorando com o tempo, a cada versão novas funcionalidades da biblioteca foram sendo utilizadas.

Em 2005, um processo de divulgação foi iniciado, visando atrair colaboradores. Invasores é cadastrado no diretório de software da FSF. Todo lançamento é divulgado também no Freshmeat. Uma notícia também foi divulgada no Notícias Linux. Também houve uma apresentação sobre o jogo no III ESLAM (Encontro de Software Livre do Amazonas) que poder ser baixada PythonEPygame.pdf.

Ainda há muito por vir...

Python & Pygame

Python foi escolhida por ser fácil de usar e de prototipar. Eu já havia tentado fazer muita coisa em DirectX com o Visual C++ e em Delphi. Além disso, criar um jogo que só rodava em Windows gerava um problema ideológico muito grande para um defensor do Linux. O problema é que não era tão divertido. Com Python a prototipação ficou mais rápida e a solução é multiplataforma.

Eu já programava em Python antes, utilizando-a como linguagem script no Linux, para automatizar tarefas repetitivas do sistema. Pygame permitiu a velocidade que eu precisava com a Linguagem que eu havia escolhido.

Equipe

Atualmente a equipe é composta por: Nilo Menezes - LSKBR Programador, sonoplasta, desenhista, autor da história, webmaster deste site, tradutor, etc.

Agradecimentos

Não poderia faltar uma série de agradecimentos:

  • Lúis Braga - por emprestar seus filhos e os ensinar a jogar o Invasores.

  • Edson César - por emprestar o notebook e deixar eu instalar o Invasores no Mac OS X.

  • Clebson Derivan - por instalar e testar o jogo no OpenBSD.

  • Pablo Godoy - tradução para espanhol.

  • Xavier Ricco - tradução para francês.

Pendências do site

  • Trocar as imagens

  • Adicionar mais informações sobre o projeto

  • Links para download

Créditos

invasores's People

Contributors

lskbr avatar nilologikraft avatar

Stargazers

 avatar Rafael De Souza Santos avatar Cptx032 avatar Vicente Marçal avatar

Watchers

 avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.