Bennu Game Development

Foros en Español => Proyectos => Topic started by: DCelso on November 05, 2008, 12:03:38 AM

Title: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 05, 2008, 12:03:38 AM
A PAck of classic GAMEs for BEnnugd
Es una Colección de Códigos Fuente Bennu de Juegos Clásicos en su menor visión, escritos de forma que sean lo más facilmente legibles por cualquier aficionado a la programación.
Pretende abelgar el mayor número de motores de juegos distintos para que quien quiera realizar un juego completo pueda partir de un motor base programado.

Actualmente contiene los siguientes Juegos:
Terminados: Tetris, columns, drmario, pang, muro, galaxian, wiz, conecta4, pacman
En desarrollo: jet pac, manic miner

Implicados en el proyecto por orden de entrada en éste: DCelso, PiXel,  Kim-elet-o, Tyco, Prg

Página web: http://code.google.com/p/apagame4be/

Agradecimientos a
osk: que aportó el primer motor del proyecto para la realización un tetris.
SplinterGU: por BennuGD, y su WIP estandar de programación Bennu.
y a todos los demás que se interesan y siguen los avances del proyecto.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: osk on November 05, 2008, 12:49:14 AM
Aquí tienes uno, que funciona en Fenix 0.93.
(He eliminado los archivos wav de dentro del zip porque si no el fichero adjunto me ocupaba más de lo permitido, pero vaya, no son imprescindibles)
Hasta luego.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: TYCO on November 05, 2008, 09:31:20 AM
dcelso propones acaso un Pack de mini-juegos clásicos que cada miembro de la comunidad haría uno, para luego meterlos todos en un pack y desde un menú sencillo poder escoger a cual jugar? sin meter créditos ni menús? la cosa de las teclas sería usar todos unas CONST que desde el menú del pack se podrían redefinir (como en las consolas antiguas, máximo 4 botones... aunque en algún juego use menos botones... simplemente no actuarían los botones restantes), y según se van terminando los mini-juegos, se añadirían al menú del pack y poco a poco el pack tendría más y más juegos. Yo si me apuntaría a esta iniciativa.

Es lo que propones??? XD y si no hay queda la propuesta haber que os parece.... porque auque solo lo hagan dos personas... sería un pack de dos personas y en un futuro si alguien quisiera añadir algún juego solo se añade rápidamente, una línea más de codigo en el menú del pack y listo.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: kim-elet-o on November 05, 2008, 10:03:33 AM
pues no es mala idea, no, pues posiblemente me sume a la iniciativa, yo por ejemplo tengo experiencia en el tipo shot'em.

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 05, 2008, 12:40:00 PM
¿Que yo propongo que? :D.

Bueno, si tu lo dices. Debo ser de los tipos raros que proponen cosas sin saberlo :).

Me gusta la idea, y además me suena, me suena, es similar al objetivo de pixfiesta.

A ver si hago alguna especie de reglas y las cuelgo.

Edit: podemos ir asignando juegos clásicos de los que puse antes.

el muro (o arkanoid), matamarcianos (galaxian), tres en raya, conecta cuatro, tetris, columns, dr mario, hundir los barcos, comecocos, pang, pinball action, battle tank, dig dug etc.

por ejemplo: kim-elet-o ---> starforce (un shot'em up). Solo sería necesario hacer una fase puesto que las demás es repetir lo mismo.

El problema es que shot'em up hay varios tipos sin scrool (galaxian), horizontales (time pilot), verticales(starforce), en mapas completos (time pilot84), imitando 3d (exerion)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: TYCO on November 05, 2008, 01:41:38 PM
Las Reglas, si eso dime y concretamos las reglas (no serian muchas, apenas la forma de key(tecla[arriba]), key(tecla[boton1]) y poco más debe ser obligatorio). Todo lo demás del juego es a gusto del programador, y siendo mini-juegos sin menus y tal se hacen bien y en pocas semanas/meses.

Por ejemplo:

// Esto sería todo en el Menú del Pack
Const
    arriba=0;
    abajo=1;
    derecha=2;
    izquierda=3;
    boton1=4;
    boton2=5;
    boton3=6;
    boton4=7;
Global
    int tecla_jugador[1][7];  // Para utilizar las teclas de los Jugadores 1 y 2
    int jugador;
Private
    int contador;
    int archivo_config;
Begin
    // CARGA LAS TECLAS DE JUGADOR 1 Y 2 DESDE ARCHIVO
    archivo_config=fopen("DATOS\CONTROL.DAT", o_read);
    If (archivo_config > 0)
        fread(archivo_config, tecla_jugador);
        fclose(archivo_config);
    Else
        // CONFIGURA LAS TECLAS POR DEFECTO SI NO PUEDE CARGARLAS DESDE ARCHIVO
        For(contador=0;contador<2;contador++)
            tecla_jugador[contador][arriba]=_up;
            tecla_jugador[contador][abajo]=_down;
            tecla_jugador[contador][derecha]=_right;
            tecla_jugador[contador][izquierda]=_left;
            tecla_jugador[contador][boton1]=_d;
            tecla_jugador[contador][boton2]=_s;
            tecla_jugador[contador][boton3]=_a;
            tecla_jugador[contador][boton4]=_w;
        End
    End
End


El código obligado en cada juego solo sería: key(tecla_jugador[jugador][boton2]).

La gente puede empezar ya mismo, o si ya tiene algún mini-juego que quiera incluir serían realizar pocos cambios en las funciones KEY únicamente.

Habría que hacer un nuevo TEMA en la sección... Proyectos??? que opináis???
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on November 05, 2008, 02:28:24 PM
:)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: kim-elet-o on November 05, 2008, 10:49:02 PM
Jejejeje, el StarForce, hombre algo mas sencillo si va servir como ejemplo...., podria probar con un galaxian, o similar. ;) :D

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: blostec on November 06, 2008, 09:04:50 AM
El pacman y el arkanoid no hace falta, ya tenemos los de div.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: TYCO on November 06, 2008, 11:11:10 AM
He mirado el Pacman y el Noid que comentas y adaptaré el código (los KEY, los sonidos PCM a WAV y los EXIT) todo al menú del pack cuando tenga un rato.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 10, 2008, 01:40:38 AM
Fantástico, yo tengo a medio sacar el tetris,
que he intentado hacerlo lo mas simple y autodidacta posible.

Osk, he corregido muchísimos errores y mejorado un poco los nombres de las variables, me queda mucho trabajo aún para mejorar la lectura del fuente, ya, almenos funciona en bennu. En cuanto lo tenga lo subo aqui, aunque necesito que me ayudes en algunas cosas que no entiendo como van :D. Por ejemplo hay una linea que pone esto hay que entenderlo con lapiz y papel, pues ni con esas lo entiendo:D, luego tampoco veo como detecta que se ha llegado a la condición de gameover. Otra cosilla es que usas demasiado las variables globales, y no encapsulas datos comunes en estructuras y me pierdo mucho :D.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: osk on November 10, 2008, 09:22:28 AM
Bueno, aquí estoy para lo que quieras, aunque ya te digo que este código lo saqué ya hecho de algún sitio...yo sólo me limité a cambiarle los colorines...así que no tengo mucha idea tampoco de cómo funciona lo más complicado, pero vamos, algo se podrá hacer. Venga, hasta luego.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: kim-elet-o on November 10, 2008, 09:32:34 AM
Proyecto galaxian iniciado, haber si dentro de un par se semanas puedo subir algun adelanto.

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 10, 2008, 12:09:27 PM
Buenoo, he iniciado ya el proyecto, su url sera "http://code.google.com/p/apagame4be/"
necesitaría vuestras cuentas gmail para insertaros como colaboradores y que podais subir vuestros fuentes al control de versiones.

Ya he subido el simpletetris.

bajadlo y a ver que se os ocurre para mejorar su lectura.

Osk necesito ayuda en un cometario en el que puse HELME:
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: TYCO on November 10, 2008, 01:02:00 PM
Cuando tenga el Menú del Pack y esos dos juegos funcionando lo subo y así veis la idea real de lo fácil que sería hacer un mini-juego y meterlo sin apenas esfuerzo en el Pack. Será un: include "tetris.prg"; y renombrar "Program tetris;" por "Process tetris;" lógicamente, el tema de las teclas ya está hablado en Post anteriores. Y desde el menú del pack se llama a el proceso tetris para que empiece su ejecución, mientras el menú_pack estara en un LOOP o WHILE por si se pulsa ESC para abandonar el juego y regresar al menú_pack.

No hay que usar teclas que se salgan de las habladas en Post anteriores (arriba, abajo, derecha, izquierda, boton1, boton2, boton3 y boton4);

dcelso: No veo en la página donde bajarlo, en Downloads no está tampoco.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 10, 2008, 01:29:30 PM
Hola de nuevo,
bueno la verdad es que se podría poner en download, lo que pasa es que esa sección suele ser para los binarios o instalaciones.
Actualmente está en la sección sources y se necesita un cliente subversion para descargarlo.
El uso de subversión es para llevar un control de versiones (asi evitar miles de zip de backups y el poder revertir facilmente una prueba fallida) además de poder trabajar simultáneamente varios a la vez.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: osk on November 10, 2008, 01:44:07 PM
Vale. Probaré de usar algún cliente svn...no lo he hecho en mi vida...pero tiene que ser fácil...a ver...
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 10, 2008, 05:07:14 PM
He actualizado la página de google code.
He añadido los archivos necesarios para el controlador de entrada y el menú de inicio.
Además también en download he puesto descargas directas para los que no quieran usar svn.
Rogaría a los colaboradores se pusieran en contacto conmigo para obtener su gmail cuenta y añadirlos como desarrolladores al proyecto.

Actualmente creo entender que kim-elet-o  nos hará una fase galaxian (facilote, eh, mira mi simpletetris y verás que simplote)
Y que TYCO nos hará una adaptación del pacman y noid de DIV (si puedes eliminarles código innecesario para el kit del juego mejor que mejor :D)

La idea es tener motor para todos los jueguecitos clásicos, quien quiera explayarse que lo haga en un proyecto aparte solitario :D. si quiere usando como base "apagame4be" o no :D.

Quien quiera aportar ideas aún está a tiempo.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: TYCO on November 10, 2008, 10:06:19 PM
A mi darme un poco de tiempo y os muestro como digo, el menú del pack con esos dos juegos funcionando.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: kim-elet-o on November 10, 2008, 10:33:12 PM
Okis Dcelso intentare hacerlo sencillote, mi cuento Gmail es kimeleto@gmail.com (jejejejeje por fin dare un uso a mi cuenta gmail).  ;)

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 11, 2008, 12:21:40 AM
kim-elet-o ya estás fichado :). Ahora, en teoría, en la sección de sources te pondrá la forma de descargarte el fuente y poder hacer commit con los cambio que quieras a lo fuentes.

Actualmente tengo puesto un sistema muy sencillo de menus,
en apagame4be.prg añades un texto nuevo de tu simple juego clasico, añades el nombre de tu función al switch y al final añades un include de tu prg.
Para no solaparnos en nombres, es bueno que pongas el nombre de tu juego clásico como prefijo a las variables globales, constantes, funciones y procesos que necesites.
El control de teclado es también sencillote en vez de key(_up) es keys_state[KEY_UP].
Viendo el ejemplo de simpletetris se verá mejor.

TYCO, revisa el sistema y aporta las mejoras que tenías en mente o comenta si ves algo que pueda mejorarse o hacerse de otra forma mas inteligible.

Me gustaría que entre todos me dierais ideas de como simplificar o hacer más facil de entender el simpletetris que he puesto como primer clasico.

osk, no comprendo muy bien el sistema de dificultad que hay implementado, subo de nivel pero no veo incrementarse la velocidad.El sistema de pulsado tampoco lo entiendo del todo, no comprendo el porque ir incrementando una variable mientras esté pulsada una tecla, y tampoco las dos cosillas que te dije cn anterioridad, cuando tengas un hueco mira a ver si me lo puedes aclarar, gracias.


Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 12, 2008, 12:56:19 PM
Hola a todos, he añadido unas imágenes y la última versión del simpletetris arreglando un bug detectado por panreyes. :D, el graciosete me lo abrió en inglés, supongo que porque la plantilla está en inglés :D.

Tyco, sigo esperando tu cuenta gmail, no sé si será la obviedad: tyco algarroba gmail punto com  o tienes otra. También espero tu opinión acerca del simple controlador de teclado y simple menú principal :D.

kim-elet-o, ¿como va ese galaxian? Estas haciendo solo una fase. ¿No? ¿Estás usando como referente al galaxian del mame?

En lo referente al simpletetris: estoy usando como referente el atetris del mame.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: panreyes on November 12, 2008, 01:01:39 PM
You've got a new issue!

XD
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 12, 2008, 01:23:13 PM
que curioso, vamos visitando en "runtime" al revés las páginas. Acabo de verlo, por cierto voy a tener que comprobarlo de nuevo con el atetris, porque juraría que es eso mismo lo que hace en el atetris. Es decir, lo tengo programado así aposta.

¿Cuales serían los motivos por los que sería mejor cambiar dicho efecto? Si facilita la comprensión del código quizá sea bueno.

También he visto un ligero efecto distinto al del mame, resulta que en el atetris del mame puedes girar las fichas de 3 y 4 bloques cuando están en la segunda columna de la derecha del todo, en el simpletetris no hace eso si el giro obliga a desplazarse una columna a la izquerda para que quepa.
Implementarlo para que funcione igual me llevaría poco tiempo pero complicaría la lectura del código, cosa que es lo que se intenta evitar.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: osk on November 12, 2008, 01:50:02 PM
Hola. Perdón por el retraso en contestar.
Mirad, el tetris lo saqué de no sé dónde para hacer un pequeño tutorial del juego. Realmente, al ver que era más complicado de lo que pensaba, al final el tutorial se quedó en comentar las líneas que entendía, y las que no, pasaron discretamente sin comentar...Aquí os paso el tutorial.

P.D: El foro no me deja subir un archivo .odt!! Le he tenido que añadir la extensión .doc!!
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: panreyes on November 12, 2008, 04:50:28 PM
Bueno, me gustaría colaborar para hacer algo de ejercicio de programación, en vez de chorradas como lo del elefante y la telaraña... ¿Qué juego podría hacer yo? :)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 12, 2008, 05:27:36 PM
Bueno, puse una lista, en principio puedes colaborar con el juego que quieras mientras sea clásico (cuanto mas conocido mejor, aquellos a los que casi todos hemos jugado alguna vez). Te diría de hacer un simple pang pero me vas a decir que estás hasta los mismísimos h... :D.
De la lista que puse quedan: pinball action, battle tank, dig dug, dr mario, hundir los barcos, conecta 4, tres en raya.
Pero ahora se me ocurren otros tantos: supersprint, manic miner, jet pack, mappy, popeye, arabian, etc
Un truco para buscar juegos clasicos es bajarte el mameui, todos sus snaps, clasificar por fecha e ir uno a uno viendo que juegos recuerdas que te gustasen y creas facilotes de implementar.

Elige uno tu con el que te sientas a gusto. Por cierto cual es tu gmail y te voy añadiendo a la lista de desarrolladores :D.

Edit:
Subido simplecolumns, necesitaría que algún gurú revisase en el código fuente la lógica de bloques unidos(función simplecolumns_detect_completed_group), ya que actualmente me falla en algunos casos. Si alguien me pudiera realizar la lógica de cuando los bloques del mismo color están unidos se lo agradecería aunque fuese en algoritmico o en cualquier otro lenguaje de programación.

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: kim-elet-o on November 12, 2008, 11:06:55 PM
Yo por ejemplo me he bajado un emulador mame, y me estoy "mameando" una vez y otra el galaxian, para estudiar como se comportan los enemigos, los graficos los voy intentar crear yo, haber que tal salen.

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on November 12, 2008, 11:57:10 PM
manic miner es un poco largo para un minijuego... lo mismo que el bubble bobble (que estaria bueno que alguno haga un juego aparte de estos)
algunos que me vienen a la mente:
pacman,
missile command,
asteroids (el vectorial),
moon patrol,
donkeykong,
frogger,
centipide,
lunar lander,
snake,
simon,
tic-tac-toe,
galaga,
carnival,
burgerland,
cannon fodder,
Donkey Kong Jr.,
pssst,
elevator action,
wonderboy,
1942,
F-1 Spirit,...

aca encontre esta pagina que esta muy buena de remakes para bajar, quizas sirva para ideas http://www.classic-retro-games.com/
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 13, 2008, 09:53:29 AM
Ostras, tu, que buenísima página.
En verdad te digo que me acabas de quitar las ganas de hacer nada, ya está todo hecho :).

Acerca del manic miner, yo lo decía en plan para tener un motor base para ese tipo de juegos, con solo una fase sería suficiente para el minijuego. Ya luego quien quiera podría usarlo para hacer un juego completo y tal.
El pack lo entiendo como una base de motores de juegos clásicos en los que muestas el mini juego como tutorial en código fuente de la forma más comprensiba posible. Es decir, nada de hacer funciones complejas para resolver el algoritmo de la forma más rápida para la máquina sin que ni dios sepa entenderlo, sino al contrario, más vale que sea eficaz en el resultado (aunque no lo sea eficientemente) y que se entienda. Ya luego quien lo quiera usar como base para un juego que lo optimize :).

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on November 13, 2008, 10:05:17 AM
me parece bien... vamos, si la idea es hacer motores a forma de tutorial, no importa que haya tantas remakes hechas y aunque no lo sea en la forma de tutoriales, tampoco esta mal hacer remakes... estarian hechas en bennu... y muchas de las remakes tampoco son la maravilla... animo que se puede...
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: animanegra on November 13, 2008, 11:36:15 AM
Respecto lo del columns

yo para el bloqueado lo hice supersencillote moviendo el objeto y con la colision comprobando una variable local de color. Si coincidian todos les daba un valor a la variable de romper y ya.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 13, 2008, 12:21:36 PM
Anima, eso va, yo me refiero a la condición de destruir bloques del mismo color adyacentes.

Me he dado cuenta de lo malísimo que soy para hacer algoritmos de control de colores consecutivos.
Acabo de terminar el simpledrmario y nada, la lógica de localizar bloques del mismo color no va del todo bien, y lo que es peor, las fichas no siempre caen hacia abajo.
A ver si algun gurú me lo soluciona o me da otro algoritmo :(

Adjunto binario y fuentes aqui para los que no les guste visitar la web :(.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Transdiv on November 13, 2008, 12:42:58 PM
Pero, actualmente ya hay un Pack de los chicos de Coldev :

http://bennupack.blogspot.com/ (http://bennupack.blogspot.com/)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 13, 2008, 01:00:17 PM
Claro, packs hay muchos.

Este pretende ser más específico, mas que pack es una colección de juegos clásicos accesibles desde un mismo menú y que se pueda entender bien el fuente para que otros extraigan el motor del juego que les interese usar para crear otro juego.

También se intentará dentro de la medida de lo posible no repetir cosas que ya existan. O bien si existen, adaptarlas para hacerlas más sencillas y comprensibles e insertarlas al menú.

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 13, 2008, 01:09:01 PM
Añadido un leeme.txt a svn con las reglas que he ido construyendo.

WIP juegos:
yo --- Los que actualmente hay :D, tetris-columns-drmario
kim-elet-o --- Galaxian
tyco -- adaptación del pacman y arkanoid de DIV
pixel -- Alguno ¿?
...
¿Alguien más se apunta? Cualquier contribución será muy muy agradecida, lamentablemente no retribuida :(.

Los mios se pueden considerar que es un solo juego, ya que el motor es prácticamente el mismo con adaptaciones.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: panreyes on November 13, 2008, 01:13:45 PM
Yo aprovecharé mi experiencia para hacer un Simple Pang, y luego me gustaría hacer un Puyo Puyo xD

Sobre el simple columns, el único problema que veo es que si haces 3 bloques de igual color en horizontal, entrando la 3ª ficha por la derecha, no se eliminan :?

Igual me equivoco, pero ¿no deberías escanear todos los bloques y posibilidades? ¿Le costaría mucho eso al programa?
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 13, 2008, 02:27:47 PM
Ok, pixel. Por cierto cual es tu gmail cuenta?

Por otro lado, con respecto al columns a ver, el problema que comentas ya lo solucioné. Lo que pasaba era que si una línea horizontal terminaba en la última columna no se contaba como buena, debido a que la comprobación se hace cuando cambia de color el siguiente bloque, así que he aprovechado que la pared derecha es de diferente color para que el bucle cumpla la condición.

El problema es que el algoritmo habría que cambiarlo (y no se me ocurre a botepronto cómo) porque ahora está dividido en dos bucles, uno que analiza horizontales y otro que analiza verticales, así que cuando formas una + o una L de color solo que contabililiza la línea horizontal, por tanto deja las verticales sin cerrar. Estoy pensando en una solución recursiva, el problema es que suelen ser menos inteligibles, sobre todo para principiantes.
El sistema es el mismo básicamente al del otelo, por si le sirve a alguien como referente.
Pongo un ejemplo práctico por si se entiende mejor de qué es lo que se pretende
dada esta matriz

XXXXXXXXX XXXXOXX
XXOXXXXXO XXXXXOX
XXXXXXXOO OXXXXXX
XXOXXXXOXXXXXXOXX
XXXXXXXXXXXXXXXXX
Al introducir esta ficha en el hueco
X
X
O
Se forma esta otra matriz
XXXXXXXXXXXXXXOXX
XXOXXXXXOXXXXXXOX
XXXXXXXOOOOXXXXXX
XXOXXXXOXXXXXXOXX
XXXXXXXXXXXXXXXXX
Pues como hay más de tres Os de seguido en horizontal, hay que eliminar toda la estructura formada por  Oes. Dejando como resultado esta otra matriz
XXXXXXX      XXXXOXX
XXOXXXX   XXXXOXXX
XXXXXXXXXXXXXXXXX
XXOXXXXXXXXXXXOXX
XXXXXXXXXXXXXXXXX

Adjunto excel con el ejemplo.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: l1nk3rn3l on November 13, 2008, 07:28:26 PM
me parece genial esta idea
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: JaViS on November 13, 2008, 08:32:26 PM
Quote from: dcelso on November 13, 2008, 01:09:01 PM

¿Alguien más se aputa?


Pues que no me aputo nada coño, que eso de aputarse es muy feo.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on November 13, 2008, 08:41:51 PM
Quote from: JaViS on November 13, 2008, 08:32:26 PM
Quote from: dcelso on November 13, 2008, 01:09:01 PM

¿Alguien más se aputa?


Pues que no me aputo nada coño, que eso de aputarse es muy feo.

Juaaaa... yo sabia que aca habia algo feo... :P
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 13, 2008, 11:35:53 PM
Joder macho, no perdonais ni una, estais a la que salta eh. ::)

Yo sigo buscando el algoritmo del columns.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: TYCO on November 14, 2008, 10:21:56 AM
dcelso: mi gmail es otro, pero tengo un MenuPack montado, es simular al tuyo, algo disinto, pero falta un retoque a la "lista de juegos" que muestra. Cuando lo tenga te lo paso o que???

Por cierto... el Simple Tetris... está bien pero es muy Simple jeje, hay que cambiar las letras... en definitiva... mejorar la presencia y por supuesto posibilidad para DOS jugadores simultáneos. No sólo para el Tetris... me refiero para todos los mini juegos que hagamos.

Los DOS jugadores SIMULTÁNEOS tiene que ser algo esencial en TODOS los juegos, igual podría haber alguna excepción, pero debería ser casi obligado... de hecho si os fijáis... todos los juegos clásicos y tal... son de dos jugares simultáneos... exceptuando algunos como arkanoid (aunque se podría hacer simultáneos) y algunos otros.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: kim-elet-o on November 14, 2008, 11:01:31 AM
Sip cierto, pero la idea principal de estos juegos es que sirvan como ejemplos de programacion, y como ejemplos tienen que ser simples, que que muestren el motor el motor basico, y/o tecnicas basicas que se esconden detras de los juegos mas populares y conocidos, que el usuario pueda aprender, añadir, probar y experimentar con ellos nuevas funcionalidades, con lo cual estos tienen que llegar a ser la minima expresion jugable de ellos (o casi).
Pero yo propongo (por que a muchos nos quedaran las ganas de dejar nuestros juegos, lo maximo desarrollados que sea posible), que la gente que tengamos ganas de mas, hagamos luego en paralelo un pack de juegos para gente de grado medio o avanzado, podrian ser los mismos juegos pero con todos los detalles y utilizando tecnicas mas refinadas, complejas o de mas nivel, pero para mas adelante, ahora por el momento hagamos lo basico, para la gente pueda aprender programacion en Bennu, y luego, cuando hallamos terminado con lo basico, dejemonos llevar por el vicio de codificar.

;) ;) 8) 8)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 14, 2008, 11:32:41 AM
Me gusta la idea de TYCO de dos jugadores y de mejorar las letras y gráficos, pero claro, complica un poco el código escondiendo más el kit de la cuestión (motor).

Me parece buena la postura de kim-elet-o hacer todos los motores posibles de juegos clásicos y luego añadirles las mejoras que comenta TYCO. Otra sería la de llevar registro de usuario y una puntuación global al margen de los juegos para ver quien es el mejor al final de terminar una vuelta completa a todos los juegos, con estadísticas de quíen ha ganado cada juego y puntos obtenidos. Tipo mezcla mario party mas o menos y mario kars.

Quizas una versión en paralelo podría llevarse, pero va a ser el doble de trabajo.

A mi me da igual, lo que se decida entre todos se puede hacer.
Un consenso puede ser que tú, TYCO, crees un nuevo proyecto en google.code (como owner) y en él vamos subiendo las versiones "power" de los juegos con tu menúpack.

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on November 14, 2008, 11:52:37 AM
Si el codigo esta bien documentado, no es necesario al nivel linea a linea (si lo es mejor) pero si ir comentando dentro del codigo cada tanto (en cada funcionalidad o incluso dentro de estas para aclarar), buena indentacion (4 espacios y no tabs es lo que yo recomiendo) y usar separadores claros entre funcion y funcion (yo uso "/* ---- */" con unos 80 "-" mas o menos, pero siempre el mismo separador)... es codigo entendible... y no es necesario hacer algo muy basico... obviamente cada uno hace lo que puede, pero lo mas importante es ser prolijos y escribir explicaciones de todo lo que se pueda...
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: osk on November 14, 2008, 12:29:46 PM
Una pregunta tonta...¿por qué no recomiendas tabular a la hora de indentar? (qué bonito pareado)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on November 14, 2008, 12:35:43 PM
porque no todos los editores usan el mismo tamaño de tabulacion, es normal que muchas veces no usemos tabs y pongamos espacios... entonces al ver los fuentes en distintos editores quedan todos desalineados, y es facil perderse... a esto agreguemos el hecho de que el seteo estandard del tab es de 8 espacios, y para un programador es un problema leer cosas que se van muy a lo ancho... estos son algunos de los motivos por los que la mayoria de los programadores con bastante experiencia usan espacio en vez de tabs... los tabs son mas para usuarios no programadores...
pero esto no significa que tengamos que poner manualmente los tabs, sino que seteemos nuestro editor para que use espacios en lugar de tabs.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: TYCO on November 14, 2008, 01:08:58 PM
Quote from: dcelso on November 14, 2008, 11:32:41 AM
Otra sería la de llevar registro de usuario y una puntuación global al margen de los juegos para ver quien es el mejor al final de terminar una vuelta completa a todos los juegos, con estadísticas de quíen ha ganado cada juego y puntos obtenidos. Tipo mezcla mario party mas o menos y mario kars.

Me gusta mucho eso de que en cada juego se guarden las puntuaciones y te pida Nombre para a quien sumárselas, tanto en cada juego como a nivel global (suma de todas las puntuaciones de todos los mini-juegos)

No es necesario llevar versiones en paralelo... yo creo que se puede hacer perfectamente... comentando como dice Juan el código fuente porque se hace cada cosa (exceptuando las obvias como graph=, o x=, etc), y de esta forma sirve para que la gente aprenda Bennu y también disponga de un Pack con muchos juegos para jugar, comentando bien el código ambas cosas no están reñidas.

PD: No sé como va eso de google.code XD, supongo será sencillo pero como digo... que os parece lo de que no están reñidas??? Hacer algo "bonito" con código "legible" para jugar y aprender no son incompatibles.

Quote from: SplinterGU on November 14, 2008, 12:35:43 PM
...la mayoria de los programadores con bastante experiencia usan espacio en vez de tabs... los tabs son mas para usuarios no programadores...
pero esto no significa que tengamos que poner manualmente los tabs, sino que seteemos nuestro editor para que use espacios en lugar de tabs.

Yo usaba tabs en el UltraEdit XD, yo ya lo he seteado, y con "Reemplazar Texto" ya he cambiado los viejos. La verdad que cuando abria alguno con el Bloc de Notas de Windows me pasaba eso de ver mal lo "tabulado".
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 14, 2008, 02:29:33 PM
Que puñado de estrellitas azules tengo ahora, moola.

Yo, nose, se puede intentar lo de hacerlo todo a la vez, haces una versión light, la subes a svn y luego haces la power, siempre puedes tirar de versiones anteriores en svn para ir bajando en complejidad. Es una de las cosas buenas.

Por cierto, yo no veo tan mal el uso de tabs, los editores se pueden configurar para hacer que el tab ocupe los espacios que quieras. Además, se empezaron a usar en documentos y en programación por hacer que ocupase menos el fichero, no es lo mismo guardar en tercer sangrado 3 tabs que 12 espacios. Imagínate en 4 o 5, bueno es verdad que no se recomienda más de tres indentados :).
En fin hoy en día como que el espacio va que nos sobra :D.

Yo creo que deberíamos de hacer un compendio de normas de programación entre todos para intentar hacernos un estándar para programción bennu. podemos sacar alguno de c y adaptarlo. Propondría que SPLINTER (que es mas master que nadie :D) nos hiciera un borrador del estandar y que fueramos revisandolo poco a poco.
Como eso de usar mayusculas para constantes, usar _ para separar palabras en variables, usar nombres descriptivos y evitar i,j,k,l etc. Usar estructuras para datos de un mismo elemento. identificar los tipos con un prefijo, bueno no se, alguien tiene un checklist.xml para verificar códifos fuentes?
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on November 14, 2008, 03:49:35 PM
en programacion el standard es 4... algunos osados usan 2... pero la verdad queda todo demasiado pegoteado... cuando se refiere a codigos fuentes no importa cuanto ocupen los mismos si se trata de espacios y se gana en claridad en el codigo... yo sugiero que por favor se usen espacios en lugar de tabs.

ok, yo luego escribo una guia de estilo de programacion, a ver si todos nos adaptamos a eso, para que el codigo quede siempre claro... mas en los casos donde vamos a compartir nuestros codigos...
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: kim-elet-o on November 14, 2008, 11:27:23 PM
Dioooooxxxxx!, cuando veais mi codigo,  :-[ :-[ :-[ :-[ :-[ :-[ :-[ :-[ :-[ :P :P :P :P :P que verguenza me va a dar!, tengo muchos vicios, pero que muchisimos, bueno mañana (que eso sera dentro de unas 8 o 9h), me dedicare a limpiar y a comentar codigo, el domingo subire la version simple de mi galaxian, espero que sepais perdonar mis vicios.  ;D ;D ;D ;D

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on November 14, 2008, 11:45:57 PM
no hay problema, te recomiendo el indentador de bennu...
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Windgate on November 15, 2008, 03:00:53 PM
Vaya, después de unos años pensando que era una estupidez ahora entiendo por qué es mejor "tabular" con espacios...

Uso Crimson Editor, para configurar el editor para que use espacios es sencillísimo:

Vamos a la pestaña Tools, clicamos en Preferences... y la primerísima de todas las opciones es esa que dice: Use space in place of tab. Activamos la casilla y listo!

Ahora lo jodido es arreglar nuestro código escrito anteriormente... Lo mejor será usar este convenio para nuevos proyectos y adaptarnos al new style!
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: panreyes on November 15, 2008, 06:37:44 PM
No estoy de acuerdo para nada en tabular con espacios xD

QuoteAhora lo jodido es arreglar nuestro código escrito anteriormente... Lo mejor será usar este convenio para nuevos proyectos y adaptarnos al new style!
Con reemplazar del bloc de notas lo tienes solucionado. Haz una tabulación, selecciónala y pégala para hacer el reemplazo.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Windgate on November 15, 2008, 10:45:18 PM
Buena idea lo del bloc de notas xD

En cuanto a lo de tabular con espacios, sabiendo configurar el editor el único problema que le veo es que si alguien usa un editor distinto tendrá problemas a la hora de "destabular", ya que tendrá que ir espacio a espacio... Al final una cuestión de gustos, como casi todo.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on November 15, 2008, 10:56:22 PM
No es para nada ningun problema, seleccionas en el editor que uses (o usa el ultraedit para esto) "convertir tabs a espacios" y ya te arregla todo proyecto que tengas, con respecto a usar el "bloc de notas", no sirve, porque un tab no siempre son 8 espacios, ni 4, depende de lo que tengas escrito, si copias los espacios con lo que te da una tabulacion hara cualquier cosa.

y para destabular es lo mismo, los editores para programadores tienen esta funcionalidad convertir de cualquier lado a cualquier lado... pero es cierto bueno, puede que alguna cosa haya que toquetear a mano, pero no es mucho...

Bien, ya estoy empezando a tener entorno, cuando pueda redacto una primera version norma de estilo para la codificacion.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: TYCO on November 16, 2008, 12:47:43 PM
Yo ya puse todos los Tabs por espacios con el comando "Reemplazar texto", seleccionas un TAB y que lo reemplace por 4 espacios, luego revisar por encima que este bien y listo.

Al indicar que cuando hagas un TAB lo convierta en 4 espacios... puedes programar más rápido haciendo TAB (ya de espacios) que no dándole a "espacio" cuatro veces.

Como dije antes, lo tengo idela ahora mismo, y al abrir en cualquier editor se ve correcto siempre.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: kim-elet-o on November 16, 2008, 07:00:29 PM
Buenas a todos, aun no he terminado el galaxian (soy un coder lento, lo siento), todavia me faltan algunas cosas, pero el engendro ya empieza a funcionar. Ahora mismo me estoy peleando con un sistema de semaforos para que lo marcianos ataquen cooordinadamente, como lo hacen en la recreativa, cuando lo halla conseguido, solo faltara montar la logica de puntuacion, la de las vidas, y el menu del juego, de momento os dejo con lo que llevo hecho, asi le hechais un vistazo y me criticais (positivamente eeh!).

http://rapidshare.com/files/164409685/galaxian_V045_pre_Alpha.zip.html
http://www.megaupload.com/?d=DQUYAX6A
http://www.filefactory.com/file/4096fb/n/galaxian_V045_pre_Alpha_zip


P.D: yo tambien me he quedado alucinado lo pequeño que es el fichero zip, lo he descomprimido 2 veces haber si descomprimia bien.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 17, 2008, 01:18:49 AM
Ostras, el resultado es simplemente genial, buen trabajo.

Por otra parte tienes razón con el código :D, es caótico un poco.
Me cuesta seguirlo :(. Aún leyendo los comentarios.
Algunos nombres de variables demasiado abreviados.
Algunas variables se podrían agrupas en estructuras.
Postfijos en vez de prefijos ;D.
No entiendo como ocupa tantísimo el fpg.

Oye pero vamos que encanta, menos da una piedraa :D.
Estoy deseando jugar a la versión completa.
Por cierto, has probado tus permisos en el apagame4be de googlecode?
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: kim-elet-o on November 17, 2008, 09:49:45 AM
no, aun no me he probado mis permisos en el apagame4be, debido que la version de mi juego aun no es jugable, es una version de trabajo, por eso la he colgado aqui antes, para que le hecheis una miradita.

Gracias por los elogios, sip soy un coder fatal, esto es debido que siempre he sido autodidacta, todavia me falta incluir un monton de comentarios, en cuanto lo del nombre de las variables abreviados, cuando tenga una version ya jugable intentare expandirlos, aunque alguna variables tendran hasta 30 o mas caracteres de largo, en cuanto agrupar variables en estructuras..., uso pocas variables, la inmensa mayoria de nombres que ves son constantes, de lo postfijos tambien lo habia pensado cuando ya habia codificado un monton, bueno haremos trabajar a tope el reemplazador del ultraedit.

Bueno espero que dentro de 2 o 3 dias ya tenga una version jugable, para el fin de semana la version del codigo fuente entendible.

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: TYCO on November 17, 2008, 01:33:25 PM
No puedo ejecutarlo:

D:\Bennu-WIP15c2\galaxian_V045_pre_Alpha\lanzadera.prg:10: error: Main procedure was not defined (EOF)

Que habéis hecho???
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 17, 2008, 01:54:10 PM
pues resulta que tendrás un bgdi.import que da conflictos con los imports que hace kime-let-o
prueba esto

PROGRAM Lanzadera;

//Import "Mod_File"
//Import "Mod_Key"
//Import "Mod_Video"
//Import "Mod_Screen"
//Import "Mod_Map"
//Import "Mod_Scroll"
//Import "Mod_Proc"
//Import "Mod_Text"
Import "Mod_Grproc"
//Import "Mod_Rand"
//Import "Mod_Say"

Include "input_controller.prg";
Include "galaxian.prg"

BEGIN
Galaxian();

WHILE (NOT(Key(_esc)))
  FRAME;
END

END

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: panreyes on November 17, 2008, 03:05:24 PM
Por cierto, mi cuenta Google (que no gmail) para GCode es panreyes@panreyes.com
Tengo varias ideas en la cabeza que, cuando tenga tiempo, escribiré xD
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: TYCO on November 17, 2008, 03:36:36 PM
Pues si, era el import, esta muy bien el juego! felicidades, ahora a terminarlo (contadores de puntuación, etc) y solo 20Kb comprimido??? eso es compresión!
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 17, 2008, 04:29:06 PM
Pixel, debía de haberlo intuído por el alta del bug, un negativo para mí :(.
Ya deberías poder hacer más cosas en la web del proyecto.
Por cierto, he subido los binarios de los últimos fuentes con la mejora en el kernel del columns, ahora pilla cualquier grupo de bloques juntos si hay más de tres.
Al drmario también se lo he metido, sigue fallando la lógica de bajar al suelo la pastilla que queda a la izquierda o derecha después de matar un virus

Habría que averiguar el porqué el ratio tan alto del compresion del fpg del galaxian, falla algo fijo, sino debería de ser mejorable el sistema de almacenamiento fpg o simplemente dejar los recursos en pngs + archivos .ini o .cfg
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: panreyes on November 17, 2008, 07:21:18 PM
Eso lo solucionaré yo cuando tenga algo de tiempo, ahora que estoy en el equipo xD

Por cierto, voy a explicarme de una vez.
Me he mudado y no tengo internet en casa, así que aparezco de vez en cuando desde el trabajo xD
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Windgate on November 17, 2008, 11:32:27 PM
Ahora me entero por fin de qué va esto del apagame! Mola mucho!

No puedo aportar algoritmos genéricos para videojuegos famosos, pero sí plantillas sencillas en las que se usan cosas típicas como una dureza, un cambio de animación, una gestión de varios scrolls... Con sólo unas pocas lineas de código. ¿Serviría de algo o el proyecto es mucho más formal que eso?

(Recuerdo que tengo al Ryu de Street Fighter animado "casi" como en la recreativa, usando un módulo muy majete que he reutilizado en otros juegos...)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 17, 2008, 11:50:22 PM
Deacuerdo Pixel, haz lo que quieras y puedas, siempre irá a mejor la cosa digo yo :).

Por otro lado, windgate a ver, lo suyo es que intentes hacer un jueguecillo como ejemplo para cada cosa, así solo pues quedaría muy soso integrarlo en el proyecto.
El del ryu puedes hacer simple street figther, un ryu contra ken con un puño y una patada o así (abierto a tu elección), sencillote, sin supermegamagias y cosas de esas, sería un buen motor básico para juegos de lucha.

El de ejemplo de durezas, pues cualquier plataformas antiguo valdria, te propongo una fase del solomonskey o del profanation.

El de ejemplo de varios scrolls, ves ahi me pillas, no se me ocurre ningún juego clásico para esto :(.

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: panreyes on November 18, 2008, 03:30:49 PM
Añadido simplepang :)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: TYCO on November 18, 2008, 04:26:22 PM
PiXel: No veo el link para bajar/probar el simplepang.

dcelso: Ya tengo el menú funcional para X juegos, faltaría ponerle un fondo y poco más.

EL Pacoman (Pacman), al portarlo a Bennu, se comporta raro, no se si en DIV se comportaba así (son varias cosas: sonidos... pasar de nivel sin comer toda la pantalla...) no he jugado mucho al Pacman original pero creo que no debería hacer eso.

Lo subo todo para que probéis el Pacoman y el Menú.
PD: Las teclas en PACOMAN (key(...)) están sin cambiar porque quiero conocer vuestra postura respecto a si el Pacoman va bien o no, sino para empezarlo desde Cero yo mismo con las teclas acordadadas (ej: tecla_jugador[1][arriba], etc). En ese caso... del Arkanoid me desentiendo... al menos hasta el termine el PacMan.

http://rapidshare.de/files/40939028/Pack.rar.html

No he podido meterlo como adjunto porque le máximo de adjuntos es 128Kb, y ocupa 135Kb XD.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 18, 2008, 05:00:49 PM
he subido ya la última versión de los binarios con el simplepang,
dicho simple pang es el supersimplepang :), Buen trabajo, se entiende bastante bien el código. Me ha gustado, la apariencia demasiado simple :D.

A ver si pudieras rehacer los graficos al estilo tetris, columns y demas, que son en plan cuadrados de 20x20 pixeles, para dar apariencia similar, ya mas adelante podremos contemplar la posibilidad de poder ponerles imágenes en vez de crearlos manualmente.

Tyco, estoy bajando el codigo, a ver que tal. Me da la impresión de que el formato que tenemos como controlador de teclado y  menú es muy distinto, habría que ver que ventajas tiene uno y otro y hacer un "merge" de las cosas buenas de ambos.
Por otro lado, tyco, podrias ir instalandote el tortoiseSVN o similar para poder descargar y subir los fuentes del proyecto apagame4be. Bueno necesito tu cuenta gmail además aún para eso
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: TYCO on November 18, 2008, 05:20:50 PM
A mi decirme primero si el PacMan lo hago de Cero porque ese no sé si funciona como debiera.

No varía mucho el controlador de teclado ya lo veras al analizar cada paso. Y este punto hay que resolverlo cuanto antes para que la gente (incluidos nosotros dos) empecemos a usar esos KEY(tecla... tal tal) en los mini-juegos.

No me llevo mu bien con esos programas tipo TortoiseSVN, creía que con la cuenta de code google.com ya podiamos subir cosas (si no hay mas remedio lo voy a ir poniendo a ver), mi gmail: tycodragon algarrobo gmail punto com.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: panreyes on November 18, 2008, 05:38:01 PM
Por cierto, se me olvidaba.
Subí el simplepang con un bug sin darme cuenta xD
Tuve el problema de que no podía utilizar las variables privadas "ancho" y "alto" en el proceso pang_bola, porque son constantes en simpletetris.prg :S
En la declaración de privadas de pang_bola les puse _ancho y _alto, pero luego no lo cambié.

Lo ideal es cambiar el nombre de todas las variables de los otros simple* para evitar estas colisiones :)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: TYCO on November 18, 2008, 06:57:58 PM
Mucha razón. Según aumente el número de juegos del Pack se nos van a acabar las variables globales a usar XD. Por eso siempre que podamos voto por usar variables PRIVATE en todos los procesos (reduciendo así la memoria de las variables globales al mínimo), excepto en las que no haya más remedio que usar una GLOBAL.

Propongo:
Usar en los mini-juegos variables estilo: pang_vida, pang_ancho, tretris_alto_pantalla, tetris_puntos, etc etc etc, porque a la larga nos va a dar muchos problemas. Es decir... primero el nombre del juego más un guión bajo, seguido de la variable a definir: "NombreDelJuego_"+variable. Todo esto debe estar bien indicado en el PRG del Menú definitivo o en algún otro sitio, y todos debemos saberlo para programar en consecuencia.

A ver si me decís algo del PacMan ese.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on November 18, 2008, 09:20:18 PM
wow, ¿entre todos están preparando los juegos?

QuoteMucha razón. Según aumente el número de juegos del Pack se nos van a acabar las variables globales a usar XD

aquí no se, pero se pueden reutilizar muchas de las globales puesto que se va a tener un sólo juego abierto a la vez, Ejemplo: en energía, pues energía sirve para todos los personajes principales de todos los juegos. y ya nadamás crear funciones que actualicen los parámetros según el juego.

pd. no eh leido mucho del foro, no me hagan mucho caso.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 18, 2008, 09:37:17 PM
tyco aún no pude mirar tu fuente, lo miro en breve y te cuento.

Por otro lado ya he cambiado las variables globales del tetris y otras, valla fallo, se me escapó, como era el primero no me daba conflictos con nadie :D.

Tambien he subido los fuentes y el binario de la última revisión para descargar directamente.

He añadido una nueva página con unas pequeñas reglas.

Por otro lado, decir que estoy esperando el documento de normas de programción bennu que amablemente nos está preparando SplinterGU (gracias de antemano).

Pixel, ahora he cambiado tu fichero dos veces, la primera le puse el _ al ancho y alto para que compilase, y la segunda se lo quité porque ya no hacía falta, así que ahora si te da conflictos con tu versión no te preocupes, puedes sobreescribirla sin problemas. He visto que al darle al escape en mitad del juego se cierra, en los otros vuelve al menú, habría que revisar el motivo

Prg, sí, mola, estamos haciendo algo chulo para bennuGD, si quieres puedes contribuir con un pequeñito grano de arena decualquier juego clasico que te guste hacer.

En cuanto a lo que dices, si sería buena opción pero quizás los juegos sean muy dispares y no necesiten todos las mismas variables aunque en mente teníamos unirlos mediante una variable de puntos global para los jugadores y así poder hacer estadísticas de quien ha sido mejor de los jugadores en un juego en concreto y quien ha sido mejor de forma global a todos los juegos "jugados", valgame la redundancia
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: kim-elet-o on November 18, 2008, 10:16:32 PM
Hola a todos ya casi tengo terminado el juego,  ;D ;D los bichos ya atacan, aun no disparan pero si te tocan vas al cielo de los pilotos de naves espaciales, hoy he avanzado poco en el codigo, por que hoy he preferido cambiar todo el sistema de nombres de constantes y variables, ademas de comentar un poquitin mas algunas partes del codigo, ademas de revisar el codigo y sustituir valores numericos por constantes (da mucha flexibilidad a la hora de programar, probar, experimentar, ect, el codigo), durante mi tarea he ido probando y descubriendo trozos de codigo que produce efectos curiosos (,divertidos, y sorprendentes), cuando termine con la version basica para el apagame4be, quiero hacer una version HiperMadCrazy galaxian, no apta para puristas de las recreativas.

Cambiando un poco de tema, he estado testeando el juego un poco, en un portatil que me compre hace 8 años, y me da unos 70 frames sostenidos y establizados, a mi me parece un resultado potable para un pc de las siguientes caracteristicas:

PIII celoron 800Mhz
256 Mb
targeta grafica de 8 mb con algo de  aceleracion grafica.
windows XP "capado"
con el ultraedit corriento, y un par de ventanas abiertas.

http://rapidshare.com/files/165128265/galaxian_V065_pre_Alpha.zip.html
http://www.megaupload.com/es/?d=MDEIG3U0
http://www.filefactory.com/file/945289/n/galaxian_V065_pre_Alpha_zip



Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on November 18, 2008, 10:30:25 PM
QuotePrg, sí, mola, estamos haciendo algo chulo para bennuGD, si quieres puedes contribuir con un pequeñito grano de arena decualquier juego clasico que te guste hacer.

me encantaría, aunque los minijuegos es lo más complicado que conozco, he hecho juegos como metroid pero nunca he logrado hacer un pacman, sin embargo ahora que ya se qué hacen aquí, le pondré más atención para ver si puedo aportar algún juego (primero quiervo ver el estilo gráfico y de programación que utilizan para hacer cosas compatibles, sirve que pasa el concurso de programación  en la universidad y me doy tiempo de hacer algo).
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 19, 2008, 12:04:44 AM
Ya he visto el pacoman.
Tyco, tienes razón hace cosas raras, pero yo diría mas, no se comporta como debiera, seguro que en div no hace esto. A ver, cuando llegas a una pared se come infintamente la bola y eso hace que aumente el marcador disparadamente, luego hay un fantasma que no se mueve queda bloqueado y cuando te comes la bola grande y luego vas a por un fantasma y te lo comes se cuelga :D. Como se me ha colgado no he seguido buscando problemas.

Mas que hacerlo de cero quiza sea mejor arreglarlo y simplificarlo un poco quitándole florituras y yendo mas al grano, no se, eso como veas si quieres hacerlo de cero para ir practicando programación tú mismo y crearte tu propio simplepacman.

En cuanto al menú de selección , está muy bien visualmente hablando, el problema que le veo es que es más complejo de usar y entender, ademas usas técnicas "mas avanzadas" de lectura de teclas. Lo de leer las teclas actualmente no le veo utilidad ya que no hay manera de configurarlas, habría que buscar una forma de usar un fichero de texto plano al estilo ini o cfg, en el que poder poner cosas como


key_up = BUTTON_UP
key_down = BUTTON_DOWN
..

Asi poder configurarlas con el bloc de notas :D. Aunque esto puede esperar, no es tarea bloqueante para el desarrollo :)

El objetivo principal quedamos (bueno mas bien quedé, pero nadie ha dicho lo contrario:) ) en que es intentar hacer un código facilmente legible por iniciados para que aprendan aunque esto conlleve a hacer más lenta su ejecución, es decir buscar eficiencia pero no eficacia si esto empeora la lectura del fuente.
O lo que es lo mismo evitar sentencias como a=(b++>0)?(--c):e, que cuestan un huevo entenderlas :D
o if con expresiones and or muy anidadas.

Nose, en verdad da igual, como lo veis vosotros, sobre todo tu tyco. Se me ocurre llegar a algún consenso intermedio, poner tu versión de menus pero adaptandola al sistema mas facilote del mio, y quitar lo del key_state[] porque es lo mismo que el key() :D
Tambien estoy investigando la forma de evitar tener que poner en el switch case los inicios de cada juego, es un poco rollo, se me ocurre algo como hacer un array de punteros a procesos pero no se si se podrá :D.
Viendo otros sistemas de programación de juegos quizá nos interesaría meter algún "key controller" que pueda leer tres variables de estado distintas keys_up, keys_down y keys_held para teclas recien pulsadas, teclas recien soltadas, teclas que siguen estando pulsadas.


Kim-elet-o esta quedando muy bien el galaxian, y se entiende muy bien el codigo también, ahora diría yo que demasiado largos los nombres de las variables :D (que tocapelotas soy), hay palabras que se pueden abreviar porque no dan mucha información de para qué sirve la variable o simplemente son igual de explicativas, como por ejemplo contador_de_puntos, podemos usar cont_puntos o incluso  cont_pts.
Pero bueno da igual, cuanto mas largo mas explicativo será y mas facil de entender su cometido :D, pero para tí será mas co...azo programar :)

PRG, pues si te animas ya sabes, oye si te gustan los magos te propongo a que hagas una fase del wiz
http://www.mameworld.net/maws/romset/wiz
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on November 19, 2008, 12:53:08 AM
no conozco el wiz, pero ahorita lo investigo :).

aquí hay un código de conecte4 de micromundospro, algo como un lenguaje visual que utilizaba en la secundaria.

si nadie está haciendo un conec... puedo intentar cambiar éste a bennu (Aunque se me hace más fácil iniciar desde cero, pues creo que el objetivo es hacer juegos que no sean complicados en su programación...  [además está medio complicado]).

también recuerdo otro juego que eran carritos con un scroll periódico vertical, y que tenías que dejar los carritos de la cp atras sin tocarlos (cada nivel aumentabas tu velocidad), tenías balas para cuando no te dejaban pasar, pues ellos no tenían movimiento propio, todo se movía como scroll, no recuerdo el nombre, pero es muy sencillo, por si alguien se anima, y si no pues yo. :)

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on November 19, 2008, 01:03:29 AM
(http://www.teamteabag.com/wp-content/uploads/2008/07/wiz-n-liz-15.jpg)

¿éste es wiz?

¿Se trata de agarrar conejitos en un scroll vd?

Acepto  :D
Será divertido :)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: TYCO on November 19, 2008, 09:03:18 AM
Quote from: dcelso on November 19, 2008, 12:04:44 AM
Ya he visto el pacoman.
Tyco, tienes razón hace cosas raras, pero yo diría mas, no se comporta como debiera, seguro que en div no hace esto. A ver, cuando llegas a una pared se come infintamente la bola y eso hace que aumente el marcador disparadamente, luego hay un fantasma que no se mueve queda bloqueado y cuando te comes la bola grande y luego vas a por un fantasma y te lo comes se cuelga :D. Como se me ha colgado no he seguido buscando problemas.

Le voy hacer de Cero por mi cuenta, si puedo aprovechar cosas como sonidos y pantallas los aprovecho, el código intentare hacerle yo desde Cero y que no sea complicado de entender (a ver que se puede hacer).

Quote from: dcelso on November 19, 2008, 12:04:44 AM
En cuanto al menú de selección , está muy bien visualmente hablando, el problema que le veo es que es más complejo de usar y entender, ademas usas técnicas "mas avanzadas" de lectura de teclas. Lo de leer las teclas actualmente no le veo utilidad ya que no hay manera de configurarlas, habría que buscar una forma de usar un fichero de texto plano al estilo ini o cfg, en el que poder poner cosas como


key_up = BUTTON_UP
key_down = BUTTON_DOWN
..

Asi poder configurarlas con el bloc de notas :D. Aunque esto puede esperar, no es tarea bloqueante para el desarrollo :)

El tema del Menú igual deberíamos plantearnos si también es necesario que sea super-sencillo para la gente... el Menú que yo he subido, contiene una "lista" que puedes aumentar el tamaño con la variable "margen_inferior", y da igual cuantos juegos haya en la lista o el tamaño de la misma.... que el mecanismo de subir y bajar funciona perfectamente (haz la prueba, añade un montón de juegos para que veas el resultado, y reduce el valor de "margen_inferior=39" por 8, 5, 2, 1 u otro valor cualquiera que no supere 39 (si no el margen bajaría demasiado y al final no se vería en pantalla la lista entera) y veras a que me refiero.

Eso de "técnicas avanzadas" de lectura de teclas... te refieres a leer del disco el archivo CONTROL.DAT??? no creo que eso sea avanzado, creo que está bien explicado y es algo básico. Cosa que deberíamos incluir o dejar. Es verdad que aún le falta al Menú la opción de reconfigurar las teclas (ya que hay 4 botones para los juegos, desde el menú esos cuatro mismos botones deberían usarse para entrar a configurar teclas), y voy más allá, para que sea más sencillo el menú, solo usar tecla_jugador, nada de tecla_sistema... ya que en las consolas el jugador1 era el que tiene los botones de Select y Start.. aquí tendríamos que hacer lo mismo, y al mismo tiempo sería más sencillo el código del menú. Lo del bloc de notas... la gente quiere cosas sencillas para configurar las teclas, no abrir un archivo y poner que teclas quiere.

Por otro lado dcelso, veo incesesario crear un input_controller.prg y crear cosas como "Global   input_controller controller = 0;" y controller = input_controller();, si dices que sea sencillo eso no es necesario, mira mi menú el control de teclas.

Quote from: dcelso on November 19, 2008, 12:04:44 AM
Se me ocurre llegar a algún consenso intermedio, poner tu versión de menus pero adaptandola al sistema mas facilote del mio, y quitar lo del key_state[] porque es lo mismo que el key() :D

Estoy conforme, eso de Key_state no tiene sentido, y de dos menús malos sacar uno decente XD.

Quote from: dcelso on November 19, 2008, 12:04:44 AM
Tambien estoy investigando la forma de evitar tener que poner en el switch case los inicios de cada juego, es un poco rollo, se me ocurre algo como hacer un array de punteros a procesos pero no se si se podrá :D.

Yo también estuve mirandolo pero haber como haces una llamada a un nombre de un proceso (ej: tetris();) almacenado en un Array. (juego[34]="tetris();";) Estuve un rato probando y probando, y no veo la forma por ahora.

Quote from: dcelso on November 19, 2008, 12:04:44 AM
Viendo otros sistemas de programación de juegos quizá nos interesaría meter algún "key controller" que pueda leer tres variables de estado distintas keys_up, keys_down y keys_held para teclas recien pulsadas, teclas recien soltadas, teclas que siguen estando pulsadas.

Esto dejémoslo para más adelante y ver si realmente sería necesario para los juegos que vamos añadiendo.
Por otra parte, eso de llamar a los juegos SimpleTetris.. o SimpleGalaxian... no lo veo, opino que es más usado en Internet y es más lógico llamarles MiniTetris, MiniPang, etc... ya que son versiones Pequeñas de los originales... (algunos serán completo incluso), y llamarles Simple... parece que indica que es un Tetris simple... como si le faltara algo básico del original o no sé, es mi opinión.

Quote from: dcelso on November 19, 2008, 12:04:44 AM
Kim-elet-o esta quedando muy bien el galaxian, y se entiende muy bien el codigo también, ahora diría yo que demasiado largos los nombres de las variables :D (que tocapelotas soy), hay palabras que se pueden abreviar porque no dan mucha información de para qué sirve la variable o simplemente son igual de explicativas, como por ejemplo contador_de_puntos, podemos usar cont_puntos o incluso  cont_pts.
Pero bueno da igual, cuanto mas largo mas explicativo será y mas facil de entender su cometido :D, pero para tí será mas co...azo programar :)

contador_de_puntos... hombre para un novato le queda claro claro XD, yo optaría directamente por... int puntuacion; ...puntuacion_max; etc. Pero yo no me meto, si el juego es legible y son PRIVATES (Nada de Globales para evitar problemas entre juegos), por mi esta bien como lo tiene.

PRG: Te divertirás, ánimo que luego nos divertiremos todos con los mini-juegos.

No sé como veis el ripear los gráficos/sonidos/etc a los juegos para que se parezcan más aún a los originales (ej: Galaxian), yo lo veo una buena idea que cuanto más se parezcan a los originales mucho mejor.

dcelso: Ya estoy en el proyecto agregado pero y ahora qué? sólo tu subes los binarios y sources???

Ahora soy yo el toca-pelotas XD, no tomarse nada a mal ehh.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 19, 2008, 10:43:20 AM
PRG, no conozco el juego que pones, yo te puse un link con el auténtico wiz de mame. Te lo puedes descargar de aquí. http://www.romnation.net/srv/roms/58406/mame103/Wiz.html

A ver, para quien quiera buscar juegos clasicos dejo esto:
Windows
1.- Bajar mameui y sus Screenshots http://mameui.classicgaming.gamespy.com/
2.- Instalar mameui y descomprimir Snap.zip y Update.zip en el directorio snapshots
3.- Ejecutar mameui.
4.- Ir a view-custom filters y solo dejar seleccionado: vector, clones, notworking.
5.- En la lista, ordenar por fecha (dando click en el nombre de columna "year")
6.- Seleccionar un juego de la lista y usar las flechas arriba y abajo para navegar por la lista e ir viendo los snapshots de los juegos, Si ves que uno te gustaría remasterizarlo (bonito palabro) pues seguir por el punto 7.
7.  Ir a romnation.
8.- Descargar la rom, NOTA: solo puedes descargarte las que son libre de derechos.
9.- copiar el zip descargado al directorio roms de mameui.
10.- Hacer doble click en el nombre del juego desde el mameui,
11.- Jugar un poco, y si no te gusta o lo ves dificil, vuelves al punto 6.

Como el objetivo es tener muchos motores de juegos clásicos distintos, si ves que uno se parece a los que ya se están programando, pues buscar otro, si ves que es muy largo el juego, planteate en hacer solo una fase, el resto es repetir el motor añadiendo algunos extras y con solo una fase queda muy educativo y facil de seguir.
Hay que evitar seleccionar juegos superiores al 92, ya que suelen ser menos clásicos y mucho más complejos.
Los juegos más clásicos solían estar en todos los sistemas. maquinas recreativas, amstrad, cpc, spectrum, consolas, nes, master system,  etc, otra tecnica sería hacer algo parecido con emuladores de estos sistemas.
Yo recuerdo de mi infancia muchos juegos que me gustaría rehacer para que no caigan en el olvido: ke rulen los petas (cpc), buck rodgers (megadrive), adventure of link (nes), hot rod (mame), hero quest ( 8086 y atari), castle of illusion(master system), the newzeland history (pcengine), etc.

Tyco, me pongo a mezclar menús a ver que churro me sale :D. En cuanto a los nombres, bueno, en realidad yo había pensado que es una redundancia poner o simple o mini, ya que sabemos que todos lo serán, es lo que se pretende. Quiza sería mejor no poner ninguno, o solo hacer referencia en el menú principal algo como selecciona el mini juego en el que quieres competir.

En cuanto a lo de qué puedes hacer en el proyecto, pues no hay nada de reglas aún, en principio haz lo que quieras mientras sea para ir a mejor :).
Para no pisarnos, como cada uno hará minijuegos distintos pues que cada uno se encargue de su propio .prg, y en cuanto al menú pues es que con control de versiones, si no hay cambios drásticos en la estructura del archivo es muy facil sincronizarlo así que no tendría que haber tampoco problemas.
Actualmente yo lo que hago es que cuando quiero que los demás vean el cambio que se produjo en la versión de fuentes última subida que afecten a la jugabilidad del proyecto pues creo un .dcb lo comprimo lo subo con el nombre de la revisión de los fuentes que crea el googlecode.
Hay una forma para que la descarga aparezca en la ventana principal que es ponerle uno de sus labels a "Featured", asi que lo que actualmente hago es poner a la última descarga ese label y quitárselo a las que hubiera antes.
Lo de subir a downloads los fuentes lo hago de vez en cuando por ahora, lo suyo sería no hacerlo,porque si alguien se lo baja y modifica no va a poder sincrinizarlos con svn.

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: TYCO on November 19, 2008, 12:09:34 PM
Ya estoy conectado con SVN, lo primero es ese menú, necesito que me muestres el Sanwitch mixto que sale de ahí para ver si nos convence y sino readaptarlo. Pero es urgente que este tema quede zanjado cuanto antes y quede todo claro en el LEEME.TXT
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on November 19, 2008, 01:09:02 PM
usen prefijos para las variables globales...

esto es...

SIGLASDEJUEGOENMAYUSCULAS_variable

o

NOMBREDEJUEGOENMAYUSCULAS_variable
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: panreyes on November 19, 2008, 01:20:38 PM
Eso figura en el leeme.txt desde un buen principio xD
Tanto para las variables, como para los procesos/funciones.

Luego, debería indicarse que los colaboradores sólo deben modificar su parte del proyecto en el SVN.
Por ejemplo, yo sólo debo tener derecho a modificar el simplepang.prg o a subir un nuevo simplemotor, pero no modificar el menú principal ni los otros simplemotores.

¿Qué opináis?
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 19, 2008, 01:34:35 PM
A ver, he hecho ya el sandwich.
Bajaos el nuevo simpletetris y apagame4be.prg y probadlo a ver que os parece.
He intentado que sea lo mas transparente, modular y sencillo de entender posible.
Creo que queda muy bien.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on November 19, 2008, 01:59:45 PM
no, no, la idea del SVN es que cualquier puede modificar todo... siempre se puede volver a cualquier punto anterior y luego incluso a volver a lo saltado, es un historico de cambios al que se le permite seguir desde cualquiera de los puntos del historico o tomarlos, si no se tuviera permisos de hacerlo careceria de sentido...
cualquiera tiene que poder modificar cualquier cosa
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: TYCO on November 19, 2008, 02:03:03 PM
DCelso: Dónde lo has subido??? porque la revisión del apagame4be.prg es la 21, y la del simpletetris es la 22, y están modificados ayer, no veo tu actualización. Y en la Web Codegoogle tampoco hay downloasd.

PiXel: El Menú una vez terminado no habrá que retocarlo, más que para añadir el nuevo mini-juego a la lista y su "include" y esto lo puede hacer cualquiera, respetando los espacios, etc etc.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 19, 2008, 02:54:36 PM
Sorry, me ha cascado la subida, estoy mirando el motivo, si es que eso de adelantarse es lo que conlleva :(.

Editado:
Bueno ya sí que está subida, he actualizado también la documentación. A ver que tal.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: panreyes on November 19, 2008, 03:01:08 PM
Quote from: SplinterGU on November 19, 2008, 01:59:45 PM
no, no, la idea del SVN es que cualquier puede modificar todo... siempre se puede volver a cualquier punto anterior y luego incluso a volver a lo saltado, es un historico de cambios al que se le permite seguir desde cualquiera de los puntos del historico o tomarlos, si no se tuviera permisos de hacerlo careceria de sentido...
cualquiera tiene que poder modificar cualquier cosa

Si, pero no te mezcla los cambios xD
Luego, si hay dos personas haciendo cambios, será un lío. Por eso lo digo :)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 19, 2008, 03:35:17 PM
Es verdad, SVN no mezcla, pero bueno sincronizar el menú sería facil, porque en verdad cuando esté estable el sistema será nada mas que añadir el include del prg, el nombre que quieres que ponga en el menú y el case con el nombre de la función principal, así que no debería de haber conflictos a nivel de línea y cada uno podría subir su línea sin destruir las de los demás.

Está claro que para los demás archivos está la cosa distinta, porque si el que está realizando el .prg le da por modificar algo en la lógica y otro por otro lado también habría conflictos de línea y se machacarían los unos a los otros las mejoras. Así que a nivel de juegos sí que es lógico hacer que nadie los toque a no ser que te de permiso el que lo está haciendo. En cuanto al menú, si quereis me voy encargando yo, el problema es que los usuarios finales (que no sé si los habrá o no) no podrán jugar a los juegos nuevos hasta que yo modifique el menú, por eso la idea de que cada uno también lo pudiera modificar. :D
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Drumpi on November 19, 2008, 03:41:07 PM
Hola a todos:
Vaya, veo que la cosa va viento en popa. Podría intentar echar una mano, pero tengo demasiadas cosas ya pendientes. Aunque claro, me dan ganas de ponerme a hacer algun juego sencillo de tanques en modo7 (porque supongo que nadie se ha puesto con ello, y es algo que quizas sea muy simple de explicar) en plan "hay enemigos que se mueven sin rumbo fijo y debes dispararles a todos pero cuidado con los terrenos que te ralentizan o te quitan vida", porque no sabría hacer la IA de un "Mario Kart" ^^U

En fin, aunque sea sólo por aportar algo, voy a responder a esta "vieja" duda.

Quote from: DCelso on November 11, 2008, 12:21:40 AM
osk, no comprendo muy bien el sistema de dificultad que hay implementado, subo de nivel pero no veo incrementarse la velocidad.El sistema de pulsado tampoco lo entiendo del todo, no comprendo el porque ir incrementando una variable mientras esté pulsada una tecla, y tampoco las dos cosillas que te dije cn anterioridad, cuando tengas un hueco mira a ver si me lo puedes aclarar, gracias.

Lo de las teclas es sencillo: si una tecla está pulsada, se incrementa su variable en 1 unidad, si no lo está, se pone a cero. De esta forma sabemos que, si vale cero, no está pulsada, si vale uno, acaba de pulsarse (en el frame anterior no estaba pulsada y en el de ahora si) y si vale más es que está pulsada y lleva mas tiempo. Simple y eficaz, sobre todo, porque simplifica la comprobación de si una tecla acaba de ser pulsada.
Es otro método alternativo a la variable de estado anterior.

Suerte con el proyecto.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: TYCO on November 19, 2008, 07:58:03 PM
Es que antes de subir nuevos cambios... habría que actualizar a ver si alguien modifico algo.... de todas formas supongo que SVN será lo suficientemente inteligente para comprobar cuando tu subes el MENU.PRG si hay alguna modificación de otro usuario en  el mismo archivo (que tú no bajaste) cree otra revisión o te lo indique. Así que no deberíamos tener problemas con eso.

DCelso: Cuidado con los TAB, mete siempre 4 espacios (estándar), en el Menú había unos cuantos TAB de 8 unidades, a saber en el tetris y demás los que hay.

NUM_OF_KEYS_FOR_PLAYER = 10; No es 10 sino 9.
NUM_OF_PLAYERS = 2; No es 2 sino 1.
Incluso esas dos constantes las eliminaría para no confundir y no malgastar memoria con dos constantes que no se utilizan nada más que para: int player_key[NUM_OF_PLAYERS][NUM_OF_KEYS_FOR_PLAYER];

string simple_names[100]; Esto limita a 101 el numero de juegos. Son muchos si, pero nunca se sabe XD.

graph = new_map(200,10,16); 16 por SCREEN_DEPTH

is_key_pressed (int player, int key_id); nadie va usar esa funcion cuando existe "key", no tiene sentido crear esa función, cuando solo hace esto: return key(players_keys[player][key_id]);

Esto del Leeme.txt:
b.- Está recientemente pulsada: is_key_down(PLAYER_1,KEY_A)
c.- Está recientemente soltada: is_key_up(PLAYER_1,KEY_A) 
Estamos haciendo un menú, para seleccionar un juego y controlar las teclas en todos los juegos, eso que propones es cosa de cada programador si en su juego así lo requiere, no estamos para hacer los juegos desde el menú. El menú debe ser sencillo y básico. No me parece bien eso.

Subido otro Menú y otro Leeme.txt para ese Menú, creo que hay más sencillez y sandwitch.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 19, 2008, 10:07:52 PM
Me parece bien todo lo que has dices, pero
no se, poner nombre a la constante 9 y 1 me parece mas facil de entender que ver un número, que al final no sabes de donde viene. Tampoco nos vamos a quedar sin memoria por dos constantes :D.
Es mas en programación en c, el estandar dice que hay que usar las macros define, para los números constantes para aclarar el código y aqui lo mas parecido es eso la constante, pero que en principio si veis que es innecesario pues nada.

Lo de usar is_key_pressed, es por que sea mas facil de entender (lo que se llama ocultación de datos), ya que el formato que propones queda bastante largo y usa una matriz. También es parte de la programación estándar encapsular los datos y ofrecer métodos para leer la información para abstraer la implementación. Además tampoco es obligado tal y como puse puedes usar la otra alternativa también.
Me vas a obligar a hacer un métido "nombre_juego"_is_key_pressed en todos mis juegos :(.

Lo de 100, bueno sí, me encantaría ver el proyecto con 101 juegos, :D, a ver si animamos a unos cuantos mas.

El poner  10 en vez de 9 y 1 en vez de 2, es porque soy programador de C y lo veo más claro así ya que no entiendo porqué div, fenix, bennu se le ocurrió hacer eso tan tonto.
En c cuando pones int valor[LENGHT], con LENGHT =10 y siempre sabes que hay 10 elementos ademas
puedes hacer algo como for i=0;i<LENGHT;i++, quedando muy claro, en bennu tienes que usar otro nombre sino te confunde  for i=0;i<=LAST_ELEMENT;i++ o for i=0;i<LAST_ELEMENT+1;i++. Tienees que sumar siempre 1 para saber el número de elementos.
Por eso a veces prefiero perder un elemento y que quede claro la longitud aunque el último dato no lo use nunca. Tampoco nos vamos a quedar sin memoria.
En fin también es otra chorrada, no pasa nada, yo ya ves que siempre busco la claridad del código a la eficiencia del mismo sin perder la eficacia :D(eficiente: resolver el problema de forma eficaz y de la manera más rápida posible). (Eficaz: resolver adecuadamente el problema para todos los casos posibles que se presenten)

Lo de is_key_up y lo otro es que era por facilitar la programación más adelante, perocomo bien dices cuando haga falta a uno que lo haga, también esto era por no repetir problemas resueltos constantemente. :D

Si te he convencido en algo dilo, sino pues nada yo me conformo, mejor esto que que te vayas y nos dejes solos :D.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: TYCO on November 20, 2008, 08:54:53 AM
Lo primero es que.... tienes razón en muchas cosas, lo de C reservar array[10] es usar el Array desde 0 a 9, y se programa mejor como bien dices sin usar -1 o +1 en For, etc.

Quote from: DCelso on November 19, 2008, 10:07:52 PM
Me vas a obligar a hacer un métido "nombre_juego"_is_key_pressed en todos mis juegos :(.

Si te he convencido en algo dilo, sino pues nada yo me conformo, mejor esto que que te vayas y nos dejes solos :D.

A ver yo no quiero obligar a nada, pero hay que terminar el menú final antes de toquetear el código en los juegos, a ver si te parece mejor esto:

    NUM_OF_KEYS_FOR_PLAYER = 10;
    PLAYER_1 = 1;
    PLAYER_2 = 2;
    NUM_OF_PLAYERS = 2;

En vez de PLAYER_1=0; le indicamos 1 realmente (lo mismo para el player_2), y declaramos mejor esto:
int player_key[1][9]; por int player_key[NUM_OF_PLAYERS][NUM_OF_KEYS_FOR_PLAYER]; tal como lo tenías antes.
Así no usamos el Valor "0" en las Constantes ya que toda variable declarada suele valer "0" al iniciarla y también queda más claro al leer el código.

Haciendo que KEY_UP=0; sea KEY_UP=1 y las demás sumarle "uno" también.

Una cosa... usar KEY_A, KEY_B no confundirá a la gente pensando que puedan ser las letras A, B, C y D???

Lo de TETRIS_+nombre_proceso creo que es más que justo para todos, no solo tu tetris, y queda más claro a la gente al leer el código, que sólo poner... TET_+nombre_proceso o TETR_+nombre_proceso... total los nombres de los juegos han de ser cortos (TETRIS, PACMAN, PANG, GALAXIAN.... en caso de Hundir la flota, en ingles ahora no me acuerdo como se llamaba, pero no pondriamos HUNDIRLAFLOTA_+nombre_proceso, se pondría algo más reducido lógicamente) y queda más legible.

Yo únicamente quiero llegar a un consenso en el Menú, antes de retocar los códigos de los juegos ya introducidos, pero ni quiero obligar a nada, ni quiero abandonar el proyecto.

Actualizo Menu v2_Leeme.txt y Menu v2_apagame4be.prg a ver si os gusta.
En parte, sí me convences.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 20, 2008, 09:20:48 AM
Tío, me vas a matar, pero casi me han estado convenciendo de lo contrario (osea lo que propusiste anteriormente), podemos conducir a errores a los novatos al cambiar la filosofía de div/fenix/bennu en la declaración de arrays. A no ser que lo expliquemos y aclaremos muy bien, que la posición 0 no se va a usar.
No se como lo ves tu, yo por mí lo dejo tal y como comentas esta última vez y nos ponemos manos a la obra a crear juegos, todo me parece ok. Kizas un último detalle de estandar, que se decía que todas las constantes y macros se declaran en mayusculas y las variables y funciones en minúsculas, así que sería tetris_main en vez de TETRIS_main, pero bueno da igual yo voy a usar lo que propones hasta leer el estandar que nos está preparando SplinterGu y luego aplicaré los "replaces" necesarios para el cambio de estilo.

Espero a que me respondas un si para hacer el paso a los archivos primarios de la inform
ación que has puesto en los ficheros que empiezan con "menu V2"

Mientras cambio los nombres de los .prg y sus mains

Edit:
En cuanto a las teclas, es verdad, pero si ponesmos key_1, pueden creer que es el 1, habría que comentarlo en el código y en el leeme que no hacen referencia a las teclas a,b,c,d sino a los botones, yo puse letras porque es lo que hacen todas las consolas, parece ser mas facil de asociar para la mente que los números.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 20, 2008, 09:42:05 AM
He hecho los cambios, ahora he visto un efecto colateral al centrar la ventana, no se si es fallo de bennu o de programación pero mirando el código me parece que está bien programado
Resulta que cuando seleccionas un juego el texto de presentación no aparece centrado con respecto a la ventana centrada sino con respecto a la posición anterior que tenía la ventana si no se hubiera centrado.

A ver si alguien puede verificar el problema. Saludos.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: TYCO on November 20, 2008, 10:50:00 AM
Entonces dejamos por ahora las teclas como KEY_A, KEY_B, etc.

Lo de poner en Mayúsculas TETRIS_+nombre_proceso: "TETRIS_main ()", "TETRIS_scol_simplify()" es para que al ver las mayúsculas, identifique la gente rápidamente a que juego pertenece y en minúsculas el nombre_del_proceso, así es más rápido ignorar la palabra en MAYÚSCULAS y centrarse en el nombre del proceso. Si el que hace el juego no lo hace según el Leeme.txt... es muy posible que si llega otra persona al intentar leer ese código le cueste mucho más trabajo.

Pero bueno dentro del código de los juegos ya no me meto, puede estar como quiera el programador del juego en concreto. Las reglas están para un mejor entendimiento de cualquiera que quiera leer el código, pero en fin.

Así que tal como está ahora el Menú y el Leeme... me parece bien. Sólo indicar que ese Frame(350); si pulsas algo rápido las teclas de UP o DOWN no baja/sube al siguiente juego. Habría que cambiarlo no crees???

El error de que no salga centrado el texto... a mi no me pasa.... dime que haces exactamente paso a paso para yo poder reproducir el supuesto error.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 20, 2008, 12:11:11 PM
Me convences en todo, buena postura.
En cuanto a lo de los frame 350, he cambiado la lógica con un temporizador pero pasa lo mismo, si pulsas la tecla muy poquito de tiempo no das tiempo a que la función analice el dato.

Por lo del centrado, era culpa de la resolución, que actualmente todos los juegos están pensados para 800x600 para dar juego a unos buenos gráficos con detalles (en un futuro, porque lo que es ahora :D). Tal y como comentó SplinterGU una vez en su día es una resolución adecuada para los tiempos actuales.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: TYCO on November 20, 2008, 12:55:15 PM
Perfecto, pues ahora se puede Aplicar las "reglas" a el código de los Juegos.

Ahora me pongo con el PacMan para aplicarle dichas reglas haber si nos puede servir sin rehacerle desde cero.

DCelso: Te dejo hacer los honores.... Borra todas las descargas de la página, y sube dos descargas (source y binarios) cuando tengas el código de los juegos listo junto con el menú (revisión 38).
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: TYCO on November 20, 2008, 01:26:21 PM
DCelso estás infectando de nuevo el apagame4be.prg de TABULACIONES, configurar tu editor para que lo transforme directamente en 4 espacios (no uses block de notas claro) y corrigue el archivo apagame4be.prg sin esos TAB que descuadran todo el texto (Hay varios, todos son de lo último que has ido metiendo, en algún If, en currentTime = get_timer();, lastTime = get_timer();, etc etc. Que por cierto... todo eso es más fácil hacerlo con un simple contador++; (en el menú que subí se ve).
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on November 20, 2008, 02:21:57 PM
Quote from: TYCO on November 20, 2008, 01:26:21 PM
DCelso estás infectando de nuevo el apagame4be.prg de TABULACIONES, configurar tu editor para que lo transforme directamente en 4 espacios (no uses block de notas claro) y corrigue el archivo apagame4be.prg sin esos TAB que descuadran todo el texto (Hay varios, todos son de lo último que has ido metiendo, en algún If, en currentTime = get_timer();, lastTime = get_timer();, etc etc. Que por cierto... todo eso es más fácil hacerlo con un simple contador++; (en el menú que subí se ve).


;) a eso me refiero...
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on November 20, 2008, 04:24:51 PM
hola, buscando mi jueguito de wiz, pues no lo pude descargar, me encontré este otro

http://www.classic-retro-games.com/RoadFighter_35.html (http://www.classic-retro-games.com/RoadFighter_35.html)

es un juego que se hizo para un concurso, está muy padre, y si no está hecho con fenix, es con bennu. Creo que es con bennu, no encuentro ninguna librería  mod_*.dll pero pero si  todas las otras sdl, jpeg.dll, libpng1.dll, etc.

No se si el autor está en el foro, si es así, sería un buen juego para la compilación que estamos haciendo. Son 3 niveles, pero se podrían dejar a 1.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 20, 2008, 05:28:45 PM
Gracias Tyco por el aviso, juraría que cambié el editor para que no hicera eso mismo, put... pspad.
Ya lo he solucionado.
Por otro lado he hecho lo que comentas del contador, no se, eso de contar número de veces de un bucle es un poco "cutre", también una unidad de medición variable, depende de las veces que repitas la palabra frame (o su número) en el bucle, y también es una unidad poco intuitiva casi inimaginable, por ello lo de usar milisegundos que es algo como más asequible (imaginable) y siempre es invariable.
Y tampoco soluciona el problema que comentabas, si no lo dejas pulsado el tiempo suficiente no se entera el menú, revisa el código por si la cagué en algo.
Creo que queda más entendible frame(350) , de las tres soluciones, porque ya indicas ahí el número de espera en ciclos (Que también se la inventaron para usarla ¿no?
:D).

Por ahora he dejado lo del contador, como no afecta, cuando se decida algo pues se cambia, y si se os ocurre otra solución comentadla.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: TYCO on November 20, 2008, 09:04:49 PM
Este problema no existía en el menú que diseñe yo XD. La solución que propongo es implementar ese sistema al menú actual.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 20, 2008, 09:23:32 PM
pues vale, haces los honores?
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: TYCO on November 20, 2008, 11:15:21 PM
Honores Hechos. Problema de teclas solucionado.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on November 21, 2008, 12:09:57 AM
ya he leido las condiciones, y comenzado a hacer un conecte 4 (no me lo ganen  ;) ).

¿Habrá un gráfico de mouse estandar, o lo que se me ocurra?
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 21, 2008, 07:52:25 AM
No, haberlo no lo hay, pero para el conecta 4 no se necesita, si puedes intenta seguir el sistema de tetris-columns-drmario, ya que el juego que comentas es del estilo, insertar en una tabla usando la gravedad.

Conecte 4 es así como por aquí conecta 4 pero hablando de usted? :D.

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 21, 2008, 12:05:14 PM
Hola a todos, he añadido el juego del muro (arkanoid), solo tiene movimientos elementales.
La apariencia es análoga al resto de juegos.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on November 21, 2008, 01:02:06 PM
disculpen, pero ya estan las reglas de estilo de codigo? porque si no es asi, las redacto y luego las depuramos entre todos... no importa lo que ya este hecho, se va corrigiendo luego de a poco...
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 21, 2008, 01:41:25 PM
No están, yo entendí que las ibas a hacer tú, y estámos esperando a ello :)
Lo que está son reglas específicas para añadir juegos al pack, pero nada importante acerca de estilo de programación bennu. Puedes leertelas si quieres por si ves algo interesante, pero seguimos esperando a tu redacción de reglas :D.
http://code.google.com/p/apagame4be/wiki/ReglasParaCrearJuegos

Gracias de antemano
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on November 21, 2008, 04:51:29 PM
QuoteNo, haberlo no lo hay, pero para el conecta 4 no se necesita, si puedes intenta seguir el sistema de tetris-columns-drmario, ya que el juego que comentas es del estilo, insertar en una tabla usando la gravedad.

Conecte 4 es así como por aquí conecta 4 pero hablando de usted? Cheesy.

??? el problema es que ya llevo algo de avance... ya tengo todo acomodado para utilizar arrays, puedo mirar el código de los otros pero no estoy muy seguro de lograr hacerlo... Además así tenemos más formas de hacer las cosas, para tutoriales, que si no me equivoco esto va a tener un uso indirecto de éste tipo.

Sugiero también hacer una lista de los juegos que ya se están realizando para no trabajar 2 personas en uno mismo sin saberlo  :) .
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 21, 2008, 05:04:16 PM
:D, es lo que tiene el ir actualizando el primer mensaje con la opción de edit,que nadie lo lee :(  :(
Ahí está la lista de juegos.

En cuanto al conecta4, te doy la razón, no lo dije como obligación, claro está.

Por cierto, dame tu cuenta gmail y te voy insertando como desarrollador en el proyecto.

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on November 21, 2008, 05:22:29 PM
Si, y pido disculpas por el retraso, apenas puedo lo hago y lo paso...
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on November 21, 2008, 05:46:17 PM
Quote from: DCelso on November 21, 2008, 05:04:16 PM
:D, es lo que tiene el ir actualizando el primer mensaje con la opción de edit,que nadie lo lee :(  :(
Ahí está la lista de juegos.

En cuanto al conecta4, te doy la razón, no lo dije como obligación, claro está.

Por cierto, dame tu cuenta gmail y te voy insertando como desarrollador en el proyecto.



:) , Gracias, pensé que me iba a tocar iniciar desde cero nuevamente.

ok, revisaré ahora el primer mensaje (me acabo de acordar de otro jueguito, el del astronauta que tiene que armar su nave antes de que se acabe el tiempo).

Mi cuenta es orlando.rolix@gmail.com
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on November 21, 2008, 07:32:25 PM
ese no era jetpack o algo asi?
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on November 21, 2008, 08:15:02 PM
Quoteese no era jetpack o algo asi?

sí  :D , así se llama, es que sólo lo he juagdo 2 veces pero me gustó mucho.  :) 
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: kim-elet-o on November 21, 2008, 08:15:37 PM
Si, exacto en el jet pac habia que montar la nave, luego llenarla de fuel y por ultimo montarte en ella, mientras cientos y cientos de bichos, marcianos y de mas artilugios pululantes te hacian la vida imposible, librandote de ellos a base de rafagas de rayos laser.

vaya se me han adelantado, jejejeje, yo tuve mas suerte, estuve jugando con el hasta que mi querido specy estiro la pata, que descanse en paz. :'( :'( :'(

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on November 23, 2008, 04:03:30 PM
QuoteSi, exacto en el jet pac habia que montar la nave, luego llenarla de fuel y por ultimo montarte en ella, mientras cientos y cientos de bichos, marcianos y de mas artilugios pululantes te hacian la vida imposible, librandote de ellos a base de rafagas de rayos laser.

wow amigo, tu sí que aprovechaste el juego.  Oye, y porqué no haces ese juego, me gustaría provarlo de nuevo y se ve que tu sabes bien cómo era  :)

Por cierto, aquí hay otra página con jueguitos sencillos, algunos son de los que buscamos.

http://www.pequenosgrandesamigos.com/juegos/juegos03.htm (http://www.pequenosgrandesamigos.com/juegos/juegos03.htm)

Amigo Dcelso, si en algún rato libre te encuentras con alguna imagend e wiz, mándamela porfa, pues yo no pude descargarlo. Sigo con conecte 4, ya conecta 4 y más, pero no logro hacer que gane, gana cuando quiere, pero ya voy sobre eso.

Sobre los gráficos ¿retros supongo vd? ¿o hd, o no importa? pues había leido que la resolución sería a 800x600.  Y los sonidos, en mi caso no existen en concreto, ¿lo dejo mientras así, o me busco algunos?
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on November 23, 2008, 04:31:29 PM
aunque no seria un minijuego, una remake de thanatos no estaria nada mal... lo mismo una buena remake de cauldron 1 y 2, firelord, equinox, puf, hay algunos cuantos buenos juegos...
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: kim-elet-o on November 23, 2008, 08:09:22 PM
huuuummmm el remake del jetpack, pues no se, me esta picando el gusanillo, quizas lo haga..., que opinais muchachos?, lo quiere hacer alguno de vosotros?. pero antes de empezar otro proyecto, primero tengo que terminar el galaxian, que casi lo tengo solo me falta pulir un par de detalles para dejarlo funcionando "ferpectamente", documentar el codigo, subirlo y luego estoy libre....

::) ::) ::)

Juego funcionando "ferpectamente", fase tediosa de documentacion y optimizacion superficial del codigo fuente en curso, si puedo lo subo al svn esta noche, si no a lo mas tardar mañana mediodia, para los impacientes (ingleses o no ingleses, ya se un chiste malo), aqui esta el fruto del esquive del tedio de mi situacion laboral (la empresa a punto de cerrar puertas y muchas horas sin trabajo).

http://rapidshare.com/files/166734001/galaxian_apagame4be__v0_99.zip.html   
http://www.megaupload.com/?d=776PNS1Q
http://www.filefactory.com/file/cc37fc/n/galaxian_apagame4be_v0_99_zip
   
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: TYCO on November 23, 2008, 10:59:09 PM
kim-elet-o: Yo me espero a la versión final.

Que por cierto son 30Kb, lo podías haber puesto como "archivo adjunto" XD, y sólo subirlo una vez.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: kim-elet-o on November 24, 2008, 12:29:42 AM
Jejejeje, es que uno es aprendiz de todo, maestro de nada, no sabia o no se me habia ocurrido que se podia hacer, 30k casi ni me lo creo yo, pero es cierto, esto es debido que el FPG y los fonts que manejo, tienen pocos colores y ademas hay grandes zonas en que la informacion es igual, por lo tanto tienen poca variedad de informacion, y son susceptibles a grandes ratios de compresion.

Si te esperas, entonces mañana al mediodia subire ya el juego montado en el menu de apagame4be, hasta pronto.

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 24, 2008, 12:37:42 AM
Hola a totem,
prg el wiz es un juego antiquísimo de scroll horizontal en el que manejas un mago que usando magias tienes que conseguir llegar al final de la pantalla. No se donde pillar imágenes, pero se puede descargar de www.romnation.net y usar el emulador mame www.mame.net para probarlo. Ocupa tan poco que lo puedo poner como adjunto.
Por otro lado, los gráficos, puedes usar los que quieras (tanto modernos como retros), yo ahora estoy usando graficos construidos en programación para evitar dependencias de recursos externos y ocupe poquito. Ya tienes permisos en el proyecto de googlecode

Kim-ele-to, no he podido probarlo aún el juego, pero seguro que es genial, solo habría que solucionar el problema de espacio que ocupa el "fpg" me parece excesivo (el original con apenas 25ks se ve igual :) ), ¿con qué programa lo has hecho?
Subelo cuando quieras al SVN.

Yo estoy mirando los bugs que ha metido PiXel en el googlecode a ver si los corrijo.

En cuanto al jet-pac, estaría chulo sí. Hubo un proyecto muy innovador (lástima que no se continuara) para rescatar los juegos spectrum de un español que pensó para qué reprogramar la lógica de los juegos si ya está hecha, porqué no solo cambiar sus gráficos y se inventó un ordenador spectrum evolucionado con memoria para alvergar gráficos de 256 colores y evitar las limitaciones de direccionamiento y paletas del spectrum, sacó lo que llaman spec256 y hay tutoriales de como actualizar los gráficos de los juegos a 256, y este juego JecPac está en el lote de los ya hechos http://www.emulatronia.com/emusdaqui/spec256/juego-jetpac.htm

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on November 24, 2008, 01:03:41 AM
excelente el spec256... lo use apenas salio... grande emulatronia...
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on November 24, 2008, 02:36:26 AM
Bien, empece a trabajar en el documento, pronto lo tendran disponible...
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on November 24, 2008, 04:11:25 AM
Quote from: DCelso on November 24, 2008, 12:37:42 AM
Hola a totem,
prg el wiz es un juego antiquísimo de scroll horizontal en el que manejas un mago que usando magias tienes que conseguir llegar al final de la pantalla. No se donde pillar imágenes, pero se puede descargar de www.romnation.net y usar el emulador mame www.mame.net para probarlo. Ocupa tan poco que lo puedo poner como adjunto.
Por otro lado, los gráficos, puedes usar los que quieras (tanto modernos como retros), yo ahora estoy usando graficos construidos en programación para evitar dependencias de recursos externos y ocupe poquito. Ya tienes permisos en el proyecto de googlecode

Kim-ele-to, no he podido probarlo aún el juego, pero seguro que es genial, solo habría que solucionar el problema de espacio que ocupa el "fpg" me parece excesivo (el original con apenas 25ks se ve igual :) ), ¿con qué programa lo has hecho?
Subelo cuando quieras al SVN.

Yo estoy mirando los bugs que ha metido PiXel en el googlecode a ver si los corrijo.

En cuanto al jet-pac, estaría chulo sí. Hubo un proyecto muy innovador (lástima que no se continuara) para rescatar los juegos spectrum de un español que pensó para qué reprogramar la lógica de los juegos si ya está hecha, porqué no solo cambiar sus gráficos y se inventó un ordenador spectrum evolucionado con memoria para alvergar gráficos de 256 colores y evitar las limitaciones de direccionamiento y paletas del spectrum, sacó lo que llaman spec256 y hay tutoriales de como actualizar los gráficos de los juegos a 256, y este juego JecPac está en el lote de los ya hechos http://www.emulatronia.com/emusdaqui/spec256/juego-jetpac.htm



Gracias, ya lo pude probar. El juego está muy bien, y por supuesto que lo voy a hacer :) .

el de conecte 4 ya detecta cuando ganas, excepto si se hace en diagonal, pero ya estube trabajando en mi cuaderno esto.

otra pregunta, ¿Qué opinan? el conecte 4 ahorita funciona para 2 personas, pero como el detectar la victoria es por manejo de matrices, quizá pueda hacer una inteligencia artificial, cuando yo lo jugué era para 2 personas, jugué contra mi hermano (je je je, en mortal kombat es buno pero aquí perdía inevitablemente. ;D) pero creo que no me tardaría mucho en hacer una IA, un poco torpe, pero IA  ;D qué opinan.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: kim-elet-o on November 24, 2008, 08:28:10 AM
Quote from: DCelso on November 24, 2008, 12:37:42 AM
Kim-ele-to, no he podido probarlo aún el juego, pero seguro que es genial, solo habría que solucionar el problema de espacio que ocupa el "fpg" me parece excesivo (el original con apenas 25ks se ve igual :) ), ¿con qué programa lo has hecho?
Subelo cuando quieras al SVN.

Los graficos los genere con el gimp, y los grabe como pngs, y luego contrui el fpg con el FpgEdit 2005, el fpg ocupa 2.6Mb debido a que utilizo 3 fondos de scroll de 450x900 16bits estos son los culpables, puedo complicar un poco mas el juego, y crear una subrutina que genere estos graficos en el ordenador, ya que estos 3 fondos son 3 graficos negros con puntos de colores al azar, que demonios lo voy hacer asi mi juego comprimido ocupara aun menos.  ;D ;D ;D ;D 8) 8) 8) 8) 8)

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 24, 2008, 04:38:41 PM
Buenas, he corregido los errores del muro y ya puestos he readaptado el código para insertar un nuevo juego, el pong. ::)
Ahora mismo es superbásico a nivel de programación y  creo que es imposible de hacer que la cpu pierda una vida, ya que a mitad de pantalla sigue a la bola.
¿Alguien me ayuda con la IA?
Saludos.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: panreyes on November 24, 2008, 10:58:55 PM
¿La IA? Tienes que trazar dónde va a ir la pelota, en vez de hacer que la siga.

Luego, sobre el tema de los rebotes en las raquetas, no lo considero arreglado xD Voy a solucionarlo yo mismo ahora.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on November 24, 2008, 11:55:59 PM
si no agrega un rand

if (rand(0,100)<dificultad*10 [donde dificultad va de 1 a 10]) seguir =true; else seguir=false; end
o algo así.

ya detecta, si la dificultad o nivel es pequeño la probabilidad de que lo siga es muy poca, de lo controario ...

o
if (rand(0,100)<dificultad*5+50 [donde dificultad va de 1 a 10]) seguir =true; else seguir=false; end para no hacerla tan sencilla
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 25, 2008, 01:23:12 AM
PiXel, ha quedado guapo tu arreglo, yo es que lo hice simple simplón con un solo ángulo :D. Gracias

Bueno, he insertado un tictactoe, en fin, me vais a matar pero resulta que las IAs no son lo mio, ahora es facilisimo ganar, porque siempre la cpu rellena la celda que primero se encuentre vacía :D. ¿Alguna mano voluntaria?

Vereis que estoy intentando hacer la mayor colección posible de motores de juegos de ahí que los haga tan sencillotes, si me tirara mucho más tiempo con cada jueguecito podría mejorarlos pero la intención era ir al grano de cada juego, luego ya quien quiera puede iniciar un proyecto con una base mas o menos estable :).
Intento encapsular al maximo los datos, evitar variables globales, evitar condicionales difíciles de leer y evitar también soluciones compactas y rápidas pero dificlies de entender. Lo digo por si alguien dice esto es mas eficaz así, pero luego no lo entiende ni cristo. :F
Por cierto, me gustaría que los "doctos" en programación mirasen los fuentes en busca de mejoras en la facilidad de entendimiento en el código o alternativas mas sencillas de entender, se agradecería mucho.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: kim-elet-o on November 25, 2008, 09:04:48 AM
Hola Dcelso, he acabado el galaxian, y he intentado utilizar el svn para introducir mis cambios en el proyecto, nunca he utilizado un svn en mi vida, y no puedo, ni se como hacer los cambios, he estado 1 hora batallando y me he rendido ya, intento aunque sea subir el zip con con mi juego y los de los demas, me pregunta por el usuario y la contraseña, le meto mi cuenta gmail como usuario y su contraseña, y me hecha para atras, he decidido colgar aqui el fichero, para que podais hacer vosotros los cambios, perdon por las molestias y gracias por todo.


Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: panreyes on November 25, 2008, 09:44:13 AM
Quote from: DCelso on November 25, 2008, 01:23:12 AM
PiXel, ha quedado guapo tu arreglo, yo es que lo hice simple simplón con un solo ángulo :D. Gracias
De nada ;)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 25, 2008, 10:05:27 AM
Kim-ele-to, a ver es que la contraseña de SVN es distinta a la de gmail. Tienes un enlace a la contraseña en la pestaña llamada source, y el usuario es tu usuario gmail sin "@gmail.com"

Command-Line Access

If you plan to make changes, use this command to check out the code as yourself using HTTPS:
# Project members authenticate over HTTPS to allow committing changes.
svn checkout https://apagame4be.googlecode.com/svn/trunk/ apagame4be --username DCelso

When prompted, enter your generated googlecode.com password.  <<---- AQUI ESTA EL ENLACE A TU CONTRASEÑA <<----

Use this command to anonymously check out the latest project source code:
# Non-members may check out a read-only working copy anonymously over HTTP.
svn checkout http://apagame4be.googlecode.com/svn/trunk/ apagame4be-read-only
GUI and IDE Access

This project's Subversion repository may be accessed using many different client programs and plug-ins. See your client's documentation for more information.

Para subir cambios si usas TortoiseSVN es muy facil, porque das al botón derecho en la carpeta apagame que tienes sincronizada con SVN y le das a commit, luego te pregunta por un comentario.

Si usas el cliente de consola SVN tienes que hacer antes un svn add "fichero" para añadirlo. Es decir,
si tienes una carpeta llamada c:\apagame4be sincronizada con svn y creas un nuevo archivo dentro de esa carpeta llamado mijuego.prg, entonces tienes que entrar desde consola a la carpeta apagame, y ejecutar "svn add mijuego.prg" luego puedes hacer un commit para subir el archivo al SVN, "svn commit mijuego.prg -m"mi cometario de subida" ".
A los archivos que ya existan solo es necesario hacerle un commit para subir los cambios.
Y puedes subir todos los cambios a la vez de una carpeta en vez de ir archivo a archivo.

Voy a subirlos yo esta vez y no te preocupes a ver si a la próxima te sale, que seguro que sí :D.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on November 25, 2008, 10:15:30 AM
primero no olvides el svn checkout... (svn co ...) para traer todo el repo metes tus fuentes, lo mas limpio posible, con eso me refiero sin dcb o archivos temporales, o haces svn add archivo, por archivo... y luego el commit como dice dcelso... con hacer un svn ci (o commit) se sube igual lo que se cambio, el svn analiza que cambio y lo sube... para traer los cambios es svn update...

algunos comandos mas...

para extraer el proyecto limpio sin todos los archivos .svn o sea, una copia limpia para distribuir, es svn export...
para ver los cambios de nuestra copia con respecto al svn, es svn diff
si nos mandamos una cagada en nuestros fuentes y queremos traer la copia del svn, borramos el archivo que queremos restaurar y hacemos un svn update
para revisar los logs de cambios, hacemos svn log

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: kim-elet-o on November 25, 2008, 10:17:43 AM
Perdona de nuevo las molestias y gracias por ayudarme, dcelso, estoy empezando a juguetear con el jet pack para inspirarme, haber si empiezo esta tarde o mañana.

Gracias tambien splinterGu por la informacion.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 25, 2008, 10:35:02 AM
De nada. Ya está en svn, he tenido que hacer dos ligeras modificaciones, una en cuanto a nomenclatura del proceso principal, otra para paliar el poder cambiar a "fullscreen" y ventana con las opciones que implementó PiXel y otra de nombres de directorios para no mezclar mucho los fuentes y los recursos.

Por cierto muy bueno, te ha quedado de lujo, abusas un poco de "signal" pero así se comprenderá más su utilidad. Algunos eventos yo los controlaría desde otros procesos, yo es que pienso que un proceso es un objeto de la vida real y defino su comportamiento solo dentro de su "loop" (no en otros), es decir si choco contra esto me pasa esto, si me quedo sin vida me muero, etc. Intentando que sean lo mas independientes posibles. Bueno en los primeros juegos que hay no se ve esta técnica porque ya me vino así el código, pero procuro adaptarlo lo más posible a esa filosofía porque así es mas facil de tener en mente y entender para los nuevos programadores. No se si me entiendes por ejemplo si el marciano choca conmigo, soy yo el que me muero asi que yo llevaría la lógica de morir, no esperaría a que el marciano me diga muérete que te he dado :D.
Si luego el marciano pues también muere eso si que lo controlaría el mismo.
En fin, todos son puntos de vista válidos.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: panreyes on November 25, 2008, 10:36:44 AM
Por cierto, con el Galaxian llegamos al debate de organización de recursos xD

Propongo organizar los recursos en carpetas por tipo.
I mean: *.fpg > /FPG/

Luego, los FPG realmente no son sources, sino compilaciones de colecciones de PNG. Lo digo por experiencia, tuve que pasar por varios aros para entrar en Debian xD

Solución para esto, compilar los FPGs con un .bat y con la herramienta pxlfpg xD
Puedes ver un ejemplo en PiX Frogger en el SVN y su fpg-sources :)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 25, 2008, 10:49:30 AM
En cuanto al JetPac. Ok, vale, haz todos los juegos que quieras, por ahora de la colección el mas vistoso es el galaxian :D.

Por cierto,tengo una herramienta que hize en fenix hace tiempecillo para extraer de un escenario sus "tiles" en otro png y el vector de posiciones de los tiles en un fichero, quizas pueda servirte para el jetpac. No es del todo autmático hay que configurarlo pero ayuda mucho.
Lo primero es limpiar el escenario de lo que creas que no son tiles, como el personaje y enemigos.
Hay que configurar el ancho y alto de los tiles a extraer
   int TILE_WIDTH =8;
   int TILE_HEIGHT =8;
Luego el nombre del png del escenario
   graph = load_png("game4.png");
Y ya está, compilas ejecutas, y tocas "S" para generar dos archivos
tiles.png y datos.stg
Esto se podría adaptar para generar un fpg del tirón y eso pero bueno así lo hice para que fuera más genérico y tener un tiles.png para poder usar en otros lenguajes de programación.

Tienes un ejemplo para ver el resultado con el escenario primero del manic miner.

Pixel, ya hice eso que comentas al subirlo, échale un vistazo al svn a ver que tal
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: panreyes on November 25, 2008, 10:59:23 AM
Quote from: DCelso on November 25, 2008, 10:49:30 AM
Pixel, ya hice eso que comentas al subirlo, échale un vistazo al svn a ver que tal

Bien, eso era lo obvio xD
¿Qué te parece lo de fpg-sources? :)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: kim-elet-o on November 25, 2008, 11:03:16 AM
Dcelso tienes razon en cuanto hay que dar al Cesar lo que es del Cesar, esto es debido a que soy un programador algo caotico, desordenado, y sobretodo que programo a pelo, en cuanto a los signals es una poderosa herramienta de fenix/bennu la cual permite mucho juego, lo reconozco me gusta usarla, tambien el codigo de galaxian es un poco grande, ya que a pesar que parezca un sencillo juego de recreativa, en realidad esconde un complejo comportamiento, y quise hacer el juego a un 80% fiel a la maquina, mas adelante sacare una version 99% recreativa, pero no estara como es logico destinada al apagame4be por que el codigo sera mas denso, complejo y largo, me he dejado en el tintero, el incremento de dificultad por nivel, los ataques coordinados de las naves-jefe con sus subalternos inmediatamente inferiores, un ataque mas parecido a la de la maquina, tener en cuenta la cantidad de enemigos que pueden estar atacando a la vez, sonido (nunca lo he puesto en los juegos mios, con lo cual tengo aprender), ect. Y por ultimo la version Mad Galaxian tomas falsas, que sera el galaxian anatema fruto de una D-mente.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 25, 2008, 11:17:05 AM
Pixel, lo de los fpg-sources estaría bien, pero bueno no son indispensables, se pueden recuperar las imagenes del fpg, subirlas sería como redundante. O bien subir una cosa, o bien subir la otra ¿no?.

Yo casi siempre he optado por no usar fpgs y cargar directamente los pngs, da mayor facilidad de entendimiento, soporta transparencias sin complicaciones y también aporta más facilidad al modding del juego :D. y por el mismo motivo también opto por ficheros de configuración de texto en vez de binarios, haces que usuarios noveles rápidamente puedan cambiar los escenarios, imágenes e incluso comportamientos del juego. Y como estamos hablando siempre de código libre es tonteria el decir, no es que yo lo hago para evitar eso mismo, si al final el que quiera va a poder tener el fuente y hacerlo igualmente. :D.

Por ejemplo, si el escuadrón del galaxian se hubiera leído de un archivo de texto, podríamos hacer nuestros propios escuadrones con el mismo motor de juego sin tocar código fuente.

Además podríamos ir incluso más abajo, en vez del png, directamente subir el svg del que viene el png, en caso de que exista. En verdad esto último sería ideal porque así se dispondría de la imagen vectorial y podría dar mayor facilidad de modding al usuario final. Es más sería ya de premio si directamente los pudiera abrir bennu :D.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: panreyes on November 25, 2008, 12:07:08 PM
La principal ventaja de lo del fpg-sources es que, en cosa de medio minuto tenía listos los fpgs a 32 bits de *Bros y de *Frogger :)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on November 25, 2008, 12:19:29 PM
no se si subieron los sources al mismo repo de este proyecto, pero si son 90mb quizas convenga armar un branch para los recursos y seguir el desarrollo por el branch principal... otra opcion es subirlos con un commit y paso siguiente borrarlos (svn del o svn rm) y otro commit, asi cuando uno baja no baja 90mb solo en un rar de sources... y si uno quiero bajarlos, va a la version donde esta el completo del mismo y listo... es sucio, pero es una opcion...
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 25, 2008, 01:53:57 PM
Quote from: PiXeL on November 25, 2008, 12:07:08 PM
La principal ventaja de lo del fpg-sources es que, en cosa de medio minuto tenía listos los fpgs a 32 bits de *Bros y de *Frogger :)
pues si es verdad, habría que adoptar alguna política con respecto a ello.
Entonces ¿que propones?

¿Subir las imágenes en formato png en un directorio con el nombre del juego y con un compilar.bat que genere el fpg? Por ejemplo

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on November 25, 2008, 11:00:37 PM
es una opcion u otra opciones hacer un branch para los recursos...
otra cosa que se me ocurre, ahora que Bennu puede ejecutar programas es que los juegos no sean parte de un mismo dcb, sino que sean juegos separados, y con un menu general en un dcb principal a modo de lancher, configurador, donde en este se podra configurar las teclas y los juegos disponibles. con esto tambien estariamos enseñando el uso de una funcion nueva... y los juegos serian mas livianos, no serian algo monstruoso, se podrian bajar y/o incorporar al menu de forma opcional, creo que seria algo muy interesante y util... ademas de prolijo.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 25, 2008, 11:23:18 PM
splinter, por ahora este proyecto es pequeñito y no tiene muchos archivos de recursos, el de los problemas de subir 128megas es en el SVN que está haciendo pixel con sus juegos pixseries.

En cuanto a lo que propones de separar los juegos en distintos dcbs sería muy buena idea pero no se me ocurre como hacer que el menú (dcb) principal llame a los dcbs de los juegos, propones algo como shellexecute("bgdi tetris.dcb"); etc, etc?


Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: kim-elet-o on November 26, 2008, 12:06:12 AM
Me he instalado el tortoiseSvn,y me ha ido de perlas, es bastate intuitivo y sencillo de usar, de momento he hecho unas cuantas correcciones en el galaxian, en un futuro cercano, ya no os dare la brasa a la hora de subir mi proximo proyecto, gracias a todos de nuevo.

:D :D :D ;) ;) ;)

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on November 26, 2008, 02:29:44 AM
en repositorio no irian los dcb (o si, no se como estan haciendo ahora todavia no pude ver)... pero lo que me refiero es que cada juego sea un independiente del resto, que no sea parte del mismo programa, pero si que sean todos llamados desde uno en comun, y ese en comun tendria la configuracion de teclas y cosas extra, como hacen los gui del mame... donde te permite elegir el juego y luego se lanza el juego en si... las funciones para esto estan en el mod_exec...
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on November 26, 2008, 03:41:00 AM
mmm.... todo lo anterior me servirá a mi también...

Bueno, sólo escribo para decir que mi conecte 4 ya detecta que agrupemos en todas las direcciones, incluyendo en diagonal, ahora falta la IA, UI, ui, ui, a ver si puedo...  :)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 26, 2008, 09:52:26 AM
Prg, aqui hay una implementación buena del conecta 4, te puede interesar a nivel de algoritmico ya que está hecha en C. La función en cuestion que es la  IA es Boolean c4_auto_move(int player, int level, int *column, int *row)

http://www.pomakis.com/~pomakis/c4/connect_generic/c4.c

Splinter, no, actualmente no van los dcb en el SVN, pero vamos no son fuentes, creo que no deberían ir nunca.

También por lo que dice PiXel (me ha convencido) tampoco deberían ir los fpg sino los pngs mas un programa y script para generar el fpg.

Creo que lo que dices de programas independientes cada juego gestionados por otro que hace de menú es mas complejo (cambiar menu, forma de ejecutar, forma de compilar, etc), lo intentaremos más adelante. Ahora mismo creo que vamos bien con este sistema.

Kim-ele-to, tortoiseSVN mola pero mola mucho mas "eclipse + subversive" eso sí consume "pa sus muer..".
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: panreyes on November 26, 2008, 10:01:15 AM
Quote from: DCelso on November 26, 2008, 09:52:26 AMTambién por lo que dice PiXel (me ha convencido) tampoco deberían ir los fpg sino los pngs mas un programa y script para generar el fpg.
Yupi! xD

Además soluciona el problema de compresión de los fpg. Al hacerlo con png2fpg se comprime automaticamente. ¿Por qué lo hace? No lo sé, pero mola xD
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: kim-elet-o on November 26, 2008, 11:35:46 AM
Ok Dcelso y Pixel, intentare ir adaptando las medidas, uff mas trabajillo!, pero quedara asi mas asequible para el usuario final.

Esta noche añadire una nota en mi galaxian explicando lo que son cada tipo de fichero, y las herramientas usadas.


Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 26, 2008, 12:29:53 PM
Kim-ele-to, estoy haciendo una herramienta para que sea parte principal del proyecto.
Lo que pasa es que me falla y no se si es error mío de programación o es otra cosa.
He puesto un  post en mesa de ayuda, por si quereis ayudarme a resolverlo.
Gracias de antemano.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on November 26, 2008, 01:18:04 PM
Quote from: PiXeL on November 26, 2008, 10:01:15 AM
Quote from: DCelso on November 26, 2008, 09:52:26 AMTambién por lo que dice PiXel (me ha convencido) tampoco deberían ir los fpg sino los pngs mas un programa y script para generar el fpg.
Yupi! xD

Además soluciona el problema de compresión de los fpg. Al hacerlo con png2fpg se comprime automaticamente. ¿Por qué lo hace? No lo sé, pero mola xD

comprime porque bennu asi lo requiere a la capa de manejo de archivos.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 26, 2008, 07:25:16 PM
Creo que deberíamos de evitar el uso de archivos fpg y leer directamente los png.
No se que os parece pero así evitamos el usar herramientas adicionales de generación de los mismos.
Veo que existen problemas al crear fpgs con imagenes de 8 bits que usan paletas diferentes con las versiones de fenix/bennu.
Y luego podemos cambiar también directamente los sprites sin recompilar el fpg.
Para usar puntos de control podríamos hacer un sistema tipo el que intento realizar para el aFPGmake

filename = "004-15-20.png";
graph = load_png("fpg/galaxian/"+filename);
split("[-\.]",filename,&splitted,4);
set_point(0,graph,0,splitted[1],splitted[2]);

E ir tirando. Que te parece intentarlo con el galaxian kim-ele-to?.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Windgate on November 26, 2008, 07:56:14 PM
DCelso, eso serviría para cuando hay un único punto de control (el ancla del gráfico vaya). Todavía no he trabajado con más puntos de control además de ese, ¿Los véis en general útiles?, ¿Sería interesante tenerlos en cuenta en este APAGAME?

(Y aprovecho para una cuestión a parte, ¿Alguien sabe cuál es el DLL con las funciones de Bennu para trabajar con puntos de control?)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on November 26, 2008, 08:10:59 PM
eso no es un problema de bennu, sino es un problema de programacion o logica, 8 bits es 1 sola paleta, bennu no las convierte... o sea, no es un bug a corregir, eso hay que corregirlo desde programacion o haciendo los mapas todos con la misma paleta.

pero mas alla de todo esto, la idea esta buena.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on November 26, 2008, 08:12:07 PM
Quote from: Windgate on November 26, 2008, 07:56:14 PM
(Y aprovecho para una cuestión a parte, ¿Alguien sabe cuál es el DLL con las funciones de Bennu para trabajar con puntos de control?)

functions_list.txt
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: kim-elet-o on November 27, 2008, 10:00:38 AM
Quote from: DCelso on November 26, 2008, 07:25:16 PM
Creo que deberíamos de evitar el uso de archivos fpg y leer directamente los png.
No se que os parece pero así evitamos el usar herramientas adicionales de generación de los mismos.
Veo que existen problemas al crear fpgs con imagenes de 8 bits que usan paletas diferentes con las versiones de fenix/bennu.
Y luego podemos cambiar también directamente los sprites sin recompilar el fpg.
Para usar puntos de control podríamos hacer un sistema tipo el que intento realizar para el aFPGmake

filename = "004-15-20.png";
graph = load_png("fpg/galaxian/"+filename);
split("[-\.]",filename,&splitted,4);
set_point(0,graph,0,splitted[1],splitted[2]);

E ir tirando. Que te parece intentarlo con el galaxian kim-ele-to?.


ok esta tarde en el curro me pongo en ello. Ah!, por cierto pongo los graficos del juego en el subdirectorio \graphics\galaxian?.

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 27, 2008, 10:26:47 AM
¿en el curro?, ya te vale :D.
en cuanto al nombre del directorio, vale, venga ese nombre mismo.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: kim-elet-o on November 27, 2008, 10:42:24 AM
Oido cocinaaaaaaa!, jejejeje, es que cualquiera aguanta 8 horas seguidas durmiendo, yo prefiero llevarme el portatil y ponerme hacer una de las cosas que mas me gusta: programar juegos. Ahora te preguntaras, pero que demonios hace Kim-elet-o en el trabajo?, pues muy sencillo nada, el porque es muy triste, lo resumire en pocas palabras, mi empresa se ha quedado sin un pajolero €uro (sin plata), no podemos comprar ni una miserable chapa (trabajo en un taller de transformados), y si no tengo material no puedo laborar en mi puesto de trabajo, si no curro me aburro un monton, para no aburrirme hasta la saciedad, llevo mi portatil y programo hasta que toca la sirena de mi empresa.


Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 27, 2008, 11:12:51 AM
Buenísimo :D, oye ¿no necesitais a otro más?
Pues nada, a ver si nos sorprendes con la primera "alpha" del jetpac también. XD
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: kim-elet-o on November 27, 2008, 11:18:54 AM
Hombre si estas dispuesto a no cobrar tus mensualidades (por que ya me deben 2), este esta es tu empresa, eso seguro pero tardare aun unos cuantos dias, soy un coder lento, con dedos en las manos que parecen chistorras, :-[ :-[ :-[  pero espero para mediados-finales de la semana que viene tener algo jugable.  ;D ;D ;D ;D
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 27, 2008, 07:43:04 PM
como va el curro? terminaste ya? kimeleto
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: kim-elet-o on November 27, 2008, 09:50:30 PM
sip, dentro de un momento subo el resultado de mi curro (que mejor dicho).
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: kim-elet-o on November 27, 2008, 10:21:07 PM
"yasta", lo he subido en tres veces pero lo hecho (torpe que es uno  ::) :-[ :P). Ahora el galaxian no carga el fpg, carga los png que forman el fpg, gracias por vuestra paciencia.

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 28, 2008, 09:12:07 AM
Hola kimeleto, he visto el resultado y es genial. Por cierto ¿de donde has sacado la función esa?.
Yo hice una herramienta para el proyecto (aFPGmake) que genera el archivo "fpg" con la mismísima filosofía pero no lo subí a SVN aún porque pensaba en hacerla como una función externa para crear el fpg en memoria y va y la haces tu :D.
Creo que deberíamos sacarla a un .prg aparte para identificarla como función auxiliar para cualquier juego. Yo personalmente cambiaría el nº de gráfico para ponerlo al principio y con formato 3 digitos, es decir "001 o 010 o 301". para que se nos ordene por defecto.

¿Que pensais de ella Pixel y tico?

//El formato del nombre es:  "X punto central"-"Y Punto central"-"Nº Grafico"-"nombre"."Png"
FUNCTION Int CargaPngsEnFpg(String Ruta);   
PRIVATE                                     
  String Archivo;                     
  String Parametros[2];               
  Int LibreriaId;                     
  Int GraficoId;                       
BEGIN
  LibreriaId = Fpg_New();             
  Archivo = Glob(Ruta + "*.png"); 
  WHILE (Archivo <> "")               
    GraficoId = Load_Png(Ruta + Archivo);
    Split("[-\.]",archivo,OFFSET Parametros,3);
    Set_Point(0,GraficoId,0,Atoi(Parametros[0]),Atoi(Parametros[1]));
    Fpg_Add(LibreriaId,Atoi(Parametros[2]),0,GraficoId);
    Archivo = Glob(Ruta + "*.png");
  END                                     
  Unload_Map(0,GraficoId);           
  RETURN(LibreriaId);                 
END


Por cierto kim-ele-to, ¿como has hecho para obtener los graficos con ese formato?
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: kim-elet-o on November 28, 2008, 10:14:23 AM
Es que soy raton de biblioteca, toda documentacion (bueno casi toda, por que soy humano alguna que otra se me escapa) que encuentro me la guardo, teniendo asi una pequeña y eficaz biblioteca, una de las joyas de programacion que guardo son el curso y los manuales de osk, alli encontrareis practicamente toda la descripcion de la mayoria de las funciones de hasta fenix 093a. Jejejeje no tengo tanto merito la mitad de la funcion me la copie de ti Dcelso, solo le añadi la funcion Fpg_Add(). no es mala idea de sacarla en un prg aparte, de hecho yo tengo pensado ponerla en mi libreria personal. En cuanto a variar el orden de los parametros me da lo mismo, si vosotros estais en acuerdo en hacerlo asi, yo tambien lo estare, y añadirle ceros a la izquierda para que sean numero de tres cifras no es mala idea, asi a la hora de listar los ficheros estos quedaran esteticamente mejor.


Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 28, 2008, 10:43:01 AM
No, en serio, me refiero a como has obtenido los .png con el nombre punto de control y numero de grafico.

Si a partir del fpg usando una herramientra de extracción. (que por cierto yo hice una con el ligero problmea de que saca las imágenes a 32 bits, que está colgada en el "topic" de comportamiento erróneo de pngs de 8 bits).

O si lo has hecho manualmente con los pngs originales que tenías renombrando uno a uno.

O si lo has hecho de otra forma.

Saludos.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: kim-elet-o on November 28, 2008, 11:11:40 AM
Aaah vale!, no te habia entendido, pues lo hice a mano, Avecrem a mano, jejejeje  ;D ;D ;D manualmente con los pngs originales, no eran muchos, si hubieran sido "cienes y cienes", me hubiera hecho una utilidad en delphi (que es mi segundo lenguaje favorito, y para estos menesteres es mas apropiado).



Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: panreyes on November 28, 2008, 02:58:15 PM
DCelso, la función para crear el fpg en memoria está muy bien, pero, ¿qué uso planeas darle?
Si tu idea es recrear los fpg en memoria siempre antes de empezar la partida, te recomiendo hacer una pequeña prueba de rendimiento. Sino, estoy perdido xD
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 28, 2008, 03:19:29 PM
hombre, no se, mira el galaxian a ver que te parece pixel, sobre el uso.

De todas formas en el proyecto este no creo que haya muchos problemas, porque no van a ser grandes los juegos, o sí tienes pensado hacer alguno.

Danos tu opinion con vistas a facilitar la compresión del código siempre :D
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on November 28, 2008, 08:23:04 PM
hola, he decidido que voy a subir una versión de avance, no se tienen ni los sonidos ni los gráficos correctos, ni Ia pero he estado en esto de la IA 3 días y no he logrado mucho, he borrado vastante código de lo que les presento, sin embargo ya podemos jugar con nuestros hermanitos. (Click sobre la palabra CPU para que ellos también puedan jugar).

La IA continuaré en estos días, los sonidos y gráficos también. En lo que les presento lo que más pesa es el fondo 1 mb, pero espero que lo podamos cambiar. :)

Bueno, el link es... (abajo)

Verán que no es muy complicado, lo único que me detiene es lo que ya les he comentado. En cuanto a Wiz, pues los gráficos del juego original son un poco feos así que decidí investigar en internet antes de ponerme como loco a capturar pantallazos, y me eoncontré algunos maguitos, pero no son wiz... sin embargo este juego será hasta que termine este  ;D

http://rapidshare.com/files/168332191/conecte4.rar.html (http://rapidshare.com/files/168332191/conecte4.rar.html)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 30, 2008, 09:31:20 PM
Te ha quedado muy chulo, en serio, pero has pasado un muchito por alto todas las reglas para poder integrarlo en el pack ¿no?
Mas bien es un juego completamente a parte. :D, si quieres seguirlo así no importa, pero poco vamos a poder usarlo aqui :D
Has usado ratón, que bueno como sistema de entrada adicional no importa, pero no has usado las teclas del jugador 1 y 2 definidas por el pak, ni tampoco el sistema de nombrado de variables y unas cuantas cosillas mas. :)

Por cierto la IA, ahora es facilisima de ganar :D, a ver si en la siguiente versión me gana, veo que estas usando como referencia el de c, ánimo.

En cuanto al wiz, actualmente lo importante es el motor del juego, los gráficos no tantos, puedes usar unos maluchos o incluso los originales,  y si el motor está bien adaptado luego cambiarlos e incluso retocarlos que seguiría funcionando bien, y recuerda con que solo sea una fase sobra para mostrar el motor.

Por cierto, revisa lo que le dijimos a kimeleto acerca de SVN, y leete que es y como se usa a nivel usuario (el dia a dia de subversion, dicen en algunos sitios), porque así podras subir los archicos al proyecto APAGAME y modificarlos.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on December 01, 2008, 01:18:26 AM
no te preocupes, lo de las reglas vasta con una pasada con remplazar y todo queda, lo de la IA no está terminada, y casi ni iniciada, es de lo que me estoy quejando  :'(

BUeno, de lo de integrarlo no te preocupes, el cumplimiento de las reglas lo hago en un minuto o dos :)

Bueno, nos vemos luego, cuando lo termine. Gracias.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on December 02, 2008, 07:30:53 PM
estuve leyendo las reglas del proyecto, queria comentar algunas cosas que pueden servir...

Tanto las variables globales, variables locales, const, defines, procesos y funciones, una vez escritos en el proyecto/juego, todos los procesos del juego van a tener estas variables. La excepcion a esto son las variables publicas y privadas, que solo las contienen los procesos que las crean. Tambien es posible usar #undef, pero el #define no molesta porque solo es en tiempo de compilacion. (Regla 3, que solo habla de variables globales y consts, y no tiene encuenta lo otro... Yo quitaria esa regla.)

Yo haria los juegos por separado, haciendo un main menu, con la opcion de configuracion de teclas/sonido, y otras opciones que pueden ser utilizadas por cada juego en un archivo separado, y este archivo con estas funciones deberia ser incluido en cada juego, de forma que el principal tendria opciones de configuracion y ejecutaria al juego que se elija, en el juego que se elija el usuario puede ir al "menu (submenu en realidad)" con opciones de configuracion y otra que se necesite y una opcion mas de abondonar la partida, con lo que regresearia al menu principal con todos los juegos... de esta forma los juegos tendran todos el mismo menu de configuracion (salvo que se necesite una configuracion extra en algun juego especifico) con el mismo look&feel... y toda la historia...
Todo esto no es algo complicado de hacer, y resultaria muy util.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on December 02, 2008, 09:45:04 PM
me encanta esta forma de hacer el menú, así los juegos que utilizan el mouse  o alguna forma específica de cualquier cosa se puede configurar de ésta forma.

Buena idea Splinter.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on December 03, 2008, 10:32:06 AM
se puede investigar.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on December 08, 2008, 03:56:39 AM
hola, primero que nada unas disculpas por estar tardando tanto los proyectos, pero he entrado en periodo de exámenes y trabajos finales. El wiz ya lleva más de la mitad y el conecte pues ya lo vieron. Aunque en realidad escribo esto porque me he hecho un código para exportar e importar los gráficos de los juegos.

El código consiste en un prg que te permite dada una carpeta con un fpg adentro (y el prg también), sacar todos sus gráficos y un archivo con cada uno de sus puntos de control (dentro de la carpeta, y un código con el nombre del fpg).

Y otro código que te permite dado la carpeta producto del anterior recrear el fpg original .

ésto nos permitirá subir la carpeta con los gráficos y los archivos binarios que nos generen el fpg en lugar de los gráficos normales, y de ésta forma no perder los puntos de control de ellos, y recrear los fpgs cada uno a la hora de descargar nuestros juegos.

Espero explicarme.

El único problema es que al exportar un png, el color transparente se transforma en blanco, me doy cuenta que esto sucede hasta en el editor fpg, así que supongo que no es cosa de mi código, por tal motivo pregunto: Splinter... ¿Qué puede ser?  :'(   ... :) Bueno, dejo el código para el uso de todos, si el problema es mío, entonces ¡¡¡ayuda!!! de lo contrario, entonces también ¡¡¡ayuda!!!  ... Hasta luego :)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on December 08, 2008, 11:24:44 AM
cuando decis "sucede hasta en el editor de fpg", cuales son los otros programas?
fpg de que profundidad de color?

Los puntos de control seria interesante guardarlos en algun archivo de datos o en algun documento.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on December 08, 2008, 11:22:41 PM
Hola prg, he probado tu import y export y van bien
He hecho lo siguiente, usando un fpg de 8 bits mío he extraido las imágenes con el extract y he visto que hacía mal los archivos de puntos. Te falta inicialicar el indice de puntos a cero en cada nueva imagen
es decir

if (map_exists (0,z))
save_png(0,z,z + ".png");
otro_os=fopen(z+ ".pdc",o_write);
puntos = 0; // <----------------------- esta línea.
repeat
hay=get_point(0,z,puntos,&xx,&yy);

Luego he visto las imágenes (que las extrae en 32 bits de color) con el GIMP y el trasnparente es el  transparente. Lo que pasa es que si lo abres con un editor que no soporte trasnparencias en pngs se ve blanco, por ejemplo el acdsee.
El import, parece ir bien usando las imágenes anteriormente extraídas.

Lo que pasa es que, a ver, si ves el ejemplo del galaxian, normalmente con un solo punto de control tenemos de sobra, así que en vez de crear un archivo con  los puntos de control por imagen, hacemos que este forme parte del nombre del png. quedando un nombre como "numero_imagen-numero_x_punto_control-numero_y_punto_control-nombre_descriptivo_imagen.png"

Por otro lado, para evitar que haya que depender de tener que crear un fpg antes de poder ejecutar el juego se ha optado porque el program cree internamente el fpg que necesita a través de la imágenes, independizando así al ejecutable final de la necisidad del archivo fpg, así que necesita por narices las imágenes con el nombre en el formato comentado anteriormente.

Es mejor que veas el ejemplo del galaxian para entenderlo.

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on December 08, 2008, 11:34:07 PM
Quotecuando decis "sucede hasta en el editor de fpg", cuales son los otros programas?
fpg de que profundidad de color?

:D a mi editor, el que estoy haciendo con código bennu.

fpg de que profundidad de color?

pues hice pruebas con un fpg de 32 b de profundidad, y el color transparente se transformaba a blanco, y los que estaban semitransparentes se respetaban (esto es al exportarse con save_png). Me pasa lo mismo cuando abro un png 32b con paint, excepto que paint no me respeta los semitransparentes :) (paint de windows), y luego lo guardo.

adjunto el fichero fpg abajo, con el que hice las pruebas.

La verdad no entiendo qué está sucediendo... Pero aquí está por si alguien quiere hacer pruebas.

Gracias por responder Splinter, aquí está el fpg, y agrego una imagen que exporté.
______________________________________________________________

QuoteHola prg, he probado tu import y export y van bien
He hecho lo siguiente, usando un fpg de 8 bits mío he extraido las imágenes con el extract y he visto que hacía mal los archivos de puntos. Te falta inicialicar el indice de puntos a cero en cada nueva imagen
je je je, no me había dado  cuenta de eso. Gracias. corregido.

QuoteLuego he visto las imágenes (que las extrae en 32 bits de color) con el GIMP y el trasnparente es el  transparente. Lo que pasa es que si lo abres con un editor que no soporte trasnparencias en pngs se ve blanco, por ejemplo el acdsee.
El import, parece ir bien usando las imágenes anteriormente extraídas.

a mí si me sale esto, y utilizo el fireworks, pero creo que el problema es cuando el fpg es de 32b, cuando es de 8 se exporta en color negro, pero esto es completamente  normal.

eh exportado los gráficos de otro fpg de 32b y luego los corrí en el proyecto al que pertenecían y todas las partes que deberían tener el color transparente o 0 ahora son blancas.

...


QuoteLo que pasa es que, a ver, si ves el ejemplo del galaxian, normalmente con un solo punto de control tenemos de sobra, así que en vez de crear un archivo con  los puntos de control por imagen, hacemos que este forme parte del nombre del png. quedando un nombre como "numero_imagen-numero_x_punto_control-numero_y_punto_control-nombre_descriptivo_imagen.png"

Por otro lado, para evitar que haya que depender de tener que crear un fpg antes de poder ejecutar el juego se ha optado porque el program cree internamente el fpg que necesita a través de la imágenes, independizando así al ejecutable final de la necisidad del archivo fpg, así que necesita por narices las imágenes con el nombre en el formato comentado anteriormente.

Es mejor que veas el ejemplo del galaxian para entenderlo.

sí, ya entiendo, incluso en mis juegos yo no necesito los puntos, y si los necesitara, pues los pongo en un archivo aparte, y listo (como dice Splinter :) ). yo sólo lo hice porque recuerdo que había problemas con esto, y pensé en dar una ayudadita. :)

Bueno pues incluyo mi fpg para que también experimenten con él y vean qué puede ser. quizá sea un error a la hora de hacer el fpg, pero bennu detecta sus gráficos como 32b.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on December 09, 2008, 12:36:14 AM
Algo falla pero no se lo que es. Está relaccionado con tus imágenes.
Resulta que en mi fpg 8 bits, lo paso a imágenes con tu export, lo borro, vuelvo a crearlo con tu import creándose el fpg en 32 bits, borro las imágenes y vuelvo a extraerlas con tu export y el transparente sigue existiendo si abro las imágenes con el GIMP.

En cambio he hecho lo mismo con tu fpg y pasa lo que comentas, desaparece el transparente, aunque la imagen es de 32 bits, donde debería estar el transparente está el blanco.

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: kim-elet-o on December 11, 2008, 08:04:17 AM
Corregido bug en la funcion CargaPngsEnFpg utilizada en el Galaxian (y tambien en el jet pac), el bug consistia en que solo se borraba el ultimo png cargado en memoria, dejando todos los demas cargados, tambien se ha cambiado el orden de los parametros que la funcion recoge del nombre del png, con lo cual he cambiado tambien los nombres de los pngs en el proyecto, lo de cambio del orden de los parametros se comentaron en este post hace una semana o dos, ahora el orden es el siguiente <Numero grafico>-<Coordenada X>-<Coordenada Y>-nombre o descripcion del png.png, ejemplo: 001-003-003-Disparo nave.png.
En cuanto el proyecto jet pac esta en marcha, llevo un 35 o 40% realizado, no tengo tanto tiempo ultimamente como tube con el Galaxian, los culpables son los dias de vacaciones niveas que me tome y que en mi curro ha habido unos dias en que si habia trabajo, seguire informando.

;) :D ;) :D
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on December 11, 2008, 03:54:43 PM
ok, actualizado mensaje inicial del tema (topic).
¿Alguien más quiere apuntarse a hacer motores de juegos clásicos?
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on December 16, 2008, 10:55:28 PM
wow, muy interesante la forma de cargar gráficos en galaxian. Me tocará darle unos retoques a mi juego. ¿Sonidos no estamos utilizando? No veo ninguno.

Bueno, a trabajar con el wiz. :)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: kim-elet-o on December 17, 2008, 09:39:23 AM
No le he puesto sonido a mis juegos, ejem digamos que... nunca le he puesto sonido a mi juegos, y por lo tanto no se como se hace  :-[ :-[ :-[ :-[, supongo segun que tipo de juegos seria complicar un poco bastante el codigo, pero si el codigo del juego es simple siempre se le puede añadir sonido para que este tenga mas miga.

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on December 17, 2008, 01:15:59 PM
Quote from: kim-elet-o on December 17, 2008, 09:39:23 AM
No le he puesto sonido a mis juegos, ejem digamos que... nunca le he puesto sonido a mi juegos, y por lo tanto no se como se hace  :-[ :-[ :-[ :-[, supongo segun que tipo de juegos seria complicar un poco bastante el codigo, pero si el codigo del juego es simple siempre se le puede añadir sonido para que este tenga mas miga.

Nahhh... vamos que tu puedes!!!
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: panreyes on December 17, 2008, 03:09:14 PM
variable = load_wav();
play_wav(variable,numero_de_veces);

Aparte, porto el pixfrogger, si os parece bien :)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on December 17, 2008, 04:06:28 PM
Quote from: kim-elet-o on December 17, 2008, 09:39:23 AM
No le he puesto sonido a mis juegos, ejem digamos que... nunca le he puesto sonido a mi juegos, y por lo tanto no se como se hace  :-[ :-[ :-[ :-[, supongo segun que tipo de juegos seria complicar un poco bastante el codigo, pero si el codigo del juego es simple siempre se le puede añadir sonido para que este tenga mas miga.



Es como cuando cargas un map, guardas su identificador, y luego lo utilizas en la función
play_wav(identificador, veces a reproducir (0 para que sólo 1 vez))
(play_song si es música ogg o de ese tipo )
y se reproduce y listo. un disparo colocas play_wav en el begin y ya está. Yo tengo que ver, pues no quiero que pese mucho, los gráficos me ha tocado comprimirlos y los sonidos no lo se.
:)

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on December 17, 2008, 04:28:26 PM
como era eso de las limitaciones de la música.
Creo recordar, que la música de fondo puedes usar ogg y mp3 (con play_song).
Pero para los efectos usa wav (con play_wav), ya que son multicanal y se escucharán a la vez. Si usaras ogg o mp3 para los efectos entonces al iniciarse un sonido dejarían de escucharse los demás al ser todos oggs u mp3.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on December 18, 2008, 04:09:20 AM
juego wiz adaptado a apagame4be (¿Por qué se llama apagame4be?  ???) correctamente :) . Todavía no lo subo. tengo aún que comentar todo y algunas preguntas.

¿Cuando se gana se debe salir del juego o volver al menú principal o qué debo poner?

me decidí por agregarle sonidos, muy pocos, pero al menos ambientan algo, espero no esté pesado, intenté que el juego pesara lo menos posible, los gráficos del protagonista en ficheros fpg pesaban menos de 100kb pero sólos pesan 1mb.

:)

Bueno, nos vemos, espero su respuesta sobre lo que el juego debe hacer al terminar, no estoy seguro qué hacer.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on December 18, 2008, 11:55:16 AM
:), pues no hay consenso al respecto, lo suyo sería volver al menú principal, digo yo.

Ya luego con tiempo, se retocará el sistema de menú.

Había en mente pensado algo de añadir un sistema de control de estadísticas para dos jugadores así como para poder rivalizar tipo olimpiada (o como en el supermario party) y ver quien es mejor a nivel de cada juego y en general.

Así que tendría que ser alguna pantalla inicial para recoger nombre de los jugadores, otra para ver estadísticas, y evitar volver a repetir juego en el menú hasta que se finalize voluntariamente la miniolimpiada volviendo a la pantalla inicial.

Si alguien se ofrece voluntario para hacerlo :D.

En cuanto al nombre, ¿no lo ves evidente con el resalto de mayúsculas que tiene el título del mensaje?
Es un juego de palabras para que sea más facil nombrar al proyecto ya que las siglas CPGFB a ver como las lees o las recuerdas :D.

EDIT:
También podría entenderse como lo apagados (u obsoletos o retro) que estamos con respecto a los juegos actuales, mira que ponernos a hacer juegos clásicos con los pachangueros que son en una época de renderización 3d y música cañera por un tubo. :D. Como diciendo oye si no te gusta mejor apágame.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: panreyes on December 18, 2008, 03:12:07 PM
Vale, ahora ya he mirado el sistema de carga de pngs en fpg de Galaxian, y me parece perfecto :D
Aunque considero que sería mejor que se crease el FPG al compilar el proyecto y no durante la ejecución, ¿qué os parece?
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on December 18, 2008, 04:20:41 PM

QuoteEn cuanto al nombre, ¿no lo ves evidente con el resalto de mayúsculas que tiene el título del mensaje?

je je je, no lo había visto, sinceramente, yo sólo me metí, leí, pero el nombre no lo ví...

QuoteVale, ahora ya he mirado el sistema de carga de pngs en fpg de Galaxian, y me parece perfecto Cheesy
Aunque considero que sería mejor que se crease el FPG al compilar el proyecto y no durante la ejecución, ¿qué os parece?


la ventaja de que se haga en ejecusión es que el tiempo (de creación de fpgs) se divide entre todo el juego.  Y si lo hacemos al principio, dos segundos son dos segundos :) . Y la desventaja es que si por algo falla, pues ya te sacó el juego y pierdes tu avance, pero esto nunca ocurre (Eso creo) :) .
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on December 18, 2008, 05:31:43 PM
Prg, pixel se refiere a crear el fpg fuera del código del programa en sí, y antes de ejecutarlo ahorrándose tener que crearlo cada vez que se ejecute el juego. Tal y como hace él en sus proyectos.
En principio a mi me gusta como está ahora ya que, por decirlo de alguna forma, sin el código fuente, cualquier inexperto puede modificar directamente las imágenes y sin recompilar ni nada, simplemente volviendo a ejecutar vería los cambios , te olvidas un poco de usar herramientas propietarias para retoque de fpgs o tener que recompilar el fpg cada vez que cambies una imagen. En pocas palabras facilitas el Modding al juego para newbies :D.
No se todo tiene sus pros y sus contras. Yo creo que por ahora y con los equipos con los que actualmente nos movemos va bien el sistema.
Ya luego quien quiera y use alguno de los motores como base para un juego solitario pues que adapte el modelo que quiera.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on December 18, 2008, 08:48:55 PM
Quote from: DCelso on December 18, 2008, 05:31:43 PM
Prg, pixel se refiere a crear el fpg fuera del código del programa en sí, y antes de ejecutarlo ahorrándose tener que crearlo cada vez que se ejecute el juego. Tal y como hace él en sus proyectos.
En principio a mi me gusta como está ahora ya que, por decirlo de alguna forma, sin el código fuente, cualquier inexperto puede modificar directamente las imágenes y sin recompilar ni nada, simplemente volviendo a ejecutar vería los cambios , te olvidas un poco de usar herramientas propietarias para retoque de fpgs o tener que recompilar el fpg cada vez que cambies una imagen. En pocas palabras facilitas el Modding al juego para newbies :D.
No se todo tiene sus pros y sus contras. Yo creo que por ahora y con los equipos con los que actualmente nos movemos va bien el sistema.
Ya luego quien quiera y use alguno de los motores como base para un juego solitario pues que adapte el modelo que quiera.

aaaaaaaaaahhhhhhhhhhhhhh!!!!!!!!!
ya :)
esa era mi idea original, pense en guardar el fpg, y siempre que se ejecutara el programa lo buscara, si no lo encontraba entonces que lo hiciera, sin embargo miré el código del galaxian y desistí de mi idea. :)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on December 18, 2008, 10:39:05 PM
Ostis, pues eso es también una muy buena idea, es un acuerdo entre las dos formas de plantear el problema. Nose tiene buena pinta lo que dices, desististe porque es dificil?
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: kim-elet-o on December 18, 2008, 10:52:49 PM
Quote from: PiXeL on December 18, 2008, 03:12:07 PM
Vale, ahora ya he mirado el sistema de carga de pngs en fpg de Galaxian, y me parece perfecto :D
Aunque considero que sería mejor que se crease el FPG al compilar el proyecto y no durante la ejecución, ¿qué os parece?


Jejeje me encanta que te guste, fue una idea inicial de Dcelso, yo lo unico que hice es convertirla en una funcion util.

Quote from: DCelso on December 18, 2008, 05:31:43 PM
Prg, pixel se refiere a crear el fpg fuera del código del programa en sí, y antes de ejecutarlo ahorrándose tener que crearlo cada vez que se ejecute el juego. Tal y como hace él en sus proyectos.
En principio a mi me gusta como está ahora ya que, por decirlo de alguna forma, sin el código fuente, cualquier inexperto puede modificar directamente las imágenes y sin recompilar ni nada, simplemente volviendo a ejecutar vería los cambios , te olvidas un poco de usar herramientas propietarias para retoque de fpgs o tener que recompilar el fpg cada vez que cambies una imagen. En pocas palabras facilitas el Modding al juego para newbies :D.
No se todo tiene sus pros y sus contras. Yo creo que por ahora y con los equipos con los que actualmente nos movemos va bien el sistema.
Ya luego quien quiera y use alguno de los motores como base para un juego solitario pues que adapte el modelo que quiera.

Sip eso es la idea, cuando mas pueda "marranear" la gente newbie en el codigo o en los recursos mejor, aunque reconozco que mi codigo deberiamos incluirlo en la seccion newbie avanzado, jejeje por eso añadi un pelin largo de comentarios.

el jet-pac lo tengo aparcado un poquito, estos dias hay curro en mi empresa (pero de mi nomina ni un P**o euro), y no le he podidometer mucha mano, lo siento, haber en estas fiestas saco algo minimamente jugable.


P.D: Soy un mal grafista si alguien les escandalizan sus ojos ante mis graficos, por favor antes que se los arranque, puede intentar poner mis graficos mas bonitos, gracias.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on December 18, 2008, 10:59:59 PM
QuoteOstis, pues eso es también una muy buena idea, es un acuerdo entre las dos formas de plantear el problema. Nose tiene buena pinta lo que dices, desististe porque es dificil?
no, en realidad porque pensé que ustedes ya lo habían pensado y no lo consideraron, yo también lo deseché.
Quote
P.D: Soy un mal grafista si alguien les escandalizan sus ojos ante mis graficos, por favor antes que se los arranque, puede intentar poner mis graficos mas bonitos, gracias.

No te preocupes, yo tampoco soy muy bueno, cuando mires las montañas del fondo,ponles un poco de atención  en las lineas que las forman.

Wiz terminado. ahora sólo comento, me ha costado trabajo hacer que el wiz entre y salga del menú por medio de la tecla close, no estoy acostumbrado dividir por los módulos, aunque me acabo de dar cuenta que es casi lo mismo. Todavía estoy aprendiendo eso. pero bueno, ahora a comentar el código y luego a leer cómo subirlo, que no tengo ni la más mínima idea.

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on December 18, 2008, 11:05:24 PM
kimeleto. Haz lo que puedas cuando puedas, sin agobios :D, y nada a ver si con suerte cobras la paga extra almenos, que vienen fechas de gastos maxivos :D.

Prg, no te preocupes si no das con la tecla te los subo yo en un periquete al svn. Con tortoiseSVN es simplmente hacer click derecho inicialmente en un directorio vacío y realizar un checkout (se llenará de archivos del proyecto), añadir al directorio los nuevos archivos y modificaciones y darle otra vez click derecho en el nombre del directorio y pulsar upload.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on December 19, 2008, 04:20:05 AM
Quote from: DCelso on December 18, 2008, 11:05:24 PM
kimeleto. Haz lo que puedas cuando puedas, sin agobios :D, y nada a ver si con suerte cobras la paga extra almenos, que vienen fechas de gastos maxivos :D.

Prg, no te preocupes si no das con la tecla te los subo yo en un periquete al svn. Con tortoiseSVN es simplmente hacer click derecho inicialmente en un directorio vacío y realizar un checkout (se llenará de archivos del proyecto), añadir al directorio los nuevos archivos y modificaciones y darle otra vez click derecho en el nombre del directorio y pulsar upload.

Creí que todo era más sencillo, no pude ni descargarme el tortoise (fue una tortura) me salió dañado,  :-[  :'( lástima.
bueno, aquí dejo el enlace de la descarga, que ya me cansé de probar a hacerlo solo  :-\
...

http://rapidshare.com/files/174750098/wiz.rar.html (http://rapidshare.com/files/174750098/wiz.rar.html)

en graphics\wiz\fpg123se me fue un código llamado import, lo eliminas por favor, gracias :)


contiene los gráficos, sonidos y fuentes, no saqué los del galaxian para que no te tardes al subirlo. pero no incluí el código de los otros juegos, sólo el del wiz y el apagame4be

gracias por ayudarme con esto :) . Ahora me dedicaré a acomodar el conecte y el editor y el mágico... ups, tengo algo de trabajo :)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on December 19, 2008, 04:23:57 AM
baja el subversion comun y corriente... y desde consola lo usas...

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on December 19, 2008, 07:17:08 AM
prg, como te has bajado los fuentes de svn?, pues con el mismo programa se puede subir
por cierto lo estoy probando pero no consigo mover nada, he tocado todas las teclas de teclado y ratón y no se mueve nada solo escucho la música cañera que has puesto y una pantalla con unos graficos chulos en los que no puedo mover nada.
En cuanto lo pruebe lo subo al proyecto
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on December 19, 2008, 04:52:52 PM
Quoteprg, como te has bajado los fuentes de svn?, pues con el mismo programa se puede subir
por cierto lo estoy probando pero no consigo mover nada, he tocado todas las teclas de teclado y ratón y no se mueve nada solo escucho la música cañera que has puesto y una pantalla con unos graficos chulos en los que no puedo mover nada.
En cuanto lo pruebe lo subo al proyecto
eso está raro. agregaste todos los demás prgs que faltan, los de galaxian y eso, si no te puede estar generando problemas eso.

Mi carpta tiene todos, aunque se supone que no te debe dejar compilar si no los encuentra.

con las flechas te mueves, y son las del array de las reglas. con q,w,e,r haces ataques y cambias de arma, son las teclas definidas con el array, con intro pausas... has de haber pausado el juego, aquí no necesitas precionar inicio para comenzar, pues no te pasa nada si te quedas paradote. eso es, presionaste intro o enter (key_inicio) y pausaste, :) . vuelve a presionar esa tecla y despausas. (pondré algún letrero que diga pausa? no lo consideré nesesario, como son todas las teclas y ya están definidas, si presionas esa tecla, se supone que sabes que pausaste, sin embargo se presta a sustos)  :D

para bajármelas les dí un click y listo, se bajaron, lo hice mal?  ???

Quotebaja el subversion comun y corriente... y desde consola lo usas...
y dónde la puedo conseguir, bajé una torreint que venía en http://internap.dl.sourceforge.net/sourceforge/tortoisesvn/TortoiseSVN-1.5.2.13595-win32-svn-1.5.1.msi , pero estaba dañado. voy a investigar a ver si me encuentro algo por ahí.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on December 19, 2008, 05:05:14 PM
http://subversion.tigris.org/
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on December 19, 2008, 05:05:56 PM
si se te corrompen las descargas no uses gestores de descarga para esa descarga que falla.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on December 19, 2008, 05:26:54 PM
muchísimas gracias splinter, ya pude descargarlo le dí a TortoiseSVN (Windows) y me mandó a otra página en inglés, le dí a download page. y me descargó algo que ya pude instalar, ahora voy a reiniciar el equipo para que lo agarre, espero sea. Muchísimas gracias.

Por cierto Dcelso, para ese problema,
he creado una nueva versión que ahora espera a que presiones inicio y que luego te pone los letreritos esos de pausa y todo eso. perdón por omitirlos. descarga abajo.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on December 19, 2008, 05:47:26 PM
creo que ya estoy haciéndolo, con esa cosa que descargué se puede muy fácilmente, y ahora si se para qué es la contraseña de google :)
si no puedo les dejo un mensajo pidiendo ayuda. pero ya está subiendo algo. :)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on December 19, 2008, 06:08:31 PM
parte del comentario de Dcelso de cómo subirse:
QuoteCon tortoiseSVN es simplmente hacer click derecho inicialmente en un directorio vacío y realizar un checkout (se llenará de archivos del proyecto), añadir al directorio los nuevos archivos y modificaciones y darle otra vez click derecho en el nombre del directorio y pulsar upload.

bien, ya los he agregado, en sourse/changes ya aparece la carpeta que subí, se subió todo. incluso los archivos thumbs.db, en las imágenes  :-[ . Bueno, no se si eso sea todo, si es así, entonces terminé, de lo contrario, si alguien me dice se lo agradecería muchísimo. :)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on December 20, 2008, 06:17:24 PM
Hola prg, he estado viendo el wiz y enhorabuena, te ha quedado muy guapo.
Veo que no has necesitado que lo suba yo al final :D, muy bien, por otro lado el error que me daba es que vi en el mensaje que sobraba una carpeta fpg123 y la borré entera así que no me aparecía nada para mover en pantalla :D

Los gráficos están muy bien, son tuyos? o los pillaste de por ahí, en caso afirmaticvo de donde?
En cuando ala música lo mismo te pregunto.
Ahora vienen las cosas malas,
Yo no veo el juego como un remake actualmente, más parece una segunda parte. :(
Podrías ceñirte un pocomo más al original para acercarlo más a un remake?
Resulta que la jubabilidad no es del todo igual, el salto tarda en responder, los malos hacen cosas totalmente distintas a los originales, las fases cambian muchísimo con respecto a las originales,
las armas son de durabilidad infinita, no puedes pillarlas de un baúl como en el original,es mas, son otras y las que son iguales no están en el mismo orden. Cuand disparas un arma que no es la de base no vuelve a situarse en la arma base. Tampoco se juega en dos niveles de altura como el original y cuando bajas no hay forma de subirse a la altura, en el original con el mando para abajo bajas y con el mando para arriba un rato, subes. Cuando te  matan sigues por donde ibas en vez de empezar en un punto un poquito atrás, :D.

Todo esto estaría muy bien para una segunda parte pero claro ya no es un juego remake, es decir sale un poco del alcance que se propone el proyecto de hacer motores de juegos clásicos.
Está bien eso de poner cambios en algunas cosas que puedan mejorar la compresión del código o jugabilidad pero ya tantos cambios a la vez... :D

Luego algunos detalles, me da la sensación de que los malos y el bueno no están a escala, hay unos muy pequeñitos y otros muy grandes cuando se suponen que son mas o menos iguales al jugador, al menos algunos.
Tampoco se aprecia bien qué arma está seleccinada, la flechita casi desaparece, te propondría que pusieras  mejor un rectángulo con una gama alfa encima del arma seleccionada.

Te aconsejaría que echaches unas partidas al wiz de mame y te manejaras un poco con la forma de controlarlo y de la inteligencia de los distintos enemigos.

También veo que te has currado unas cuantas pantallas( tablas o fases) :D, está bien, pero vamos que el objetivo es hacer el motor de juego no el juego completo :D, ya luego si uno quiere extraerlo y hacerse un juego completo que lo rellene con las fases que quiera :D.

Si pudieras acercar el motor de juego más al original sería más fiel, ya que actualmente se parece a cualquier juego de plataformas de dos saltos más que al wiz :D. Si no quieres o no tienes tiempo pues nada, a ver si yo cuando encuentre un hueco(cosa que casi nunca tengo :() lo adato.
De todas formas muchas gracias por la contribución está que se pasa de bien, esperamos al conecta4 y si te animas con otras contribuciones más mejor que mejor.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: panreyes on December 20, 2008, 06:27:35 PM
Yo he reconocido en el Wiz gráficos del Secret of Mana xD
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on December 21, 2008, 01:07:51 AM
los gráficos algunos yo los hice, otros los armé de los del div, y otros los bajé de internet, la verdad no estoy muy seguro de las páginas, guardé algunas, pero la mayoría se obtienen buscando en google wiz, brujo, mago, y algunos nombre de otros personajes de otros juegos, que lamentablemente no pude agregar, pero que me dieron estos monitos.

los loops los obtuve de otra página, no recuerdo de dónde, los encontré cuando buscaba unos models 3d, y los descargué, si deceas los links puedo buscarlos.

QuotePodrías ceñirte un pocomo más al original para acercarlo más a un remake?
Resulta que la jubabilidad no es del todo igual, el salto tarda en responder, los malos hacen cosas totalmente distintas a los originales, las fases cambian muchísimo con respecto a las originales,
ja ja ja, el problema es que en el original la mayoría de los monitos me mataban rápidamente, así que no logré apreciar bien el juego. lo jugué sólo como 2 veces.

el doble salto me gustó mucho, lástima. entonces deshago todo esto y preparo otra versión. el salto carga por tal motivo tarda un poco.  los disparos no los pude probar, ese fue el problema, probé como 4 y los demás me los inventé de acuerdo a los gráficos que encontraba por ahí. bueno, lástima. el wiz original sí lo probé, pero no lo suficiente. Fue muy divertido hacer este zombi de wiz. :)

QuoteSi pudieras acercar el motor de juego más al original sería más fiel, ya que actualmente se parece a cualquier juego de plataformas de dos saltos más que al wiz Cheesy. Si no quieres o no tienes tiempo pues nada, a ver si yo cuando encuentre un hueco(cosa que casi nunca tengo Sad) lo adato.

ok, termino los demás proyectos, y renuevo el wiz, o más bien lo acerco al viejito  ;D

a propósito, las zonas no se cómo obtenerlas (los gráficos). Éstos yo los armé con otros que tenía.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on December 31, 2008, 05:59:11 PM
inteligencia de conecte cuatro terminada, sigue teniendo puntos débiles, pero la pelea ahora dura un rato. termino gráficos y sonidos y pongo una descarga para que la prueben.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on December 31, 2008, 11:25:35 PM
hola,aquí está el conecte4 espero este si esté bien. es fácil ganarle, pero ya piensa un poco, creo que lo suficiente.

lo pongo abajo, sin embargo es sólo para que lo prueben y me digan, no vienen los otros juegos. si está bien, lo borraré y subiré ya correctamente todo.

modifiqué el  PROCESS menu (), agregué solamente signal(father,s_kill); para evitar que se acumulara basura y algunos errores. espero no haya problema :)

el juego es para 1 y dos personas. con la r se cambia de modo.

la tecla _ñ no existe, así que corregí el error :)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on January 07, 2009, 10:34:51 AM
Hola, feliz año a todos, acabo de llegar de vacaciones.

PRG, está muy bien el conecta cuatro que has hecho lo acabo de probar, una cosilla, cuando es el turno de uno de los jugadores veo que el angel se coloca por detrás de las letras de jugador 1 o jugador 2 o cpu. Creo que habría que poner los textos en otro lado o bajar el tablero para que esto no ocurra. Por otro lado el fondo en movimiento marea un poquito, a lo mejor yendo un poco más lento :D, pero está bien así se puede explicar la técnica esa de movimiento.

La IA, si es tosca aún ;D, prueba a poner una bola en la última columna, luego intenta hacer 4 en línea en la columna del centro y verás que la máquina podía haberte ganado pero en vez de hacerlo opta por romperte tus 4 en línea :D.
¿Pudiste aprovechar algo del código C que encontramos por ahí?
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on January 08, 2009, 02:06:26 AM
:) no conozco C así que aunque lo descargué, no le hice muchote caso. Eh estado pensando en  movimientos predefinidos, pero no he hecho nada esperándote :) . Si lo consideras así, puedo ingeniarme algunos movimientos sacados de la manga:  je je je (risa de m2ld*t0)  ;D .
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on January 08, 2009, 09:00:42 AM
Dando un poco de vueltas a la cabeza he sacado el algoritmo que usaría yo para jugar al conecta 4. Es el siguiente:
Algoritmo IA conecta cuatro
Mirar si hay fichas en el trablero.
   Si no hay fichas mias
      Poner una ficha en el sitio en el que haya:
      Posibilidad de hacer 4 en raya en los siete sentidos posibles,es decir, cuatro huecos libres hacia arriba, cuatro huecos libres hacia la izquierda, cuatro huecos libres hacia la derecha cuatro hacia la diagonal izquierda y cuatro hacia la diagonal derecha. Sino hay, mirar posibilidad en 6 sentidos, luego en 5, luego en 4, luego en 3, luego en 2, luego en 1. si no hay posibilidad de hacer 4 en raya entonces es tablas y se termina partida si hay posibilidad se pone ficha y se termina turno.

   Si hay fichas mias, mirar si puedo hacer 4 en raya poniendo una
         En caso de poder insertamos ficha, terminamos turno y ganamos juego.
         En caso negativo entonces si hay fichas del contrario, mirar si puede hacer 4 en raya poiendo una.
                    En caso afirmativo instarmos ficha para bloquearle, terminamos turno.
                           En caso negativo seguimos con el algoritmo

   Miramos cual de todas nuestras fichas está mas cerca de llegar a hacer 4 en raya, e insertamos ficha, en caso de empate seleccionamos uno de los sitios empatados al azar, insertamos ficha y terminamos turno.

Ahora queda la parte identificar funciones y datos necesarios para implementarlo.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on January 08, 2009, 04:19:50 PM
eso es exactamente lo que hace (exepto lo primero, no sabe iniciar, pero para eso haré algunos movimientos predefinidos), pero como también hay defensiva, le dí mayor prioridad a ella. si no me crees, permite que conecte la pc 3 fichas y luego intenta detenerla. (tú no conectes   ;) ). lo que ahora haré es que no se  haga tontita ella misma. verás, la inteligencia es

[code language="bennu"]/////////////_____________________________________vertical________________________________________________________________________
   puntos1=0; puntos2=0;
   frame;


   from zcon=1 to 10;
      anterior=0;
      from zc2= 2 to 7;
         if (posiciones[zc2][zcon]<>0)
            if (anterior<>posiciones[zc2][zcon] & anterior<>0)  break;  end
            anterior=posiciones[zc2][zcon];
            if (posiciones[zc2][zcon]==1 & (anterior==posiciones[zc2][zcon] or anterior==0))
               puntos1++;
            end
            if (posiciones[zc2][zcon]==2 & (anterior==posiciones[zc2][zcon] or anterior==0))
               puntos2++;
            end

            if (puntos2>vamos) vamos=puntos2; end    //   columna5=zcon;
               if (puntos1>2)  columna5=zcon; end



            end
         end

         puntos1=0; puntos2=0;
      end[/code]

todo esto revisa si hay en línea vertical 3 mías o 3 del enemigo, si hay 3 del enemigo las bloquea, si hay 3 mías pone la 4.

la ofensiva no está muy buena, es el problema, si acomodo la ofensiva, la defensiva, que ya es decente, creo que corregirá sus tonterías. sin embargo por estos rumbos ya han perdido humanos contra ella. aunque descubrí un truco que la hace perder irremediablemente, y ya se cómo solucionarlo, aunque por el momento estoy en el editor y en el mágico, pero puedo darle una o dos horas a esto. :)

Gracias por el algoritmo, la primera parte es lo que necesito, la segunda ya estaba. :) . En lo de movimiento del fondo entonces tendré que usar seno y coseno, pues get_distx, e ...y no usan floats y me generan un movimiento como de carcancha vieja si lo hago más lento.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on January 09, 2009, 12:13:54 AM
ok, el problema que le veo es el orden, tal y como puse el algoritmo, si se hacen las comprobaciones en ese orden, la máquina es lo más eficaz posible, siempre ganará en cuanto te despistes. En este tipo de juegos no hay como dices tu ofensiva ni defensiva, siempre es hacer tu cuanto antes las 4 en raya para ganar y si no puedes entonces evitar que el contrario haga las cuatro en raya. :D.
Se ha de intentar programar los mismos pasos y en el mismo orden que harías tu para ganar al contrario.
¿Tu que harias si es tu turno y ves que el otro tiene 3 en raya y tu tienes 3 en raya? ¿Bloquearías sus posibles 4 en raya? o bien podrías tu cuarta ficha en raya para ganar.

Asi que no vale con hacer un bucle anidado nada mas, hay que repetir los bucles anidados dependiendo de condicionales. No es lo mismo mirar si en una colunmna tengo 3 en línea, despues mirar si el contrario tiene en esa misma columna 3 en línea y luego repetir para la siguiente columna que primero mirar todas las columnas filas, diagonales en las que puedo poner la cuarta ficha para ganar y después volver a mirar otra vez todas las filas , columnas diagonales para ver si el contrario puede ganar.
No se si me he explicado bien.
Insisto en que hay que intentar que el código sea lo más intuitivo posible de leer evitando realizar un problema en poca líneas de forma eficiente si puede ser más fácil de entender realizándolo en más líneas de código aunque sea menos eficiente que el otro método.
Entiendo eficiencia como la forma más rápida de resolver un problema y eficacia como la forma de resolver el problema para todos sus posibles valores.
Repito que debemos buscar la eficacia de nuestros algoritmos pero no la eficiencia ya que a veces la forma más rápida de resolver un problema es la menos intuitiva y inteligible.
No con esto quiero obligarte a que hagas nada, ya te digo tal y como está, salvo el fallo de que los ángeles se solapan con las letas, está de guapo, cuando gustes puedes subirlo a svn independientemente de que la ia sea más o menos buena. Ya te digo, mi algoritmo del drmario va asi como el que no quiere la cosa regulin regulán.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on January 09, 2009, 03:40:23 AM
QuoteNo con esto quiero obligarte a que hagas nada, ya te digo tal y como está, salvo el fallo de que los ángeles se solapan con las letas, está de guapo, cuando gustes puedes subirlo a svn independientemente de que la ia sea más o menos buena. Ya te digo, mi algoritmo del drmario va asi como el que no quiere la cosa regulin regulán.

amigo, no te sientas mal por decirme que modifique tal o cual cosa. :) Trabajando en la IA y en el wiz, ya he copiado varios pantallazos. Para mí es divertido, aunque algunas veces me desespero, pero no hay problema en hacerlo las veces que sea necesario, al fin y al cabo, estoy aprendiendo  :D  ;)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on January 23, 2009, 11:40:47 PM
hola, he modificado lo de los ángeles que se meten entre las letras, he reducido el giro del fondo a 2º por frame, y he desglosado la IA para que no me haga tantas tonterías.

1 revisa si puede ganar, si es así, lanza ficha, si no continúa con el 2
2 revisa si le pueden ganar, si es así, bloquea, si no continúa con el 3
3 revisa si puede conectar 4 como va, si no continúa con el 4
4 busca donde poner.

se ejecutan de acuerdo a condicionales.

Epero lo prueben, ya sea con otra persona como rival o contra la pc, :) .
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on January 25, 2009, 01:16:50 AM
Jualas, te está quedando muy bien.
Ha mejorado la ia, pero sigue sin funcionar del todo :D, veo que hace cosas demasiado toscas.
1.- No comprueba bien las diagonales, de 6 que he jugado 6 le gané con ellas.
2.- A veces pone fichas en la "última columna +1" por tanto van a la nada, es cuando haces tres en la esquina final, intenta cerrarte la cuarta en una columna no existente ;D.
3.- Tampoco juega bien su turno de poner ficha, en dos casos le venía mejor colocar ficha en un sitio en las que ya tenía dos en raya y en cambio ha ido a poner una en donde solo tenía una ficha aislada.

En cuanto al aspecto visual, ya va muy bien.
Por cierto te veo liado con muchos proyectos, que si editor, que si juego 3d que si juego 2d, que si wiz, que si conecta 4, que si pruebo algun bug, killo como lo haces de donde sacas tiempo ? :D
Por otro lado y el wiz que tal?
 



Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on January 25, 2009, 01:33:01 AM
1.- No comprueba bien las diagonales, de 6 que he jugado 6 le gané con ellas.

ya veo, tendré que poner algunas trabas por ahí para evitar eso. se supone que las diagonales no deben dar problemas, sin embargo cae cuando te intenta bloquear otra, y por tal motivo  le ganas. revisaré.

2.- A veces pone fichas en la "última columna +1" por tanto van a la nada, es cuando haces tres en la esquina final, intenta cerrarte la cuarta en una columna no existente Grin.

mmm, eso está muy mal, tendré que pedirle que no revise en la última columna, al fin y al cabo ya no necesita bloquear ahí :)

3.- Tampoco juega bien su turno de poner ficha, en dos casos le venía mejor colocar ficha en un sitio en las que ya tenía dos en raya y en cambio ha ido a poner una en donde solo tenía una ficha aislada.

entonces cambiaré el cuarto paso del algoritmo, o quizá agregue otro.

Por cierto te veo liado con muchos proyectos, que si editor, que si juego 3d que si juego 2d, que si wiz, que si conecta 4, que si pruebo algun bug, killo como lo haces de donde sacas tiempo ?

je je, aun tengo 1 semana de vacaciones, por eso deceo terminar la mayoría de los proyectos antes de entrar, de lo contrario, ya no podré hasta las siguientes vacaciones. (las tareas casi no me dejan tiempo) :)

Por otro lado y el wiz que tal?
je je me he dedicado al conecte, para modificar el wiz, sólo necesito mover unas líneas, las de los enemigos, y las armas, pues como no las conozco sólo dejaré las primeras 3: el tiempo, la bolita y el que traspasa y destruye a su paso. tomaré gráficos originales, por pantallazos, y a tengo algunos.
como no conozco bien el nivel, no lo he terminado, creo que haré lo que conozco, y he visto que puedes subir a otro nivel y descender a otro, creo que lo evitaré. Si alguien se anima a tomar el proyecto y hacer el wiz completo, ya tendrá parte del código, sólo será necesario que agregue un poco y muchos gráficos (deceo aligerar la carga de gráficos, que no pese tanto) :)


Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on January 25, 2009, 02:43:16 AM
Muy bien pensado todo :D.
Nada haz lo que buenamente puedas, mejor que nada será :D.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on January 28, 2009, 06:35:55 PM
¿¿¿se parecen???

(http://i247.photobucket.com/albums/gg149/rolix1/Sinttulo-2.png)
(http://i247.photobucket.com/albums/gg149/rolix1/erttty.png)

creo que la única diferencia es que en mi wiz hay muchos enemigos en pantalla, nada que continues infinitos no resuelva, je je je... no no es cierto, necesito disminuir la cadencia de creación de enemigos, pero aún no :)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on January 28, 2009, 11:19:16 PM
Pinta muy muy bien, enhorabuena.
Esperando estoy pa jugarlo ;D.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on January 29, 2009, 01:34:14 AM
Muy parecido... yo normalizaria el tema de los fonts con el de los graficos... quiero decir que se vean un poco como con un antialias
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on January 29, 2009, 04:38:21 PM
QuoteMuy parecido... yo normalizaria el tema de los fonts con el de los graficos... quiero decir que se vean un poco como con un antialias

tienes razón. busqué una fuente parecida pero ne encontré nada, quizá tenga que buscar un poco más, pues yo también deceaba lograr un aspecto homogéneo.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on January 29, 2009, 05:18:09 PM
podrias capturar los graficos de los fonts y convertirlos a fonts de bennu, con un pequeño programita que vaya tomando los caracteres de los maps...
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on January 29, 2009, 11:11:31 PM
Quotepodrias capturar los graficos de los fonts y convertirlos a fonts de bennu, con un pequeño programita que vaya tomando los caracteres de los maps...

:) en realidad esa es una idea que tengo pero para el editor de fpgs para hacer fuentes a partir de gráficos, sin embargo se me traba cuando le pido que haga la fuente, o simplemente no la lee. tengo que aprender a hacerlo. :)

por lo pronto aquí hay algo para que me den su opinión.

http://rapidshare.com/files/191334814/apagame4be.rar.html
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on January 30, 2009, 06:54:31 PM
hola.
disculpen, he dado los últimos toques a mi wiz, y me gustaría agregarlo ya.
necesito borrar todos los gráficos que ya había subido, (actualmente todo el apagame4b en rar pesa 2.69mb), pero no se cómo borrarlo, subo toda la carpeta, o qué hago  ??? . gracias.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on January 30, 2009, 08:01:18 PM
subirlo a donde? al svn?
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on February 01, 2009, 02:24:04 AM
Quote from: Prg on January 30, 2009, 06:54:31 PM
hola.
disculpen, he dado los últimos toques a mi wiz, y me gustaría agregarlo ya.
necesito borrar todos los gráficos que ya había subido, (actualmente todo el apagame4b en rar pesa 2.69mb), pero no se cómo borrarlo, subo toda la carpeta, o qué hago  ??? . gracias.
Sí, exacto sube toda la carpeta, svn se encargará solo de borrar las imágenes antiguas, añadir las nuevas y cambiar las modifcadas.
Un ejemplo:
cd c:/
cd bennu
cd mis_proyectos
svn commit apagame4be

Siempre y cuando te hubieras descargado el directorio apagame4b con un svn checkout.
http://lihuen.info.unlp.edu.ar/index.php/Cómo_usar_SVN
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on February 01, 2009, 04:57:20 AM
svn no va a borrar lo antiguo, va a hacer un parche con las modificaciones con respecto a la version anterior y guardara en su base de datos, dichas modificaciones... con lo cual, siempre es posible recuperar una version anterior...

ahora si hay archivos que ya no van mas... haces un svn del archivos... esto solo significa que borrara estos archivos en esta version y siguientes... pero los mantendra para versiones anteriores... con lo cual, si en algun momento queres recuperarlos solo basta con traerte una version anterior...
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on February 01, 2009, 11:16:11 AM
:D, claro estás hablando de cómo funciona svn internamente, yo lo decía a nivel de usuario básico.
A efectos prácticos y usando siempre svn sin la opción -r, es como si se borrasen, modificasen y se añadieran los nuevos, ¿no crees? Bueno, haces bien en aclararlo, gracias.

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on February 01, 2009, 02:49:53 PM
claro, es como si se borrasen...
siempre me gusta aclarar eso, porque me parece una de las mejores caracteristicas, asi con esto decis adios a los archivos .bak... ya que en cualquier momento podes recuperar un archivo viejo...
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on February 01, 2009, 05:01:53 PM
 :) , ok, entonce subiré toda la carpeta. gracias por compartir sus conocimientos amigos :) . me alegra conocerlos...  ;)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on February 03, 2009, 10:27:18 PM
hola, creo que tardaré un poco más para subir la carpeta, quiero terminar conecte 4 para subirlo también, (quizá dos semanas más, para estar bien seguro). he estado revisando la inteligencia que me habías dado que está en C, sin embargo hay muchas cosas que no se parecen a nada en bennu [code language="bennu" options="singleline"]assert(!game_in_progress);[/code]
como esto, pero estoy investigando, de todos modos, no soy muy bueno jugando conecte 4 je je, así que aunque se entretenga la pc poniendo bolitas fuera del tablero, aún así me gana (http://i247.photobucket.com/albums/gg149/rolix1/Sinttulo-2-2.png)
no se burlen, las diagonales no son mi fuerte, y por ahí me gana.

disculpa, cuando me dijiste que le ganabas por las diagonales, era completando en forma ascendente o descendente, me refiero:

00001
00010
00100
0 000

ó

así:

000  0
00100
01000
10000

(el espacio en blanco es donde tú ponías) es que el juego no revisaba de la primera forma, sin embargo si le ganabas incluso de la segunda, entonces se la armabas buena, o estoy en serios líos, pues mi algoritmo está fallando.

Gracias.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on February 04, 2009, 03:57:08 AM
creo que tenes un equivalente a assert en una libreria de sandman...
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on February 05, 2009, 12:28:31 AM
Hola prg, he estado jugando de nuevo y me pasan cosas raras raras, si en la penúltima columna empiezas a hacer 4 y el ordenador te bloquea la cuarta y luego sigue él y después le bloqueas tu poniendo la última ficha posible de la columna, resulta que el ordenador no se da cuenta de que no caben mas fichas y sigue intentando poner ahí para intentar ganar.

Luego las diagonales no las tiene en cuenta, si intentas hacer cualquiera de las dos diagonales no te las bloquea da igual el sentido que hagas.

Creo que sadria mas a cuenta que replanteases la IA, he estado revisando el algoritmo que tienes puesto y está un poco caótico, dificil de segir, te propongo que escribas este otro
Quote
IA Computador
*************
       Repite para i=1 i<=numeroDeTresEnRayaOrdenador()
        Si (huecos_seguidos_libres_hacia_arriba()>=1 OR
       huecos_seguidos_libres_hacia_izquierda()>=1 OR
       huecos_seguidos_libres_hacia_derecha()>=1 OR
       huecos_seguidos_libres_hacia_diagonal_izquieda()>=1 OR
       huecos_seguidos_libres_hacia_diagonal_derecha()>=1)
          ponerficha();
          termninarJuego();
          return;   
          // Ganar
       FinRepite
       
       // numeroDeTresEnRayaOrdenador: devuelve el número de grupos de ficha que hacen tres en raya actualmente del ordenador. Idem para numeroDeDosEnRayaOrdenador pero con dos en vez de tres
       
       Repite para i=1 i<=numeroDeTresEnRayaJugador()
        Si (huecos_seguidos_libres_hacia_arriba()>=1 OR
       huecos_seguidos_libres_hacia_izquierda()>=1 OR
       huecos_seguidos_libres_hacia_derecha()>=1 OR
       huecos_seguidos_libres_hacia_diagonal_izquieda()>=1 OR
       huecos_seguidos_libres_hacia_diagonal_derecha()>=1)
          ponerficha();
          termninarTurno();
         return;   
       FinRepite

       Repite para i=1 i<=numeroDeDosEnRayaOrdenador()
        Si (huecos_seguidos_libres_hacia_arriba()>=2 OR
       huecos_seguidos_libres_hacia_izquierda()>=2 OR
       huecos_seguidos_libres_hacia_derecha()>=2 OR
       huecos_seguidos_libres_hacia_diagonal_izquieda()>=2 OR
       huecos_seguidos_libres_hacia_diagonal_derecha()>=2)
          ponerficha();
          termninarTurno();
         return;   
       FinRepite
       
       // fichas aisladas: que no forman ni dos ni tres en raya.
       Repite para i=1 i<=numeroFichasAisladas()
        Si (huecos_seguidos_libres_hacia_arriba()>=3 OR
       huecos_seguidos_libres_hacia_izquierda()>=3 OR
       huecos_seguidos_libres_hacia_derecha()>=3 OR
       huecos_seguidos_libres_hacia_diagonal_izquieda()>=3 OR
       huecos_seguidos_libres_hacia_diagonal_derecha()>=3)
          ponerficha();
          termninarTurno();
         return;   
       FinRepite
         
      // Si se llega aqui es la primera ficha en ponerse, se busca un sitio con cuatro huecos
      repite para i=0 i<ColumnasTablero
        Si (huecos_seguidos_libres_hacia_arriba()>=4 OR
           huecos_seguidos_libres_hacia_izquierda()>=4 OR
           huecos_seguidos_libres_hacia_derecha()>=4 OR
           huecos_seguidos_libres_hacia_diagonal_izquieda()>=4 OR
           huecos_seguidos_libres_hacia_diagonal_derecha()>=4 )
             PonerFichaEnHueco();
        Sino
            PonerFichaEnCualquierHueco();
        TerminarTurno();
        return;   
      finRepite     
     
      // Si se llega aqui es que no se ha podido poner ficha relevante, significa que nadie puede ganar ya, se produce situación de Tablas
      mostrar_tablas()
      terminar_juego()   
Falta el contenido de las funciones, pero esto ya es igual como se plantee mientas devuelvan lo esperado.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on February 05, 2009, 01:56:03 AM
QuoteHola prg, he estado jugando de nuevo y me pasan cosas raras raras, si en la penúltima columna empiezas a hacer 4 y el ordenador te bloquea la cuarta y luego sigue él y después le bloqueas tu poniendo la última ficha posible de la columna, resulta que el ordenador no se da cuenta de que no caben mas fichas y sigue intentando poner ahí para intentar ganar.

a mi también me pasa, y es que como acomodé la IA la última vez, pues está muy mal, y no me di cuenta, tengo un error fatal por ahí que ya había detectado, pero que decidí mejor seguir la IA de el documento C que me habías pasado, sin embargo si ya tienes algo, pues mejor lo utilizo :)

QuoteLuego las diagonales no las tiene en cuenta
esta raro, a mí sí me las bloquea, será la posición, total, seguiré lo que me pasas, y nadamás creo las funciones que faltan

:)

muchísimas gracias.
¿oye y del buscaminas, al final cómo lo dejaste. a mí se me ocurría un array private de boolean, y así explicabas el uso de punteros, algo que se puede volver complicado o muy útil, según el manejo? :)

gracias por la IA, me has facilitado mucho las cosas, ahora sólo lo entiendo  :)

¡¡¡saludos!!!
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on February 05, 2009, 09:54:42 AM
De nada por el algoritmo, como tal, no está probado puede que falten cosas, variables y/o funciones adicionales. Creo que las funciones de numero de tres (o dos) en raya debería quizas devolver un vector con la posiciones que producen tal efecto, para luego poner la ficha, depende un poco de la implementación que cada uno quiera usar.

En cuanto al buscaminas, yo no recuerdo haber empezado ninguno , ni siquiera habérmelo planteado. Puede ser interesante, quizas, luego cuando termine el manic miner (a lo mejor te referías a este) intente ponerme con este.

Actualmente estoy haciendo juegos de tablero digitales para algunos de estos a los que suelo hechar de vez en cuando una partida con los colegas. http://www.boardgamegeek.com/files/thing/15033

Son más fáciles de implementar que nada, consiste en crear procesos y darle movilidad nada mas :D.

Por cierto de camino podríais ayudarme con uno de ellos, bueno lo pongo mejor en mesa de ayuda.

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on February 05, 2009, 07:47:15 PM
Quoteluego cuando termine el manic miner (a lo mejor te referías a este)
je je, en realidad sí, no sabía cual era uno y cuál el otro, nunca he jugado manic miner y pensé que eran la misma.

QuotePor cierto de camino podríais ayudarme con uno de ellos,
sí, por supuesto. :) , ¿con qué?

oye, encontré algo que necesito cambiar de tu algoritmo, es que sería muy fácil ganarle de no ser así; te comento:

en número de 3 en raya jugador, no podemos permitir que revise cuando ya haya 3 en raya en forma horizontal, pues no se puede bloquear, el bloqueo inicia cuando hay dos en raya, lo que implica no sólo cambiar un poco esa parte, sino también revisar si ya está bloqueado en horizontal por un lado, y por qué lado bloquear, lo mismo pasa en las formas diagonales. he estado pensando, podrías enviarme una captura de cuando ganas en forma diagonal, pero marcándome la última ficha que pusiste y la última que la pc puso, es muy importante, para no cometer errores actualmente. ya no es necesario, ya veo que pasa, gracias.

también, en la parte final, no puedo poner terminar juego porque es muy posible que aunque yo no pueda ganar, el jugador sí, y también que el jugador no se de cuenta, por lo tanto, no le puedo decir que va a ganar y yo ya no, considero más prudente no pocer terminar juego  cuando la pc no puede ganar, creeme, eso puede hacer enojar al jugador pues puede que iba a ganar con una ficha más y no le das la victoria, sino un ¡fin del juego, empate!
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on February 05, 2009, 11:42:48 PM
Hola prg, tienes razón ,veo ahora que faltan cosas al algoritmo. Bastantes diría yo.
En realidad es un algoritmo para nivel de jugador novato, ya que si juegas intentando hacer dos por un lado dos por otro y luego poner una en medio y formar cinco de seguido no se daría cuenta y no te bloquearía. Pero eso es mas "power" ahora mismo no veo como quedaría el algoritmo para contemplar ese caso.
En cuanto a lo que comentas de generar tablas,es porque si no puedo poner ficha para ganar y no puedo bloquear al enemigo para que no gane, quiere decir que físicamente es imposible que gane cuando le toque porque yo no he podido poner ficha para que no pase, ¿comprendes?
Asi que para qué continuar, si es por placer de rellenarlo todo pues vale, pero lo veo ya una tontería seguir. No se si quizas el problema que ves venga por no contemplar el caso anterior también.

Sobre las diagonales, sí que veo que quizás como no es directo el bloquear tres seguidas, puesto que puede que en la columna en la que tengas que bloquear no haya fichas suficientes se commplica. Habria que dejar este caso para un nivel superior de IA por ahora :D, tampoco veo ahora mismo como ponerlo el el algoritmo para tenerlo en cuenta.

Debería programar el algoritmo y someterlo a pruebas para ver si falla, pero a priori no le veo fallos que provoquen que haga locuras, solo estas desventajas.

Pero que por mi parte no hace falta que lo hagas, solo son posibles alternativas. Puedes seguir con el tuyo.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Windgate on March 01, 2009, 12:39:55 AM
Guaaa, veo mucha comida de coco para el algoritmo xD
¿No hay nada por ahí en C o similar que se pueda traducir a Bennu y sea "perfecto"?
Ponernos a pensar el algoritmo ideal puede tomarnos mucho tiempo y no conseguir el resultado perfecto, seguro que alguien en su día lo programó y tendrá una solución bien buena.
Lo siento pero los clásicos no me motivan demasiado y no puedo ayudaros en ese sentido :(
Os sugiero "robar" una idea ya programada.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on March 01, 2009, 05:28:53 AM
je je, ya subí el conecte 4 y el wiz, a ver qué les parece.

Quote¿No hay nada por ahí en C o similar que se pueda traducir a Bennu y sea "perfecto"?
si, dcelso me pasó uno en c, pero como soy nuevo en c y llevaba mucho ya hecho, pues mejor lo hice yo.

ya está el algoritmo, no es tan bueno como el de c, es tardado, y le faltan cosas todavía, no se cuales, pero poco a poco las encontraré, es fácil ganarle, no se adelanta como nosotros esperamos, pero bueno, ya lo subí.

espero haberlo subido correctamente al svn.  :)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on March 12, 2009, 11:53:05 PM
PRG,
te han quedado muy bien el conecta4 y el wiz.
Cosas que me han pasado.
He compilado, he puesto el wiz , he estado jugando un rato y a mitad de pantalla pasa algo como que cambio de fase o no se que y se me teletransporta el personaje.
Tambien cuando me echo una barrera y caigo encima de un enemigo me matan, pero aparezco con la barrera puesta, luego al echarme la barrera de fuego se me quedan las dos puestas, ademas parece que nunca se terminan.
Mas cosas, doy a escape, e intento jugar otra vez y ya no hay enemigos, creo que le di a pararlos antes de que salieran y ya se quedaron parados para los restos al igual que me pasaba con las barreras.
Bueno doy a escape para salir y entro en conecta4 y no se me ve ni el tablero ni los personajes asi que tengo que salir del apagame y volverlo a ejecutar para probar el conecta4
En el conecta4:
ya no hace cosas raras la IA, como tirar en sitios donde no hay tablero.
Parece actuar inteligentemente para muchos casos, aún así le gané con una diagonal dos veces.
Luego he ganado una tercera porque me la ha regalado era una horizontal en segunda fila, resulta que me ha puesto una ficha en primera fila, dejándome poder poner una ficha encima suya y conectar4.

A ver si termino el manic miner y lo subo para incrementar el numero de juegos ;D, que lo tengo paradito.
También a ver si se anima alguien a colaborar con mas jueguecitos clasicos distintos. :D
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on March 13, 2009, 02:01:52 AM
estuve probando estos juegos despues de mucho tiempo...

cosas que note...

columns no terminaba mas... iba por el nivel 10... no se cuantas miles de lineas...
el pong el personaje que maneja la computadora es muy preciso...
tic-tac-toe es muy facil ganarle... uno no deberia ganarle a la maquina... en el tic-tac-toe solo puede ganar quien inicia, pero si uno sabe como es la logica del juego, y no es quien empezo, puede provocar un empate... no hay forma de perder en el tic-tac-toe, a menos que uno cometa un error...
el galaxian esta excelente... pero me parece que la nave se mueve un poco lento (o soy muy malo) porque pierdo muy rapido
el wiz, creo que hay problemas con los graficos, porque no veo al personaje, veo un cono, unos rayos y cosas asi...
la mayoria de los juegos al pulsar ESC en vez de ir al menu principal, salen...

luego estan todos bien y son adictivos... me mantuvieron un buen rato entretenido, salvo el wiz, que no pude jugarlo...

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on March 13, 2009, 02:03:16 AM
donde esta el conecta4? siguien usando el svn de google? yo baje todo de ahi desde cero...
otra cosa, no corre el dcb compilado, necesite recompilar.

creo que los problemas que mencione de los graficos se deben a mayusculas y minusculas en los nombres de los archivos... por favor, usar todo minusculas, asi es compatible con linux...
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on March 13, 2009, 03:52:22 AM
Quotehe estado jugando un rato y a mitad de pantalla pasa algo como que cambio de fase o no se que y se me teletransporta el personaje.

el problema del wiz de la pantalla que parece que te teletrasnportas es para cambiar de fase, ya ves que hay un lugar con árboles y otro de brincar, pero en el original no se ve cuando cambias de zona, en el mío se ve porque no había fade a 32 b, actualmente ya hay, así que en breve hago que no se vea al cambiar de fase, sino que se ponga la pantalla negra, y luego fade_on con nuevo nivel, así no será tan notorio.

Quotedonde esta el conecta4? siguien usando el svn de google? yo baje todo de ahi desde cero...
yo subí la versión con el conecte 4, y wiz funcionando, pero no se si dcelso tiene que aprovarla o algo así.

Quotelos problemas que mencione de los graficos se deben a mayusculas y minusculas en los nombres de los archivos... por favor, usar todo minusculas, asi es compatible con linux...

de ahora en adelante no uso mayúsculas :)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on March 13, 2009, 08:00:33 AM
Quote from: SplinterGU on March 13, 2009, 02:03:16 AM
donde esta el conecta4? siguien usando el svn de google? yo baje todo de ahi desde cero...
otra cosa, no corre el dcb compilado, necesite recompilar.

creo que los problemas que mencione de los graficos se deben a mayusculas y minusculas en los nombres de los archivos... por favor, usar todo minusculas, asi es compatible con linux...
He vuelto a probar a bajármelo y si que está el conecta 4. A mi me pasó una vez cuando al darle a compilar.bat dió un error, entonces como sigue la ejecución se levantó el dcb anterior por eso no se veían los últimos cambios.
Puede que te haya pasado algo parecido y que estés ejecutando un dcb antiguo, recompila.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on March 13, 2009, 09:23:40 AM
PRG,
he subido nuevos cambios, corrigiendo las mayusculas y minusculas de los nombres.
Por convenio se usará siempre minúsulas excepto para el "prefijo" de los juegos en el archivo principal, fijate que los que habían antes de los dos tuyos todos se llamaban TETRIS.prg, COLUNMS.prg, etc, he cambiado los tuyos.
También he corregido la entrada y salida de los menús, un escape en medio del juego va al menu del juego en concreto y un escape en el menú del juego en cuestión te lleva al menú principal.
NOTA: no se lo que le pasa al wiz, que si haces esto de entrar y salir con escape varias veces, se quedan procesos zombies o algo y va mal. He intentado revisarlo pero no conozco el código lo suficiente como para arriesgarme a tocarlo.
Sería aconsejable aplicar las reglas de estilo del documento que nos hizo amablemente SplinterGU siempre que se pueda y no contradiga a los convenios que vayamos adoptando.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on March 13, 2009, 09:54:47 AM
Quote from: DCelso on March 13, 2009, 08:00:33 AM
Quote from: SplinterGU on March 13, 2009, 02:03:16 AM
donde esta el conecta4? siguien usando el svn de google? yo baje todo de ahi desde cero...
otra cosa, no corre el dcb compilado, necesite recompilar.

creo que los problemas que mencione de los graficos se deben a mayusculas y minusculas en los nombres de los archivos... por favor, usar todo minusculas, asi es compatible con linux...
He vuelto a probar a bajármelo y si que está el conecta 4. A mi me pasó una vez cuando al darle a compilar.bat dió un error, entonces como sigue la ejecución se levantó el dcb anterior por eso no se veían los últimos cambios.
Puede que te haya pasado algo parecido y que estés ejecutando un dcb antiguo, recompila.

yo no baje del svn, baje los paquetes que estan en la pagina (rev61)... tengo que bajar el svn?

el dcb no me iba, asi que recompile...
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on March 13, 2009, 10:21:58 AM
ahora hice el

svn checkout http://apagame4be.googlecode.com/svn/trunk/ apagame4be-read-only

y ahi veo el connecta...

1) el pong al pulsar escape termina la aplicacion...
2) el tic-tac-toe, sigue siendo facil ganar... el truco para ganar es empezar con una punta, y luego elegir la otra punta contraria en diagonal, si logras eso en los 2 primeros movimientos, ya ganaste... lo que la maquina debe hacer es evitar esto... el tic-tac-toe no vuelve al menu principal con ESC, se queda en "pulsa intro para continuar" y si pulsas ESC ahi termina la aplicacion.
3) caramba, el galaxian, luego de matar a todo un ejercito (pantalla) de aliens, y morir con el ultimo que mate, no volvio a aparecer mi nave, estan los aliens toditos enteros, disprando, rotando, bajando y posicionandose, pero mi nave no esta... y me queda 1 nave. este juego tambien termina la aplicacion con ESC...
4) simpatico el conecta4, pero cuando pulsas ESC es como que no tiene un "while (key(_ESC)); frame; end", y pasa de largo por el menu y termina la aplicacion.
5) el wiz tambien esta fantastico.


ahhh, me olvide, al bajar del SVN, si bien ahora esta todo en minusculas, quedaron los archivos duplicados en mayusculas... quizas debas hacer un SVN del de esos archivos
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on March 13, 2009, 10:46:53 AM
Perdona, me anticipé al decir que ya estaba listo, vi que desde windows me dio error el commit de los archicos de cambios de mayusculas a minusculas. Al intentar bajarse dos archivos con mismo nombre pero uno en mayusculas y otro en minusculas se hace la picha un lío windows.
He tenido que bajármelo en un debian corregir las cosas y subirlo para arreglarlo, seguro que muchos lo vereis como otro punto a favor de linux :D, pero aún así prefiero windows, linux lo veo para ultrafrikis :D.
Ahora sí que está todo arreglado, excepto que la IA tictactoe sea tonta.
Lo del galaxian se lo dejo a su autor, kimeleto.
He visto un bug un poco grave en el wiz, si vuelves al menú principal con escape, no elimina un gráfico y este hace que no se pueda jugar bien a los demás juegos. Cuando pueda PRG que lo mire.

Por otro lado, sería interesante también leer códigos fuentes para ver qué mejoras se pueden realizar para que se entiendan facil todas las cosas y no quede nada en el aire.

Por cierto, solo quedan tres proyectos en desarrollo a incluir por ahora jet pac (kimeleto), pacman(tyco), manic miner(yo)
¿Como van?, bueno el manic miner se como va, parado por ahora :(.

A ver si alguien más de los nuevos se anima a colaborar se me ocurren mas motores de juegos diferentes a desarrollar:
un scroll vertical de naves: ejemplo starforce
un scroll horizontal de plataformas: supermario bross
uno de scroll horizontal en superficie: double dragon
uno de carreras en circuito cerrado: speed demons o supersprint o offroad
uno de puzles: splash, galspanic
¿Alguien se anima?
Recuerdo que solo seria hacer el motor de juego, con una fase sobaría para dar a conocer las técnicas a emplear en el desarrollo de un juego del estilo.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: TYCO on March 13, 2009, 07:41:36 PM
Por mi parte no he andado con mucho tiempo libre últimamente, por motivos laborales, virus y demás. Así el Pac-Man sigue más o menos donde lo deje. :-(
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on March 13, 2009, 08:56:42 PM
He visto un bug un poco grave en el wiz, si vuelves al menú principal con escape, no elimina un gráfico y este hace que no se pueda jugar bien a los demás juegos. Cuando pueda PRG que lo mire.

je je, es por no usar una global más, algo se me debió quedar por ahí. ok, reviso qué pasa. gracias dcelso.

Quotesimpatico el conecta4, pero cuando pulsas ESC es como que no tiene un "while (key(_ESC)); frame; end", y pasa de largo por el menu y termina la aplicacion.
ok, reviso splinter
gracias.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: kim-elet-o on March 13, 2009, 11:32:54 PM
Eeeeeestoooooo, el jet-pac, lo tengo un poco olvidado, tendre que ponerme a ello, estoy poco decaido por los problemas que hay en mi trabajo, ternemos un Ere (Expediente de regulacion de empleo para los que no son de los lares españoles), y se sortearan despidos a mansalva, y todo me hace sospechar que tengo todos los numeros, no me preocupa que me hechen, tengo el maximo del subsidio de desempleo, lo que me debe la empresa y la indenmizaciones me lo pagara FOGASA dentro de un tiempo, ademas tengo buen curriculum, lo que me estressa y me saca de mis casillas es la espera sin hacer nada de trabajo dentro de mi tiempo laboral y todo el mamoneo que comporta el proceso.

Perdonad todo el tocho, y voy a ponerme manos a la obra, ademas que el Jet-pac estaba medio-medio avanzado, y el bug del galaxian, jejejejejeje, splinterGU como demonios encuentras los bugs, cuando yo lo puse a prueba durante toda una tarde, en la cual estuvimos jugando los campañeros del "curro" (trabajo), bueno voy a ver si lo pillo, mira que es rebuscado, jejejejejeje.

Saludos a todos.



P.D: Bennu no lo tengo olvidado, cada dia miro con interes en el foro por si hay novedades, lo que pasa es que soy un vaguete del 15. :-[ :-[ :-[

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on March 14, 2009, 02:36:44 AM
espero que no te toque el despido... o quizas, pensando en el dinero que te toca, si, no se que prefieres... pero lo que sea espero que salga como deseas... yo se lo que es eso, a mi me toco...

con respecto al bug, no se, 2da vez que lo jugue, la primera despues que hice el svn co... y eso que me estaba entusiasmando... y me quede sin jugar... cuando me paso, tenia 2-3 bichos volando, hice unos disparos, los cuales acertaron a la vez que me estrellaba contra el ultimo que no habia sido alcanzado por mis disparos... en ese momento venia la nueva formacion de bichos, pero mi nave no aparecio nuevamente... y me quedaba 1 nave disponible... quizas esto te sirva para ver que paso...
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: TYCO on April 23, 2009, 10:05:28 AM
A ver si puedo terminar el PacMan que le quedan sólo un par de cositas y lo subo y así otro juego terminado.

____________________________
EDITADO
____________________________

Algunos juegos usan LOCAL... y eso es como GLOBAL, para todos... habría que... poner como en las GLOBAL "JUEGO_variable" o usar las PUBLICAS. Ya que las LOCALES las tendrán todos los juegos y no sólo eso... sino todos los procesos de cada juego, inluido el Menú de "Apagame", es mucho peor que una GLOBAL.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on April 23, 2009, 11:12:21 AM
Bien visto el fallo, habrá que cambiarlo tal y como dices.

Me alegra ver otro juego para el pack.

Yo tengo un motor pacman malo malo que hice para la crapcompo por si te sirve de algo.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: TYCO on April 23, 2009, 12:46:43 PM
En cuanto solucione el tema de las LOCAL, lo subo, porque practimamente lo demás está todo.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on April 23, 2009, 01:16:31 PM
ok, estaré al loro, gracias por la colaboración.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: TYCO on April 25, 2009, 05:45:37 PM
Ya está subido el PacMan. Solucionado tema de LOCAL ahora están como PUBLIC para no ocupar LOCAL en otros juegos.

Hay algún problema con la Paleta de colores (8 bits), no sé si será cosa de Bennu o del Menú del APAGAME, echale un ojo DCelso, porque a mi me funciona perfectamente sin meterlo en el Apagame.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on April 25, 2009, 06:05:08 PM
gracias tyco... 1 karma
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on April 26, 2009, 12:01:07 AM
ok, en cuanto tenga un hueco me pongo con ello a ver si lo cazo.
Gracias
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on April 28, 2009, 03:01:33 AM
Quote from: SplinterGU on March 13, 2009, 10:21:58 AM
4) simpatico el conecta4, pero cuando pulsas ESC es como que no tiene un "while (key(_ESC)); frame; end", y pasa de largo por el menu y termina la aplicacion.

hola, estaba revisando los errores que me comentaban, y no pude ver este bug, ¿actualmente existe? ¿o ya no?, gracias.
revisaré el wiz con eso del tiempo, y los gráficos que no se descargan bien :) . Nos vemos.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: TYCO on April 28, 2009, 07:45:07 AM
Hay problemas con SET_FPS y con los SET_MODE, yo lo he configurado en el PacMan a la hora de Salir del juego para ponerlos por defecto como los tenia el Menú de Apagame, pero creo que ha sido un error, habría que modificar relamente el Menú de Apagame, para que cuando se le llame (MENU();) setee de nuevo los SET_FPS y el SET_MODE.

Si no se hace cuando entras en determinados juegos que no setean los FPS algunos van muy rápido (cosa que me pasaba con PacMan).

Resumiendo para que el Menú no se vea afectado por cambios en otros juegos como "SET_FPS", "SET_MODE" y "Centrado de pantalla" propongo remediarlo moviendo de sitio este código:

    // RESETEAMOS LA SEMILLA DE RAND PARA VARIAR LA SENSACION DE ALEATORIO
    rand_seed(get_timer()+(time()%1000)*1000);

    // SETEAMOS LA PANTALLA
    set_mode(SCREEN_WIDTH,SCREEN_HEIGHT,SCREEN_DEPTH);
    set_fps(FPS_GAME,0);
    set_title("Classic Pack Games For BennuGD v" + VERSION);

    // OBTENEMOS LA RESOLUCION DE PANTALLA Y LA CENTRAMOS LA VENTANA EN LA PANTALLA
    get_desktop_size(&x,&y);
    set_window_pos((x/2)-(SCREEN_WIDTH/2),(y/2)-(SCREEN_HEIGHT/2));


Y ponerlo en "PROCCESS MENU ()" que ya sabemos es el Proceso que se llama al finalizar cada juego.

PD: DCelso has mirado algo de ese problema de Paleta de colores? crees será bug de Bennu? que opinas?
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on April 28, 2009, 07:54:41 AM
Lo siento, no he tenido mucho tiempo y el poco que tuve lo dediqué a votar la crapcompo.
Me pongo en ello en un poco de tiempo.
En cuanto la lo de los fps, se puede hacer lo que comentas, pero ¿no sería mejor que todos intentáramos usar los mismos fps?, la velocidad se puede ajustar por temporizadores o usando frame (lo que sea). Es que la idea es que cuando cambies la variable fps_game cambie la velocidad en todo el apagame, no solo en el menú. Bueno hablo sin ver código y no me acuerdo de mucho, a ver si reviso todo y gracias por la colaboración a los dos.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: TYCO on April 28, 2009, 07:59:45 AM
Es más leyendo a PRG... tambíen incluiría este código al INICIO del Proceso "MENU ()":

WHILE (scan_code  <> 0)
   FRAME;
END


Así evitamos salir del menú al mismo tiempo que salimos de un mini-juego. Es decir... esperamos a que se deje de pulsar cualquier tecla para mostrar el menú correctamente.

DCelso: Por mi PacMan no hay problema porque yo no usaba el SET_FPS, pero como otros juegos sí lo usan... mi PacMan ib más rápido si jugaba después por eso he tenido que meterle un SET_FPS(25,0); aunque pensandolo bien ya que FPG_GAME es 25, debería sustituir esa línea por SET_FPS(FPS_GAME,0); al inicio de PacMan. Pero el problema son otros mini-juegos que hacen SET_FPS distinto.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on April 28, 2009, 08:52:52 AM
TYCO:

1) Despues del load_pal agrega un "frame;", es la forma de decirle al motor que actualice la tabla de transparencias. Despues vere de forzarlo cuando se cambia la paleta.

2) Los recursos no estan como los demas juegos, o sea, dentro de la carpeta graphics, sounds, etc...

3) Los recursos estan en mayusculas y en el codigo los usas en minusculas... (no funciona en linux), todo debe ir en minusculas.

4) Muy buen trabajo, me gusta la version del pacman que hiciste.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on April 28, 2009, 09:16:49 AM
Juas, eso mismo iba a decir yo, se me adelantó Splinter.
Oye mola mucho, ta quedao bien, a ver como me quejo yo ahora :D.

Yo no recuerdo la versión de DIV, en verdad era tan bueno o lo has mejorado bastante.
Se ve muy fiel al original, aunque yo recuerdo que el parpadeo de los fantasmas iba aumentando a medida que se le iba el efecto, aqui parece siempre igual, no se, a ver como le saco puntillita al juego :).

En cuanto a los recursos, a ver, al principio se pensó en separarlos por tipo de recurso, por eso está así y se pensó en minúsculas para compatibilidad con linux, Luego ya en código los nombres de las funciones bennu si se usa la otra terminología.
Esto de que propones de separar los recursos por juego está también bien, puesto que facilitaría el extraerlos para hacer un juego único, si pensais entre todos hacerlo así pues cambiamos la terminología en todos, pero sino por ahora vamos a seguir como antes. ¿No?
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: TYCO on April 28, 2009, 12:12:17 PM
SplinterGU:

1) Así que es bug de Bennu no??? otro más a la lista.
2) Los recursos ya están como los demás juegos.
3) Los recursos ya están en minúsculas, debería funciona en linux.
4) Está portado de DIV con alguna mejora sin importancia.

DCelso:

1) En verdad era tan bueno, sólo he mejorado algunas cosas.
2) El parpadeo no recuerdo si el original parpadeaba más rápido, habría que encontrarlo en MAME o algo y probarlo. Ahora mismo cuando parpadean es para avisar de que están a punto de volver a su estado normal.
3) Lo he dejado como antes, pero se deja abierta esa posibilidad, a ver que dicen los demás.

Creo que está todo corregido, comprobarlo por si acaso.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on April 28, 2009, 01:56:28 PM
No se que pasó pero ahora el pang no me va, tendré que echar haca atrás en el versionado a ver cuando dejó de ir.
He detectado que el pong no vuelve al menú y que el muro va demasiado rápido.
¿Vosotros habeis visto algún bug en vuestras pruebas?
Los que veais podeis ir introduciendolos en la pestaña issues de su página web.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on April 28, 2009, 02:01:55 PM
1) Ahora recuerdo por que no se actualiza en el momento. Y no, no es un bug de bennu, esta hecho intencional, las paletas solo se actualizan en el momento del frame, ahora es posible crear muchas paletas a la vez y actualizar cosas asociadas a cada una en el momento que se modifica es antiperformante.
No, no es un bug.

----

otra cosa que note del juego... en el pacman original, cuando vos vas por un camino, podes anticipar los movimientos y al llegar al limite de la pared por donde estás el movimiento anticipado se efectiviza, aca esto no está sucediendo.
Ejemplo, estamos en la parte inferior moviendonos hacia la izq, y tenemos un hueco hacia arriba cerca, entonces aunque todavia no hayamos llegado a ese hueco, podemos pulsar la tecla hacia arriba y cuando llegemos al hueco, el pacman sube automaticamente.

Saludos.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on April 28, 2009, 02:05:47 PM
Splinter, a mi si que me va eso, es más no sé jugar sin hacer eso :(.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on April 28, 2009, 02:36:44 PM
Cuidado que no digo que lo tengas pulsado hasta llegar al hueco, sino que lo pulsas 1 vez, y luego al llegar lo hace... a mi no me va...

Evento 1:

            aca pulso arriba
            y suelto la tecla
                      |
                      v
---    -----   ------------   ----
                      C ->

Evento 2:


                   aca no tengo pulsado hacia arriba
                     y el pacman deberia subir solito
                                    ^
---    -----   ------------ | ----
                                    U
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on April 28, 2009, 03:37:55 PM
Ah, juas, ¿eso se podia hacer en el original? pues que paranoia, yo siempre he jugado dejándolo pulsado hasta que cambia de dirección :D.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: laghengar on April 28, 2009, 04:00:39 PM
Una pregunta: este pacman para el apagame nace del que hice yo para fenix???, lo pregunto porque me pediste que si lo podía adaptar para el apagame y si ya lo estás haciendo tú ya no me meto prisa (tengo pensado modificar el pacman para darle algo diferente por eso le pongo ahora pecomen en el otro foro). De todas formas estaría bien que lo adaptaras, no me molestaría, ya que tengo poco tiempo para liarme con él.

Un saludo.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on April 28, 2009, 04:19:35 PM
tyco estaba con el pacman desde tiempo atras, supongo que hizo su version propia.
pero si el tuyo es algo diferente ponlo sin problemas... o puedes ponerle los graficos del ms. pac-man o del pac-man jr.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: TYCO on April 28, 2009, 10:53:01 PM
laghengar:

Cierto que dije que tenía el PacMan pendiente, y no tenía mucho tiempo, entonces llegaste tú con que también estabas haciendolo, por eso te anime a incluirlo si querias. Siempre puede haber otra versión del PacMan para aprender mejor del código.

SplinterGU:

Algo me suena de eso, lo miro para añadir ese efecto de memoria de tecla.

PD: No sé si hacer los juegos tan completos... se sale de la Norma del Apagame, que supuestamente era para que los novatos aprendieran con poco código. Aunque también es verdad que yo en su día vote por hacer mini-juegos completos con detalle.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on April 28, 2009, 11:09:58 PM
Sí es verdad. Cada vez los juegos que se añaden son más competitivos.
Ya casi me da miedo meter un juego mio para eso de no bajar el nivel :D.
Yo puse eso de hacer una fase nada mas dejando ver como se hacen nuevas fases, etc. Pero está claro que está bien que haya de todos los niveles un poco ¿no?. Sin pasarse, claro está, no vayamos a meter un diablo 3 entero.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on April 29, 2009, 12:24:23 AM
En realidad solo debes guardar la ultima tecla almacenada, hasta que se pueda cumplir... cuando se produzca el movimiento, adios ultima tecla.

No es tanto nivel de detalle, y tampoco es complicado.

Dcelso, la idea de esto recorda que es para que los usuarios iniciados tengan juegos de ejemplo, asi que no es tanto juegos de calidad, sino que se entiendan facilmente, ahora si son de calidad, entonces mejor.
A esta consigna, se me ocurre que seria mejor tener los juegos separados, que usen un set de librerias (includes) pero que sean separados, con un menu lanzador donde se puedan agregar los juegos con simplemente agregarlos a un archivo de configuracion, algo asi como el scummvm o el mame... al tener tantos se esta empezando a complicar el codigo, mas para un novato.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on April 29, 2009, 01:58:52 AM
QuoteA esta consigna, se me ocurre que seria mejor tener los juegos separados, que usen un set de librerias (includes) pero que sean separados, con un menu lanzador donde se puedan agregar los juegos con simplemente agregarlos a un archivo de configuracion, algo asi como el scummvm o el mame... al tener tantos se esta empezando a complicar el codigo, mas para un novato.

estaría genial, no habría problemas de que no descargó todo adecuadamente, o que hay muchas globales, o que... con uno sólo exect, y cargar un dat para los valores de opciones,

yo te apoyo splinter :)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on April 29, 2009, 04:00:54 AM
yo diria:

1) un lanzador en la carpeta principal llamado "apagame4be"
2) 1 carpeta para las funciones en comun (funciones de lectura de configuracion, guardar puntuaciones, etc)
3) 1 carpata por cada juego (con sus recursos incluidos dentro, que deben respetar una distribucion determinada, esto es, los mismos nombres que se tiene actualmente)


Este lanzador podria tomar los juegos disponibles leyendo un archivo de configuracion o bien usando la funcion glob para determinar que carpetas se encuentran en su directorio de trabajo (donde se encuentra el lanzador), excluyendo la carpeta de recursos en comun y recursos del lanzador. Creo que esta opcion seria la mas adecuada y no implicaria tocar nada del lanzador con cada nuevo juego que agregamos.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on April 29, 2009, 07:47:17 AM
Es verdad, se me está yendo de las manos, lo siento. El proyecto que comentas es my pretencioso, podría ser un SUPER apagame.
Cre que se escapa de la finalidad que quería darle yo a éste.
Si tuviera tiempo haría un fork o proyecto a parte para ese que comentas.
Yo voy a intentar seguir con este proyecto, ahora mas o menos va bien, los juegos van incrementando dificultad poco a poco, pero no llegan a ser juegos completos sino, más bien juegos didácticos.
Cerraremos la entrada a juegosde más de una fase y con demasiada complejidad, por ahora, hasta que no haya proyecto hijo.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on April 29, 2009, 10:59:55 AM
Pero que va a ser pretencioso... al contrario...
Lo hago yo y luego te lo paso... incluso, si queres separo los juegos... vamos que es como robarle un dulce a un niño... :P
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on April 29, 2009, 11:38:39 AM
Hombre, pues gracias si lo haces.Te meto en el proyecto o que, necesitaría tu gmail cuenta.
Si insistes, pero que no hace falta, en serio, no quiero robarte tiempo del proyecto principal, que es el bueno bueno para todos. :D.


Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: laghengar on April 29, 2009, 11:54:16 AM
Bueno a mi me está interesando bastante el tema: agarrar juegos antiguos y hacerlos en bennu explicando como lo he hecho. Viendo que no puedo para nada desarrollar algún juego que se me pasa por la cabeza . A ver si puedo meter algo, este apágame tiene una fecha??? Espero que no, me voy a estresar.

Espero que así esté mejor explicado.  :P

Un saludo.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on April 29, 2009, 03:57:14 PM
Quoteeste apágame tiene una fecha??
no amigo, por fortuna creo que no :)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on April 29, 2009, 11:21:34 PM
Quote from: laghengar on April 29, 2009, 11:54:16 AM
Bueno a mi me está interesando bastante el tema, viendo que no puedo para nada desarrollar algún juego que se me pasa por la cabeza, agarrar juegos antiguos y hacerlos en bennu explicando como lo he hecho. A ver si puedo meter algo, este apágame tiene una fecha??? Espero que no, me voy a estresar    :'(

Queres decir que queres hacer el lanzador?
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: laghengar on April 30, 2009, 10:47:21 AM
No he entendido lo del lanzador. A que te refieres?
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on April 30, 2009, 11:01:10 AM
Quote from: laghengar on April 29, 2009, 11:54:16 AM
Bueno a mi me está interesando bastante el tema, viendo que no puedo para nada desarrollar algún juego que se me pasa por la cabeza, agarrar juegos antiguos y hacerlos en bennu explicando como lo he hecho. A ver si puedo meter algo, este apágame tiene una fecha??? Espero que no, me voy a estresar    :'(

No entendi que quisiste decir con esto...
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on May 01, 2009, 02:24:16 AM
Lo prometido es deuda...

Aca te dejo el codigo del lanzador basico del apagame4be.

Por ahora, hasta que no solucione el tema de la recuperacion del foco en la move_windows, dejare comentada las funciones de minimizado y restore cuando se lanza un juego.

La idea basica consiste, en tener una carpeta "games" con varias carpetas, 1 por juego. Esta version inicial requiere que los juegos se llamen igual que la carpeta y sean .dcb.
Se requiere el bgdi para ejecutar los dcb.
El siguiente paso seria ponerle un skin, si tienen un logo del proyecto se puede hacer un marco con el mismo, poner un font adecuado, como asi tambien que el menu sea una ventana de scroll. El salir podria ser un boton del skin.

Espero que sirva de algo, si no es para el proyecto, para cualquier uso.

Saludos.

[code language="bennu"]
//-------------------------------------------------------------------
// PROJECT: Classic Pack Games For Bennu.
// PROGRAM: apagame4be (launcher)
// AUTHOR/S: SplinterGU
// CREATION DATE: 2009/04/30
// REVISION:
// VERSION:
//-------------------------------------------------------------------

PROGRAM apagame4be; // clAssic PAck GAMEs for BEnnugd

CONST
    VERSION = "0.4";

    SCREEN_WIDTH = 800;
    SCREEN_HEIGHT = 600;
    SCREEN_DEPTH = 16;
    FPS_GAME = 25;

//******************************************************************************************************
// CODIGO INICIAL DEL PROGRAMA
//******************************************************************************************************

PRIVATE
    int i;
    int option=0;
    int textsTemp[100];
    int num_option;

    int selected=0;
    string * game_name = NULL;
    string args[10];
    string currdir;
    int ret;
BEGIN
    // SETEAMOS LA PANTALLA
    set_mode(SCREEN_WIDTH,SCREEN_HEIGHT,SCREEN_DEPTH);
    set_fps(FPS_GAME,0);
    set_title("Classic Pack Games For BennuGD v" + VERSION);

    // OBTENEMOS LA RESOLUCION DE PANTALLA Y LA CENTRAMOS LA VENTANA EN LA PANTALLA
    get_desktop_size(&x,&y);
    set_window_pos((x/2)-(SCREEN_WIDTH/2),(y/2)-(SCREEN_HEIGHT/2));

    while(glob("games/*.*") != "")
        if(fileinfo.directory && fileinfo.name != "." && fileinfo.name != "..");
            game_name = realloc(game_name, ( num_option + 1 ) * sizeof ( *game_name ));
            game_name[num_option++] = fileinfo.name;
        end
    end

    game_name = realloc(game_name, ( num_option + 1 ) * sizeof ( *game_name ));
    game_name[num_option++] = "Salir";

    For (i=0;i<num_option;i++)
        textsTemp=write(0,SCREEN_WIDTH/2,50+(i*10),4,game_name);
    End
    selected = selected_line(SCREEN_WIDTH/2,50);

    While(!key(_ESC))

        if ( key(_UP) )
            option--;
            selected.y-=10;
            If (option < 0)
                option=0;
                selected.y+=10;
            End
            timer[0] = 0;
            while(timer[0]<10 && key(_UP) ) frame; end
        End

        if ( key(_DOWN) )
            option++;
            selected.y+=10;
            If (option >= num_option)
                option=num_option-1;
                selected.y-=10;
            End
            timer[0] = 0;
            while(timer[0]<10 && key(_DOWN) ) frame; end
        End

        if ( key(_ENTER) )
            if ( option == num_option - 1 )
                break;
            end

            while (key(_ENTER)) frame; end

            signal(id, S_SLEEP_TREE);
            signal(id, S_WAKEUP);

            currdir = cd();
            chdir ("games/"+ game_name[option] );

//            minimize();

            args[0] = game_name[option];
            ret = exec( _P_WAIT, "bgdi", 1, &args );

            chdir (currdir);

            frame;

//            set_window_pos((x/2)-(SCREEN_WIDTH/2),(y/2)-(SCREEN_HEIGHT/2));

            while (key(_ESC)) frame; end

            signal(id, S_WAKEUP_TREE);
        End

        Frame;
    end

    let_me_alone();

    exit("Gracias por Jugar a Classic Pack Games For Bennu.\n",0);

END

PROCESS selected_line (int x, int y)
BEGIN
    graph = new_map(200,10,SCREEN_DEPTH);
    map_clear(0,graph,rgb(0,128,0));
    Loop
        Frame;
    End
    unload_map(0,graph);
END
[/code]

EDIT: Fixed!
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on May 01, 2009, 08:29:34 PM
Launcher Fixed!
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on May 01, 2009, 10:30:15 PM
QuoteEspero que sirva de algo, si no es para el proyecto, para cualquier uso.
je je, a mi ya me sirvió para revisar lo referente al uso de realloc y la gestión de memoria, gracias splinter, te doy un karma.


pd: se me ocurre que para que no existan problemas en cuanto a que el dcb y el prg...!!! se puede agregar primero una linea que compile como

nombre_arhcivo //con extención prg
ret = exec( _P_WAIT, "bgdc", 1, &nombre_archivo );
y luego el del bgdi
... por supuesto, esta linea se puede evitar, y además aumentar la velociada si se crea un bat que haga el dcb la primera vez que se ejecuta el juego, o si se distribuyen los dcb dentro de la carpeta del juego.
:)

es solo una idea, no le hagan mucho caso...
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on May 01, 2009, 10:56:40 PM
Claro que si, es posible, todo esto podria ser configurable o usar un comportamiento determinado... o si hay un exe ejecutar el exe, si hay un dcb el dcb y si hay un prg, compilarlo y ejecutarlo (todos estos projecto.extension)

Esto es un borrador, para poder tener algo simple, para arrancar con algo si se quiere implementar en el proyecto.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on May 02, 2009, 01:17:16 AM
Esta seria la idea.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: TYCO on May 02, 2009, 04:46:41 PM
RET me duelve -1, algún path no está bien programado.

ret = exec( _P_WAIT, "bgdi", 1, &args );

Y no habría que poner un ESPACIO detrás de BGDI??? es decir esto: "bgdi "???? o lo separa automáticamente???

Estaba buscando a ver si RET valía 3 y haber donde ponía el "hello word" y me he encontrado con eso.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on May 02, 2009, 06:03:29 PM
no, no hay que poner espacio, tenes que tener el bgdi en el path del sistema o en la carpeta del juego o ponerlo en la carpeta del apagame4b y cambiar la linea del exec, y poner en vez de "bgdi":

currdir + "/bgdi"

EDIT:
o

"../../bgdi"
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: TYCO on May 02, 2009, 07:48:48 PM
Con esto:
args[0] = game_name[option]+".dcb >Log.txt 2>Error.txt";
ret = exec( _P_WAIT, "../../bgdi.exe", 1, &args );


No consigo ver HELLO WORD en ningún sito ni un SAY que he añadido (no me crea los archivos LOG.TXT ni ERROR.TXT), y eso que en TEST.PRG he añadido esto:
import "mod_say";
import "mod_proc";

begin
    say("hello world MIO");
    exit ("hello world", 3);
end
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on May 02, 2009, 09:15:43 PM
jejeje... eso no es posible...

ahi solo pasas 1 argumento que es:

game_name[option]+".dcb >Log.txt 2>Error.txt"

la redireccion es solo un "feature" del shell, pero el comando exec no ejecuta ninguna shell, ejecuta el proceso directamente, por lo que los ">" pasan como parte del argumento.

proba agregar este codigo como un juego mas:


import "mod_say";

private
i;
begin

    for(i = 0; i < argc; i++)
        say ("argv["+i+"]="+argv[i]);
    end
end

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on May 03, 2009, 02:42:13 AM
tyco

intenta poner
"bgdi.exe"
(si usas windows)


Splinter, en windows si no pones el archivo con extención exe sale el mensaje:

Quote> Executing: C:\Archivos de programa\ConTEXT\ConExec.exe "C:\Bennu\bin\bgdi.exe" nuevo_editor

1852
visualizador_de_graficos: don't exist or isn't version 7 DCB compatible
> Execution finished.

el 1852 es el código que retorna (obtenido con say), y el mensaje aparece en la consola

si existe el dcb lo compila sin necesidad de pasarlo al bgdi, es extraño, pero muy interesante...  ;)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on May 03, 2009, 04:10:30 AM
No hace falta poner .exe, ya lo probe.

No entiendo lo que decis el conexec.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on May 03, 2009, 03:22:24 PM
vamos de nuevo ok...
tengo las librerìas de hace 3 dìas,

tengo un còdigo que dice asì:

[code language="bennu" options="singleline"]exec(_P_NOWAIT, "visualizador_de_graficos", 0, NULL);[/code]

y me escribe en la consola:

Quote> Executing: C:\Archivos de programa\ConTEXT\ConExec.exe "C:\Bennu\bin\bgdi.exe" nuevo_editor

visualizador_de_graficos: don't exist or isn't version 7 DCB compatible
visualizador_de_graficos: don't exist or isn't version 7 DCB compatible
visualizador_de_graficos: don't exist or isn't version 7 DCB compatible
> Execution terminated by user.

(por supuesto, el dcb no existe, pero el exe si)

si pongo

[code language="bennu" options="singleline"]exec(_P_NOWAIT, "visualizador_de_graficos", 0, NULL);[/code]

en la consola no escribe nada, y no solo eso, sino que funciona de maravilla (todo va bien)

____________   __________________    ______________     ___________________     _____________    _____

hice otra prueba: 

[code language="bennu" options="singleline"]say(exec(_P_NOWAIT, "visualizador_de_graficos", 0, NULL));[/code]

en la carpeta tenía el archivo: visualizador_de_graficos.dcb, y funcionó a la perfección, aunque el código que la función regresó fue el de abajo (lo de abajo es mi consola en el context).

Quote> Executing: C:\Archivos de programa\ConTEXT\ConExec.exe "C:\Bennu\bin\bgdi.exe" nuevo_editor

1896
1848
1852
> Execution terminated by user.

mi conclusión:

en linux funciona sin extención, en windows necesita la extención, de lo contrario busca el archivo con extención dcb, y si lo encuentra lo lanza sin necesidad de que le digas dónde está el intérprete (no me preguntes cómo, ni me veas raro, eso me sucede, en serio).


PD:visualizador_de_graficos es un exe creado con bennu, un dcb creado con bennu y un prg, todo está en la misma carpeta...

PD2: sería bueno que alguien más lo intente, para ver qué le da  ;)

pd3: en la consola aparecen 3 mensajes, porque ejecuto el exec 3 veces para ver qué pasa...

____________   __________________    ______________     ___________________     _____________    _____

hice otra prueba... resultados:

say(exec(_P_NOWAIT, "calc", 0, NULL));

funciona muy bien,

say(exec(_P_NOWAIT, "dxdiag", 0, NULL));

funciona muy bien

ante esto sólo se me ocurrió quitar el prg del "visualizador_de_graficos" y el dcb ...
pero me pasó lo mismo que antes, buscaba el dcb, y no ejecutaba nada, sólo enviaba el mensaje de que no encuentra el dcb...
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on May 03, 2009, 04:31:32 PM
:P :P :P !!!

1) http://forum.bennugd.org/index.php?topic=562.msg7064#msg7064 en este post

Quote
Returns

INT
-1    - Error.
mode==_P_WAIT:    - The exit status of the executable.
mode==_P_NOWAIT:    - The process ID of the executable. This is not a ProcessID, it is a process ID of the operating system.

2) Si tenes el bgdi renombrado como "visualizador_de_graficos.exe" pero no tenes el dcb, no va a funcionar. Eso es basico del bgdi.
Lo que pongas como parametro de programa a ejecutar debe ser un ejecutable valido.
No es la funcion exec la que busca el dcb, sino el bgdi o bgdi renombrado.

No, no lanza ningun dcb.

Yo ya lo probe en windows (con wine) y lo acabo de volver a probar en un windows real... y funciona de maravillas como digo.

Repito:

a) Funciona sin extension.
b) Lo que lanzas deben ser ejecutables.
c) No lanza ningun dcb. Si intentas lanzar un dcb, no se ejecuta, por mas que este asociado al bgdi.
Que te funciono cuando tenias el dcb, es porque tenias tambien el .exe llamado igual que el dcb, y en realidad solo se estaba ejecutando el exe y no el dcb, el dcb es un requisito del exe, por eso cuando no lo tenes no funciona.

A ver, pensemoslo un poco detenida y tranquilamente, y repasemos las reglas de ejecucion basicas de programas de un sistema operativo (no es ninguna ciencia).

1) Los ejecutables solo se ejecutan si estan en el PATH del sistema (variable PATH) o si se les especifica el path donde se encuentran.
2) Los argumentos son todos aquellos parametros que les pasamos a un ejecutable, el delimitador de estos parametros es el espacio no "scapeado" (entiendase barra espacio '\ ' ) o no encomillado (entre comillas dobles)
Un parametro es un parametro, si ponemos 2 parametros como 1, no pretendamos ver 2 desde el ejecutable. Poner 2 parametros desde en un argv[] es como encomillarlos.
3) Los retornos de los programas son enteros numericos (errorlevel) de 0 a 255.
4) Las redirecciones son features de la shell, no son parte de la ejecucion. Desde un programa para capturar las redirecciones hay que trabajar sobre redireccionamiento stdout y stderr, mediante pipes, u otras tecnicas. (cosa que escapa ahora del api bennu)

Esos son basicamente los tips que ahora mismo se me ocurren.

Por otro lado, la string que la funcion exit de bennu pide como parametro, es simplemente una string que se escribe en el stdout, es como hacer un say. Y esta string no se puede obtener con la funcion exec, escapa a cualquier valor de estado de la ejecucion del proceso, es solo un output (say/printf/etc) del ejecutable.


Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on May 04, 2009, 02:15:20 AM
:) gracias
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: TYCO on May 04, 2009, 07:09:18 AM
Ya me ejecuta el TEST.dbc desde el menú, pero sigo sin ver HELLO WORD en ningún sito.

import "mod_say";
import "mod_proc";

begin
    say("hello world MIO");
    exit ("hello world", 3);
end



Añadí al código esto:
args[0] = game_name[option];
args[1] = ">Log.txt";
args[2] = "2>Error.txt";

El valor 3 si lo veo bien desde consola que RET = 3. Pero... ¿Dónde se mete el HELLO WORD? Nunca llego a verlo.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on May 04, 2009, 11:19:51 AM
en la consola de ejecucion... nunca lo veras.

Repito:

1) el ejecutable solo retorna numeros, lo otro sale por la consola del operativo (a menos que ejecutes desde consola no saldra)
2) No podes hacer redirecciones asi. En todo caso deberias llamar a la shell (cmd.exe en winnt, command.com en w9x o sh en linux) como ejecutable y no al bgdi, sino el bgdi como parametro de la shell
3) 2 posts atras explique que estas cosas no se pueden.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on May 05, 2009, 08:46:38 AM
Muchas gracias SplinterGU,
en cuanto a las funciones y variables compartidas entre juegos como funcionaría el sistema?
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on May 05, 2009, 10:39:04 AM
De nada.

Funciones y variables compartidas deberian estar en un .h (para ser usadas con un include)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Windgate on May 06, 2009, 01:01:20 PM
Me he descargado la versión actual rev64 de http://code.google.com/p/apagame4be/

Me parece un proyecto muy bien planteado, escalable, bien organizado... Me gusta.

Lo he interpretado y veo la lista de juegos, puedo cambiar de ventana a pantalla completa, pero si uso las teclas direccionales para seleccionar uno de los juegos se me cierra la aplicación, ¿Qué puede pasar?

Sólo me ha dejado jugar al tetris porque estaba el primero de la lista, y no he localizado el control para rotar la pieza. Help! :o
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on May 06, 2009, 02:16:17 PM
Pues no se, se me ocurre que quizas sea problema de linux. A mi en windows, me bajo todo con svn, compilo y ejecuto y puedo ver todos los juegos.
Por otro lado está pendiente la migración al sistema propuesto por SplinterGU, así que las estructuras, forma de compilar y ejecución cambien un poco.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Windgate on May 06, 2009, 07:42:54 PM
Yo uso Windows XP (Forever), soy un pez en Linux y mira que estudio ingeniería informática y me lo han querido meter hasta por el... Pero estoy con Windows y tengo ese problema, ¿A alguien más le ha pasado? Tengo las DLL muy actualizadas, lo hago siempre que sale algo nuevo.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on May 06, 2009, 11:33:14 PM
A mi me funciona muy bien en linux...
Eso si, creo que no me va el dcb compilado en windows.

Tengo que revisar el tema de compilar cosas en uno y probarlas en otro (sirve compilar con wine y probar en linux).

Si alguien me puede ayudar con eso, y formar una base de ejemplos que funcionen y otros que no, seria grandioso.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Windgate on May 06, 2009, 11:49:27 PM
lol, debe de ser eso que dices SplinterGU, he intentado interpretar el .dcb y he tenido el error que os digo.

Es extraño eso de que los .dcb generados en Linux no siempre funcionen en Windows... La razón se me escapa, espero ponerme pronto a hacer pruebas con Linux y poder aportar algo en ese sentido... Si no ocurre siempre puede que sean algunas funciones determinadas las que provocan estos errores...

En cualquier caso, si el .dcb obtenido desde Windows está disponible me gustaría probarlo.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on May 06, 2009, 11:55:31 PM
debe ser alguna estupida diferencia en el dcb, que debo corregir...

compilar nuevamente en linux y deberia funcionar.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on May 14, 2009, 04:14:14 PM
hola, ya tengo el wiz corregido de eso del poder que se acababa antes de dejar de parpadear,  y creo que también de eso de que no descargaba todos los gráficos...

lo subo o mejor me espero para eso de la nueva forma de lanzarlos?
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on May 14, 2009, 06:12:57 PM
Subelo, aún no he tocado nada, si es que tengo muchas cosas a la vez y me bloqueo  y no hago ninguna :(.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Makinor on May 14, 2009, 07:46:35 PM
Hola...Podeis subir la ultima version con fuentes y recursos???

Es que no me tira la 64  con bennu 1.0 RC...asi que tendria que recompilar y asi de camino echo un vistazo a los ejemplos.

Gracias
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on June 01, 2009, 03:56:36 AM
PRG, necesito tu ayuda urgentemente (bueno eso de urgente urgente...), estoy portando el apagame al bennu wii y me he encontrado con que no controlo nada tu código del conecta4, he reducido los sizes de las imagenes pero aun asi no se ve entero en la pantalla. Hay que conseguir encajarlo en 640x480 y 8 bits de color.
Te paso los fuentes adaptados a wii, para que si puedes eches un vistazo al código. Recuerda NO subirlos al proyecto apagame de googlecode.
http://www.mediafire.com/?n5nnqdhkz0f
Gracias de antemano

En cuanto a wiz y a pacman, lo siento pero estos no puedo portarlos porque tienen miles de imágenes difíciles de portar a la paleta de 8 bits que usará el apagame wii. Quizas más adelante..
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on June 01, 2009, 03:58:19 AM
Makinor, no te lo vas a creer pero vi ahora tu mensaje, a ver la última que hay subida  es la últmia que hay y acabo de compilarla en bennu y va.
¿Cual es tu problema exactamente?
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Makinor on June 04, 2009, 01:34:33 PM
Hola...a mi la actual version se me sale directamente...por eso te decia que subierais los fuentes y demas para poder compilarla yo en mi equipo con la version actual de Bennu...un abrazo
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on June 04, 2009, 02:47:19 PM
hola, ya subí el wiz con las modificaciones pertinentes, pero observé algo que quiero comentar, si juegas un juego de 32 bits y luego uno de 8 bits, los gráficos del de 8 bits se corrompen, tal es el caso de jugar cualquiera de mis juegos y luego uno como el de las burbujas o el de pacman, bueno, esto desaparecerá cuando se use exec para lanzarlos :) saludos.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on June 04, 2009, 04:22:15 PM
hola, también me puse a hacer la versión que usa ejecutables, para ya evitar tanto problema, ahorita funciona a la perfección, aunque hay cosas que se pueden mejorar, no he adapatado el código de Splinter porque necesitaba mover cosas que ya había adaptado... je jeje... aunque recomiendo que en la mayor brevedad posible se adapte, ya que ese código hace todo de forma automática, al contrario del mío. subo el link para que miren la idea, y pues la nueva versión, que sinceramente tardé una hora y espero al menos la vean y le den una oportunidad, el prg se compila y ejecuta a la hora de lanzarce, así que todo cambio al código se verá inmediatamante al lanzar el apagame4be (esto lo digo porque querían que el que viera los juegos y modificare el código, que viera sus cambios inmediatamente). Hay posibilidad de hacerlo más bonito, como que al salir del juego regresemos al menú usando otro exec, pero no lo hice porque siento que ya modifiqué mucho el código ajeno... je je je... XD


http://www.megaupload.com/?d=QWWCV0N2 (http://www.megaupload.com/?d=QWWCV0N2)

oigan mírenlo eh >:( , ya que me tardé modificando el código de todos los juegos, uno por uno para adaptarlo, y creando funciones que quien sabe donde habían quedado, una que detectaba pulsaciones de teclado muy usado en como 3 juegos, y cambiando rutas, y... je ejj e, ok, ...   ;D  :D  ;)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on June 04, 2009, 08:23:23 PM
Ok, graciaas, prg.
No se si leíste el post que te pedía ayuda.
Estaba migrando la versión antigua de apagame a wii, esto implicaba cambiar a resolución 640x480 y 8 bits de color.
He  intentado adaptar el conecta4 a esta resolución, las imágenes ya están convertidas y se cargan bien, ahora lo que falla es el tamaño, hay que usar size para reducirlas a un 80 por ciento y realocar los textos a la nueva resolución, a ver si puedes echarle un vistazo y tocar solo el .prg, no quiero nada mas que cambios en el archivo conecte4.prg, los recursos ya me encargaría yo de adaptarlos.
Gracias de antemano.
Por cierto voy a ver todo lo que has subido y a ver si puedo adaptarlo con el codigo de splinter para cerrar este tema y reconstruir otra vez todo el subversion.
Gracias a todos.

Mira lo que le puse en el post de wii a kimeleto, que está haciendo lo mismo que necesito que hagas tu al conecta4 pero  con su galaxian.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on June 04, 2009, 08:54:44 PM
ok, ya vi, entonces reduzco las coordenadas internas a sólo 640x480 y 8 bits?
wow, ok
tendré que revisar cómo iba esto, que ya lo olvide, entendido amigo.

oye, me pasas el link de la descarga? no lo encuentro
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on June 04, 2009, 09:41:20 PM
http://www.mediafire.com/download.php?mmymmkkidz0
Si que estaba escondido sí, me ha costado encontrarlo hasta a mí :D.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on June 04, 2009, 11:14:51 PM
ya lo descargué, pero una preguntita, y el wiz?
comenzaré a adaptar todo, saludos
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on June 04, 2009, 11:46:11 PM
sipo ni el wiz ni el pacman los estaba migrando a la wii, porque tienen muchos recursos de imágenes y actualmente solo podemos tener en todo el proyecto una paleta de colores. Si puedes darle caña a este también para que vaya igual pero en 640x480, ya me encargaría yo de pasar a 8 bits las imagenes también.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on June 05, 2009, 12:47:12 AM
sipo, tienes razón, primero me encargo de este que ya va :) bueno, nos vemos
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on June 05, 2009, 03:23:56 AM
acabo de probar el juego con la RC2, y veo que van a tener que corregir algunas cosas.

paso a explicar, por seguridad la nueva version RC2 de bennu, no asigna nuevamente el primer id de file libre, sino que los asigna incrementalmente hasta que llegue al maximo que tiene reservado. esto es, el primer fpg sera el 0, el segundo el 1, etc... si descargamos el primero (0) el proximo que carguemos sera el 2... ya no mas el 0, esto es para evitar descargar con alguna variable vieja que ya descargo su fpg pero al seguir con valor puede apuntar a otro fpg que no le pertenece.

La cosa es que veo que muchos de los juegos que estan aca (galaxian, pacman, por ejemplo) no asignan file en todos los procesos, entonces asumen 0, y eso falla.

Solo hay que procurar asignar file al fpg cargado o generado.

Saludos.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Windgate on June 05, 2009, 08:46:57 PM
Interesante razonamiento xD
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on June 07, 2009, 02:10:18 PM
hola, este es el código del conecte 4 adaptado para funciónar en el wii, y para funcionar con las nuevas librerías sin interrupciones gráficas... saludos (agrego sólo el código del conecte4 ya que fue todo lo que modifiqué  ;))
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on June 07, 2009, 03:16:53 PM
con la nueva version y con el tema de los files, el apagame esta dando muchos problemas... otros no se si son de bennu o de donde... quizas el hecho de que ahora empieza en 32 bits, tampoco este ayudando.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on June 07, 2009, 04:06:50 PM
Quotecon la nueva version y con el tema de los files, el apagame esta dando muchos problemas...
ni tantos, lo que más me asustó es lo que dijiste de las cadenas, la verdad no me gusta tanto trabajar con arrays de chars como en C... en c extrañaba Bennu con sus strings...
pero en cuanto a los gráficos, pues no encontré muchos problemas, lo único que si que me tocó usar fpg_add para usar xput, y map_clone, pero eso fue todo, ahora me corre bien el conecte, no importa que salga y entre desde el menú las veces que quiera...
Quotequizas el hecho de que ahora empieza en 32 bits, tampoco este ayudando.
¿a qué te refieres con esto amigo?  :)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on June 07, 2009, 05:55:21 PM
Vamos por partes
1) nadie dijo que es obligatorio trabajar con arrays de chars.
2) esto existe desde toda la vida desde cuando era fenix
3) sigues con las strings de forma habitual, no entiendo a que te referis.

Me refiero a que si ejecuto por ejemplo galaxians, salgo, y voy a ejecutar pacman, ahi se ve todo mal.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on June 07, 2009, 06:10:14 PM
QuoteVamos por partes
1) nadie dijo que es obligatorio trabajar con arrays de chars.
2) esto existe desde toda la vida desde cuando era fenix
3) sigues con las strings de forma habitual, no entiendo a que te referis.

ohhh, genial, pensé que los strings ahora eran como en c, simples arrays de char y ya, pero creo que ya entendía, es que no los he probado :)
QuoteMe refiero a que si ejecuto por ejemplo galaxians, salgo, y voy a ejecutar pacman, ahi se ve todo mal.
te entiendo, eso es lo que explicaba anteriormente que solucióne en mi conecte4. con la frase
Quoteahora empieza en 32 bits
te referias a eso? esa era mi pregunta, es que no entendí que querías decir aquí, jeje je, perdón
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on June 08, 2009, 06:25:03 PM
A ver, he probado el conecta 4 y , a parte del problema con los fnts,va guais, gracias. Voy a probar lo otro que dejaste.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on June 08, 2009, 09:52:40 PM
QuoteA ver, he probado el conecta 4 y , a parte del problema con los fnts,va guais, gracias.
como dijiste que de los gráficos tu te encargabas... pensé que tembién de las fuentes.. XD je ej je, quieres que haga otra fuente? solo dilo :)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on June 08, 2009, 10:22:43 PM
no, no, perfecto. Ahora es que tengo problemas con incrustarle la paleta de colores que uso en todo el apagame a los fnts, se me queda como grogui el fnteditor, me da qe voy a tener que deputarlo con delphi, total ya que me puse con el fpg edit otro más no pasará nada :D. A no ser que me digais otra alternativa para cambiar la paleta a los fnts.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on June 08, 2009, 11:20:58 PM
mmm
podrías cargar la paleta en el editor fpg que hice, cargar la fuente, darle a ins letras, y guardar la fuente y quedaría auntomáticamente guardado con la fuente correcta... (la versión actual publicada no funcionaria, pero la que tengo en mi poder si)
o podrías darme la paleta y yo lo haría (creo que esa función está correcta en el editor, si no pues te lo diría, y harías lo que tenías pensado).
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on June 08, 2009, 11:32:26 PM
Oh, pues gracias sería de gran ayuda. La paleta está dentro de todas las imágenes png del proyecto, si quieres te paso una. Me adelantarías trabajo si se las pasases a las tres fuentes que hay en el proyecto ;)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on June 09, 2009, 01:23:32 AM
okis, el editor no me está cambiando paleta...(me guarda la paleta con la misma anterior) haré un código que lo haga, quizá para mañana lo tenga :)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on June 09, 2009, 02:38:27 AM
terminé antes de lo planeado, aquí tienes las fuentes :)

son fuentes comprimidas de bennu, así que el fnt editor de windows no las carga, pero cualquier programa bennu si, y su peso se redujo considerablemente, hasta 7/100 de su peso original

ya las probé y funcionan a la perfección
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on June 10, 2009, 01:26:55 AM
fucking shit!

me volvi loco con el pacman y las paletas... debugue, modifique el tema de las paletas (de paso corregi algunas cosas sobre reservarlas y liberarlas, aunque no afecta al juego) y el problema es que esta mal la string de la carga...

donde dice:

    load_pal("dat\pacman\pacman.fpg"); // Carga la paleta de 8bits

debe decir

    load_pal("graphics\pacman\pacman.fpg"); // Carga la paleta de 8bits
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on June 10, 2009, 07:50:43 AM
gracias a todos, se me acumulan las cosas a probar y las cosas a realizar. Tengo que ponerme las pilas.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on June 12, 2009, 01:06:56 AM
Sorry Prg, dejé esto parado por culpa del fpg edit, voy a retormarlo
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on July 22, 2009, 06:53:05 PM
Refloto esto para decir que no lo he olvidado, tengo que ponerme pero no encuentro hueco.
Por cierto kimeleto ¿como llevas el jetpac?, igual que yo el manic miner supongo, parado :D.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: kim-elet-o on July 23, 2009, 07:56:16 AM
Po zi, un poquitin bastante parado, soy bastante.... no, muy pero que muy irregular en mis proyectos, no tengo escusa, sorry.

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on October 19, 2009, 04:10:02 PM
Buenas a todos,
he adaptado el proyecto al sistema que propuso SplinterGU, necesitaría que lo revisaseis alguno por que se me escapó algo.
Sobre todo el como wiki de como insertar un juego.
En teoría ahora no habría ninguna regla de programación extricta ya que se ha independizado la compilación de los juegos unos de otros, pero lo suyo es guardar un aspecto y modo de programación común, por eso lo del wiki.
http://code.google.com/p/apagame4be/wiki/ReglasParaCrearJuegos
Por cierto DJSonyc no estaría de mal en este proyecto una versión reducida de tu armymovies, una versión con solo la primera fase reducida y sin mucha complejidad donde mostrar el motor de creación del juego. Para que otros puedan hacer juegos de ese tipo :D.

Si no quereis usar un cliente SVN o CVS para descargar el código fuente os podeis descargar el zip desde aqui
http://code.google.com/p/apagame4be/downloads/list
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DjSonyk on October 19, 2009, 04:54:13 PM
Puesto que ahora Army esta desarmado te voy a dejar uno de naves que causualmente solo hay una fase XD,lo adato y te la envio...
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: panreyes on October 19, 2009, 07:41:09 PM
Propongo GENERAR el menú principal y la parte de los includes. ¿Cómo? Con magia.
¿Me dais permiso? xD

Mmmm.... valep, creo que me retracto :S
Me gustaba más el método de antes, teniendo todos los juegos juntos, aunque este es más libre.
De todas formas, cuando abro uno de los juegos me dice que si quiero "finalizar la tarea que no responde", refiriéndose a la ventana del menú :?
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on October 19, 2009, 08:07:16 PM
A mi también me gustaba más el otro, pero este para sistemas pequeños de memoria va mejor ya que no tienes todo cargado en memoria a la vez. :D.
Esto es como todo, tiene sus pros y sus contras pero como ventaja al otro, un iniciado que quiera hacer un juego like, puede extraer más facilmente el código necesario para empezar su proyecto así que lo veo mejor para el objetivo que tiene el proyecto.
¿Que opinais vosotros?

En cuanto al problema que comentas, pixel, he probado en dos equipos distintos y no me da. Yo ejecuto el compila.bat y me aparece el menú, selecciono juego, me salgo con escape, vuelvo al menu selecciono otro juego doy a escape, vuelvo al menu, doy a salir y sale bien. no se me cuelga nada. Si intentas hacer alt +tab cuando estás en un juego ves la ventana del menú pero se queda bloqueada ya que se ejecuto con P_WAIT.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on October 19, 2009, 11:23:56 PM
el problema con el metodo viejo es que no siempre se liberan adecuadamente los recursos o no se reinician las cosas... se asumen defaults de arranque de bennu... y lidear con eso es bastante molesto... entonces lo mejor es que cada juego sea su propia isla... pueden usar codigo fuente en comun... pero el ambito de ejecucion es propio de cada uno...
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on October 19, 2009, 11:28:30 PM
por favor, intenten incluir las versiones de pacman y galaxian que estan en el paquete de bennu wiz... que tienen algunas cuantas correcciones y mejoras...

recomiendo tambien que hagan mas humana la partida del galaxian... las naves enemigas son directamente kamikases, y casi no dan posibilidad de escapatoria... creo que el angulo de ataque se ajusta demasiado a la nave, estuve jugando en el original y el angulo con que cae en caida esta un poco limitado, o sea, que permite la posibilidad de un escape relativamente facil...
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DjSonyk on October 20, 2009, 12:34:03 AM
Hablando del Galaxian,a mi no me aparecen los graficos,si el fondo ,pero los graficos no... no se porque,mañana cuelgo el juego DCelso que hay cosas que no entiendo como funcionaban en DIV2 me parecen raras, Bennu no van y me toca corregirlas...
¿que cosas?...Pues tenia para las colisiones algo asi

ID2=Collision(id_nave);
IF (collision)
   signal(id2,s_kill)...ect
pero en bennu se corompe diciendo que no existe el proceso y hay bastantes xD ,ademas no se que tocado que los disparos ahora no van perfectamente ^^,mañana lo tienes ,espero...  :D
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on October 20, 2009, 03:05:29 AM
prueba la version del paquete bennu wiz... ahi si van los graficos... es cierto lo que dices, en linux no van...
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on October 20, 2009, 10:25:04 AM
He insertado los cambios del pacman y galaxian para la wiz, le he insetado unos sonidos al galaxian y finalmente he adaptado apagame para que funcione en la wiz. Dejo el enlace con los binarios aqui, están en formato wiz pero sirven tanto en windows como en linux como en wiz con la última versión de bennuGD.
http://www.mediafire.com/?zmn0qekmzzd
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DjSonyk on October 20, 2009, 04:04:27 PM
Aqui tienes DCelso ,esta documentado aunque ya sabeis que yo me explico fatal xD

http://www.mediafire.com/file/v12uojgnq2z/NAVECITA.rar
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on October 20, 2009, 05:58:48 PM
Está muy chulo, yo lo veo un poco dificil, pero una cosa ¿es un juego original o un remake? no me suena.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DjSonyk on October 20, 2009, 06:57:23 PM
Puedes cambiar la variable dificultad para que sea mas facil ,está explicado ^^.No, es original mio,y es el siguiente proyecto que quiero hacer despues de army,pero será seguramente a alta resolición ,32 BITS,que he visto que quedan muy chulos los juegos de masacramarcianos con luces resplandecientes ^^....y originalmente es para 2 jugadores pero como me dijistes algo sencillo lo quité,y para que no pesara quité la fase ,como puedes observar solo est,a el fondo,me alegro que te haya gustado,la guerra que me ha dado pasarlo xD
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on October 20, 2009, 08:01:01 PM
Ok, probaré.
Lo que pasa es que habrá que buscarle algún parecido y/o ajustarlo a algún juego clásico conocido sino saldría del objetivo del proyecto.
¿Te basaste directa o indirectamente en algún juego que conocias?
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DjSonyk on October 20, 2009, 08:46:12 PM
AH,ya entiendo lo que querias :(.... no pero le puedes decir que es un remake del R-Type o del Salamander xD ,hummm podria hacer algo de algun clasico,de todas formas de ahi lo de Pack of classic XD,lo siento pense que querias algo como ejemplo de hacer juegos y pense que con el galaxian sin scroll y este .....
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DjSonyk on October 31, 2009, 11:17:07 PM
Aqui te dejo como llevo lo del la version para APAGAME Classic no he tenido mucho tiempo pero para que te hagas una idea y me cuentes que te parece...

http://www.mediafire.com/file/5z0fdycfmmo/Gauntlet.rar
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 01, 2009, 03:18:25 AM
te está quedando muy chulo, sigue así, pero
¿por qué no estás usando el formato que te pasé (en el post del motor beatem up) para que sea compatible con APAGAME?
¿No te gusta?
http://forum.bennugd.org/index.php?action=dlattach;topic=857.0;attach=618
A ver, como no lo uses me va a tocar a mi readaptar el juego entero otra vez con la paliza que me dí la primera vez :'(  :'(
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DjSonyk on November 01, 2009, 01:59:38 PM
Si te refieres a lo de las paredes por procesos ,en las primeras pruebas vi que se ve un barrido bastante feo y solo con las paredes,si ademas metemos mas procesos de enemigos,items,generadores ect seguramente el barrido sea aun mayor :(, por otro lado me tirado el tiempo que tenido para hacer las paredes,no me gusta ninguna,se ven como aplastadas,me instale el Get Mediaval y el mame hasta puse la megadrive con el gauntlet 4,pero no consigo que hagan el mismo efecto Xd,esas son las que me han quedado mejor respecto a la perperctiva las tengo mejor en cuando a colores pero como te dicho aplastadas,y cuando a lo demas tranquilo ,solo estoy con las pruebas ya le ire poniendo los de las teclas y demas ^^,me falta la animacion del personaje que tampoco me sale....puff!!! va ser todo una azaña XD...no te lo he puesto para que lo vallas hechando un ojo y me cuentes ...ya le empiezo adaptar a APAGAME que para eso es,no?
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on November 01, 2009, 03:28:30 PM
exacto, si te descargas el línk verás una plantilla del garlec que hize con los gráficos antiguos en el que la estructura de directorios, archivos y procesos es la de APAGAME.
Sigue como gustes, mientras que al final se pueda meter en el proyecto pues nada, da igual como hagas el camino :D.

En cuanto para la animación del personaje, yo tengo algún ejemplo de animación de personajes, puedo pasártelo si lo necesitas pero básicamente lo que tienes que hacer es:
*crear dos imágenes para cada dirección
*antes del bucle del proceso del personaje crear una variable tiempo_inicial = gettime().
*en el bucle del proceso poner tiempo_actual = gettime() - tiempo_inicial
* y luego comprobar si se pasó el tiempo de cambio de imagen y cambiar el graph en caso afirmativo
if (tiempo_actual >= 200)
   graph++;
   graph%=2;
end
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DjSonyk on November 01, 2009, 04:49:33 PM
Jejeje a la animación me refiero a los dibujitos que me estan trallendo por la calle la amargura :(
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DjSonyk on November 18, 2009, 10:16:00 PM
Nueva version aunque aun falta bastante por falta de tiempo,y caundo he tenido algo he estado con los de problema de peloton xD

Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on November 19, 2009, 02:54:39 AM
gracias karma++
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on March 24, 2010, 01:30:03 PM
galaxian?, eso me recuerda a .. ¿como llevas el jetpac?.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: kim-elet-o on March 25, 2010, 09:24:00 PM
Ejem, como lo diria...., mas bien muerto si quereis os paso el trabajo que llevo hasta ahora, no tengo excusas, soy muy irregular, jejejejeje, ademas el profesor como premio de haber sacado en esta evaluacion un 9 en programacion modular y estructurada, me esta dando trabajo extra, jejejejeje, quiere que haga una agenda telefonica con listas ordenadas por un indice, voy a tener que hacer un extra esta semana santa.  ::) ::) ::) ::) :D :D :D :D
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on March 26, 2010, 12:41:58 AM
fale, pásamelo a ver si lo puedo terminar, pasamelo si queres a mi cuenta de gmail la tienes en el apagame si no la recuerdas.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: kim-elet-o on March 26, 2010, 08:53:28 AM
Perdona mi torpeza, pero no he encontrado tu cuenta de gmail en el apagame, cuelgo aqui el fichero de los recursos del jet-pac. ;D ;D
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on March 26, 2010, 09:46:32 AM
ok, po fale, gracias de todas.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: josebita on March 26, 2010, 10:37:31 AM
Os estais yendo un poco por las ramas... Es un poco offtopic.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on March 26, 2010, 12:26:49 PM
sipo, aluego lo muevo si me acuerdo.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on March 26, 2010, 04:42:51 PM
tema combinado!
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on July 07, 2010, 08:50:41 PM
nueva versión de wiz y conecte4

http://www.mediafire.com/?jczhzmmimm5

wiz ahora tiene 1069 en lugar de 1624 lineas de código y se eliminaron todas -1 globales y todas las locales

conecte4 pasó de 1849 a 1119 lineas, sólo que ahora usa archivos .arbol
en conecte4 también eliminé todas las globales excepto una, y todas las locales.
las constantes de ambos juegos se manejan por defines

se corrige bug de que al salir y entrar los gráficos no se veían y que no se descargaba el fpg.

se usa el modo de video y los fps con los valores
SCREEN_WIDTH = 800;
    SCREEN_HEIGHT = 600;
    SCREEN_DEPTH = 16;
    FPS_GAME = 25;

y se disminuye el peso de gráficos en ambos.

en wiz se eliminan las zonas, y sólo se dejan 2. intenté que fuera una, pero mi editor de gráficos no soportaba gráficos tan grandes así que dejé uno de más de 5000 y otro de más de 4000 pixeles.

ahora los bloques de ladrillos en el wiz se destrullen con los disparos

se guarda mayor record en wiz

se agregan algunos detalles.

en conecte4 se mejora la capacidad de reconocer patrones mediante árboles. sigue sin poder ganar, pero al menos ahora es menos tonto y sólo le ganas si logras ganarle por dos partes
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: SplinterGU on July 08, 2010, 12:42:06 AM
fantastico prg!

karma por no abandonar el proyecto y por el update, claro!
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Prg on July 08, 2010, 02:01:51 AM
gracias,  :) ahora solo falta que dcelso se pase por aqui para que los suba al svn, en el link vienen los archivos de mis juegos, pero para que compile el apagame4be.prg se necesitan lo archivos de los otros juegos.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: FreeYourMind on July 08, 2010, 04:54:12 AM
Si os fijais DCElso esta siempre online pero no da señales de vida...
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on July 15, 2010, 02:38:34 PM
Lo siento, una mala racha personal, hizo apartarme de la scene. He perdido gran parte de mis trabajos ya que mi ex se llevó el portatil en el que trabajaba con ellos.
Espero ponerme al día pronto y volver a estar tanto o más activo que antes.
En cuanto saque un hueco añado los cambios a SVN.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DjSonyk on July 15, 2010, 02:39:33 PM
Bueno al menos nos alegramos de que estes bien y que se te vea por aqui.... ^^
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on July 15, 2010, 02:41:31 PM
En cuanto a que esto conectado siempre, nose, debe ser un fallo del sistema porque vamos llevo sin conectarme lo más grande. :D
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: FreeYourMind on July 15, 2010, 06:06:47 PM
Quote from: DCelso on July 15, 2010, 02:38:34 PM
Lo siento, una mala racha personal, hizo apartarme de la scene. He perdido gran parte de mis trabajos ya que mi ex se llevó el portatil en el que trabajaba con ellos.
Espero ponerme al día pronto y volver a estar tanto o más activo que antes.
En cuanto saque un hueco añado los cambios a SVN.

Hay las mujeres... Ese juego con gráficos cojonudos, pero con unos bugs de programación impresionantes, que vuelven loco a cualquier programador  ;D

(http://membracid.files.wordpress.com/2007/02/avatar.jpg)
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Drumpi on July 17, 2010, 12:14:10 AM
Me alegro de verte y de que estés bien, espero que esa mala racha haya pasado del todo y de que todo vuelva a un cauce más o menos normal.

Lo que me intriga es ¿qué hace tu ex con tu portatil? más que nada, porque es raro que a un programador lo dejen sin su herramienta de trabajo (o más bien, su adicción :P).
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: DCelso on July 17, 2010, 03:25:17 AM
Era suyo, yo to ahi gorrón usándolo :D.
Title: Re: A PAck of classic GAMEs for BEnnugd
Post by: Drumpi on July 17, 2010, 01:16:27 PM
Y obviamente, como todo buen informático, sin hacer copias de seguridad del trabajo llevado a cabo :D
¿O era simplemente para tener una excusa para ir a verla? ;D