Guía de desarrollo de juegos Indie

Wasd

#925 Genial el trabajo que te curras en #1. Ni me había dado cuenta de que me nombras dos veces :qq: :qq:

1 1 respuesta
GreyShock

#931 Gracias a vosotros por aportar, máquinas ;)

#930 Estoy escuchando el Pozcast a ver que tal.

Hamijos, el día 23 de Junio es el día Internacional de los Juegos Indie. A tenor del evento Indiegamesday.com celebra una competición de programación de videojuegos en 7 días. En esta ocasión, hay un premio de 250$ al ganador, aunque eso creo que ahora mismo es lo de menos, y lo que más nos podremos llevar es la experiencia de participar y la pequeña promoción que pueda significar destacar mínimamente en el evento.

El juego se tiene que entregar antes del 18 de Junio. Tiene que estar hecho en siete días, y se puede empezar a hacer ya. La única condición sobre la temática del juego es que esté basada en esta imagen:

Yo quizá me plantee participar... puede ser interesante. Si queréis saber más sobre el evento o conocer las reglas detalladas aquí tenéis el enlace:

http://indiegamesday.com/let-the-game-challenge-begin/


Bonus: Para los que uséis spotify, estoy montándome una lista de reproducción para desarrollar con música electrónica calmadita pero intensa, para entrar en un estado zen de programación. La comparto por si os mola :P

http://open.spotify.com/user/gadhe/playlist/0d2NZztF0DdcGTlS3BSveZ

3 respuestas
Isotoperd

#932 Hasta Julio voy a tener mucho curro, y eso supone escasez tiempo, pero si veo que puedo rascar horas de alguna parte participaré haciendo algo en Unity, ya que no tendría tiempo para ponerme a hacer cosas mas completas.

De todas formas, si al final puedo permitirme participar voy a ir a por las risas, no a por el premio xD

#930 Anoche estuve escuchando el podcast, Alberto es de los mios, C++ a muerte.

B

#932 Qué putadón, el 23 de julio es el día que acabo el curso y mientras tanto estoy liado con el proyecto final de éste..

No creo que pueda participar, de todas formas suerte Grey, a ver con qué nos sorprendes esta vez, si te animas a participar ^^

Humanoide

Yo no termino de entenderlo muy bien. ¿Siete días hasta el 18 de junio? ¿Qué puto tema es esa foto?

1 respuesta
B

#935 Yo a primera vista noto, devastación.

m3l0

siete dias apartir de cuando quieras, y como se va a saber si lo cumple la gente?

GreyShock

Es tema libre, lo que se te ocurra a partir de esa foto xD Lo de los 7 días es en plan honrado, pero mucha gente se lo pasará por donde yo me sé :P

Supongo que como es muy hardcore hacer una Jam de 7 días seguidos, que cad auno se administre esos 7 días como quiera y luego que juzgue su conciencia si se ralla... Al fin y al cabo tampoco es astronómico el premio.

Pero vaya, ya me veo a gente entregando juegos con los que llevan trabajando medio año y cosas así xD

Isotoperd

Yo si participo podre gastar 3 horas al día como mucho en el desarrollo, así que usaría el doble de días.
Lo extraño es que se me ocurren bastantes ideas para juegos con el gira gira, ideas absurdas, pero ideas después de todo.

2
Jastro

Si acabo mi jueguito pronto, y se me ocurre alguna idea interesante, me presento

1
GreyShock

No sé si se puede participar en equipos :o Molaría.

Por cierto, ahora Brutal Collage tiene sistema de Ranking! :D Ha salido un poco a destiempo, pero el esfuerzo en crearlo no ha sido en balde. He desarrollado un sistema que he bautizado como Global Score System que es una especie de motor de puntuaciones que servirá para cualquier juego que vaya produciendo.

Básicamente es una base de datos sencilla con un par de servicios que graban nuevas puntuaciones y devuelven Tops. Así llamándolos por AJAX en cualquier juego de ImpactJS puedo incrustar un ranking sin mucho esfuerzo :)

Si queréis saber más, lo tengo un poquito más desarrollado en la web del equipo: http://www.deconstructeam.com/global-score-system/

2 respuestas
elkaoD

#941 ya tienes tu primer "hackeo" cortesía de kaoD xD

Asume que esto va a pasar en todo sistema online de high-scores que pongas (y cuanta más gente tu juego, más gente hará esta mierda...) La mala noticia es que creo que es inevitable.

1 3 respuestas
aitorman

#932 Que interesante, puede que participe

#941 Mola el sistema de puntuaciones, te ha quedado guay. Leyendo el post en tu pagina me ha asaltado una duda (soy un n00b completo en el desarrollo web en general): dices que las puntuaciones las enseñas en pantallas superponiendo un <div> al juego. ¿como puedes hacer eso en cualquier momento desde javascript?
Yo acabe ayer de implementar las cuestas en mi juego, así que esta tarde lo subo al hosting y lo pongo

1 respuesta
Jastro

#942 que miedo me das tio

2
GreyShock

#942 Lo peor es que yo también sabría hackearlo... con firebug easy. Pero pensaba que el pequeño público al que me enfrento de momento no sería tan malvado xD Aún así, es un buen apartado que trabajarse de cara al futuro. ¿Cómo lo harías tú? ¿Con algún sistema de tokens cifrados?

#943 si miras el código fuente de la web en Brutal Collage verás un div llamado showtext, que en principio está oculto. Simplemente desde impactJS lanzo una función de jQuery tal que así: $('#showtext').show(); bindeado a la tecla K o en el momento que tú quieras de la ejecución en realidad. No se diferencia de cualquier otro desarrollo web. Además, como ImpactJS no tiene soporte nativo para inputs de texto y estas cosillas, es una buena alternativa combinar el DOM con el Canvas para evitar pegarte el currazo de crear formularios o lo que sea en ImpactJS.

2 respuestas
elkaoD

#945 mi único consejo es que te pongas SIEMPRE en lo peor. Por muy pequeño que sea tu público siempre va a haber alguien que sepa hacerlo y, sobre todo, que lo hará xD Unos por joder, otros por ponerte en "alerta", otros por ver si pueden, otros for the lulz... pero lo harán.

¿Cómo hacerlo? Ni puta idea xD Siempre ha sido un tema problemático y de hecho la mayoría de veces que he visto problemas de este tipo han acabado con los hiscores cerrados cuando se le has ido de madre (es decir, no tardando mucho en cuanto se hacían "famosetes"...)

http://gamedev.stackexchange.com/questions/4181/how-can-i-prevent-cheating-on-global-highscore-tables

PD: borra el hackscore si no lo has hecho ya :P
PD2: exijo poder comprar armas con los números, que llega un momento que no me da tiempo a comprar movidas con la ruleta xD

1 respuesta
zoeshadow

Si, acabo de probar así por encima y he conseguido meter el score facil, y eso que soy noob xD

GreyShock

#946 Por lo que leo.. no hay solución por el momento. Hay historietas de suprimir los scores imposibles, pero aún así, basta con enviar la puntuación máxima permitida y no arreglas nada realmente...

Otra manera es enviar periódicamente peticiones para comprobar que el jugador está realmente jugando y que los puntos se incrementan de forma normal... pero eso también es hackeable con un setInterval la mar de sencillo...

Hablan también de encriptar datos... pero es que realmente el problema está en que todo esto se ejecuta en el lado del cliente, así que siempre van a poder ver el código, los métodos de encriptación, o cualquier función a la que llames.

Le daré vueltas al asunto, pero parece jodido. Esto demuestra que el ser humano es malo por naturaleza y que no se puede vivir en un mundo sin cerraduras xD

EDIT: Aquí hay un tema más específico sobre AJAX y los highscore, pero tristemente, tampoco hay solución válida.

http://stackoverflow.com/questions/4488347/preventing-cheating-for-on-line-arcade-high-score-board

1 respuesta
elkaoD

#948 más que malo yo diría curioso. A la gente le da igual tener un número en el hiscore, es más por el reto.

Este tipo de cosas sólo las puedes evitar con servidores autoritativos (cosa de la que te puedes olvidar con juegos single, básicamente.)

Yo en tu caso lo que haría sería que el servidor fuera el que generase las oleadas aleatoriamente en lugar del cliente (y por tanto el servidor sabe que si has vivido X tiepo como mucho tienes el score hasta esa oleada) más lo de la puntuación incremental (por la misma razón sabrás a cada "update" el rango de puntuación en el que debes estar.) Vale que vas a seguir pudiendo hackear el score (con eliminar el hecho de poder morir en el JS cliente ya basta) pero es lo mejor que puedes hacer...

Moraleja: todo lo que se ejecuta en el cliente es susceptible de ser hackeado. Cliente = caca. La solución perfecta es la del replay del juego para confirmar el score, pero es costosa e intrusiva.

Soltrac

#942 Iba a hacerlo yo por tocar los huevos (y pa enseñarlo! no soy tan cabrón) y te has adelantado xDDDDD.

De todas formas, a mi se me ocurren ideas encriptando la comunicación para proteger esto. Obviamente siempre vas a poder hackear el cliente (juego), pero eso es otro tema.

1 respuesta
aitorman

#945 Gracias!. Y si, es una putada lo de que los juegos en JS y canvas se puedan hackear tan facilmente.

Ya he subido la proxima version de mi juego. Los controles los teneis en la pagina. Como siempre, criticad cuanto querais xD
Cambios:
-He metido un sistema para poder meter reacciones custom a cada bloque facilmente, por ahora hay un acelerador, uno que te hace volar, y uno que te mete en el modo vuelo o te saca de el (que lo unico que hace es que puedas saltar sin estar tocando el suelo).
-Añadido un inventario desde donde puedes arrastrar bloques a la "barra rapida"

Lo proximo que le voy a meter:
-(Posible) niveles infinitos
-Poder guardar los niveles que hagas en el server

Despues de eso dare por acabado el modo editor de niveles, y me pondre con el modo de recursos no-infinitos, y empezare a meterle mas elementos de juego de verdad en ved de cosas random de editor de niveles (vehiculos para el personaje, jetpacks, enemigos y cosas así). Aunque cuando acabe el modo construccion libre probablemente deje este juego por una temporada para aprender un poco mejor desarrollo web.

1 respuesta
Soltrac

Por poner un ejemplo, yo mismo he sido capaz de crear un teleport/speed hack en un juego online, está tirado.

Pero obviamente es baneable, cómo? Simplemente el servidor comprueba q el jugador no pueda estar en X sitio si ha pasado poco tiempo. De todas formas todo esto se escapa del tema del thread en cuestión, era simple curiosidad.

elkaoD

#950 encriptar no vale de nada. Si el cliente puede leerlo/escribirlo, la encriptación es infructuosa.

Créeme, me he dedicado MUCHO tiempo al tema y sólo hay una forma de evitar hacks: no hacer el juego multiplayer xD

2 respuestas
Soltrac

#953 Por eso dije lo de "obviamente vas a poder hackear el cliente" : )

GreyShock

#951 Muy chuli el editor de niveles, se pueden hacer cosas muy chulas como jugador. Si le metes un rollete con algún objetivo puede ser un buen juego comunitario de estos de share & play :P

En cuanto a lo de los hiscore.. si es algo inevitable, para no joder la diversión al resto del mundo, se pueden hacer leaderboards personalizados. En plan "Grupo de juego Mediavida", entre jugadores que medio conozcas y confíes y con los que realmente te interesa picarte :P Creas ranking, invitas, juegas.

1 respuesta
B

#955 Eres un cabrón, Brutal Collage me sirve para distraerme en las prácticas xDD

PD: Poco a poco voy subiendo rating, pero llega un momento en que hay demasiada chicha en escena y me colapso.

2 1 respuesta
GreyShock

#956 El secreto está en las minas, no hay que subestimarlas, hazme caso xD

#958 OMG, que estabas todo el rato con la pistola? ·_·
Tienes las instrucciones debajo del juego. Con la rueda del ratón eliges arma y con el botón derecho las compras. El dinero sale a la derecha apuntado.

1 respuesta
B

#957 Eso digo yo, como cojones cambio el arma?
#957 Lol pues gracias a partir de ahora jugaré con más armas xD ya decía yo que era imposible que alguien estuviese con 13k de puntos en el ránking y yo no llego con vida a los 2k.. suerte xDD

Esta tarde subo ranking, OS VAIS A CAGAH!

1 respuesta
aitorman

Nueva version de ImpactJS!, varios bugfixes y pequeños añadidos

1 1 respuesta
GreyShock

#959

Changelog - Weltmeister

[b]Added Mousewheel zoom[/b]

POR FIN, me estaba dejando los ojos ahí.

2 respuestas
Tema cerrado