Efecto de Camera con Pygame

January 24, 2008

Nunca pensé que sería tan dificil terminar el artículo de Hacking Hotmail. Hasta ahorita lo sigo haciendo y no lo publicaré hasta tener resultados. Pero para no dejarlos a Uds, lectores sin nada en especial, hoy vamos a publicar algo sobre Pygame.

Muchos habrán notado en juegos tipo Mario Bros o juegos de Fútbol (Antiguos, de la época del SNES o el NES) que podemos avanzar en un escenario y luego retroceder por si necesitamos algo. A esto, tengo entendido que se le llama el Efecto Camera. (Si me equivoco, corríganme).

Básicamente para lograr este efecto necesitamos un Bitmap grande y un personaje que nos servirá de punto de referencia. Ya que no soy buen dibujante, he usado un dibujo muy mal hecho de un campo de fútbol de 720x240 pixeles, y como jugador… a Oliver Atom.

Si hacemos esto en una pantalla de 1024x768 pixeles, no se notaría el cambio, asi que por eso vamos a realizar la experiencia en una ventana de 320x240 píxeles.

El código usado para esto es:

import pygame
from pygame.locals import *

pygame.init()

#cargamos primero las imagenes

campo = pygame.image.load(’campo.bmp’)
oliver = pygame.image.load(’player.bmp’)
oliver_r = oliver.get_rect()

oliver_r.left = 120
oliver_r.top = 45

oliver_tl = oliver_r.left
oliver_tt = oliver_r.top

clock = pygame.time.Clock()

screen = pygame.display.set_mode((320,240))

n = 0
campo_x = 0
campo_y = 0

while n <> 1:
screen.blit(campo, (campo_x,campo_y))
screen.blit(oliver, (oliver_tl, oliver_tt))
pygame.display.flip()

clock.tick(40)

pygame.event.pump()
tecla_pres = pygame.key.get_pressed()

if tecla_pres[K_LEFT]:
oliver_r.left = oliver_r.left - 5
oliver_tl = oliver_tl - 5

if oliver_tl < 10:
if oliver_r.left > 10:
oliver_r.left = oliver_r.left - 5
oliver_tl = 10
campo_x = campo_x + oliver_tl
else:
oliver_tl = 10
oliver_r.left = 10

if tecla_pres[K_RIGHT]:
oliver_r.left = oliver_r.left + 5
oliver_tl = oliver_tl + 5

if oliver_r.left > 240:
if oliver_r.left < 720:
campo_x = 240 - oliver_r.left
oliver_tl = 230
else:
oliver_tl = 230
oliver_r.left = 710

if tecla_pres[K_UP]:
oliver_r.top = oliver_r.top - 5
oliver_tt = oliver_tt - 5

if oliver_tt < 20:
oliver_tt = 20

if tecla_pres[K_DOWN]:
oliver_r.top = oliver_r.top + 5
oliver_tt = oliver_tt + 5

if oliver_tt > 190:
oliver_tt = 190

for event in pygame.event.get():
if event.type == QUIT:
n = 1
if event.type == KEYDOWN:
if event.key == K_ESCAPE:
n = 1
if event.key == K_p:
print “Valor Campo_x: “, campo_x
print “Valores de Oliver - Camara:”
print “Left: “, oliver_r.left
print “Top: “, oliver_r.top
print “Valores de Oliver - Pantalla:”
print “Left: “, oliver_tl
print “Top: “, oliver_tt

Vamos a explicar paso a paso que es lo que hacemos. Si no usas Pygame o no la tienes, puedes encontrar información en su sitio oficial.

Primero iniciamos Pygame y antes de iniciar la pantalla cargamos todas las imágenes, en este caso, las del campo de fútbol y a Oliver. Lo haremos antes para evitar retrasos al cargar un bitmap de 720x240 píxeles, que puede ser algo pesado en algunas máquinas.

La variable oliver_r es la ubicación de nuestro Oliver en todo el campo de 720x240 pixeles. Este valor lo usaremos para saber en que parte está y si debemos redibujar el lugar.

A la vez, creamos dos variables oliver_tl y oliver_tt (Oliver True Left y Oliver True Top, respectivamente) que indicarán la posición del jugador en la pantalla de 320x240 píxeles. Una cosa es el escenario completo que no vemos y otra es el escenario que puede ver el jugador.

Campo_x y Campo_y son variables que indican la ubicación de la cámara en pantalla, es decir que nos permitirán redibujar el terreno conforme el jugador avanze o retroceda.

También seteamos el reloj o Clock para que la velocidad sea la misma en todas las máquinas, ya que de no hacerlo si ejecutamos esto en una Core 2 Duo, Oliver correrá a la velocidad de la luz.

Una vez hecho esto leemos el teclado y dependiendo de las teclas pulsadas tomamos las acciones respectivas.

  1. Tecla Flecha Arriba: Debido a que el bitmap original tiene 240 píxeles, igual que la ventana, simplemente moveremos a Oliver hacia arriba, sin cambiar la cámara, deteniendo su movimiento antes de que salga del campo de fútbol, ya que si sale no habría nada que dibujar.
  2. Tecla Flecha Abajo: Igual que en la anterior, la cámara no cambia y detendremos su movimiento antes de escapar del campo de juego.
  3. Tecla Flecha Izquierda: Llevamos a Oliver un poco más a la izquierda en un valor de -5 unidades. Luego vemos si Oliver está apunto de llegar al borde de la pantalla, de ser así, comprobamos que no se va a salir del bitmap original. Si no se ha salido aún, hacemos que la cámara se desplaze hacia la izquierda, sumándole al valor de la cámara, el valor negativo de la caminata de Oliver. Si vemos que se quiere salir… simplemente lo detenemos para que no lo haga.
  4. Tecla Flecha Derecha: Igual que la anterior, llevamos a Oliver a la Derecha en un valor de +5 unidades. Si Oliver está por llegar al borde, simplemente revisamos si está por salir del bitmap original, de ser así, no lo dejamos moverse más. Si todavía no sale del bitmap original, hacemos que la cámara se desplaze hacia la derecha.
  5. Tecla ‘P’: Imprime información de depuración, como la ubicación de Oliver en pantalla como en cámara y los valores de campo_x y campo_y

Mencionemos que siempre restamos valores a campo_x, porque si fuera positivo, se ignoraría una parte de la pantalla (La cantidad en píxeles dada por campo_x) y se dibujaría para un lado de la pantalla, mostrando la imagen recortada. Si lo hacemos negativo o 0, se empezará a dibujar antes de donde se puede ver en la ventana y dará el efecto de que nos desplazamos.

El código es libre y puede ser usado para lo que se quiera, inclusive sin mencionar al autor. La imagen del campo de fútbol la hice yo y está sujeta a los mismos términos que el código. La imagen de Oliver Atom la encontré en una búsqueda en Google y se usa amparada el ‘Fair Use’.

Puedes bajar el código y todas las imágenes aquí.

Si hubiera algún error en el código o si tienen alguna sugerencia, les invito a que la dejen en los comentarios.

Hacking de Hotmail - Parte 1

January 18, 2008

Ya soy muchas las ocasiones en las que veo a personas que inundan foros, blogs y demás pidiendo contraseñas de Hotmail.

Pero quizá lo más pintoresco es esta persona que dice ‘hackear’ Hotmail, de la siguiente manera:

Hackeo msn
cada dia son mas la gente que dice saver sacar contraseñas de correo , asi que comprendo a quienes no quieran creerme .

mi sistema de trabajo funciona asi.
usted me dice la cuenta que quiere hackear ….
yo procedo a realizar el trabajo y en cuanto tengo la contraseña (no mas de 2 dias) ,

le doy las pruevas suficientes para recien cobrar , antes no cobramos nada ,
ademas de vender contraseñas , podemos tambien darte las conversaciones (anteriores)de msn entre 2 correos que tu nos indiques. por un precio adicinal podemos darte mas datos ocmo informacion fisica del pc . capturar su computadora y gravar todo cuanto se haga o diga desde su pc.
nuestro servicio es nuevo y no te hacemos perder el tiempo ni tu dinero, solo pagas cuando te mostramos el mail hackeado , para poder contactarnos solo escrive a cleber_leo2@hotmail.com, y cuentanos tu caso . nosotros nos encargamos de ofrecerte las posibles soluciones y logramos resolverlo ..asta el final ..es un servicio personal ..
el servicio es totalmente confidencial y anonimo , en ningun momento la victima podra notar que tu estas vigilando su correo , el programa es nuestro (creado por nosotros)y solo necesitas los paswords de las personas que quieras ver sus conversaciones.
te invitamos a contactarnos . solo pedimos seas una persona seria y responsable , recuerda que tambien ayudamos en caso muy delicados (infidelidad , secuestros , suplantancion de identidad , engaños , usurpacion , etc)
condiciones .

1 no es un servicio gratuito
2 vajo niguna condicion enviamos ningun tipo de contraseña asta no recivir el pago
3 no cobramos nada por intentar hackear la cuenta
4 no cambiamos el pasword , te doy el pasword original
5 el costo es de 50 dolares por cada cuenta y 60 dolares por el programa para ver las conversaciones de msn sin que se den cuenta
6 es totalmente anonimo.
7 no es necesario que la victima visite su correo, nosotros trabajmos en un nivel superior
8 el plazo maximo para los pasword es de 2 dias
9 el unico mail de contacto es cleber_leo2@hotmail.com

ayacucho peru 2007

Como Peruano que soy, no voy a negar que me duele la existencia de esta gentuza, que lo único que hace es mancillar el nombre de nuestro país.

Sin embargo, no voy a negar que tenía curiosidad saber como operaba este tal cleber_leo2@hotmail.com, por lo que me dediqué a buscar un poco de información. Justo entonces apareció el blog de Ociosoft, en el que veía este artículo sobre ‘hackear’ Hotmail.

En el artículo se exponía la forma de trabajar de clever_leo2@hotmail.com, ya que este bloguero fue su cliente, en una trampa para descubrirlo.

Tal parece que su Modus Operandi era enviar una postal, que remitía a una falsa página de Login de Hotmail. Ya que las postales son muy apreciadas en los usuarios de Hotmail, la mayoría suministra su contraseña sin ningun problema. Por supuesto que la página no lo valida… así que por eso el tal clever_leo2 afirma que hay un periodo de tiempo para dar la contraseña.

De más está decir que su programa para ver las conversaciones no existe. No he visto que Ociosoft se haya dedicado a investigar eso, pero así lo afirman… el programa de conversaciones no existe.

Lo que si era real es que después de esta operación, el tal clever_leo2 se llevaba 20 dólares americanos a una cuenta bancaria. Lamentable que esta gente se alimente de la ignorancia.

En la Segunda Parte de este Artículo les mostraré algunas verdaderas formas de ‘Hackear’ Hotmail reales. Ya he dicho en varios artículos que no somos los típicos lammers (Idiotas, en inglés) que enseñan sólo a usar un programa. Veremos toda la teoría tras el asunto para saber de que van estas técnicas. Tambien prepararé un análisis sobre clever_leo2, que no me puedo permitir en este momento.

Apología a AdBlock Plus

January 13, 2008

La publicidad en Internet es quizá uno de los muchos cuellos de botella que han existido con respecto a la descarga de contenidos. Si bien existe publicidad no intrusiva como Google AdSense la publicidad intrusiva ha tenido mucho más desarrollo. Entre las aberraciones podemos constatar:

  • Pop-Ups que llaman a otros pop-ups.
  • Pop-Ups que burlan filtros.
  • “Ventanas” en flash o JavaScript que se arrastran mientras lees contenido.
  • Flash que bloquean toda la página para obligarlos a verlos.
Hay un tipo de publicidad que no es del todo intrusiva, pero parece serlo: Son los GIF que cambian de colores o demás ideas para llamar la atención. Si bien no tapan la pantalla, distraen la vista e intentan llamar la atención del usuario.

Es aquí donde entra AdBlock Plus, una extensión de Firefox que bloquea casi toda la publicidad cuando se ingresa a una web.

Esta extensión se basa en filtros creados por varias personas en los que indican que dominios y/o rutas web deben bloquearse, ignorando de esta manera la publicidad.

En lo personal, esta extensión es muy eficaz ya que elimina casi toda la publicidad, incluyendo la publicidad de Google o la no intrusiva. El problema ha surgido casi de inmediato con sitios que viven de la publicidad intrusiva, ya que algunos fueron configurados para bloquear Firefox. La razón: AdBlock Plus no permite que lo bloqueen. Lo peor de todo, es que bloquean Firefox y redireccionan a una página donde quieren equiparar bloquear publicidad con robar. La página ya no existe más, pero mencionaré los argumentos de manera rápida.

Todo software que bloquee publicidad es un robo a los desarrolladores de las páginas web, ya que muchos ofrecen sus servicios a cambio de mostrar publicidad. Quedarse sólo con los beneficios y aprovecharse del webmaster es un robo que podría hacer desaparecer a casi todos los sitios de Internet.

Estos argumentos son ridículos, ya que las personas que pagan por paquetes transferidos (Internet por Celular, por ejemplo) serían realmente las robadas cuando en un sitio se ve la proporción de 20% contenido y 80% publicidad.

Lo mejor de todo es que el sitio ya no existe, aunque antes de eso alguien lo hackeó y sustituyó todo ese grupo de mentiras con la siguiente frase:

Porque algún tonto quiere infectar tu computadora con poo-ups, barras de búsqueda y publicidad sin fin, el mismo tipo de tonto que hizo que obtuvieras Firefox en primer lugar, debido a esos horribles pop-ups, barras de búsqueda y publcidad infinita.
Cada usuario es libre de bloquear lo que desee de su navegador, y si no quiere ver publicidad, nadie lo obliga a hacerlo. Es más… los webmaster pierden el tiempo bloqueando a estos usuarios, ya que la cantidad de usuarios de AdBlock Plus es muy baja comparada con los que usan Firefox. La raíz de toda esta controversia fue la sugerencia a la Fundación Mozilla de incluir por defecto la extensión AdBlock Plus.

Hay que mencionar que los usuarios que instalan un bloqueador de publicidad como AdBlock Plus son usuarios que no darían click en los anuncios, por lo que igualmente no son clientes potenciales.

El problema podría venir si todo mundo lo instala y bloquea todo tipo de publicidad, lo cual podría ser peligroso en parte para las webs que viven de eso. Sin embargo, como explicamos arriba cada usuario es libre de bloquear las páginas o los contenidos que no considere adecuados.

Feliz bloqueo de Publicidad… si decides usar AdBlock Plus.

Powered by ScribeFire.

ScribeFire: Posteo Mejorado

January 8, 2008

Muchos de nosotros que usamos blogs no estamos acostumbrados a conocer todos los códigos HTML o etiquetas dependientes de cada proveedor (WordPress, Blogger, etc) para dar un buen formato a nuestros blogs. Y en algunos blogs los editores por defecto son muy pobres.

Es ahí donde aparece ScribeFire, un editor de blogs que se integra a Firefox (Ya que es una extensión) y que maneja varios tipos de Blogs, desde WordPress (Uno de los más usados) hasta Windows Live Spaces.

ScribeFire no tiene una interfaz muy sobrecargada por lo que se convierte en un excelente editor WYSIWYG (Lo que ves es lo que obtienes, en inglés).

Quizá la única crítica que le tengo es que inserte un “Powered by: ScribeFire” al final de todos los posteos. Pero ScribeFire es Software Libre (Al menos eso dice si descomprimes el xpi, ya que en la página no indica directamente que sea GPL 2.0, por lo que se puede modificar ese comportamiento).

Feliz Posteo.

Powered by ScribeFire.

¿Avanza la Pseudociencia?

January 7, 2008

Recientemente hemos empezado un nuevo año: El 2008. Han sido unos días de fiesta para la mayoría de personas, pero también unos días de Pseudociencia para otros.

¿Pero qué es Pseudociencia?. Consultemos a la Wikipedia:

Pseudociencia (del latín pseudo, «falso» y scientia, «conocimiento»: «falsa ciencia») es un término que da cuenta de un conjunto de supuestos conocimientos, metodologías, prácticas o creencias no científicas pero que reclaman dicho carácter.

En mi país (Perú) la mayoría de personas inicia el año nuevo intentando comer 12 uvas en 1 minuto, dándose un baño de ruda (Una planta olorosa) o vistiendo ropa interior amarilla. Otros prenden velas que representan el dinero, la felicidad y demás. Incluso los hay quienes llaman a líneas post-pago para poder hablar con un astrólogo o visitan un chamán.

En fin… todos estos comportamientos se resumen en la siguiente frase:

La tontería siempre se cree más fácilmente que lo que tiene sentido.(Issac Assimov)


Entre otras creencias ridículas, compartidas a lo largo del mundo podemos destacar: Los Niños Indigo, el Diseño Inteligente, Derivados del Efecto Placebo,Horóscopos, Ufología, etc.

Vamos a explicar brevemente porqué no son consideradas como ciencias. Advirtamos que mis explicaciones serán muy simples. Si quieres tener más pruebas, remítete a sitios especializados.

  1. Creencias de Año Nuevo: Quizá lo más peligroso lo tenemos en la laringe, que por diseño no puede permitirnos respirar ni comer a la vez. Intentar comer 12 uvas en 1 minuto es algo demasiado peligroso para algunas personas. Sobre los baños de florecimiento y demás… simplemente hay que decir que son un timo porque bañarse con fragancias solo hace desprender un agradable olor, algo así como un Efecto Placebo. (Lo explicaremos más adelante). Sobre la ropa interior amarilla o las velas, desconosco de donde surgen esas creencias pero no tienen ninguna razón de ser.
  2. Niños Indigo: Son un concepto del New Age que afirma que son niños con un color de áurea que refleja en sitios de tonalidad azul, en armonía con ciertos parámetros de energía. Entre otras perlas afirman lo siguiente:
    Estos muchachos tienen la capacidad de ver mas allá de los espectros de la Luz, escuchar todo tipo de sonidos, incluso su propio fluido sanguíneo, y denotan una destacada hipersensibilidad táctil […] se les denomina así porque su aura, o campo energético, tiende a reflejarse dentro de los colores añiles, azules, manifestando la utilización de centros energéticos superiores.
    El simple hecho de que se afirme que ven más allá de los espectros de la luz hace que caigan sus argumentos, porque se sabe que lo sigue a los espectros de la luz son ondas ultravioletas e infrarojas, por lo que tendrían muchos problemas para ver. Y en lo del aúrea… realmente al único ser que he visto con áurea es a Patamon. (Y soy consciente de que es ficticio).
  3. Diseño Inteligente: Es una nueva presentación del relato alegórico del Génesis en formato de ciencia. Presupone la existencia de un agente inteligente que diseñó el universo, que todas las características del universo están afinadas por una inteligencia superior y que si se modificara al mínimo una variable, el universo sería muy diferente. Esta afirmación es parcialmente cierta ya que vivimos en un Sistema Caótico. Pero no sabemos si la vida, en otras condiciones no conocidas por nosotros, podría ser posible. Otro punto en contra es la inclusión de ideas dogmáticas y religiosas, que han demostrado no ser compatibles con el Método Científico.
  4. Derivados del Efecto Placebo: El Efecto Placebo es un fenómeno mediante el cual un paciente puede sentir mejoría si se le hace creer que se le aplica cierto tratamiento, cuando en realidad no se le aplica ninguno.

    Este efecto es muy usado en algunas falsas ideologías como Pare de Sufrir, como por ejemplo la Rosa Mágica o el Aceite Sagrado.

  5. Miedo a las Antenas: El miedo a las antenas se debe en parte a los temores infundidos por la radiación, como en el caso de los esposos Curie o las bombas atómicas. En realidad no se ha podido probar los efectos nocivos de la radiación (Controlada, por supuesto bajo las normativas de la OMS) en la salud de las personas. Es más… se sabe las antenas emiten al espacio, pero jamás emiten hacia el suelo, por lo que el miedo sería racional sólo si las personas pudieran volar. Mencionar que la idea del huevo sancochado por dos celulares es simplemente un mito, ya que los celulares suelen emitir a menos de 1 Watt. (Por normativa). Pueden consultar un excelente recurso aquí.
¿Porqué si estamos en una época en la que se dispone de gran conocimiento científico la gente se dedica a creer mentiras que ya han sido demostradas como tales hace años? Seguramente por aplicar en extremo aquella frace que dice “La explicación más simple es la mejor“.

Espero que este artículo haya servido para poder empezar a desterrar la pseudociencia de la mentalidad de las personas.

Powered by ScribeFire.