Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





The Old Ways. Primer nivel completado y ya se puede bajar

Iniciado por Staryon, 16 de Agosto de 2006, 06:01:34 PM

« anterior - próximo »

Vicente

Cita de: "Astat"Como veo que usas PHP, podrias usar MD5 para encriptar.

Estooo, MD5 no es una función de encriptación, es una funcion de hashing. Si encriptas algo con MD5, luego como lo desencriptas? (si no hace falta desencriptarlo pues nada, me callo).

Un saludo!

Vicente

shephiroth

El MD5 como dices es solamente un hash, no encriptacion, pero para el tipo de juego vale. El cliente hace el md5 y lo manda como si fuera otra variable....el php genera su propio md5 y si coincide los datos son válidos, si no coincide es q alguien esta intentando lo q no debe.

Saludos ^^

Astat

Citarno se si hay alguna opcion extra (no en mi version, un tanto antigua eso si), pero los exes comprimidos con upx se pueden descomprimir con el propio upx

Pues lo primero seria bajarse la ultima version. Opciones tiene, y bastantes. Pon 'upx -?' para verlas. Nosotros siempre usamos 'upx -9 --force xxx.exe' y nunca hemos tenido ningun problema en ningun ordenador (lo hemos usado en juegos online con miles de usuarios).


CitarEstooo, MD5 no es una función de encriptación, es una funcion de hashing. Si encriptas algo con MD5, luego como lo desencriptas? (si no hace falta desencriptarlo pues nada, me callo).

Si a ambas cosas. Es una funcion hash y tambien un algoritmo de encriptacion:

"MD5 es un algoritmo de reducción criptográfico de 128 bits"
(segun la wikipedia).

CitarEl MD5 como dices es solamente un hash, no encriptacion, pero para el tipo de juego vale. El cliente hace el md5 y lo manda como si fuera otra variable....el php genera su propio md5 y si coincide los datos son válidos, si no coincide es q alguien esta intentando lo q no debe.

Exacto, ese es el proceso.

KILE

Upx sirve tan solo para comprimir el fichero y aunque uses las opciones upx --force -9 xxx.exe lo puedes descomprimir facilmente usando upx -d xxx.exe y tienes el mismo exe original.
El tema de la seguridad yo enviaria junto con los resultados una cadena hash con md5 por ejemplo.
Y por ahora desactivaría las opciones de subir a la web que cualquiera puede usar


Suerte y ánimo con el proyecto que tiene muy buena pinta.

PD: Tan solo cambiaria el salto, haciendo un poco mas suave el cambio entre ascenso y descenso que hay veces que parece que es que se pega con algo en el techo y baja rapidamente, aplicarle una funcion sinoidal mas suave. Un saludo :*
PD2: Sorry, es la resaca de la feria q se me va un poco la pinza ;)

Staryon

KILE, vale ya sabemos que sabes cómo hacerlo, pero no hace falta que lo publiques en la web para que todo el mundo me sature el servidor.

Te agradecería que tú o algún moderador editara tu hilo.

Gracias

Edito: No hay problema, es que sorprendió que alguien hiciera eso, porque se veía bastante buen rollo en este foro.
PD: No me digas que eres de Málaga... ¡un paisano!

KILE

Sorry no lo habia hecho con mala intención ademas como tu bien dices que cualquiera puede saber como hacerlo creo que lo mejor es desabilitarlo ahora mismo.
offtopic: Y bueno en realidad no soy de Málaga pero como si lo fuera, soy cordobés pero llevo viviendo en malaga 7 años y estoy a ver si acabo la puta ing.informatica :_) pero claro 10 dias de feria justo antes de los examenes... jeje

Jove Chiere

Retomando la linea del topic... (marditos Malagueños 8) )

Cita de: "Staryon"Jove, creo que entiendo por dónde vas, y me parece muy interesante. Fíjate que yo tenía en mente un juego así más o menos. Con la diferencia que se desarrollaría en el espacio. Cada jugador tiene su nave con sus propias caracteristicas y cada jugador pertenece a un bando. Después el ordenador asigna misiones comunes a cada bando, de tal forma que para que un bando tenga éxito en finalizar una misión interferiría con la del otro bando, provocando siempre algún tipo de lucha o rivalidad. Lo que ocurre es que este sí sería multijugador, y creo que es diferente a lo que tú propones.

Yep, esque yo no tenia el dato de que crearas un modo multiplayer... En tal caso , expando mi concepto.

Y si cada grupo de jugadores tubiera en el servidor su configuracion de nave que seria donde entrarian los mienbros de una misma tripulacion (maxima capacidad = 50% mienbros + 50% enemigos) y ademas de ir por planetas, resolviendo misiones y conquistando bases, se pudiera asaltar a las naves de otros jugadores (atacando a la tripulacion presente + sistemas de defensa) y esas naves tambien pudieran ser tuneadas en cierta medida como las misiones?

Jejeje, vaya paripe me a salido... Esperemos que no compliques mucho la cosa. Ya que vale mas la pena algo pequeño pero adictivo, que algo inmenso pero inacabado.
Los grafosyakuza recomiendan Wings3D - Entra en GIMOVJ  y aprende a modelar.

Nae

Dejando de lado que el prota es el de megaman XD, el resto no está mal.
Ale, Opa Opa forever!

gdl

CitarLas balas especiales las puedes ver al pulsar F1. Te refieres a que aparezcan durante todo el tiempo, ¿verdad?

En efecto. Aunque detener el juego para ver las balas que te quedan va en detrimento de la jugabilidad.

CitarEn cuanto a la velocidad, tengo una curiosidad. ¿Me puedes decir cuántos segundos te tarda el personaje en cruzar una pantalla? Es que yo lo veo bastante rápido, pero a lo mejor a ti te está yendo muy lento. Debería tardarte unos 4 segundos.

Interesante, me tarda más de 8 segundos. Eso significa que tienes el bucle principal no desacoplado. Cada frame el protagonista se mueve una misma cantidad. Hay una manera fácil y sucia de solucionar esto que es separando el bucle principal en dos partes: calcular movimientos y dibuajar cosas. Como la parte que ralentiza es la de dibujar, calculas lo que tardas en esa parte y llamas a calcular movimientos tantas veces como se deba hasta obtener una velocidad desacoplada de lo que tarde el dibujo.

Por ejemplo: si quieres un frame rate de 25 fps (40ms) pero tardas 80ms en dibujar todo, llamas dos veces a la rutina de movimiento por cada vez que llames a la de dibujo.

Ya decía yo que era muy fácil  :roll:


Otro problema de seguridad (jejeje). Me he descargado el mapwin y puedo cargar sin problemas (o modificar si quisiera) el fichero del escenario. Quizás sería conveniente encriptarlo también.

Staryon

Jove

Me encanta la idea. Yo creo que podría salir un juego muy entretenido y original, pero claro, es lo que tú dices, si lo complicamos mucho, no acabaría nunca.

A mí también me gustaría que mientras estás jugando y estás haciendo una misión (por ejemplo, ve al sector H12-20 porque se ha detectado un movimiento alienígena desconocido), te pudieras cruzar en tu viaje con otros jugadores, que a su vez están haciendo otras misiones que les han asignado.

joo... cómo me gustaría meterme con ello. lástima del tiempo, que no tengo mucho.

Staryon

gdl

Gracias por la información. Con el tema de la velocidad me estoy volviendo loco. En efecto, existe un desacople, porque utilizo la misma rutina para la velocidad del bucle principal del juego y la de paso de un frame a otro.

Pero aparte de eso, tengo otros problemas con la velocidad. El caso es que no he encontrado la solución. He preguntado en otros foros, pero no me han sabido decir. Yo utilizo SDL y creo surfaces software, es decir, el juego tira únicamente de procesador. No he conseguido que me funcione con surfaces hardware (me parpadea, los sprites dejan rastros y más historias) Lo peor del caso, es que hay ordenadores recientes (digamos CPU 3Ghz) en los que va lento, y otros en los que no. Y luego puedes tener un ordenador más antiguo, y funciona bien. No sé, la verdad.

Voy a seguir investigando, a ver si doy con la solución.

Gracias por tu ayuda.[/b]

shephiroth

Buenas.

Lo primero dire que de SDL no tengo npi, solamente lo que voy leyendo aqui y alla, y lo del parpadeo al intentar hacerlo por hardware me suena familiar...no estoy del todo seguro pero creo que tenia que habia que decirle al SDL que tenia q esperar al refreshco del monitor para actualizar la pantalla (vertical u horizontal, eso ya ni idea). Mira a ver si te suena de algo y encuentras solucionarlo.

Respecto a q tienes una misma rutina y el problema de velocidad del personaje.....un metodo que a mi me ha funcionado bastante bien siempre es q el movimiento del personaje no tienes q basarlo en el numero de veces que ejecuta la rutina, sino basarlo en el tiempo que transcurre entre que ejecuto la rutina la ultima vez y el momento en el que mueves el muñeco. Para simplificarlo, en vez de que el pj recorra la pantalla tras pasar por la rutina 20 veces, hazlo de forma q tarde 3 segundos. Da igual la potencia del ordenador, el pj ira igual de rapido si ejecuta la rutina una vez cada segundo o un millon, la pantalla la recorrera en 3 segundos.

El unico problema de este cambio es que en ordenadores mas potentes ira mas suave, en ordenadores menos potentes parecera que de saltos.

SUERTE ^^

Staryon

shephiroth, gracias por tu ayuda.

Sí, ahora mismo lo tengo como tú dices. En decir, por muy rápido que sea el ordenador va a hacer una pausa. Eso funciona bien. El problema que tengo es que por alguna razón en algunos ordenadores todo es más lento, es decir,  el paso por cada iteración del bucle tarda más.

Seguiré investigando, a ver si descubro algo.

Saludos

Staryon

Cita de: "shephiroth"El MD5 como dices es solamente un hash, no encriptacion, pero para el tipo de juego vale. El cliente hace el md5 y lo manda como si fuera otra variable....el php genera su propio md5 y si coincide los datos son válidos, si no coincide es q alguien esta intentando lo q no debe.

Saludos ^^

Hola a todos. Recupero este mensaje para haceros una preguntilla sobre este tema, porque no me ha quedado muy claro.

Imagináos que quiero mandar al servidor dos valores, el nombre del usuario y su puntuación. Por ejemplo, nombre=test&puntos=12033
Entonces codifico todo esa cadena con el md5, y supongamos que obtenemos esto:  938fdsfs8349ff

Ahora que tengo esa información, envio al servidor esta url:

http://miservidor/validar.php?nombre=test&puntos=12033&codigo=938fdsfs8349ff


Entonces desde el servidor, vuelvo a calcular el md5 de nombre=test&puntos=12033  y lo que me salga lo comparo con el de la url. Si todo está bien, es que el usuario no ha cambiado nada.

¿Es así el algoritmo que me deciais? Es que según lo entiendo, sería muy fácil de modificar por alguien. Si alguien captura la url, y quiere ponerse 1000000 puntos, le quedaría algo así:

http://miservidor/validar.php?nombre=test&puntos=1000000&codigo=938fdsfs8349ff

Si ejecuta esa url, le saldrá error, porque el código es diferente, pero sólo tendría que llamar a una función md5 la cual es fácil de encontrar, y hallar el código correcto para nombre=test&puntos=1000000

No sé si hay forma más segura de evitar eso.

Cualquier sugerencia es bienvenida.

Saludos

RobiHm

bueno, te intento explicar un modo seguro de hacerlo xD

pides un identificador al servidor, el servidor te lo otorga (un número mismamente)

encriptas la url con ese identificador,
si no sabes simplemente eleva la puntuación o dividela o lo que se te ocurra con el identificador, si alguien intenta cambiar los datos no los aceptará puesto que no saben que identificador les has enviado...

en las transacciones de los bancos se suele utilizar algo parecido
el tema es que el identificador suele ser un número de unas cuantas cifras, digamos que más de 10 xD
Web : Indómita
Blog : MiBlog
Evobas : Evobas
Kobox : Kobox






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.