sexta-feira, 11 de junho de 2010

void Opera Magus - Download

{

Para quem quiser, aqui está o link no sendspace para baixar o game "Opera Magus" e jogar a vontade: DOWNLOAD AQUI! O formato está ".ccgame".

Mas, para quem quiser baixar em .rar, está aqui no SkyDrive: PARTE 1 e PARTE 2

Pré-requisito: Ter o XNA Framework instalado!

Quem gostar e quiser jogar, por favor preencher o relatório de pesquisa e remeter para o endereço de email indicado no arquivo.

Fico grato com a ajuda de todos que quiserem jogar e ainda mais se puderem me retornar a pesquisa!

Obs: O arquivo tem 70Mb, onde 60Mb são com as músicas do game! Quem quiser uma versão mais leve é só entrar em contato.

[]´s

}

quinta-feira, 10 de junho de 2010

void Opera Magus - Imagens

{

Imagens promocionais?! ;)))
Me deram a idéia que postar imagens é mais atrativo aos olhos interessados e curiosos!
Lá vão duas...





}

void Opera Magus - Vídeo

{

video

}

quarta-feira, 9 de junho de 2010

void Opera Magus()

{

TCC finalizado...

Instalador pronto... e em fase de testes!
Alguns amigos testando! Aguradando o relatório de satisfação dos mesmos!

Depois de muito suor, a certeza é que valeu a pena.
O lucro foi: aprendi XNA, evolui no C# e na orientação a objetos e me proporcionei mais um desafio! Sensacional!

O vídeo com o início do game está aqui: OPERA MAGUS.

Em um futuro muito próximo postarei o game para download! Ufaaaaaa!

[]´s

}

sexta-feira, 18 de dezembro de 2009

void Web.config(Autorização, Autenticação)

{

Autorização e Autenticação de usuários é um assunto de extrema importância quando falamos de um sistema, independente de plataforma e linguagem de programação.

Para aplicações web feitas em .NET. temos o recurso do web.config, que nada mais é que um arquivo XML protegido onde podemos definir as mais variadas assertivas, validações e permissões para desenvolvimento e segurança.

Por exemplo, quando temos todo o nosso sistema protegido por login e senha de usuário, o qual espera um autenticação para uso, podemos simplesmente definir no web.config, dentro da tag "system.web", o seguinte:

[Autenticação via Forms]
->authentication mode="Forms"
->forms name=".ASPXFORMSAUTH" defaulturl="Default.aspx" loginurl="Login.aspx"
->/forms
->/authentication

1. Por padrão os parâmetros defaultUrl já é Default.aspx e loginUrl já é Login.aspx, assim não é preciso criar esta tag "forms".
2. Também por padrão o FormsAuthentication.FormsCookieName (parâmetro "name" é igual a .ASPXFORMSAUTH)
3. As 3 propriedades definidas dentro da tag "forms" são utilizadas quando se quer criar um outro usuário de autenticação (que é desnecessário), pois por padrão é o do exemplo; ou, quando o redirect do login não deve ir para o padrão Default.aspx, mas sim para outra página qualquer; ou, quando a página de login não se chamará Login.aspx, mas sim outro nome qualquer.

[Autorização para Usuários Autenticados]
->authorization
->deny users="?"
->/deny
->/authorization

1. Aqui estou dizendo que minha aplicação está bloqueada para usuários desconhecidos, assim todas as páginas não poderão ser acessadas sem antes o usuário estar autenticado via login.
2. O símbolo "?" serve para anônimos/desconhecidos e o símbolo "*" para autenticados/conhecidos
3. Com "deny" bloqueamos e com "allow" permitimos!

Mas, e se quermos criar uma página para acesso irrestrito? Uma página para acesso externo? Simplesmente, definos após o fechamento da tag "system.web" o seguinte:

[Autorização para Página Externa]
->location path="PaginaExterna.aspx"
->system.web
->authorization
->allow users="?"
->/allow
->/authorization
->/system.web
->/location

1. Estamos permitindo acesso sem login (usuários não autenticados) à página setada o parâmetro PATH da tag "location".

Bom... era isto, mas para melhor exemplificar o que foi falado acima, está postado no SkyDrive uma solução que demonstra o funcionamento desta autenticação e autorização de página externa: Autenticacao-Autorizacao.

Hasta e façam bom proveito!

}

terça-feira, 10 de novembro de 2009

void A Saga de um Processador()

{

Momento de descontração...

Um vídeo que exemplifica de um forma divertida e simples o trabalho de um processador dentro dos nossos queridos computadores. Vale muito a pena ver, independente se você é da área ou não.

Se divertam com as tiradas e comparações excelentes aqui neste link: A Saga de um Processador.

Have fun!

}

sexta-feira, 16 de outubro de 2009

void XNA Câmera2D()

{

Procurei... procurei... e finalmente achei uma boa referência de implementação de uma câmera 2D no XNA!

O exemplo é super simples e tem uma lógica super adaptável a qualquer projeto. No meu caso, precisei criar a mais algumas verificações do tamanaho do cenário, pois ele é infinitamente maior que a tela de jogo.

Utilizando diretamente o exemplo se perceberá que o personagem principal do game é o guia absoluto da câmera, assim ele estará sempre no centro da tela. O problema que surge quando o personagem estiver em uma das extremidades do cenário, pois a câmera força a centralização do mesmo deslocando o cenário conjuntamente. Para solucionar isso e se adaptar a qualquer tamanho de cenário que eu criar, tanto horizontalmente como verticalmente criei testes de posicionamente para os eixos X e Y. Eles farão com que a câmera se movimente apenas quando o personagem alcançar a posição central no eixo X ou Y da tela se houver cenário disponível para movimentação.

O link que muito me ajudou é este: http://www.theindiebay.com/2009/07/31/camera-2d-in-xna/ e logo abaixo está a verificação que fiz.

Variáveis para os teste:
(float) últimaPosiçãoX e últimaPosiçãoY [Atributos da classe Câmera]
(float) eixoX e eixoY [Os quais são zerados no início das verificações]

Verificação no eixo X:

Se (posição do personagem no eixo X * 2 >= largura da tela)
{
eixoX = largura da tela * 0.5 - posição do personagem no eixo X
Se (- eixoX > largura da tela + largura do personagem)
{
eixoX = últimaPosiçãoX
}

últimaPosiçãoX = eixoX
}

Verificação no eixo Y:

Se (posição do personagem no eixo Y * 2 >= altura da tela)
{
eixoY = altura da tela * 0.5 - posição do personagem no eixo Y
Se (altura da tela + (- eixoY) > altura do cenário)
{
eixoY = últimaPosiçãoY
}

últimaPosiçãoY = eixo Y
}

Programming of Games to Live!

}