Proyecto a elegir y Organización

Aquí encontrará diversas conversaciones sobre el rumbo del proyecto y tareas que se planifican a corto plazo.

Cual Desarrollamos

La encuesta terminó el Mié Abr 02, 2008 9:17 pm

PONG
1
13%
TETRIS
5
63%
Naves (Scrolling vertical)
2
25%
 
Votos totales : 8

Proyecto a elegir y Organización

Notapor drincast » Mié Mar 26, 2008 9:17 pm

Saludos, bueno los proyectos de PONG o el Tetris son buenos para comenzar (aunque quisiera que fuera un juego de naves con scrolling), entre estos dos selecciono el tetris.

El aspecto clave aquí para poder comenzar a trabajar con código es el manejo del sistema de control de versiones, yo hasta el momento no he trabajado con algún software que administre el control de versiones los controles que he hecho con algunos amigos se han llevado a cabo manualmente y no es algo con muchos lineamientos. Creo que alguien del grupo que haya maneja un poco un software de administración de versiones debe proponer el tema o mejor dicho guiar al grupo a un debate y que nos enseñe un poco sobre el manejo de alguna herramienta en particular.

Pero podemos comenzar por organizar un poco las ideas, pues yo el año pasado empecé a escribir como una especie de guía de desarrollo de videojuegos, esto es un documento técnico que describe un poco como se debe organizar los archivos que llevara el video juego, como el código fuente, las imágenes y sonidos, quiero compartirlo con ustedes pero necesito su correo electrónico para enviárselos. El documentó no esta terminado y prefiero que lo revisen y aportemos entre todos modificaciones o nuevas ideas.

Otro documento es uno de requerimientos para el videojuego, en el cual se debe describir lo que debe cumplir el videojuego a desarrollar, este es como una especie de plantilla a llenar.

Mientras el valiente que quiere encargarse del control de versiones y de difundir sus conocimientos, podemos ir seleccionando que proyecto vamos elegir (Tetris o el PONG), como nadie coloca fecha, me atrevo ha hacerlo creo que el tipo de proyecto a desarrollar lo debemos tener definido como máximo hasta el próximo lunes.

Otra cosa que podemos ir haciendo mientras se obtiene como es que vamos a manejar el control de versiones, es el desarrollo de los gráficos, estos los podemos ir creando o reutilizando (imágenes que sean de licencia publica), claro siempre y cuando ya tengamos que proyecto vamos a elegir.

Pues no se, creo que demos empezar a hacer algo aunque no tenga que ver directamente con el desarrollo de código fuente por el momento, eso si espero que me envíen a mi correo, el correo de todos ustedes para crear una lista y enviarles los documentos que les mencione arriba para que definamos unos lineamientos de desarrollo.

Bueno no siendo más me despido y mucha suerte.
drincast
 
Mensajes: 34
Registrado: Mié Mar 12, 2008 4:23 pm
Ubicación: Colombia

Notapor Dokan » Mié Mar 26, 2008 11:34 pm

Cualquiera de las tres posibilidades me parece perfecta, puesto que el tipo de juego a llevar a cabo no me parece importante.
Estoy completamente de acuerdo contigo respecto a la necesidad de comenzar a manejar un sistema de control de versiones, esto es lo que realmente necesitamos, mucho más que decidir un proyecto u otro.
Por otros mensajes se ha propuesto manejar Darcs o Bazaar, opino que es necesario decidir cual vamos a manejar aunque no tengamos a nadie que sepa utilizarlos, de manuales, tutoriales y otras ayudas está repleta la red.
Llevo desde el fin de semana queriendo hacer una encuesta con información sobre los más utilizados y mejor valorados para que decidamos, pero estoy esperando a tener un día libre y despejado para dedicarlo entero al asunto y no perder una semana a ratos (que al final no se avanza nada).
Resumo. Estoy de acuerdo con lo que decida la mayoría.
Avatar de Usuario
Dokan
 
Mensajes: 143
Registrado: Lun Dic 03, 2007 10:40 pm

Notapor Juan Carlos » Mié Mar 26, 2008 11:41 pm

Hola, en mi opinion prefiero un juego de aviones.

Saludos
Juan Carlos
 
Mensajes: 97
Registrado: Sab Jul 07, 2007 1:05 pm

los archivos

Notapor drincast » Jue Mar 27, 2008 5:08 pm

Aquí dejo un enlace en el cual pueden descargar los documentos, que mencione ayer http://www.unicauca.edu.co/~rorozco/Documentos.rar[/url]
drincast
 
Mensajes: 34
Registrado: Mié Mar 12, 2008 4:23 pm
Ubicación: Colombia

Notapor Alex_13_estu » Jue Mar 27, 2008 10:13 pm

Me gustan las tres posibilidades, pero puesto que la de los aviones ya he realizado una similar siguiendo un manual, me parece que lo mejor es el Tetris (siempre me ha gustado este juego). Pero también considero que es muy importante el tema del sistema de control de versiones, por lo que en mi opinión deberíamos comenzar por ahí decidiendo una opción buena y documentándonos (yo en particular voy a buscar algo de Darcs). Ahora mismo te mando un correo, drincast.

Un saludo.

EDITO:

Bueno, ya he estado mirando algo de Darcs y me parece asequible. No me parece muy difícil y creo que es la mejor opción como sistema de control de versiones. Los comandos son sencillos y se aprende muy muy rápido. Además el sistema de parches y la manera de mandar mails es muy buena. El enlace de descargas para todos los sistemas es éste:

http://wiki.darcs.net/DarcsWiki/CategoryBinaries

Si utilizáis Windows (es mi caso) os recomiendo que cojáis la versión con Cygwin, a mi me gusta más. Además la otra no la probé y no la sé usar. Para que esto funcione debéis tener, obviamente, el Cygwin instalado. La página oficial es www.cygwin.com y el enlace de descarga del instalador es éste. No sé si sabéis qué es el Cygwin, por si acaso viene a ser "una colección de herramientas desarrollada por Cygnus Solutions para proporcionar un comportamiento similar a los sistemas Unix en Windows." según la Wikipedia. Funciona por comandos, y existe una buena guía con una relación de ellos aquí: http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=155.
Al descargar la versión de Darcs viene un archivo comprimido. Según lo que he llegado a saber, de todos los archivos que trae sólo son necesarios dos: "realdarcs.exe" y "darcs" para el correcto funcionamiento (por si acaso yo no borraría los otros), que deben situarse en la carpeta del proyecto. Por último, el manual de Darcs por el que me he guiado es éste:
http://proyectos.gulic.org/darcs/darcs.html
Es un manual muy muy simple pero creo que explica muy bien lo básico. Hay que hacer una modificación en los comandos que explica. Cuando en el manual te ponen el comando "darcs", tú debes poner "./darcs" (al menos eso me pasa a mi, ya os digo que yo trabajo sobre Windows). Por ejemplo, cuando te dicen "darcs initialize", yo para que me funcione pongo "./darcs initialize".

Buf, creo que no me dejo nada en el tintero. Ante cualquier duda poneros en contacto conmigo por MP o mediante mi dirección de mail (si usáis ésto último por favor presentaros al comienzo del mensaje). Probablemente no sea el más indicado ni el más sabio, pero creo que podré ayudaros un poco.

Un saludo.
Alex_13_estu
 
Mensajes: 75
Registrado: Jue Mar 27, 2008 5:22 pm

Notapor Carlos Guevara Moscol » Dom Mar 30, 2008 5:36 am

Bueno bueno...:D aka yo cumpliendo con mi deber civil he escojido un Tetris, por que?
Sencillo. Si bien el manual de SDL escrito por Garcia es una guia paso a paso de "Como crear un juego de naves con Scrolling" y lo mas probable es q todo akel q se kiera iniciar en SDL haya tenido una vez en sus manos este manual, resulta q de los 3 juegos es el mas "complicado" notese q el juego de naves presenta Map scrolling, lo cual no es la gran piedra q nos obstruye el camino, sino q eso rekerira q hagamos un mapa mucho mas grande q el verdadero tamaño de la pantalla y la manera mas adecuada de hacer eso es q se conforme por TILES, si lo hacemos asi el juego rekerira tambien un archivo donde se guarde nuestro mapa en un formato especifico ( lo mas facil es en ASCII) y posiblemente no estaremos satisfechos hasta crear un editor de mapas.
A parte de eso, es el unico de las 3 opciones q rekiere la presencia de "enemigos" y por lo tanto algun tipo (por mas simplona q sea) de Inteligencia Artificial :S:S.

Ahora bien, entre Tetris y Pong xq escogi Pong?? :D pues porque tetris utiliza blokes cuadrados xD y el pong es una bola :D:D

Si lo pensamos un rato, es mucho mas facil manejar un algoritmo de coliciones si nuestros objetos son rectangulares, no?
Ademas, el control de velocidades es mas sencillos en el tetris, donde se incrementa gradualmente conforme pasamos de nivel en un solo sentido :P no como en el pong donde la velocidad es un vector cuya direccion depende de la colicion de la bola con las "raketas" o "palos laterales" y de las velocidades de ambos... :S:S es ligeramente mas complejo, rekiere aplicar una fisica mas avanzada q la del tetris..

Espero no haber escrito mucho y si asi fue q por lo menos lo que les trasmito sea provechoso. Solo intento dar a conocer el porque de mi seleccion xD.

Saludos a todos xD
Carlos Guevara Moscol
 
Mensajes: 26
Registrado: Vie Feb 29, 2008 10:32 pm
Ubicación: Perú

Notapor Alex_13_estu » Dom Mar 30, 2008 9:39 am

Estoy totalmente de acuerdo con Carlos, efectivamente el manual que yo había consultado era el de García, en el que se desarrollaba un juego de aviones con scrolling vertical. Además, ya sabéis que yo también voté por Tetris debido a que las colisiones son, como bien dices, más sencillas. Lo que no veo tan claro es lo de los niveles. Es decir, ¿la única diferencia entre niveles del Tetris es su velocidad? No sé, no estoy totalmente seguro de eso... De todas formas antes de hacer muchos niveles hay que desarrollar el primero, que todavía no lo hemos hecho. Y por último, al Pong le veo una utilidad que el Tetris no tiene: es multijugador, por lo que me parece un proyecto genial para desarrollar un juego en línea. Es sencillo y nos valdría como comienzo en esta materia, por eso considero que es mejor dejarlo para un poco más adelante, cuando estemos lo suficientemennte preparados para abordar algo como un juego online.

En cuanto a lo del Sistema de Control de Versiones... ¿alguna novedad? Yo ya di mi opinión y dejé algo de documentación en mi anterior mensaje, así que creo que lo mejor sería, si estáis de acuerdo con la opción de Darcs de la que yo hablé anteriormente, organizarse y comenzar cuanto antes con el primer poryecto, que según la votación por ahora es el Tetris, ¿no? Mi dirección de mail está en mi firma. Si queréis contactar personalmente conmigo escribidme allí.

Un saludo.

EDITO:

No sé si lo sabéis pero soy bastante nuevo en esta comunidad, y acabo de encontrar el post antiguo del que se deriva este (es decir, el del Concurso de juegos GPL si no recuerdo mal). Además también me pasé por el de la elección de licencia, y ya dejé mi voto y el por qué (de hecho, ya lo había hecho). ¡Ah! También conseguí el X-Chat y ya estuve por nuestra sala pero no había nadie. Por último, dejar un poco mis conocimientos:

Conocimientos de desarrollo de videojuegos:

- C++ (y por lo tanto algo de C) a un nivel "medio/aceptable".
- SDL también a un nivel "medio-aceptable" (he leído algunos artículos, además del ligro de A.G. Serrano.).
- De los demás lenguajes, un poco HTML, pero de Phyton ni idea, por lo que si elegís ese lenguaje veo muy difícil mi participacón, simplemente me dedicaré a mirar y a intentar aprender algo nuevo.
- Ni idea de diseño gráfico. Puedo hacer bocetos en papel pero pasarlos a ordenador y hacer acabados no es mi fuerte.

Nacionalidad:

Español, de Galicia concretamente.

Edad:

15 años y unos meses (no tengo mucha experiencia, lo hago por devoción y por amor al arte).

Tiempo de dedicación:

Muy muy variable. Estos meses podré dedicar unas 5 ó 6 horas semanales (principalmente en fines de semana), pero cuando se acerque Junio y los estudios requieran más tiempo tendré que dedicarle sólo un par de horas los fines de semana.

Creo que eso es todo. Por cierto, ¿me puedo considerar ya parte del grupo? ¡Ah! Por enésima vez (siento ser pesado), cuando tengáis decidido el sistema control de versiones, hacédmelo saber. Ya dejé mi opinión antes junto con algo de documentación.
Alex_13_estu
 
Mensajes: 75
Registrado: Jue Mar 27, 2008 5:22 pm

Notapor Dokan » Dom Mar 30, 2008 3:51 pm

Alex, por mi parte, yo ya te consideraba parte del grupo desde tu primer mensaje, se bienvenido. Por cierto, en vez de editar la primera vez debiste crear un nuevo mensaje, puesto que es un debate que necesita su propio tema. La segunda vez que editaste debiste publicar en el tema donde lo hicimos todos.
Por favor, respetemos el asunto de los mensajes para no desvirtuarlos, es una norma básica de cualquier foro, si no lo respetamos, cualquiera que venga de fuera se va a asustar por la falta de organización, además de que así nos costará menos volver a determinado mensaje pasado el tiempo.

Respecto a la elección de juego, tengo la solución, uno detrás de otro. En cuanto a la difícil decisión de por cual empezar, ¿Por qué no empezar por el más sencillo? Aunque no tengo ni idea de cual es el más sencillo, creo que el pong tiene toda la pinta de ser más fácil.
Avatar de Usuario
Dokan
 
Mensajes: 143
Registrado: Lun Dic 03, 2007 10:40 pm

Notapor lucesita » Lun Mar 31, 2008 5:47 pm

bueno, creo que los 3 estan bien para empezar.

cada uno tiene disferentes aspectos, digamos, el de aviones ya incluye NPC con algo de inteligencia, scroling, de los 3 es el mas complejo. el pong tiene los calculos de rebote y colisiones simples.

y el tetris.... que lindo es xD

asi que yo diria de empezar por el tetris... o por el de aviones... no me decido.

el pong lo quiero dejar de 2do proyecto, para el ENFOQUE MULTIPLAYER, aun que estaria bueno... uno de aviones multiplayer ;)

asi que... voto por empezar con tetris.
lucesita
 
Mensajes: 57
Registrado: Mié Mar 12, 2008 2:49 pm

Notapor Alex_13_estu » Lun Mar 31, 2008 8:12 pm

¡Hola! Gracias por considerarme ya parte del grupo, es que no había leído el topic original hasta ayer... Y perdón por lo del mensaje, soy nuevo por aquí y aún ando buscando topics por todos lados. Ya voy ahora mismo a poner lo del SCV en su lugar correspondiente, aunque ya vi que Dokan también puso bastante, así que miraré en qué puedo ayudar. En cuanto a lo del proyecto, lo dije varias veces y lo reitero para apoyar la opinión de lucesita: considero el Tetris el juego más básico que podemos iniciar. Los objetos son rectangulares, las colisiones relativamente "simples", los niveles no son una preocupación principal y es para un solo jugador. Creo que el pong lo debemos reservar como primer proyecto multiplayer y el de aviones incluye algo (anque muy poco) de IA, por lo que no me parece sencillo. Considero que primero debemos adquirir algo de experiencia.

Nada más, simplemente estoy deseando comenzar. Un saludo.
Alex_13_estu
 
Mensajes: 75
Registrado: Jue Mar 27, 2008 5:22 pm

mi voto

Notapor drincast » Lun Mar 31, 2008 10:50 pm

Saludos, bueno estaba esperando que votaran un poco antes de dar mi voto y ver sus razones, pues creo que en general el tetris es el más opcionado a desarrollar así que por las razones que han dado para desarrollarlo como nuestro primer proyecto, mi voto es por el tetris.

Una cosa, el tetris también puede ser multijugador, y creo que más de cuatro lo puede jugarlo a la vez, otra cosa el juego de naves tal vez, lo estaban mirando con todos los juguetes, pues la idea es irlo desarrollando poco a poco, para eso es el versionado, las colisiones creo que pueden ser en la primera versión solamente lectura de rectángulo, pero bueno, no hay que seguir echando leña al asunto, ya estamos a punto de seleccionar el tetris como proyecto.

Creo que a esta altura ya estamos a punto de comenzar, quiero agradecerles por el interés, y disculparme por no participar más en los post y en todo y ni hablar de CHAT, mi tiempo es poco, gracias a Alex_13_estu por el interés prestado sobre el control de versiones, voy a ver si esta semana leo un poco de ello y haber si pruebo el programa.
No se si es que hay algún post especial en donde están tratando el tema del control de versiones.

A otra cosita, no se si le echaron un vistazo a los documentos que le mencione, pues otra cosa clave a la hora de que estemos codificando, son las reglas de juego de lectura del código, pues para que todos podamos entender el código fuente del proyecto.

Bueno me despido, éxitos en sus propósitos.
drincast
 
Mensajes: 34
Registrado: Mié Mar 12, 2008 4:23 pm
Ubicación: Colombia

Notapor Alex_13_estu » Mar Abr 01, 2008 4:09 pm

Bueno, viendo el resultado de la encuesta y los últimos comentarios, parece que el Tetris se queda claramente como juego seleccionado para empezar nuestra andadura. Por mi genial, ya que yo había votado por él, así que creo que ahora lo más importante que nos queda por hacer es escoger una licencia para nuestros juegos (eso está en éste topic, pasaros por allí los que no lo hayáis echo para votar y postear) y elegir definitivamente cual será nuestro sistema de Control de Versiones (para el que también tenemos éste post). Una vez hayamos echo eso creo que sólo quedaría ponerse manos a la obra. ¡Parece que vamos por buen camino!

Un saludo.
Alex_13_estu
 
Mensajes: 75
Registrado: Jue Mar 27, 2008 5:22 pm

Notapor Dokan » Mar Abr 01, 2008 9:08 pm

Me parece una elección genial, la verdad cualquier elección me hubiera parecido buena :p
Avatar de Usuario
Dokan
 
Mensajes: 143
Registrado: Lun Dic 03, 2007 10:40 pm

Notapor Alex_13_estu » Mié Abr 02, 2008 3:42 pm

Bueno, considero que ya casi estamos preparados para empezar, así que creo que sería conveniente hacer un resumen de los integrantes del grupo con lo que hará cada uno (no me refiero a especificar, sólo para saber si tenemos a algún diseñador gráfico, a alguien que sólo desee obdservar el desarrollo para aprender, etc.) y con las decisiones que ya están tomadas. Si no os importa, empiezo yo con ésto, pero necesitamos que todos confirmen su participación.

1. Integrantes

Aquí necesitamos que cada uno vaya diciendo si va a participar o no y qué rol desempeñará. En la encuesta de este mismo tema hay 8 votos, por lo que supongo que habrá sobre 8 personas interesadas. Las que han posteado algo aquí (y por lo tanto supongo que están interesados, pero se necesita confirmación) son:

- drincast
- Dokan
- Juan Carlos
- Carlos Guevara Moscol
- lucesita
- Alex_13_estu (o sea, yo)

Por lo tanto, en esta lista aparecen 6. Como ya dije sería conveniente una contestación por parte de todos para asegurar su presencia (aunque sólo vaya a ser testimonial) y, si alguien más se quisiera apuntar, por mi parte estaría encantado de recibirlo. Hay dos votos de más, pero no creo que pase nada por eso. El resultado de la encuesta dice también que el juego seleccionado para iniciar nuestra andadura es el Tetris. ¿Todos de acuerdo en éste punto? Supongo que sí, así que supongo que en unos dñias podríamos cerrar la encuesta, aunque tampoco creo que tengamos mucha prisa en ésto.

2. Licencia para los proyectos

Otro tema que lleva abierto un tiempo es el de la licencia para los proyectos del grupo. Está aquí, y por ahora la elección es GPL v.2 o GPL v.3 . La encuesta tiene 9 votos y no ha posteado nadie que no haya posteado aquí, así que de nuevo nos sobran votos, en este caso 3. Por lo tanto considero que en unos días se podría cerrar este tema y documentarnos sobre lo que salga elegido (que parece que va a ser GPL) para dedicarnos así a otros asuntos. Es una opinión, pero, igual que antes,, se necesita la vuestra también para decidirlo.

3. Sistema de Control de Versiones

Siento ser pesado con éste tema, pero es que es uno de los que más me preocupan. El tema para elegir un Sistema de Control de Versiones está aquí, junto con bastante documentación. Y este tema todavía no está nada claro, porqque tan sólo hay tres votos y una sóla respuesta a lo enunciado por Dokan (que es mía). Así que, cuando podáis, por favor pasaros por allí para dejar vuestra opinión y así poder comenzar cuanto antes. Es algo muy importante así que leed un poco (aunque sea por encima) de qué se trata si es que no lo sabéis (yo no tenía ni idea y en 40 minutos o así me enteré de bastantes cosillas). Creo que este punto está todavía muy verde, así que habrá que darle tiempo.

4. ¿Qué nos queda por decidir?

Bueno, creo que todavía no está todo solucionado, aunque sí en su mayoría. Y una de las cosas que todavía no se han solucionado es la del lenguaje y las librerías que vamos a usar. Creo que deberíamos crear una encuesta para eso también, incluso creo que sería conveniente crearla aquí y suprimir la que está puesta (la de elección de proyecto), aunque quizá sería algo lioso... Bueno, lo cierto es que ya llevo un rato aquí escribiendo ésto y debo irme, por lo que no seré yo (al menos ahora) el que cree esa encuesta. Espero vuestras respuestas y, si es necesario y tengo tiempo, después creo el tema para elegir lenguaje.
Si se os ocurre algo más que todavía no hayamos decidido, no dudéis en postearlo para hacerlo cuanto antes.

Un saludo y perdón por el mensaje tan largo.
Alex_13_estu
 
Mensajes: 75
Registrado: Jue Mar 27, 2008 5:22 pm

Notapor lucesita » Mié Abr 02, 2008 6:49 pm

Lo unico que puedo aportar, es que hace unas semanas "nos pusimos en contacto" con algunos y se decidio que la biblioteca a usar SDL y el lenguaje C++

a lo que yo sigo insistiendo en usar eso.

Saludos Lucesita

PD: en la lista creo que uno de los que falta es FALCON.
lucesita
 
Mensajes: 57
Registrado: Mié Mar 12, 2008 2:49 pm

Notapor Dokan » Mié Abr 02, 2008 8:07 pm

1.
Confirmo.
Ayudaré en lo que buenamente pueda y se me permita.
2.
GPL, por mi perfecto, porque está pensada por y para programadores.
3.
Las tres posibilidades son muy parecidas, si bien yo me decanto por Git por ser el que más proyectos importantes lleva a sus espaldas.
4.
Si por mi es python con pygame o pyglet, sin embargo ya que estoy aprendiendo me lanzo con lo que sea, eso si, por favor, que la elección de un lenguaje no nos retrase más. Ahora tengo tiempo, más adelante quien sabe.
Avatar de Usuario
Dokan
 
Mensajes: 143
Registrado: Lun Dic 03, 2007 10:40 pm

Notapor Alex_13_estu » Jue Abr 03, 2008 2:54 pm

¡Hola! Gracias a Lucas y a Dokan por confirmar, la lista queda entonces así:

Confirnados:

- Dokan
- lucesita
- Alex_13_estu (o sea, yo)

Por confirmar:

- drincast
- Juan Carlos
- Carlos Guevara Moscol

No incluyo en la lista todavía a Falcon porque es mejor que postee él por aquí y nos confirme su presencia antes de hacer nada... De nuevo, por si hay algún despistado, pongo los links a los topics de elección de licencia para los proyectos y de elección de sistema de control de versiones.

Por último, queda entonces decidido que el lenguaje a utilizar será C++ y como biblioteca para gráficos y demás utilizaremos SDL (si alguien quiere protestar sobre ésto, a Lucas que fue quien me dijo que ya lo habían decidido, yo no tengo nada que ver :) ).

Un saludo.
Alex_13_estu
 
Mensajes: 75
Registrado: Jue Mar 27, 2008 5:22 pm

Notapor drincast » Jue Abr 03, 2008 6:33 pm

1
Confirmo

Por mi parte, creo que lo que se un poco más programar eso si en C++ con SDL así que en desarrollo puedo estar bien, el problema es el corto tiempo que le puedo dedicar.

otra parte que me gustaría sería el desarrollo de los gráficos, pero yo de esto se muy pero muy poco, pero realmente me gusta bastante claro que hasta el momento no he hecho nada serio.

No se de pronto un poco de los dos desarrollo y diseño.

2

lo de la licencia pues he utilizado un poco CC; reconocimiento, no comercial, compartir igual. pero si se deciden por GPL pues esta bien, (aprendería a utilizarla.)

3

No he podido todavía dedicarle tiempo a lo de control de versiones, asi que pido disculpas, estoy un poco ocupado, si este fin de semana no tengo que hacer algo significativo, tengan por seguro que me siento a revisar ese tema, de todas formas vayan tomando la decisión

4
pues como dije manejo C++ y SDL., pero puedo aprender otros, aunque tengo conocimientos muy básicos de python
drincast
 
Mensajes: 34
Registrado: Mié Mar 12, 2008 4:23 pm
Ubicación: Colombia

Notapor Alex_13_estu » Jue Abr 03, 2008 9:24 pm

¡Bien! Más confirmaciones para la lista, voy a actualizarla, pero, antes de nada, necesito pediros a todos vuestros mails... Supongo que no tenéis inconveniente, es un mal necesario para poder trabajar con Sistemas de Control de Versiones... En especial me refiero a Lucas (lucesita), que en su post de presentación (en el de "Concursos de juegos GPL") dejó una dirección que, según el mensaje de "Failure notice" que he recibido hoy al intentar mandarle un correo, no funciona. Actualizo la lista con los mails:

Confirmados:

- Dokan -> Mail: kikecalpe@gmail.com (si no es correcto o no lo quieres publicar, avísame, lo saqué de tu perfil)
- lucesita -> Mail sin confirmar
- drincast -> Mail: drincast@hotmail.com (si no es correcto o no lo quieres publicar, avísame, lo saqué de tu perfil)
- Alex_13_estu (o sea, yo) -> Mail: alex_vjuegos@hotmail.com

Por confirmar:

- Juan Carlos -> Mail por confirmar
- Carlos Guevara Moscol -> Mail por confirmar

Además, antes de nada (y pido perdón por repetirme), os pido que os paséis por los temas que dije en mi anterior mensaje los que no lo hayáis hecho, porque aún quedan cosas por decidir.

Y por último, un tema que me llevaba comiendo la cabeza unos días. La parte gráfica del juego... Nunca se me dio bien el diseño gráfico por ordenador, y, por lo que se ve, parece que nadie por aquí es un experto (al menos nadie reconoce serlo). Pero, por suerte, parece que drincast es bastante modesto, porque me envió hoy unos posibles sprites para el Tetris, ¡y son una pasada! Así que, si no tenemos un candidato mejor, yo voto por dejarle a él el tema gráfico. Por supuesto, antes de que ninguno de nosotros decida darle esa tarea, él mismo la debe aceptar. No quiero parecer mandón ni nada, por eso espero a que tú confirmes que tienes interés en ocuparte de la parte gráfica del juego. Aunque, visto tu último mensaje, parece que te gusta lo del diseño gráfico... Tú dirás, si quieres hacer esa parte del juego, yo estaría encantado (además de que, personalmente, me quitarías un peso de encima). Eso no quita de que hagas también algo de programación. Como dije antes y repito, son decisiones que debes tomar tú, y si quieres programar y diseñar, por mi genial. Si quieres programar sólo, también genial; y si quieres tan sólo dedicarte a la parte gráfica, pues también genial. Tú decides.

Un saludo.
Alex_13_estu
 
Mensajes: 75
Registrado: Jue Mar 27, 2008 5:22 pm

Observador

Notapor endaramiz » Vie Abr 04, 2008 3:27 pm

Hola, hasta ahora me he mantenido al margen (ni siquiera he votado en las encuestas) (aunque leo los post con bastante frecuencia) porque estoy liado con los estudios y no tendría suficiente tiempo para colaborar en el proyecto, y para eso prefiero no formar parte. Pero ahora, encima la cosa se me ha puesto mas difícil porque no tengo ni idea de C++. Sin embargo, estoy muy interesado en el trabajo en grupo ya que no tengo ninguna experiencia y creo que el observaros me puede ayudar. Así que si no es mucha molestia me gustaría que me dijeseis por ejemplo la hora de una reunión en el chat jabber (si quedáis por mensaje privado, ya que lo del foro lo voy leyendo todo)

En resumen:
1:

Observador (Si no os importa ni os causo alguna molestia)
2, 3, 4 y votaciones en general:
Me auto declaro sin derecho a voto, ya que me parece lo mas justo

Saludos.
Avatar de Usuario
endaramiz
 
Mensajes: 283
Registrado: Vie Ago 31, 2007 9:25 am
Ubicación: Barcelona

Notapor lucesita » Vie Abr 04, 2008 10:13 pm

vamos DVD, no hay problema, puedes ser observador tranquilamente y si quieres aportar aportas.... si no chusmeas XD

alex:
mi dir de mail es, lucastisera@gmail.com, la cual corresponde tambien al MSN agregue tu dir de MSN y no apareces como conectado.

y bueno... usd diran.
lucesita
 
Mensajes: 57
Registrado: Mié Mar 12, 2008 2:49 pm

Notapor Alex_13_estu » Sab Abr 05, 2008 9:00 am

¡Hola! Bien, un nuevo participante en el proyecto, aunque sea solo de manera testimonial siempre nos vendrá bien. Como ya te dijo Lucas, dvd, si queires aportar y votar puedes hacerlo, no hay ningún porblema por mi parte. De nuevo coloco la lista para tratar de acabar las confirmaciones cuanto antes y sentarnos ya a pelearnos con el juego:

Confirmados:

- Dokan -> Mail: kikecalpe@gmail.com
- lucesita -> Mail: lucastisera@gmail.com
- drincast -> Mail: drincast@hotmail.com (si no es correcto o no lo quieres publicar, avísame, lo saqué de tu perfil)
- dvd (en calidad de observador) -> Mail sin confirmar
- Alex_13_estu (o sea, yo) -> Mail: alex_vjuegos@hotmail.com

Por confirmar:

- Juan Carlos -> Mail por confirmar
- Carlos Guevara Moscol -> Mail por confirmar

Bueno, una vez dicho ésto vuelvo a repetir a los que no lo hayáis hecho que os paséis en cuanto podáis por los post que mencioné en mis anteriores mensjaes (los de "Elección de un sistema de control de versiones" y de "Elección de una licencia"). Por último, Lucas, aclararte que no me suelo conectar mucho al MSN, pero ya me llegó el aviso de que me habías agregado (de hecho me llegaron dos avisos de que me habían agragado, pero el segundo no sé de quién es así que si alguien de aquí que no sea Dokan, drincast o lucesita me agregó, que por favor lo diga). Por último, sólo preguntarte a ti también, Lucas, si te llegó el mail que te mandé el otro día. Porque cuando lo mandé a esa dirección que tú dices y con la que me agrgaste al MSN recibí un correo que decía asÍ:

This is an automatically generated Delivery Status Notification.
Delivery to the following recipients failed.
lucastisera@gmail.com


De lo cual supongo que no lo recibiste... Te lo voy a mandar de nuevo por si acaso, y perdona por la confusión, es que al recibir este mail supuse que tu dirección de correo no era válida... Bueno, ahora mismo te escribo de nuevo.

Un saludo.
Alex_13_estu
 
Mensajes: 75
Registrado: Jue Mar 27, 2008 5:22 pm

Notapor endaramiz » Sab Abr 05, 2008 3:38 pm

Gracias. Mi correo es dvd.prog@gmail.com pero el correo este también lo utilizáis para hacer conversaciones vía msn o solo para emails? (lo digo para registrarlo y eso) Igualmente en la sala entro casi siempre que me conecto.
Respecto a lo de aportar, como ya dije, de código nada, pero ayer estaba muy cansado y no me apetecían grandes esfuerzos mentales así que me puse a hacer alguna prueba con música MIDI, aunque tampoco es muy difícil encontrar a alguien que lo haga mejor que yo. Igualmente creo que el tema de sonidos no es lo mas importante para discutir ahora.

Saludos.

off topyc:
Hemos superado el número de mensajes al número de usuarios registrados del foro xDDD (cosa que me parecía muy rara :S)
Avatar de Usuario
endaramiz
 
Mensajes: 283
Registrado: Vie Ago 31, 2007 9:25 am
Ubicación: Barcelona

Notapor Alex_13_estu » Lun Abr 07, 2008 3:44 pm

¡Hola! Muchas gracias por tu colaboración dvd, te añado a la lista. En principio el mail se utiliza nada más para mandar correos, pero sería bueno que te registraras en el MSN y esas cosas:

Confirmados:

- Dokan -> Mail: kikecalpe@gmail.com
- lucesita -> Mail: lucastisera@gmail.com
- drincast -> Mail: drincast@hotmail.com (si no es correcto o no lo quieres publicar, avísame, lo saqué de tu perfil)
- dvd (en calidad de observador) -> Mail: dvd.prog@gmail.com
- Alex_13_estu (o sea, yo) -> Mail: alex_vjuegos@hotmail.com

Por confirmar:

- Juan Carlos -> Mail por confirmar
- Carlos Guevara Moscol -> Mail por confirmar

Mi mensaje hoy es bastante corto. Sólo recordar a los que no lo habéis hecho (como ya es costumbre) que os paséis por los temas de elección de sistema control de versiones y de elección de licencia para los proyectos del grupo. Además, Lucas y yo (el que más logros ha hecho hasta ahora es él) estamos investigando un poco sobre la manera de enviar parches de Darcs. En cuanto comprobemos que funciona totalmente (estamos muy cerca de ello) os pondremos aquí en el foro una mini-guía de como enviarnos repositorios.

Nada más. Un saludo.
Alex_13_estu
 
Mensajes: 75
Registrado: Jue Mar 27, 2008 5:22 pm

Jeje :D

Notapor Carlos Guevara Moscol » Lun Abr 07, 2008 4:11 pm

Como les va?
Aka yo haciendo acto de presencia luego de ausentarme por una semana o mas, ante todo pido disculpas x eso, es q tuve algunos problemitas con la coneccion a internet :P (sisi, tambien mi perro se comio la tarea xD)

Bueno, queria confirmarles mi colaboracion, ya saben q pueden contar conmigo tanto para programacion, como para brindar algunas ideas-bocetos sobre los graficos (aunq en tetrix no creo q rekiera de mucho :P)

Con respecto a la licencia y las versiones creo q vamos camino a un UNANIME asi que yo me adecuo a lo que elijan xD, respecto al lenguaje y librerias, en el foro anterior (donde por cierto Falcon ya habia confirmado su participacion) yo propuse C/C++ con SDL ,yo preferia C pero terminamos acordando que seria C++ con la libreria SDL como ya dijo antes Lucesita.

entonces ya me puedes agregar a la lista y aunque creo q ya tienen mi correo xq me enviaron unos sprites para el pong, se los dejo aka de tomas formas xD pueden escribirme a: a20050291@pucp.edu.pe (correo que siempre leo o en todo caso a calichin53@hotmail.com pero lo reviso con menor frecuencia..xD

Espero tmb la pronta confirmacion de Falcon, Usuario00 (kienes me inspiraron a hacer de sus ideas el gran proyecto que ahora estamos viviendo) y , si es q se digna a aparecer, Alfredo que tambien fue uno de los primeros ideologos con el aporte del REMAKE del Pokemon RPG pero luego de responder a su post nunka dio señal de vida.. aun lamento haberme demorado tanto :( snif


Vamos gente!! hay q ponerle ganas xD.
Exitos y Saludos a todos!!!
ta XVR el mIRC, ya conecte :D, ahora q hago
??:S
Carlos Guevara Moscol
 
Mensajes: 26
Registrado: Vie Feb 29, 2008 10:32 pm
Ubicación: Perú

SPRITES

Notapor Carlos Guevara Moscol » Lun Abr 07, 2008 4:23 pm

con respecto a los sprites q enviaron a mi mail, creo q en lugar de tener un grafico de cada figura existente en el Tetris nos conviene tener solo la particula base, que es el cuadrado, y con ella se forma cualkier figura clasica del tetris y hasta podemos generar nuevas, ahora recuerden que las figuras del tetris tienen la capacidad de girar, x lo que si usamos una imagen x cada figura para poder girarla deberiamos tener 4 imagenes x cada figura, y si en una expansion del juego decidimos aumentar figuras, debemos aumentar 4 graficos x cada una..:S:S yo creo que es mejor tener una imagen de base, el cuadrado, y eleborar un algoritmo que nos genere las figuras en tiempo real durante la ejecucion del programa xD.

Me dicen que opinan al respecto y en unas horas me dare un saltito x aka para ver q opinan, o en todo caso sientanse con la confianza de mandarme un correo q no me enojo ( siempre q no sea spam..¬¬)
ta XVR el mIRC, ya conecte :D, ahora q hago
??:S
Carlos Guevara Moscol
 
Mensajes: 26
Registrado: Vie Feb 29, 2008 10:32 pm
Ubicación: Perú

Notapor Alex_13_estu » Lun Abr 07, 2008 8:17 pm

¡Hola! Bueno Carlos, no te preocupes por la ausencia, lo bueno es que llegaste y nos serás de enorme ayuda. Te añado a la lista y añado también a petición tuya a Falcon y a Usuario00 como no confirmados:

Confirmados:

- Dokan -> Mail: kikecalpe@gmail.com
- lucesita -> Mail: lucastisera@gmail.com
- drincast -> Mail: drincast@hotmail.com (si no es correcto o no lo quieres publicar, avísame, lo saqué de tu perfil)
- dvd (en calidad de observador) -> Mail: dvd.prog@gmail.com
- Carlos Guevara Moscol -> Mail: a20050291@pucp.edu.pe
- Alex_13_estu (o sea, yo) -> Mail: alex_vjuegos@hotmail.com

Por confirmar:

- Juan Carlos -> Mail por confirmar
- Falcon -> Mail por confirmar
- Usuario00 -> Mail por confirmar

En cuanto al tema de una imagen por cuadro, estoy totalmente de acuerdo contigo. Sería muy complejo andar girando imágenes y calculando las colisiones así, lo veo más sencillo si lo hiciésemos con un mapa de 4X4 para cada figura del Tetris y así girarla. Por ejemplo, para el clásico cubo (los 1 serían cuadros y los 0 huecos libres):

0000
0110
0110
0000

Y para la típica "L"

0000
0100
0100
0110

Ésa es mi idea. Lo único que le veo de malo (espero que vosotros le veáis más defectos para poder solucionarlos) es que habría que calcular los giros y todo eso en tiempo de ejecución, y probablemente eso restaría velocidad al juego (en un juego la velocidad lo es todo, ¿no?). Nada más.

Un saludo.
Alex_13_estu
 
Mensajes: 75
Registrado: Jue Mar 27, 2008 5:22 pm

Notapor Dokan » Mié Abr 09, 2008 11:43 pm

Disculpadme, estoy teniendo problemillas con un disco duro y a veces no arranca el pc (parece algo de expediente x), que se han juntado con los problemas que ya tenía con mi ubuntu.
Espero poder hacerme con un disco duro nuevo en breves e instalarle algo decentillo pa ir tirando (debian o algo así).
Creo que este fin de semana estará todo solucionado, mientras tanto intentaré seguiros cuando me deje el pc.
En cuanto a los sprites, no se que es más rápido, yo suponía que lo mejor era que se fuera leyendo de una imagen con todos los sprites, pero supongo que la opción de generarlos a partir de un cuadrado simple es mejor. A ver si alguien nos saca de dudas.
De todos modos como estamos aprendiendo podemos hacerlo de las dos formas y medir las diferencias entre ambas. ¿O sería demasiado?
Avatar de Usuario
Dokan
 
Mensajes: 143
Registrado: Lun Dic 03, 2007 10:40 pm

Sprites

Notapor Carlos Guevara Moscol » Vie Abr 11, 2008 5:11 am

Como respuesta a los dos ultimos mensajes posteados dire q :

(Al primero) "SIIII, en tendieron a la perfeccion a lo q me referia con hacerlos en base a un solo cuadrado xD incluso podria ser una sola imagen de un cuadrado y hacer OTRO algoritmo que los coloree para ponerle mas atraccion al juego.. por la seccion de descargas de la WEB hay un ejemplo de como cambiar un color (y sus tonos) por otro xD"

Si bien es cierto... la velocidad es algo importante, mas no lo es todo... hay muchisimos aspectos que hacen un "buen juego"

Si solo fuera relevente la velocidad podriamos jugar un juego en comando de lineas sin grafico alguno y estariamos muy contentos, pues la PC responderia sorprendentemente rapido :P

(A ambos) "Si, si bien alguien nos puede decir si es o no mas rapido, no hay como hacerlo nosotros mismos y comparar las velocidades...xD"

Aunque en lo personal les comento que hasta donde yo he podido experimentar mientrar no hagamos el "Vertido en la pantalla", osea pasar nuestro grafico final (luego de todos los algoritmos que lo hayan afectado) de la memoria a la pantalla propiamente dicha, no consumimos gran cantidad de tiempo, por lo menos no con un simple algoritmo de rotacion de puntos.. recuerda q nuestras figuras seran por definicion un arreglo de 4x4 xD entonces nuestro algoritmo solo debe hacer esto con las posiciones del arreglo:

pasar:
1|2|3|4
5|6|7|8
9|10|11|12
13|14|15|16

a:

4|8|12|16
3|7|11|15
2|6|10|14
1|5|9|13

donde cada posicion es un uno o un cero... eso no te va a kitar mucho tiempo de procesamiento y que me corrijan si me equivoco xD.
Mas tiempo toma vertir la imagen en pantalla.. imaginemos... una superficie de 600x800 pixeles con una profundidad de color de 16 bits, son nada mas q 7 680 000 bits que se deben leer de la memoria, procesar e interpretar y enviarse a nuestro monitor!!! :S:S y por si eso fuera poco.. un juego ACEPTABLE necesita tener un minimo de 30FPS (osea una frecuencia de muestreo de 30 cuadros por segundo)
por lo general los juegos tienen FPS de 50 o 60... osea que deben hacer esta accion de vertir la superficie de 800x600 en la pantalla 60 veces por segundo :S osea que lo hace en 16,7 milisegundo :S y eso que no solo se vierte la imagen sino que antes se hacen todas las alteraciones que sean necesarias... asi que lo mas posible es que a la PC le tome en realidad 10 o menos milisegundos en hacer el vertido de imagen, 5 o menos en hacer todo el procesamiento (lectura de mouse y teclado, cambio de posiciones de los personajes, evaluar coliciones, etc, etc) y el resto de tiempo solo espera que se cumpla el tiempo (16,7ms) para que sea ragular el avance del juego...

De todo esto sacamos q los algoritmos de calculo (Aritmetico-Logico) no nos restaran mucha capacidad a nuestro juego... mas si lo haran cosas innecesarias como cargar y procesar graficos redundantes.

Sin mas que decirles me despido y espero, demos avance a todo esto de una buena vez xD
ta XVR el mIRC, ya conecte :D, ahora q hago
??:S
Carlos Guevara Moscol
 
Mensajes: 26
Registrado: Vie Feb 29, 2008 10:32 pm
Ubicación: Perú

Notapor lucesita » Vie Abr 11, 2008 2:56 pm

esta el caso de colorear la matriz, pero, por que no trratar como si fuiera un figurita, hacemos un cuadrado bonito en BMP y lo vamos conformando en la matriz, se entiende.

bueno, que paso deberiamos seguir para empezar?

Saludos Lucesita.
lucesita
 
Mensajes: 57
Registrado: Mié Mar 12, 2008 2:49 pm

hola

Notapor Roberto » Vie Abr 11, 2008 3:41 pm

Hola soy nuevo en la comunidad,pero os sigo desde hace tiempo,me encantaria estar en el proyecto,principalmente como observador,aunque tengo experiencia programando en C,que es muy parecido a C++,aunque en C++ no he programado casi,aunque el concepto de objetos lo tengo más o menos claro,ya que he dado java,tampoco sé mucho sobre la libreria SDL,aunque algo he leido,asi que si además de observar necesitasen cualquier cosa cuenten conmigo.Mi email es goetz_von@hotmail.com
En cuanto a las decisiones que todavia están en el aire,el tetris me parece un proyecto genial para empezar,también estoy de acuerdo en emplear Darcs para las versiones ya que lo que he leido sobre él me ha gustado y por
último la licencia GPLv3 me parece bien,menudo discurso he soltado,jajaja,bueno un saludo a todos.
Roberto
 
Mensajes: 3
Registrado: Vie Abr 11, 2008 3:25 pm

Notapor Alex_13_estu » Vie Abr 11, 2008 3:45 pm

¡Hola! Me acabo de leer el pedazo "testamento" que dejó Carlos (a veces mis mensajes también son muy largos, pido perdón por ello) y estoy de acuerdo en la mayoría de cosas que dice. No creo que la velocidad sea un gran problema en un juego como el Tetris, ya que los cálculos que va a hacer son muy pocos y sencillos, además de que los gráficos no le van a consumir muchísimo tiempo. De hecho acabio de hacer un mini-programa para probarlo y hacer un giro de 90º sobre una matriz de 4X4 sólo lleva unos 3 milisegundos... ¡¿3 milisegundos!? Pero según Carlos eso es todo el tiempo que tenemos para cálculos en nuestro juego... Bien, hago aquí un matiz: el crebro humano se comenta que ve a saltos si una imagen baja de 25 fps, pero es capaz de "procesar" hasta 60 fps (algo así leí). Por lo tanto, creo que con 50 fps nos llegarían de sobra como media estándar para nuestros juegos. Ahora el cálculo. 50 fps sale a 50/10 = 5 frames por décima de segundo, o lo que es lo mismo, 0,5 frames por centésima (si mis cálculos no fallan). Lo cual nos deja que un frame se procesa en 2 centésimas o 20 milésimas o milisegundos... Por lo tanto tenemos unos milisegundos de más con respecto a lo que decía Carlos que nos van a venir genial. ¿Todo ésto a qué viene? Pues que si algún día desarrollamos algo que sea un poco más complejo que un Tetris necesitaremos optimizar en cálculos, porque no vamos a ir muy sobrados de tiempo por frame... Ya sé que los grandes juegos en 3D se ven fluídos en una buena máquina, pero ¿con cuántos ases en la manga cuenta sus desarrolladores que nosotros ni nos imaginamos? Optimizar, señores, es la clave. Lo que nos lleva a otra cosa, y es, ¿cuándo optimizamos? Pues yo diría que una vez desarrollada la lógica del juego es cuando se debeía optimizar, porque si no nos vamos a armar mucho jaleo tratando de desarrollar y optimizar a la vez. Ahí queda eso.

¡Buf! Vaya mensaje me acabo de largar... ¡Y aún tengo que contestar a Lucas! ¿Que qué nos queda por hacer para poder empezar? Pues yo diría básicamente dos cosas. Bueno, en realidad hay una muy importante y la otra no tanto... La importante es... ¡El sistema de control de versiones, pues claro! Lucas y yo ya miramos algo de Darcs, pero estamos esperando respuesta a un mensaje que puse en "General" para decidirnos, Si no han respondido antes de este domingo, creo que nos decidiremos por Darcs, ya que hemos conseguido hacer nuestros pinitos allí y os podremos explicar algo. Y lo otro que queda por decidir es: ¿vamos a utilizar todos el mismo compilador? Lo digo para que el archivo del proyecto sea para todos el mismo... Si lo vamos a hacer, lo mejor es utilizar un entorno y un compilador libres, por lo que mi voto es para Dev-C++. Espero vuestra respuesta y perdón por el mensaje tan largo.

Un saludo.
Alex_13_estu
 
Mensajes: 75
Registrado: Jue Mar 27, 2008 5:22 pm

Notapor Juan Carlos » Vie Abr 11, 2008 5:57 pm

Hola, posteo para avisar que no podre meterme en la creacion del programa. Basicamente existen 3 factores que me lo impiden: la facultad, un proyecto personal y un pequeño accidente con mi disco rigido :(

Les recomiendo que no se pongan a debatir si una funcion es mas o menos eficiente que otra. Lo ideal es que creen el programa con el algoritmo que se les ocurra y saquen lo antes posible la version 1 del juego. Luego, en versiones posteriores, se podra agregar mas cosas o hacer mas eficiente las ya existententes.

Con respecto al sistema de control de versiones, darcs es una muy buena opcion. Tambien esta bazaar que (si no me equivoco) es compatible con CVS y con darcs.

El otro tema que queria comentar es el tema del compilador. Basta con que todos usen la libreria estandar de C (o c++) y la libreria SDL y no deberia haber problemas en compatibilidad. Asi que si no usan funciones-no-estandar, todos podrian usar compiladores/IDEs distintos y no deberia haber problemas. Esto evitaria forzar a otros usuarios a usar compiladores/IDEs con los que no esten familiarizados (particularmente no me gusta Dev-C++, y no podria vivir sin mi Vim).

Aunque, como ya dije, no estare oficialmente en el proyecto, posteare de vez en cuando y mi mail esta disponible para cualquiera.

petete_zur88@yahoo.com.ar

Por si alguno le interesa, tengo unas funciones para le escritura/lectura de texto para SDL (en esta pagina hay una version vieja de esas funciones pero solo permiten escribir texto). Aunque posiblemente no haga falta escribir/leer texto en un juego de tetris, sepan que ya existen esas funciones y pueden usarlas (solo mandenme un mail).

Saludos
Juan Carlos
 
Mensajes: 97
Registrado: Sab Jul 07, 2007 1:05 pm

Notapor Alex_13_estu » Sab Abr 12, 2008 8:52 am

¡Hola! Bueno, tenemos dos novedades en cuanto a la lista de los participantes del proecto, así que voy a actualizar:

Confirmados:

- Dokan -> Mail: kikecalpe@gmail.com
- lucesita -> Mail: lucastisera@gmail.com
- drincast -> Mail: drincast@hotmail.com (si no es correcto o no lo quieres publicar, avísame, lo saqué de tu perfil)
- dvd (en calidad de observador) -> Mail: dvd.prog@gmail.com
- Carlos Guevara Moscol -> Mail: a20050291@pucp.edu.pe
- Roberto (observador/desarrollador si es necesario) -> Mail: goetz_von@hotmail.com
- Alex_13_estu (o sea, yo) -> Mail: alex_vjuegos@hotmail.com

No participarán:

- Juan Carlos -> Mail: petete_zur88@yahoo.com.ar

Por confirmar:

- Falcon -> Mail por confirmar
- Usuario00 -> Mail por confirmar

Anrtes de nada, ¡bienvenido Roberto! Yo estoy encantado de que participes, y si alguien no está de acuerdo por algún motivo, que lo haga saber porque como podéis ver ya lo incluí en la lista... Como veréis, incluyo a Juan Carlos 8una pena que no puedas participar) en la lista "no va a participar" aunque es una tontería el crear esa lista, ya que si no participan no son del proyecto... Así que, ¿por qué lo hago? Porque como dijo él: "Aunque, como ya dije, no estare oficialmente en el proyecto, posteare de vez en cuando y mi mail esta disponible para cualquiera.". Y espero que no le moleste que le hagamos algunas consultas en ese caso. Por último, quería preguntarle también a Juan Carlos: ¿sabes algo de Darcs o otro sistema de control de versiones? A Lucas le parecía que tú tenías conocimientos de algo de ésto, así que, si sabes algo, por favor pásate por el foro "General" y responde a una cuestión que dejé allí hace unos días, nos sería de gran ayuda. En cuanto a las funciones, yo tenía algo similar desarrollado, pero no sé dónde están... Y seguro que son mil veces mejores esas que dices tú, así que, si nos hacen falta, probablemente te mandemos un mail pidiéndolas. Gracias por ofrecerlas.

Un saludo.
Alex_13_estu
 
Mensajes: 75
Registrado: Jue Mar 27, 2008 5:22 pm

Notapor drincast » Sab Abr 12, 2008 5:19 pm

Hola a todos, llevo casi una semana sin poder entrar en el foro, no he tenido mucho tiempo, en este momento voy a leer el post, para saber en que van, de todas formas me disculpo por no estar participando muy a menudo,

Alex_13_estu, si el correo esta bien.

Pues por el momento o puedo opinar mucho ni aportar, como dije voy a ponerme al tato en lo que van y seguro que, muy porto escribiré algo mas interesante en este post
drincast
 
Mensajes: 34
Registrado: Mié Mar 12, 2008 4:23 pm
Ubicación: Colombia

Notapor Alex_13_estu » Sab Abr 12, 2008 8:17 pm

Bueno drincast, encantados de tenerte de nuevo aquí, esperemos que puedas conectarte más a menudo a partir de ahora, ya que mi intención es... ¡dar comienzo al proyecto pasado mañana! O sea, el lunes 14, si mis cuentas no fallan. Parece que nadie es capaz de ayudarnos con el tema de Darcs, por lo que no tenemos más que adaptarnos a lo que tenemos, que trato de explicar lo mejor que sé en éste tema del foro "Artículos, traducciones y documentación". Una vez hayáis leído eso creo que deberíamos crearnos un proyecto en SourceForge para poder hacerlo funcionar (cuando hayáis leído lo que escribo lo entenderéis). Así que la única pregunta que queda es: ¿estáis todos de acuerdo en comenzar ya?. Si alguien no lo está, que lo diga. La licencia a usar será GPL v.3 (a ver si escribo también algo sobre ésto), porque fue la más votada en el post correspondiente, el lenguaje es C++ y SDL y los participantes somos:

Confirmados:

- Dokan -> Mail: kikecalpe@gmail.com
- lucesita -> Mail: lucastisera@gmail.com
- drincast -> Mail: drincast@hotmail.com
- dvd (en calidad de observador) -> Mail: dvd.prog@gmail.com
- Carlos Guevara Moscol -> Mail: a20050291@pucp.edu.pe
- Roberto (observador/desarrollador si es necesario) -> Mail: goetz_von@hotmail.com
- Alex_13_estu (o sea, yo) -> Mail: alex_vjuegos@hotmail.com

No participarán:

- Juan Carlos -> Mail: petete_zur88@yahoo.com.ar

Por confirmar:

- Falcon -> Mail por confirmar
- Usuario00 -> Mail por confirmar

Creo que ya estamos listos, así que cuanto antes comencemos, mejor. Las imágenes ya las tenemos gracias a drincast, y sólo queda desarrollar el juego. Creo que lo lógico sería empezar por la lógica y luego ponerse con los menús. Por cierto, para que el código fuente se pueda compilar en los ordenadores de todos creo que deberíamos seguir unas simples normas (si se os ocurre alguna más, por favor ponedla):

1.- La librería SDL debe estar en un subdirectorio de la carpeta "include" del compilador. Así estará todo más organizado y el include será igual para todos:
Código: Seleccionar todo
#include <SDL/SDL.h>

2.- Todo lo que hagamos deberá llevar comentarios para que sea posible entenderlo. No hace falta un comentario por línea, pero debe haber suficientes como para comprender fácilmente el código.

A partir de aquí vienen normas explícitas para darcs:

3.- Cuando modifiques un archivo y lo guardes en Darcs, te preguntará el nombre del parche. Dicho nombre será estándar y se conseguirá de la siguiente forma: <nombre_archivo>_<nombre_usuario>_<fecha>_[<modificación_diaria>]
Me explico, si tenemos un archivo que se llama "main.cpp" y lo modifica, por ejemplo, Dokan, el 13 de abril del 2008 su parche se llamará "main.cpp_dokan_13-04-08". Y si después ese mismo día genera otro parche, pues le llamará: "main.cpp_dokan_13-04-08_2". ¿Lo habéis entendido? Espero que sí...

Nada más, necesito opiniones de todos para poder iniciar el proyecto, así que espero que déis vuestra opinión sobre el inicio cuanto antes del proyecto y que posteéis más normas que se me hayan escapado. Hay que emmpezar ya, pero tenemos que aprobarlo yo. A ver si podemos decidirlo antes de mañana.

Un saludo.
Alex_13_estu
 
Mensajes: 75
Registrado: Jue Mar 27, 2008 5:22 pm

Notapor Roberto » Dom Abr 13, 2008 8:17 pm

hola,pues a mi me parece perfecto empezar el lunes Alex_13_estu,yo suelo llegar a casa del trabajo sobre las 20 de la tarde hora española,a partir de esa hora estaré disponeble,asi que en todo lo que pueda ayudaros hacermelo saber,un saludo.
Roberto
 
Mensajes: 3
Registrado: Vie Abr 11, 2008 3:25 pm

Notapor Dokan » Lun Abr 14, 2008 12:30 am

Por fin tengo el pc funcionando otra vez. Falta mucho por configurar (grub, firefox, ...) e instalar (darcs) pero esto va de lujo. Me he puesto Debian etch, por si a alguien le interesa, y aprovechando que tengo espacio voy a probar (por fin) la versión de ubuntu que hugoruscitti modificó para programadores.
Gracias Carlos y Alex por las explicaciones. Me doy cuenta que voy a aprender mucho de vosotros, y al tiempo siento que no voy a poder ayudaros demasiado, espero al menos no ser una carga en este camino.
Me parece perfecto que empecemos mañana (14-04-08 ), aunque yo trabajo de 14h a 23h entrare a la misma hora que hoy a enterarme de las novedades. De martes a domingo tendré la tarde libre, así que podré colaborar más activamente, y si cabe podremos reunirnos y charlar sobre lo que llevamos entre manos. Por cierto, estoy echando un vistazo a lo que hay escrito sobre el tema en el foro (que mareo), mañana, o el martes con más tiempo y ganas, leeré el manual de Darcs que publicó Alex y me informaré sobre el problemilla que están teniendo Alex y Lucas sobre descentralización a ver si por lo menos en eso puedo ser de ayuda.
Saludos!!
Avatar de Usuario
Dokan
 
Mensajes: 143
Registrado: Lun Dic 03, 2007 10:40 pm

Notapor Alex_13_estu » Lun Abr 14, 2008 6:57 pm

¡Hola! Lo primero de todo, gracias por la aceptación general de empezar hoy el proyecto y de mi manual de Darcs (es muy malo, pero traté de explicar todo lo que sabía). Lo segundo, Dokan, no te hagas muchas ilusiones con aprender de mí, es mi primer proyecto un poco serio y mis conocimientos son, seguramente, mil veces inferiores a los de la mayoría de los que estamos aquí. Y lo tercero y más importante... ¡dar comienzo al proyecto! El equipo (hasta ahora) es el siguiente:

Participantes principales:

- Dokan -> Mail: kikecalpe@gmail.com
- lucesita -> Mail: lucastisera@gmail.com
- drincast -> Mail: drincast@hotmail.com
- dvd (en calidad de observador) -> Mail: dvd.prog@gmail.com
- Carlos Guevara Moscol -> Mail: a20050291@pucp.edu.pe
- Roberto (observador/desarrollador si es necesario) -> Mail: goetz_von@hotmail.com
- Alex_13_estu (o sea, yo) -> Mail: alex_vjuegos@hotmail.com

Si hace falta que nos echen una mano:

- Juan Carlos -> Mail: petete_zur88@yahoo.com.ar

Dicho eso, dejo de nuevo el link de la mini-guía de Darcs. Ahí tenéis también varios enlaces de utilidad, así que no dejéis de visitarlo que para eso lo escribí :D . Más cosas:

Nombre del programa:

Aunque vayamos a desarrollar algo tipo Tetris, no podemos darle ese nombre, ya que el Copyright manda. Yo propongo algo como LineCube o cualquier tontería así, pero espero ver vuestras propuestas lo antes posible. Para el siguiente apartado utilizaré dicho nombre mientras no decidamos cambiarlo. Además, pongo un hipotético nombre del grupo (lo primero que se me ocurrió fue "LosersDevelopers") para que veáis como aplicar la licencia. Insisto en que debemos votar y decidir estos nombres.

GPL v.3

Por lo que sé, esta licencia no es del agrado de Linus Torvaland, pero la mayoría de las críticas la dan por buena, así que creo que la deberíamos utilizar. En último caso siempre podremos volver a la GPL v.2. Para utilizarla, sólo debemos poner al inicio de cada código fuente el siguiente texto (además de incluir una copia de la licencia y, teóricamente, si hacemos un prgrama interactivo dar una opcion para mostrar dicha licencia):

Código: Seleccionar todo
    LineCube: Videojuego arcade para un jugador basado en el Tetris.
    Copyright (C) 2008 - LosersDevelopers

    This file is part of LineCube.

    LineCube is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    LineCube is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with LineCube.  If not, see <http://www.gnu.org/licenses/>.


Por último voy a tratar el tema del repositorio y dónde colgarlo.

Repositorio Darcs y algunos archivos que lleva para empezar

Bueno, en unas horas espero tener listo el repositorio original y poder avisaros de dónde lo tenemos colgado. En principio llevará varios archivos:

- LosersDevelopers.txt -> Éste archivo es para que los que vayamos aprticipando en el proyecto dejemos nuestros nombres y mails de contacto. Muy importante cubrirlo.
- gpl.txt -> Es la licencia GPL
- archivos ".cpp", ".h", ".o", ".win" y ".layotu" -> Son los archivos del proyecto (ya tengo algo hecho en ellos). Hechadles un ojo, básicamente hay cuatro archivos, que son "figuras.cpp", "figuras.h", "bloques.cpp" y "bloques.h" que contienen estructuras y funciones para manejar las figuras del Tetris (ojo, los archivos no están acabados). También está "principal.cpp" donde está la función main();. Por ahora no hay nada del juego desarrollado porque tan sólo he estado haciendo pruebas con las funciones que desarrollé en los otros archivos.
- archivos "map.txt" y "img.bmp": -> Son archivos (imágenes y formas de figura, que utiliza el programa para hacer pruebas (meteros en "principal.cpp" y lo veréis). No es la imagen ni la forma definitiva, sólo las uso para hacer algunas pruebas.
- archivo "LineCube.exe" -> El ejecutable de Windows
- archivo "LineCube.dev" -> Archivo de proyecto de Dev-C++. Si alguien usa un compilador diferente a éste, por favor que genere el archivo de proyecto correspondiente y le añada las fuentes antes dichas (las de "figuras", "bloques" y "principal").

Creo que no me dejo nada. Por supuesto. también va el directorio "_darcs" que corresponde al Sistema de Control de Versiones Darcs. Eso es todo. Espero que os sirva de ayuda. ¡Ah! Una cosa más. Acabo de registrar el proyecto en SourceForge y me dice que pueden tardar de 1 a 3 días en aprobarlo (si es que lo hacen). Por lo tanto, todavía no podemos trabajar en él.. ¿o sí? Creo que ya podríamos ir empezando, por lo que voy a mandaros a todos vosotros por mail el repositorio origina. Ya sabéis: hacedle una copia y trabajad so bre ella generando parches. Cuando tengáis un parche enviádmelo a mi mail, yo actualizaré el repositorio original y a os mandaré de nuevo el repositorio original actualizado para que veáis lo que avanzamos. Sé que podéis acabar con miles de mails del repo original en vuestro correo, pero será sólo tres días o así. Esperemos que luego podamos comenzar a utilizar ya el sistema SourceForge. Por cierto, vais a tener que registraros en esa página y darme vuestros nicks para poder añadiros al proyecto cuando nos lo acepten.

Un saludo, y perdón por el pedazo mensaje que acabo de poner.

P.D.:Revisad vuestro mail.

EDITO:

Noticia muy importante. No sé si estaréis de acuerdo pero acabo de tomar una decisión (para mi gusto es muy buena) que cambia mucho de lo que teníamos pensado, sobre todo lo de SourceForge. Olvidaos del mail que os mandé. Olvidaos de nuestro proyecto en SourceForge. ¡Tenemos un servidor FTP en iespana! No sé si lo sabéis, pero ésto nos facilita todo y mucho. Os voy a mandar un Mensaje Personal aquí por el foro (revisad vuestra bandeja de entrada) en el que os doy todos los detalles de nuestra cuenta: nombre de usuario, contraseña... Con lo cual ahora nuestro trabajo es muy sencillo: simplemente ejecutamos el comando "darcs get <dirección del repositorio> <directorio para copiar en nuestro ordenador>" ¡y ya tenemos una copia del repositorio original para trabajar en nuestro ordenador! Al acabar de trabajar sobre la copia de trabajo generamos un parche y entramos en nuestra cuenta de iespana. Allí os descargáis a vuestro ordenador el directorio del repositorio original, le aplicáis el parche y lo volvéis a colgar. Es todo muy intuitivo, así que no tendréis problemas. La próxima vez que queráis actualizar vuestra copia de trabajo sólo entrais en su directorio y ejecutáis el comando "darcs pull". Para que ésto funcione, recordad no cambiar el nombre del directorio del repositorio original (ese nombre va a ser "LineCube"). Por último, lo de utilizar el servidor de iespana nos da otra ventaja, tenemos un lugar para colgar nuestros programas una vez que estén desarrollados. ¡Ya sabéis, a revisar vuestros Mensajes Privados!

Nada más. Un saludo.
Alex_13_estu
 
Mensajes: 75
Registrado: Jue Mar 27, 2008 5:22 pm

Notapor Alex_13_estu » Mar Abr 15, 2008 3:07 pm

Bueno, tras mi último mensaje que fue bastante lioso, me siento aquí a comentaros las dos opciones de alojamiento del proyecto que ahora mismo tenemos, debido a que ya me aceptaron el proyecto en SourceForge. Trataré de poner también sus ventajas e inconvenientes.

Colgar el proyecto en iespana.es:

Es una manera rápida, sencilla e intuitiva. Iespana nos proporciona también un espacio para colgar una web que podría ser útil para presentar nuestros proyectos. En su contra tiene que sólo podemos tener un usuario (revisad vuestros mensajes privados de éste foro para ver nuestros datos) y que no es una opción muy utilizada. A favor es que ya lo he probado y me funciona bastante bien. En el mensaje que os mandé y en mi anterior mensaje en este topic están todas las instrucciones necesarias para que podamos empezar a trabajar.

SourceForge:

Creo que la gran ventaja de esta opción es el gran número de proyectos que lleva ésta página a su espalda. Además, nos proporciona un foro privado para el grupo y así poder comunicarnos. Su gran inconveniente: está en inglés y no tengo ni idea de cómo se maneja. Trataré de investigar un poco en el tema y luego postearé de nuevo o bien os mandaré un Mensaje Personal para daros más información.

Un saludo.
Alex_13_estu
 
Mensajes: 75
Registrado: Jue Mar 27, 2008 5:22 pm

Notapor Dokan » Mié Abr 16, 2008 12:34 am

Nos está costando pero la cosa va adelante.
Ya tenemos claro lo más importante, la licencia, el SCV y el juego que queremos, pero ahora queda lo más sencillo y no por ello menos importante, repartirse el trabajo, porque aunque Darcs sea un SCV descentralizado, eso no quiere decir que todos trabajemos en la misma parte del proyecto y Darcs haga una sopa de letras.
Para empezar creo que debemos dividir por partes, repartir el trabajo y tutelarnos unos a otros (yo necesitaré mucha ayuda... :P), y cuando el proyecto tenga consistencia depurar y mejorar.
Para empezar creo que hay que debatir la lógica del juego, si van a ser reglas fieles al tetris de toda la vida o nos las inventamos (ayer se me ocurrió una mezcla de tetris y pong... xD), si va a ser de uno o dos jugadores (supongo que esto es menos importante), en definitiva hay que pormenorizar y destacar los aspectos básicos del juego para que todos los tengamos claros y podamos repartirnos la faena más eficientemente.
Ya sabeis, divide y vencerás.
Hablando del SCV, Darcs es descentralizado, pero creo que es importante que tengamos configurado un servidor siempre disponible para subir parches y descargar actualizaciones en cualquier momento sin tener a alguien pringado actualizando todos los días el repositorio principal mediante los parches que recibe vía email. Tal vez me equivoco, pero me gustaría saber que opinais.
Avatar de Usuario
Dokan
 
Mensajes: 143
Registrado: Lun Dic 03, 2007 10:40 pm

Notapor Alex_13_estu » Mié Abr 16, 2008 4:53 pm

¡Hola! Bien, parece que, como bien dice Dokan, vamos avanzando. Trataré en este mensaje de de dar mi opinión sobre la división de trabajo y, de nuevo, sobre SourceFOrge. Comienzo por ésto último con un comentario muy rápido: agradecería que se registrase alguien cuanto antes para hacerlo administrador del proyecto y así ayudarme a conocer la interfaz de SourceForge, ya que me está costando bastante. Sobre éste tema nada más. Pasamos a lo más importante ahora para poder comenzar con el proyecto:

División del trabajo:

Bien, como bien dijo ya Dokan, la clave está en dividir el trabajo, y creo que éste debe ser nuestro siguiente (y esperemos que más rápido) paso.Lo primero que nos debemos preguntar es: ¿cuántos programadores somos? Pues en principio, excepto dvd y Roberto que dijeron que participarían de forma casi testimonial, todos podemos hacer algo de ésto, ¿no? Ojo, no quiero que ninguno de los dos que cité se siente ofendido, si los incluyo en ese grupo es porque ellos mismos dijeron que preferirían observar. Eso no quita de que echen una mano de vez en cuando y de que tengan acceso total al proyecto. Con lo cual quedamos 5 programadores principales: Dokan, lucesita, drincast, Carlos y yo. Dentro de éstos, creo que se me viene a la cabeza un mensaje en el que drincast dijo que le gustaría ser diseñador gráfico, pero como no me acuerdo, expero a que él comente también (aunque sea diseñador podría seguir participando en la programación). Y además de eso, Dokan ha dicho que no le imprtaría ser "tutelado". Quiero que sepa que ninguno de nosotros es Linus Torvaland (¿o estás por ahí escondido?) y que va a ser necesario que todos nos "tutelemos" mutuamente. Creo que esos son los datos que tenemos. Por lo tanto, como considero que un proyecto como Tetris no se puede dividir en 5 partes una para cada uno, lo mejor será dividirlo en 2 ó 3 partes a lo sumo para que de cada fracción se ocupen 2 ó 3 personas. Considero que un juego tiene dos partes básicas:

- Menús
- Lógica

Como creo que los menús deben ser de lo último en desarrollarse, lo mejor es dedicarse a la parte lógica del juego. El gran problema que tenemos es: ¿cómo dividir en 2 ó 3 partes la lógica de un juego como el Tetris? Para mí es, cuanto menos, complicado. Podríamos dedicar una parte a Clases de Datos (los bloques, las figuras, el mapa...) y otra a la lógica del juego en sí (movimientos, comprobaciones...). Pero aún así no veo nada claro que sean dos partes bien distinguidas. Por lo tanto, espero que todos vosotros aportéis vuestras ideas en cuanto al reparto del trabajo. La optimización del código y la búsqueda de bugs debe ser, desde mi punto de vista, lo último en hacerse, ya que sería un lío tremendo tener que desarrollar un juego y a la vez tratar de optimizarlo. Sería prácticamente imposible. Así que ya sabéis mi opción de división:

- Creación y manejo de clases de datos (figura, bloques...)
- Lógica principal del juego (movimientos, comprobaciones...).

Como véis, tan sólo son dos partes del proyecto, por lo que tocarían a 2-3 personas por fracción. Espero vuestras ideas. y, sobre todo, si alguien consigue dividir el juego en 3 partes de la manera más efectiva posible, desde mi punto de vista estaría encantado, ya que creo que lo mejor sería tener 3 partes en el juego. Si no, espero que aportéis más opciones para dividirlo en, al menos, 2 partes.

Un saludo.
Alex_13_estu
 
Mensajes: 75
Registrado: Jue Mar 27, 2008 5:22 pm

Notapor Juan Carlos » Jue Abr 17, 2008 12:00 am

Hola, bien se me ocurrio un idea para la organizacion que puede llevarse muy bien con un sistema descentralizado.

La idea (contraria al sentido comun) es crear un codigo de alto nivel que utilice funciones de mas bajo nivel aunque estas funciones NO este implementadas. Este es el principio de "programacion por contrato" y de "ocultamiento de la implementacion". Usad el google.Y ahora paso a un ejemplo:

Supongamos que se inicia un proyecto, que no existe ningun codigo previo y que el programador JC crea el siguiente codigo main.cpp y jugar.hpp:

Código: Seleccionar todo
#include <iostream>
#include "jugar.h"

int main(int argc, char *argv[])
{
return jugar();
}

Código: Seleccionar todo
//funcion "jugar"

//Precondiciones (parametros de la funcion y las condiciones de cada parametro): Ninguno

//Poscondicion (estado final y valor de retorno): Retorna 0 si todo salio bien o distinto de 0 si algo salio mal

int jugar(void); //NO IMPLEMENTADA


Ahora bien, otro programador, llamemosle A, observa que la funcion "jugar" no esta implementada asi que decide codificarla:

Código: Seleccionar todo
//archivo jugar.cpp

#include "cargar_liberar_imagenes.hpp"
#include "gameloop.hpp"

int jugar(void)
{
if( CargarImagenes() != 0)
   {
     return -1;
   }

GameLoop();

if( LiberarImagenes() != 0)
   {
     return -2;
   }

return 0;
}


Ahora, el programador A modifica el archivo "jugar.hpp" indicando que ya esta implementada. Y ademas crea dos archivos "cargar_liberar_imagenes.hpp" y "gameloop.hpp" indicando las precondiciones, poscondiciones y las definiciones de las funciones "CargarImagenes, LiberarImagenes y GameLoop" (como hizo el programador JC) e indicando que NO estan implementadas.

El ciclo se repite una y otra vez.

Como se puede ver, primero se implemento una funcion de alto nivel (funcion main) suponiendo la existencia de otras funciones (jugar). Luego otro programador implementó la funcion "jugar" suponiendo la existencia de "cargar imagenes, liberar imagenes, game loop". De esta manera la division del trabajo nace de forma natural (definiendo funciones de mas bajo nivel).

Una cosa importante que hay que aclarar, es que el programador JC definió una funcion (jugar) y una serie de reglas (pre y pos condicion) que èl consideraba necesarias y validas. El programador A implemento dicha funcion respetando esas reglas. Este respeto mutuo es el "contrato" que ambos programadores respetan.

El concepto es simple pero es dificil de asimilar. Pueden buscar en el google mas informacion sobre "programacion por contrato" y "ocultamiento de la implementacion".

Saludos
Juan Carlos
 
Mensajes: 97
Registrado: Sab Jul 07, 2007 1:05 pm

A ver si cojo el ritmo

Notapor drincast » Jue Abr 17, 2008 2:34 pm

Bueno pues por aquí de nuevo, a ver si les puedo coger el ritmo pues hasta el momento no he podido leer detenidamente el post, primero que todo quiero felicitar ha Alex por su excelente labor, pues ha sido el que realmente el que se ha decidido a empezar de una muy buen trabajo, yo hasta el momento no he podido ver nada del código ni ver repositorio
ni siquiera entrar a la cuenta de iespana.

No se estoy viendo que de pronto puedo ser una molesta más que una ayuda, pero realmente quiero participar en el proyecto, pues me anima por el entusiasmó que todos le ponen.

No se en lo único que puedo aportar en este momento son en las imágenes, al correo les enviare las imágenes que cree una semana atrás, no se si sean de utilidad.

Bueno muchachos, solamente quiero felicitarlos y rogar a que me quede un buen rato de descanso para dedicarle más tiempo al proyecto en verdad me emociono no más con leer lo que ustedes publican en el post.

Espero ser de más ayuda, voy a ver si puedo echarle ojo al código
Una recomendación creo que la inclusión de la Liberia SDL queda más general si el de esta forma <./SDL/SDL.h> (es solo una opinión)

Ha una cosa no se si se acuerden pero en los mensajes iniciales de este post, había colocado un link para descargar unos documento, bueno son como plantillas que sirven para dar una estructura de la organización de los archivos del proyecto (puede ayudar si utilizamos diferentes IDE de desarrollo), bueno creo que seria en mi opinión lo primero que debemos organizar y definir ya que estos archivos lo que pretenden es crear una terminología y organización común (nombre de los archivos, donde deben ir guardados los diferentes tipos de archivos, etc).

Otro punto importante es definir las reglas del juego primero, pro que sin eso claro creo que no seria de mucha utilidad empezar a echar líneas de código como locos, hay una plantilla en los archivos que les voy a enviar en donde se define esto, en mi opinión personal creo que debemos desarrollar el juego con las reglas más básicas posibles para la primera versión.

Sobre lo de ser el diseñador de las figuras, pues si nadie más se le mede pues pueden contar con ello, pero eso si les aclaro no soy un experto, solo utilizo la teoría universal de ensayo y error (jajaja), claro que también estoy muy interesado en colaborar con el desarrollo del código.

Bueno creo que el mensaje es un poco largo espero que no se hayan aburrido demasiado, en el próximo talvez si es que no lo resuelven primero, puedo dar una idea de cómo dividir el trabajo, pero como dije, primero hay que crear las reglas del juego y su alcance, para saber como dividir el juego, y como empezar a echar código

Nota: Alex de pronto te puedo ayudar a investigar como utilizar SourceForge, espero que ojala pueda investigar algo.

Saludo y muchos exitos
drincast
 
Mensajes: 34
Registrado: Mié Mar 12, 2008 4:23 pm
Ubicación: Colombia

Notapor Alex_13_estu » Jue Abr 17, 2008 2:42 pm

¡Hola! Vengo de hablar un poco con Dokan por el chat de Jabberes y a los dos nos parece una idea genial lo que dice Juan Carlos para repartirnos el trabajo. Por supuesto esperaremos a que la mayoría hayáis aprobado la opción de Juan Carlos para trabajar para llevarla a cabo, pero, desde mi punto de vista, es una manera genial de repartir el trabajo. Además, se nos han ocurrido algunas cositas que creo que serían necesarias para poder llevar a cabo correctamente las actualizaciones del repositorio y para usar la manera de trabajar que propuso Juan Carlos, así que las pongo aquí:

1.- En principio (está en espera a que la mayoría lo aprobemos), usaremos el sistema de "programación por contrato propuesto por Juan Carlos.
2.- En el momento en que comencemos a crear un parche, puede ser que otra persona vaya a hacer lo mismo. Eso no es ningún problema porque cada uno desarrolla su parche en su PC, pero, si dos personas actualizan a la vez el repositorio, una de las dos actualizaciones sobreescribiría a la otra. Por lo tanto, cuando nos vayamos a descargar el repositorio para aplicarle un parche y subirlo después de nuevo al servidor, debemos crear un archivo que se llame "acualizando.txt" fuera de la carpeta del repositorio. Así, si otra persona va a actualizar en ese momento, verá el archivo y esperará hasta que desaparezca (lo borrará el mismo que lo puso una vez haya aplicado su parche). Luego de que desaparezca, se bajaré él el repositorio original y le aplicará el parche. Luego lo volverá a subir, así evitaremos pérdidas de información por culpa de sobreescribir directorios.
3.- Dentro del proyecto habrá un archivo que es "trabajando.txt". Éste archivo servirá para poder utilizar correctamente el método de Juan Carlos. Me explico: para tratar de evitar que dos personas se pongan a desarrollar a la vez una misma función, cada uno escogerá una de las funciones que estén todavía sin implementar y anotará aquí su nombre junto con qué función escogió. Así repartiremos un poco el trabajo. Obviamente, si sólo hay una función para desarrollar, no hay ningún problema en que lo haga más de una persona. Darcs creeará dos versiones del mismo archivo por sí solo.

Creo que no me dejo nada. Si estáis todos de acuerdo con los puntos que acabo de escribir, creo que podemos ponernos a desarrollar cuanto antes.

Un saludo.

EDITO:

Me parece bueno que todos leáis los archivos que dice drincast (los colgó él al pricipio del tema). Por si acaso, yo ya he rellenado uno de ellos con las características del juego, que posteo aquí:

Nombre del Juego: Line Cube (Tetris)

Versión de Videojuego: 0.0.1.0 Esta es la versión del juego que cumplirá con los requerimientos descritos en este documento

Tipo de Juego: Arcade

Descripción del Videojuego Primer Alcance: Es el típico juego de tetris pero desarrollado por nosotros. Varios bloques
geométricos compuestos de cuadrados van cayendo desde lo alto de la pantalla. El jugador los maneja girándolos,
desplazándolos... Cuando llegan al suelo, los bloques se posan y aparece un nuevo bloque que comienza a bajar para manejarlo
y colocarlo. Cuando una fila se llena de cuadrados, se elimina y se le otorgan puntos al jugador. Si llega a haber un
cuadrado en todas las filas de la pantalla, el jugador pierde. En la primera versión no desarrollaremos niveles.

Número de Jugadores: 1 (jugador).

Juego en Red: Por el momento no se desarrollará. El Tetis no es un juego idóneo para ésto.

Periféricos que utilizará: Teclado. Puede que más adelante se le de uso al mouse para controlar los menús, pero principalmente
se usará el teclado. Las flechas de dirección derecha e izquierda desplazarán la figura hacia los lados. La flecha arriba
girará la figura y la flecha abajo acelerará su descenso. La tecla Esc. finalizará el juego.

Reglas del juego: El juego se ejecutará indefinidamente. El jugador pierde si un cuadrado logra ocupar la fila más alta de
la pantalla. Los cuadrados serán de 32X32 píxeles y cabrán 10 cuadrados de ancho por 20 de alto (o sea, el área de juego
será de 320X640 píxels). Las formas de los cuadros serán muy variadas: bloques compactos, formas de L, formas de T... Las
típicas del Tetris. Por cada línea que el jugador elimine se le otorgarán 50 puntos. Si el jugador elimina dos líneas de
golpe, se le otrogan 150 puntos (50+2*50). Si elimina 3, se le otorgan 300 (50+2*50+3*50), o sea, que hay un multiplicador
que va aumentando 1 según las líneas que elimine. La puntuación se almacenrá en un archivo (preferiblemente binario o
codificado) del que se sacarán los datos para elaborar un ránking. En versiones posteriores, se podría tratar de implementar
un sistema de juego más completo. Por ejemplo, se podrían crear "perfiles" para jugar y se harían ránkings dentro de un
perfil y entre perfiles. Además, cuando la puntuación total de juego de un perfil alcance, por ejemplo, los 5.000 puntos
se le otorgaría un nuevo diseño de las figuras. Al alcanzar los 10.000 se le daría otro fondo de pantalla y así se irían
dando premios para lograr hacer un juego más entretenido.


Propuesta de Alex_13_estu.

Si alguien no está de acuerdo, estaría encnatado de ver sus propuestas y que me ayudase aportando ideas para mejorar la mía. Por último, drincast acaba de mandar al correo de todos (o eso creo) los sprites del juego. A mi me encantan, pero espero que vosotros los miréis y los aprobéis también.

Un saludo.
Alex_13_estu
 
Mensajes: 75
Registrado: Jue Mar 27, 2008 5:22 pm

Opinion

Notapor drincast » Jue Abr 17, 2008 5:39 pm

Un comentario sobre la descripción del juego, no entiendo bien la parte en que el jugador pierde, podría ser así, si los bloques alcanzan el limite superior de la pantalla el jugador pierde, no se si es claro.

En cuanto el numero de figuras, creo eso si opinión personal que por el momento solo se debería manejar las genéricas o sea el cubo, la L, la S, y la línea.

Buen trabajo Alex_13_estu, aparte de los comentarios anteriores lo demás me parece perfecto, espero que los demás opinen sobre las reglas del juego.
drincast
 
Mensajes: 34
Registrado: Mié Mar 12, 2008 4:23 pm
Ubicación: Colombia

Notapor Dokan » Jue Abr 17, 2008 8:16 pm

Primero ocupemonos de que caigan y giren las fichas, que las puntuaciones ya las iremos aplicando...
Creo que olvidamos un detalle importante, un recurso a nuestro alcance, internet. Podemos buscar las reglas y el modo de puntuar del tetris en otras webs, de hecho en mi intento fracasado de hacer algo en python encontré bastante información al respecto.
En fin, estoy un poco puteado porque me ha petado la tarjeta gráfica en mi pc (ahora estoy en el familiar). Sí, la semana pasada el disco duro, hoy la tarjeta gráfica... el pobre va a cumplir ya seis añitos. Espero solucionarlo cuanto antes (mañana veré si tienen alguna de sobra en la tienda, sino para cuando les llegue el pedido). Hasta entonces os seguiré la pista desde este.
Avatar de Usuario
Dokan
 
Mensajes: 143
Registrado: Lun Dic 03, 2007 10:40 pm

Notapor Alex_13_estu » Vie Abr 18, 2008 2:14 pm

¡Hola! Mala suerte que se te estropeara de nuevo el ordenador, Dokan... Efectivamente, como tú dices, lo primero es hacer que las fiches "bailen" de arriba a abajo, lo que ponía en mi mensaje anterior eran sólo ideas con lo que podríamos intentar en versiones posteriores. No es mi intención conseguir eso en la primera versión. En cuanto a lo de seguir al pie de la letra las puntuaciones y las reglas que dicen por ahí... No lo veo muy claro. Creo que nos podrían servir como referencia, pero no veo necesario adaptarnos totalmente a las reglas originales. Una versión más personal puede ser tan buena como la original. En cuanto a cómo se pierde el juego, yo veo dos maneras de expresarlo:

- Cuando una ficha se frena porque cae sobre otra y alguno de los cuadrados que la forman queda muy alto en la pantalla, de forma que ya no entra en el área de juego.
- Cuando hay un cuadro en todas las filas de la pantalla, incluida en una fila "imaginaria" que se encuentra fuera del área visible (en su parte superior).

Ambas maneras de explicar la manera de perder llegan a la misma conclusión: se pierde cuando una ficha se sale de la pantalla por la parte de arriba. Bien, creo que he contestado a todo lo que habéis dicho desde mi última visita, así que sólo me queda decir a los que no lo han hecho ya que lean mi anterior mensaje para corregirme todo lo posible en los datos que di sobre el juego. ¡Ah! Otra cosa más, en cuanto a lo de SourceForge. Ya vi que Dokan y drincast se han registrado ya con los mismos nombres de usuario, por lo que me he tomado la libertad de añadirlos al proyecto en calidad de Administradores. Creo que todos los del grupo merecemos ser administradores, porque somos iguales de importantes, además de que así podréis ayudarme a descubrir la gran cantidad de "secretos" que esa página todavía guarda para mi. :D . Lo que pasa es que a Dokan le puse de "Developer" y a drincast, para diferenciarlo un poco y para hacer notar la gran ayuda que nos prestó con sus gráficos lo puse de "Graphic/Other designer". Es para que parezca que tenemos mucho nivel en el proyecto... xD. Espero que no os moleste. Creo que no me queda nada más por decir. ¡Ah sí! Una cosa más, parece que hoy no funciona iespana... No sé por qué pero me parece que no es muy fiable, así que esperaré hasta que tengamos el proyecto en SF.net para ponerme a desarrollar. Cuando lo consigamos subir a SF.net, creo que será el momento adecuado para el pistoletazo de salida. ¡Así que ayudadme, porque cuanto antes mejor!

Un saludo.

EDITO:

En realidad este edit debería ser un mensaje nuevo, pero no me gusta que haya dos mensajes seguidos míos en un topic, por lo tanto escribo en un edit. El tema que trato es sobre SourceForge. Y es que, gracias a un manual que me comentó drincast, he podido comenzar a manejar esta página. El manual, pera los que lo queráis leer (os lo recomiendo, ya que es muy útil para aprender a subir archivos y crear proyectos en SF.net) está aquí. Gracias a él he podido crear ya nuestra página web del proyecto, que está en la siguiente dirección:

http:/linecube.sourceforge.net

Veréis que es horrible en apariencia y que no tiene contenido. Lo cierto es que sólo escribí un par de líneas en dos archivos para probar a subirlos a SF.net. Así que se nos suma otro problema más: ¿alguien con ganas y capacidad para diseñar una mini página para el proyecto?. No creo que este punto sea muy importante, pero deberíamos tener algo para poder publicar nuestro trabajo. Así que, si alguien se quiere dedicar a eso, por mi perfecto, le estaría muy agradecido. Además de la página web subí, como no podía ser de otra manera, el repositorio original, que se encuentra en la siguiente dirección:

http://linecube.sourceforge.net/LineCube

Así que ya sabéis, ya podemos utilizar el siguiente comando para obtener el repositorio:

Código: Seleccionar todo
darcs get http://linecube.sourceforge.net/LineCube


Con lo cual, creo que... ¡ya podemos dar por comenado el proyecto! Lo único que queda es que os leáis el manual que dije antes para poder entender SF.net y que os registréis los que faltáis en SF.net (por ahora solo estamos Dokan, drincast y yo). Para trabajar sobre el código seguiremos unas normas que ya había colgado antes:

1.- En principio (está en espera a que la mayoría lo aprobemos), usaremos el sistema de "programación por contrato propuesto por Juan Carlos.
2.- En el momento en que comencemos a crear un parche, puede ser que otra persona vaya a hacer lo mismo. Eso no es ningún problema porque cada uno desarrolla su parche en su PC, pero, si dos personas actualizan a la vez el repositorio, una de las dos actualizaciones sobreescribiría a la otra. Por lo tanto, cuando nos vayamos a descargar el repositorio para aplicarle un parche y subirlo después de nuevo al servidor, debemos crear un archivo que se llame "acualizando.txt" fuera de la carpeta del repositorio. Así, si otra persona va a actualizar en ese momento, verá el archivo y esperará hasta que desaparezca (lo borrará el mismo que lo puso una vez haya aplicado su parche). Luego de que desaparezca, se bajaré él el repositorio original y le aplicará el parche. Luego lo volverá a subir, así evitaremos pérdidas de información por culpa de sobreescribir directorios.
3.- Dentro del proyecto habrá un archivo que es "trabajando.txt". Éste archivo servirá para poder utilizar correctamente el método de Juan Carlos. Me explico: para tratar de evitar que dos personas se pongan a desarrollar a la vez una misma función, cada uno escogerá una de las funciones que estén todavía sin implementar y anotará aquí su nombre junto con qué función escogió. Así repartiremos un poco el trabajo. Obviamente, si sólo hay una función para desarrollar, no hay ningún problema en que lo haga más de una persona. Darcs creeará dos versiones del mismo archivo por sí solo.

Si alguien no está de acuerdo, que lo diga y veremos cómo solucionar o mejorar lo que tenemos, pero creo que nos ha costado mucho trabajo conseguir ésto y nos podemos dar con un canto en los dientes. Yo voy a tratar de ponerme hoy mismo a trabajar, aunque sea muy poco. Esperemos que desde ahora el proyecto vaya a toda máquina.

Un saludo.
Alex_13_estu
 
Mensajes: 75
Registrado: Jue Mar 27, 2008 5:22 pm

Notapor Alex_13_estu » Dom Abr 20, 2008 6:34 pm

¡Hola! Por fin ha revivido el foro, a ver si me pongo al día:

1º -> En los foros de nuestro proyecto, en SF.net, he colgado un mensaje en el que resumo un poco lo que contiene el repositorio original. Os lo pego:

"Y comienzo yo poniendo lo que había en el repositorio original del que partimos. Su nombre es "versión_inicial_alex_14-04-08":

- Directorio "_darcs" -> Obviamente, es el directorio que tiene asignado Darcs. Por lo tanto, no tocar.
- LineCube.dev -> Es el archivo de proyecto de "Dev-C++", el compilador que yo uso.
- LineCube.layout -> Lo genera el compilador, debe ser algo del proyecto...
- Makefile.win -> Otro que genera el compilador..
- gpl.txt -> Nuestra querida licencia GPL v.3
- map.txt -> Archivo con la forma de una figura que utilizo para probar algnas funciones del programa.
- img.bmp -> Imagen de prueba para testear algunas cosillas del programa
- bloques.h -> Archivo de cabecera con la declaración de la clase "Blocks", que se encarga de manejar las imágenes cuadradas que forman las figuras del Tetris.
- bloques.cpp -> Obviamente, archivo con algunas definiciones de las funciones de la clase contenida en el archivo anterior
- figuras.h -> Archivo de cabecera que contiene la clase "Figures", encargada de manejar as figuras completas del Tetris: moverlas, eliminar filas...
- figuras.cpp -> Archivo con algunas definiciones de funciones de la clase que había en el archivo anterior.
- principal.cpp -> Archivo con la función main donde inicio SDL y otras cosillas. Por ahora no hay nada de interés, ya que las únicas sentencias que utilizo son para probar algunas funciones que creé dentro de las clases."


Básicamente ese es el mensaje, así que ya os queda ahí el resumen de lo que contenía el repo original.

----------------------------------------------------------------------

2º -> Hoy actualizo el repositorio con muy pocas cosas, pero que me parecían importantes. Resumo los cambios aquí:

Imagen y mapa de la figura

Simplemente he cambiado el código (lo pongo más abajo) para poder usar las imágenes ".png" de drincast, por lo que ahora la imagen es ".png" y no ".bmp". Además, por cuestiones de facilidad de acceso, he movido en el mapa la colocación de la figura, situándola arriba a la derecha. Así será más intuitivo al referirse a los cuadros que la forman.

Archivo "principal.cpp"

Nada nuevo importante con respecto a lo que ya había. Simplemente creo un par de constantes más y incluyo un nuevo fichero que explicaré más abajo. Lo que contiene la función "main()" sigue siendo para probar algunas cosas.

Archivos "cuadricula.h" y "cuadricula.cpp"

¡Nuevos archivos! El fichero de cabecera contiene la declaración de una nueva clase (llamada Cuadricula) y el archivo ".cpp" las definiciones de algunas de sus funciones. Básicamente, esta clase será para crear un "mapa de colisiones" del juego, es decir, dónde se guardarán qué casillas de una cuadrícula imaginaria están llenas (1 quiere decir que hay cuadro y 0 que no lo hay). Cuando se llena una fila de casillas (es decir, cuando se completa una fila), se elimina. No es muy difícil de comprender. Por ejemplo, el mapa de esta clase contendría en sus dos últimas filas:

0110010000
0110111000

Si hubiese una figura que fuese el típico cuadrado de 2X2 y un poco más a la derecha una la típica "T invertida". Espero haberme explicado bien.

Archivos "figuras.h" y "figuras.cpp"

Ya sabéis que ambos tienen relación con la clase "Figures", la cual sirve para crear figuras de Tetris con formas variadas. De nuevo tiene algunas funciones simples que se me olvidaran ( para saber si una figura estaba activa o para desactivar una figura), las variables de la velocidad de la figura y un cambio en la función "Dibujar". Además de dibujar la figura en pantalla, esa función hace ahora otro trabajo, copia la forma de la figura en el "mapa de colisiones" que habíamos creado de la clase "Cuadricula".

Archivos "bloques.h" y "bloques.cpp"

Nada nuevo en esta clase, sigue siendo la que se encarga de manejar la imagen del "cuadradito" que forma las figuras del Tetris.

Una vez dicho ésto, creo que ya tenemos las funciones básicas del juego, así que lo próximo a hacer es comenzar a desarrollar el Game Loop e ir creando lo que nos haga falta por el camino.

Creo que eso es todo. Ahora mismo lo pongo también en el foro de SF.net para tenerlo allí todo organizado y subo también el repositorio. ¡Los que no os hayáis registrado allí, hacedlo cuanto antes!

Un saludo.
Alex_13_estu
 
Mensajes: 75
Registrado: Jue Mar 27, 2008 5:22 pm

¿me registro?

Notapor endaramiz » Lun Abr 21, 2008 2:34 pm

Hola, como bien sabéis, yo estoy en el proyecto como observador( y viendo el rumbo que toma el curso, cada vez es más complicado meterme como desarrollador), entonces, me preguntaba si merece la pena registrarme en SF. Lo digo porque no se que ventajas se obtienen con estar registrado. Por ejemplo, si tienen un servicio de mensajes privados por el que os comuniquéis, me iría bien registrarme para poder seguir mejor el proyecto (la verdad es que estoy aprendiendo muchas cosas).

Saludos.
Avatar de Usuario
endaramiz
 
Mensajes: 283
Registrado: Vie Ago 31, 2007 9:25 am
Ubicación: Barcelona

Siguiente

Volver a Planificación y eventos

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado