4-sided two player pong game in 1024Bytes

js1k is a new contest in which participants have to do something in Javascript in no more than 1024 Bytes. 


I could not resist and took the bait, so I've done a 2-sided two player pong game, that you play clicking on the image:




Don't forget to check out the rest of participants, great stuff! :)

The most difficult thing was to put all the code, that initially was 2029 Bytes, to 1024 Bytes. It ended preety obfuscated:

var d=document;
var C=d.getElementById('c');
d.onkeydown=kd;
d.onkeyup=ku;
d.onmousemove=mm;
var K=[], M=Math, w=500, h=w, c= C.getContext('2d'),
t, V=0, a, H=h, O, P, A, B, J=['#8cf','#c8f'], li, v=20, z=100, G=v, E=0, r=120, n=50;
C.width=w;C.height=600;
Z(0);
window.setInterval(l, 26);
function Z(q)
{
    E+=q;
    O=P=250;
    a= M.random()*2*M.PI;
    A=M.cos(a)*5;
    B=M.sin(a)*5;
    l();
    t=30;
}
function l()
{
    if(t<=0){
    c.globalAlpha=0.4;
    f(0,0,w,600,'#fff');
    f(v,v,w-40,h-40,'#ddd');
    c.globalAlpha=1;
    f(250,h+v,E,5,J[E>0?1:0]);
   
    if (K[65]) V-=3;
    if (K[90]) V+=3;
    V= V<-v?-v:V>v?v:V;
    G+= V;
    if(G<v){ G=v; V=0;}
    if(G>h-r){ G=h-r; V=0;}
    V*=0.8;
    f(0,G,v,z,J[0]);
    f(G,0,z,v,J[0]);
   
   
    H= H<v?v:H>h-r?h-r:H;
    f(w-v,H,v,z,J[1]);
    f(H,h-v,z,v,J[1]);

    O+= A;
    P+= B;
    if (O<v || P<v) Z(v);
    if (O>w-v || P>h-v) Z(-v);
    if ((O<30 && M.abs(P-(G+n))<n) || (O>w-30 && M.abs(P-(H+n))<n)) A*=-1-M.random()*0.2;
    if ((P<30 && M.abs(O-(G+n))<n) || (P>h-30 && M.abs(O-(H+n))<n)) B*=-1-M.random()*0.2;
   
    f(O-10,P-10,v,v,'#999')
    }t--;
}
function f(y,u,i,o,x){c.fillStyle=x;c.fillRect(y,u,i,o);}
function kd(e){K[e.keyCode]=1;}
function ku(e){K[e.keyCode]=0;}
function mm(e){H=e.pageY-40;}


--- Comments --------

Hi :)
The vars can be chained (and weren't required for this compo, but good practice anyways).
The if's can be rewritten into ternary operators: `if(x)y;` to `x?y:0;` or `x&&y;`
Random could be cached (M.random()M.random()M.random() vs R='random';m[R]()m[R]()m[R]()). Same for keyCode.
I think the abs can be rewritten but I don't know that one by heart :)

Just in case you're looking to improve :)
Peter van der Zee ~ 1 year ago

Fuck, you're right!
I'll try all that, thanks! :)
Diego ~ 1 year ago

  
»Post a comment
(Tags allowed: <b> <u> <s>)

 
Write down: FEISS  

Demo de LUXI disponible



Al fin! casi un año después de que el LUXI ganara ArtFutura, y por numerosos motivos que nos llevaron a postponer el acabado del juego, durante todo este mes de Julio le dimos duro para intentar finiquitarlo.

No está totalmente acabado, solo nos queda finalizar unas cinemáticas y acabar de pulir un par de niveles, cosa que iremos haciendo tranquilamente este mes.

Mientras, hemos enviado tres niveles de LUXI a concursar en el Concurso de Desarrolladores de IndiePubGames.com. Con los premios tan jugosos que tienen, no podíamos dejar de aprovechar la ocasión ;)

Si tienes un hueco en tu apretada agenda veraniega, te invitamos a

                            JUGAR LA DEMO DE LUXI 

(no es el juego completo, son los 3 primeros niveles), y a votarlo como favorito! :)




--- Comments --------

Votado!

Buena suerte, ahora sólo queda terminarlo!
Z ~ 1 year ago

  
»Post a comment
(Tags allowed: <b> <u> <s>)

 
Write down: BASTAR  

HTML5 Drag and Drop

Messing with HTML5 DnD for a small project of my own, I've done a little web for testing main events and its objects:


http://feiss.be/tmp/dnd_debug/

I put it online, maybe can be helpful for someone. Only tested in Chrome 6.0.472 and Firefox 4.0 b1. The fact is that you already can see lots of differences regarding DnD in both browsers... The DnD Spec it's preety nice, but having to deal with browser peculiarities it's tiring and exhausting...


--- Comments --------

It is even worse to try to use the pseudo-dnd in earlier versions of Firefox (like 3.0).
Ruben ~ 1 year ago

  
»Post a comment
(Tags allowed: <b> <u> <s>)

 
Write down: PLANET  

Un avanzao

"Cualquier persona, en mar o en tierra, con un aparato sencillo y barato que cabe en un bolsillo, podría recibir noticias de cualquier parte del mundo o mensajes particulares destinados sólo al portador, la Tierra se asemejaría, pues, a un inconmensurable cerebro, capaz de emitir una respuesta desde cualquier punto".


--Nikola Tesla (1856-1943)


--- Comments --------

Veo que te gusto la peli ;)
Mr.doob ~ 1 year ago

heh, si, esuvo bien. Un poco mala y sosa, pero tiene cosas chulas, como conocer la historia del tipo, lo mucho que se parece el actor, o mismo ver a Orson Welles.. :)
Gracias, btw!
Diego ~ 1 year ago

  
»Post a comment
(Tags allowed: <b> <u> <s>)

 
Write down: LUXI  

En Amsterdam

Esta semana pasada estuve 5 días en Amsterdam y un pueblo cercano, Leiden. No llevé cámara, solo me traje un par de fotos hechas con el móvil, como éstas:


 
 

1. Centro de Leiden.
2. Típico canal de Amsterdam.
3. No, no es un edificio del gobierno ni nada parecido, es un cortinglés del centro de Amsterdam.
4. La iglesia de nosequé de Amsterdam. Me molan los lens flaresde la foto.

Quizás lo que más me sorprendendió de Amsterdam es la cultura de la Bicicleta. Es increíble, gente de todas las edades utilizan la bicicleta como si fuesen una extensión de sus piernas. Niños, viejos, dos en la misma bici, comiendo, hablando por el móvil, enviando mensajes... hasta leyendo!! Por supuesto, el carril bici es omnipresente, así como los parkings (frente a la estación central de Amsterdam está el mayor parking de bicicletas de Europa --3000 creo que era el número de plazas)

Esto hace los desplazamientos de la población mucho más eficientes, económicos y ecológicos. Se nota el menor número de coches que en otras grandes ciudades, y la mejor forma física de la gente en general. Por supuesto, no tienen cuestas como en Santiago :P

Aproveché para hacer algunos bocetos con el iPad:

 
   

Son bastante fuleros, pero me valieron para cogerle soltura al programa. No recordaba el cambio de gamma del iPad al PC, se ven las imágenes más oscuras y saturadas que en el iPad.
Por otra parte, creo que me me pasé de ambicioso.. no es lo mismo dibujar lo que ves en 15 mins con un lápiz que hacer una ilustración en una pantalla a todo color en el mismo tiempo..

Por cierto, estando allí me coincidió el partido de Holanda - Uruguay.. todo un acontecimiento en el lugar.

En cuanto a visitas concretas, dada la naturaleza del viaje no tuve mucho tiempo ni oportunidad, pero pude aprovechar para visitar y disfrutar el Rijksmuseum y el Museo de Van Gogh :)

En fin, una visita muy agradable y recomendable!



--- Comments --------

La cultura de la bici creo que la tiene toda europa menos nosotros :/

los thumbs de las imagenes de los bocetos no se ven..
WoRMs ~ 1 year ago

corregido, gracias!
Diego ~ 1 year ago

Holanda mola mucho! yo tambien estuve hace poco, me encanta lo de la bici por todas partes, aunque llueva... hasta reparten el pan en bici. Es genial, hace las ciudades mas silenciosas, sobre todo las que no son Amserdam...
La arquitectura antigua que tiene tambien es preciosa y esta bastante bien conservada... y ya por no hablar de los masters flamencos.. que no sabian pintar... madremia!! :D
muy chulos tus primeros sketches con ipad... la verdad es que se tarda mas en pintar a todo color, eeeh? jajaja... pasa lo mismo con el colors de la nintendo... se empana uno sin querer!
bss
gracia ~ 1 year ago

Buah, desde luego! es todo un cambio, acostumbrado a llevar solamente rotuladores y lápices en la mochila y trabajar con la linea... con color me estreso todo!! no doy hecho!! :D
Gracias, un abrazo! :)
PD: la arqiutectura y los flamencos genial! :)
Diego ~ 1 year ago

  
»Post a comment
(Tags allowed: <b> <u> <s>)

 
Write down: MARDIT  

Haz tu autorretrato con el iPad/iPhone/Android


1. Abre tu aplicación favorita de dibujo (Brushes, Sketchbook, Ideas..)
2. Pinta todo el fondo de negro, y colócate enfrente de la pantalla, de tal modo que te mires como en un espejo.
3. Cierra un ojo
4. Escoge un color claro y dibújate! :)

1. Choose your favourite drawing app (Brushes, Sketchbook, Ideas..)
2. Paint the background black, and stay opposite the screen, so you can see yourself like in a mirror.
3. Close one eye
4. Choose a bright color and draw yourself! :)

Actualización/Update:


Descarga el fichero de acciones de Brushes


--- Comments --------

Ya te vale con el promanzanismo, también hay apps para pintar en android! :P
j ~ 1 year ago

self-portrait on an iPad... can be considered onanism?
derethor ~ 1 year ago

hahaha, a bit, indeed :x

Ok julio, you're right. Fixing...
Diego ~ 1 year ago

jajaja! mencanta tu descripcion del metodo... vale tambien para el portatil, verdad? ( el mio tiene la pantalla con brillo) jajaja!!
bss
gracia ~ 1 year ago

  
»Post a comment
(Tags allowed: <b> <u> <s>)

 
Write down: DONKEY  

← Older posts | Newer posts →


All content is Copyright 2009 Diego Fernández Goberna, unless otherwise stated.