Bennu Game Development

Foros en Español => Offtopic => Topic started by: Marc on April 03, 2013, 06:47:44 PM

Title: Proyecto - "Mi propia consola portátil"
Post by: Marc on April 03, 2013, 06:47:44 PM
Buenas gente, os presento mi proyecto final de grado superior!

Seguramente os preguntéis que tiene que ver con vosotros o la comunidad de BennuGD en general y os seré sincero: NADA. Soy estudiante del Ciclo formativo de grado superior de desarrollo de productos electrónicos (Acepto dudas por aquí o por MP) y mi proyecto final tratara de emular una "Game & Watch: Orígenes" invento mio, fusionando el estilo de las consolas de nintendo y los primeros juegos (OXO, Pong,...) de los '60,

El proyecto contara de varias fases, pero aquí a no ser que os interese la parte del hardware, solo iré presentando lo que obtenga de software para que le peguéis una ojeada si queréis, opinéis, deis ideas o simplemente cotilleéis como se programa un Microcontrolador y aunque no lo parezca se puede hacer juegos en esta plataforma.

Ademas, cuantos de vosotros tendréis una consola portatil hecha por uno mismo ehh? xD

PD: Una simulación jugable puede tardarme 2 semanas, aun estoy trabajando las funciones para el LCD, pero voy bien de tiempo xD
Title: Re:Proyecto - "Mi propia consola portátil"
Post by: SplinterGU on April 03, 2013, 06:54:21 PM
Bienvenido!

ahora, veo que como dices lo tuyo no tiene nada que ver con BennuGD y la misma comunidad... lo que me hacer preguntar, que te motivo a presentarte en esta comunidad (con tal declaracion)?

como sea, bienvenido.
Title: Re:Proyecto - "Mi propia consola portátil"
Post by: Erkosone on April 03, 2013, 07:02:30 PM
Hola Marc, yo también programo micros, cual usas?
Title: Re:Proyecto - "Mi propia consola portátil"
Post by: Marc on April 03, 2013, 08:23:24 PM
Splinter, ya llevo tiempo por aquí, por eso lo he puesto en off-topic porque tiene que ver con desarrollar videojuegos aunque de una forma diferente a la que se usa aquí :D!

Erkosone, normalmente utilizo microchip, la familia del 16F88X, normalmente el 3, 6 o 7 según la aplicación que quiera diseñar. Por ahora para el juego empezaré con el 16F883 y si me quedo corto iré ampliando, que quiero una main board lo más reducida posible.
Title: Re:Proyecto - "Mi propia consola portátil"
Post by: DCelso on April 03, 2013, 11:36:27 PM
pero que vas a hacer, la consola y el emulador?
que chulo,
pero plan game and watch de un solo color?, en el que había unas únicas posiciones posibles de sprites que se encendían o apagaban para generar el juego.
o algo más moderno tipo ya gameboy que tiene mas posibilidad de dibujar en cualquier lado de la pantalla cualquier cosa...
Title: Re:Proyecto - "Mi propia consola portátil"
Post by: Erkosone on April 04, 2013, 12:56:17 AM
Oki, son modelos bastante standard, suelen ser los modelos con los que se aprende a programar en la universidad.


Yo hace un tiempo me compré una placa de Arduino UNO y he quedado encantado con el, tiene un sinfin de librerías yuna comunidad a nivel mundial enorme, te aconsejo le des un ojo pues ya tienes perifericos con los drivers en c++ para muchisimas cosas, entre las que mas me han gustado la targeta para salida de vídeo, que gozada.


Suerte con tu proyecto tío.
Title: Re:Proyecto - "Mi propia consola portátil"
Post by: Marc on April 04, 2013, 01:04:15 PM
Ya me gustaría tener una pantalla gráfica (y tener librerías para usarla) pero se me va del presupuesto, así que usaré algo más cutre y por ahora intentaré hacer el: OXO (Tres en ralla del '58) y alguno de carreras o esquivar obstáculos como el Line Runer y si me sobra tiempo el de la rana que cruza el río saltando al tronco.

Ya que mi LCD no me da muchas opciones para hacer cosas más elaboradas y tengo 5 semanas para hacer el hardware, el software, la simulación, la PCB, montaje, etc..

Ahora mismo estoy trabajando con una función así:
función ( char linea, char columna , char dato ); <- Para que poniendo la fila + columna + caracter se dibuje al LCD escribiendo solo eso, sin machacar ningún dato.
Title: Re:Proyecto - "Mi propia consola portátil"
Post by: Erkosone on April 04, 2013, 01:28:52 PM
Te recomiendo que uses la técnica que se usaba en los Sinclair Spectrum de matrices de bits para hacer graficos en un LCD, crea unas funciones royo bennu para tu pic, seguro que lo podrás reutilizar..


Yo haría algo así como new_map() pasandole un ancho, un alto y un boleano para dejar la matriz a cero o a uno, hablo de una matriz de bits creada con malloc(), que en realidad será una matríz de bytes pero la conversión es fácil, luego puedes crear una estructura royo los procesos de bennu pero mucho mas simplificada, y con un array dinámico de punteros te creas  un micro engine para recorrer la lista de "estos micro process" y usar algo como bennu en tu pic simulando toda la información de un proceso en una estructura.


Yo llevo con esta idea en la cabeza desde hace tiempo, lo haré para arduino, pero tengo que sacar algo de tiempo que no me sobra mucho ahora..


Te animo a que mas que hacer un juego hagas un engine para juegos, seguro que esto será muy valorado por los profesores ya que podrás dejarlo como legado en la universidad, pero claro.. hablo sin saber exactamente que nivel de c tienes para implementar esto, aunque si has programado algún juego en C seguro que te resulta sencillo.


Sea como sea mucho animo.
Title: Re:Proyecto - "Mi propia consola portátil"
Post by: kim-elet-o on April 04, 2013, 01:38:21 PM
Suerte Marc con tu proyecto.

Me recuerdas a mi cuando estudie FP II de Electronica Industrial, hara unos 24 años, que para practica final de 5º hice un hibrido de laberinto con buscaminas, con un "entrenador de microcesadores" basado en un 6502 y una matriz de led que me invente.

Que tiempos!.
Title: Re:Proyecto - "Mi propia consola portátil"
Post by: FreeYourMind on April 04, 2013, 05:22:04 PM
Yo hice un robot bombero hace años.


(http://sphotos-e.ak.fbcdn.net/hphotos-ak-ash3/553832_10151243508648118_1645524373_n.jpg)

(http://sphotos-g.ak.fbcdn.net/hphotos-ak-ash4/407634_10151243510773118_1295522800_n.jpg)


Y como no, en las pausas unas partiditas no venian mal xDDD
Title: Re:Proyecto - "Mi propia consola portátil"
Post by: theosk on April 04, 2013, 11:02:33 PM
Gracias por la fotos, me encantan estas cosas :D
En la uni tuve ocasión de programar con una placa demo pic32, no fue gran cosa, pero nunca había hecho algo del estilo. Teníamos que leer unos sensores de temperatura y los valores de unas ruedecitas y botones, y mostrarlos en un display LCD externo:

(http://i.imgur.com/RHCxPufh.jpg)

Como el profesor llegaba tarde, mi compañero y yo nos pusimos a programar un pequeño jueguecillo de esquivar asteroides... todo en modo texto y controlado con una de las minúsculas ruletas que tenía la placa :P

(http://i.imgur.com/sF0RcTdh.jpg)

Por desgracia, todo el material es de la universidad y no conservo la maquinita, aunque sí debo tener los códigos en C por alguna parte. ¿Sale muy cara una placa demo? He estado mirando algunas microcontroladoras sueltas, pero no quiero quemarlo todo soldando yo de momento xD y además no sé mucho del tema, no sé lo que estaría comprando.
Title: Re:Proyecto - "Mi propia consola portátil"
Post by: FreeYourMind on April 05, 2013, 04:55:33 AM
hay mucha placa demo que se regalan, si miras en su webs suelen enviar samples gratis, hace años que no miro el tema pero algun amigo mio se llevo alguna gratis
Title: Re:Proyecto - "Mi propia consola portátil"
Post by: Erkosone on April 05, 2013, 03:08:01 PM
Mirate el arduino Uno, es baratisimo y tienes de todo para conectarle, y lo mejor de todo es que detrás hay una comunidad muy grande que ha desarrollado cientos de librerías para esa placa, yo la compré hace unos meses y literalmente flipé al ver lo que se puede hacer con el ;)
Title: Re:Proyecto - "Mi propia consola portátil"
Post by: Futu-block on April 05, 2013, 06:30:32 PM
que guay, interesante...
Title: Re:Proyecto - "Mi propia consola portátil"
Post by: Marc on April 12, 2013, 09:34:52 PM
Después de 1 semana de proyecto, la función para pintar en la LCD la acabé y la he probado junto con 2 botones muy simples.

(http://i49.tinypic.com/2hzltu.jpg)

Como se ve arriba a la izquierda, tengo la alimentación desde una pila de 9V con un 7805, simplificando-me la vida jaja y bueno... para la semana que viene lo que quiero es tener esto simulado y funcionando:

(http://i45.tinypic.com/357kljo.jpg)

Si, 2 pantallas, doble de botones, doble de consumo... doble trabajo y... DOBLE SATISFACCIÓN. Lo intentaré si no se me complica mucho la vida que siempre queda más vistoso.

Nos vemos por aquí!
Title: Re:Proyecto - "Mi propia consola portátil"
Post by: gecko on May 09, 2013, 05:19:04 PM
como viene esto? hay algo mas para ver?

se ve mucha dedicacion puesta en esos diagramas
Title: Re:Proyecto - "Mi propia consola portátil"
Post by: Marc on May 27, 2013, 05:04:28 PM
Si, perdonad por el abandono al hilo y a vosotros, he estado liado con el proyecto este, la documentación, exámenes y otras cosas.

Por problemas de tiempo, no pude añadirle una nueva LCD ya que no podía testear si funcionaria todo bien aunque teóricamente si, pero como nunca se sabe preferí curarme en salud.

Entonces finalmente hice una consola muy simple, demasiado diría pero la monte y todo funciono a la primera que es lo que yo queria jajaja

(http://i.imgur.com/wdPRGfz.jpg)
Title: Re:Proyecto - "Mi propia consola portátil"
Post by: gecko on May 27, 2013, 09:38:46 PM
jajaja genial! felicitaciones!

Debe ser super satisfactorio eso de jugar a un juego hecho (CONSTRUIDO) por uno mismo! :)
Title: Re:Proyecto - "Mi propia consola portátil"
Post by: kim-elet-o on May 28, 2013, 10:34:11 AM
Enhorabuena por la conseguir a llevar a puerto tu proyecto.


Title: Re:Proyecto - "Mi propia consola portátil"
Post by: Erkosone on May 28, 2013, 05:14:42 PM
Enhorabuena!


Estaría genial si logras crear gráficos como los del Spectrum a base de caracteres redefinidos, osea, una matríz de 8x8 donde con ceros y unos creas un sprite que luego manejas con algúna función, no se si puedas redefinir chars en ese pic, pero si puedes hacerlo es una opción para crear Tiles que luego juntas para crear gráficos grandes y mueves con las propias funciones para textos ;)


Eso lo hacía yo hace años en mi spectrum en lenguaje Basic y daba una sensación curiosa jeje..
Title: Re:Proyecto - "Mi propia consola portátil"
Post by: kim-elet-o on May 29, 2013, 10:02:07 AM
Yo tambien soy de la epoca del spectrum y tambien redefinia los set de caracteres del spectrum para hacer juegos, incluso pique 4Kbytes de codigo hexadecimal de micromania, para añadir al spectrum unas funciones simples de manejo de sprites.


Title: Re:Proyecto - "Mi propia consola portátil"
Post by: Drumpi on May 29, 2013, 07:28:16 PM
Oye, pues mola el proyecto, has tenido mucha suerte.
Por un momento pensé que hablabas de hacer una consola con un LCD de array de pixels y una parafernalia de HW bastante laboriosa. Aun recuerdo mi PFC con amor/odio, las frustraciones, la falta de tiempo, los problemas de documentación... y que todo saliera bien, y todo para hacer un manual de desarrollo con BeagleBoard. No eres el único friki de la electrónica del foro.

Mucha suerte con tu bicho, que no te de demasiados problemas y a ver si el tribunal luego se porta.

Otro de los "proyectos" en los que trabajé fue en la asignatura de laboratorio de electrónica digital, con un entrenador de 68000 conectado en serie con el PC que hacía las veces de input/output, y por sus salidas a un puñado de protoboards en las que montamos un array de leds. Era un trabajo de 4 personas, pero lo hicimos entre dos, y tanto nos gustó que conseguimos duplicar el tamaño máximo recomendado del array de leds, y el PC lo utilizamos sólo para cargar el programa en el entrenador (le pusimos los botones en la placa, contadores de puntos con 7 segmentos, temporizadores con 7 segmentos y leds, indicadores extras...).
Qué tiempos... Y pensar que fue la única asignatura que aprobé aquel año :D :D :D
Title: Re:Proyecto - "Mi propia consola portátil"
Post by: Erkosone on May 30, 2013, 04:22:18 AM
Quote from: Drumpi on May 29, 2013, 07:28:16 PM
Oye, pues mola el proyecto, has tenido mucha suerte.
Por un momento pensé que hablabas de hacer una consola con un LCD de array de pixels y una parafernalia de HW bastante laboriosa. Aun recuerdo mi PFC con amor/odio, las frustraciones, la falta de tiempo, los problemas de documentación... y que todo saliera bien, y todo para hacer un manual de desarrollo con BeagleBoard. No eres el único friki de la electrónica del foro.

Mucha suerte con tu bicho, que no te de demasiados problemas y a ver si el tribunal luego se porta.

Otro de los "proyectos" en los que trabajé fue en la asignatura de laboratorio de electrónica digital, con un entrenador de 68000 conectado en serie con el PC que hacía las veces de input/output, y por sus salidas a un puñado de protoboards en las que montamos un array de leds. Era un trabajo de 4 personas, pero lo hicimos entre dos, y tanto nos gustó que conseguimos duplicar el tamaño máximo recomendado del array de leds, y el PC lo utilizamos sólo para cargar el programa en el entrenador (le pusimos los botones en la placa, contadores de puntos con 7 segmentos, temporizadores con 7 segmentos y leds, indicadores extras...).
Qué tiempos... Y pensar que fue la única asignatura que aprobé aquel año :D :D :D


Leches, hay más electrónicos por aquí!!


Pues Drumpi nen, SACRILEGIO!!!!  usar un motorola 68000 para pruebas con leds jeje.. ese chip es fantástico de verdad, que suerte poder haber tenido uno para hacer de las tuyas.. yo me tuve conformar con un z80 que bueno.. tampoco estaba mal.. pero el 68000 era otro mundo directamente.. recuerdo que el profe nos contaba del set de instrucciones del 68000 que eran además de mucho mas amplias, directamente habían implementado rutinas gráficas en la rom, vamos.. una autentica maravilla que no pude ver..


Que envidia macho jeje..  a día de hoy me conformo con los arduino, una pasada de verdad, se programan en asembler y C++ con cientos de librerías super frikis para todo lo que se te ocurra.


Mola!
Title: Re:Proyecto - "Mi propia consola portátil"
Post by: kim-elet-o on May 30, 2013, 11:25:26 AM
Un Z80, suerte que tuviste Erkosone, en FPII de electronica industrial me tuve que conformar con un microsistema basado en el 6502, de eso hace uuuuffff 24 años, aun asi hice en la practica final un juego con una matriz de 8 x 8 Leds verdes, que se trataba de atravesar un campo minado, en un display se indicaba la cantidad de minas que rodeaba la posicion actual del jugador, antes de empezar el juego este mostraba un mensaje en scroll anunciando el juego, y las instrucciones de este, me lleve buena nota a pesar que no entrege toda la documentacion del proyecto a tiempo.


Title: Re:Proyecto - "Mi propia consola portátil"
Post by: Drumpi on June 06, 2013, 04:43:58 PM
Hombre, erkosone, claro que lo suyo hubiese sido usar un LCD con matriz de pixels, pero los materiales, salvo el ordenador y el entrenador que lo ponía la universidad, los teníamos que comprar nosotros. Ya sólo los cables paralelos (similares a los viejos IDE de PC) ya nos costaron 5€, en total creo que pusimos 15€ cada uno para poder aprobar (¿no se supone que la escuela corre con estos gastos?) :D :D :D

A los dos años sustituyeron los entrenadores de 68K por otros de Texas Instruments, que en lugar de usar ensamblador, usaban un código pseudo-C. Cuando llegasen a Sistemas Digitales Avanzados y se encontrasen con que tienen que programar un DSP en ASM se iban a asustar mucho mucho :D

En FPII no teníamos más que un único chip XOR, porque los demás estaban rotos y no había dinero para reponerlos (pero sí para poner ordenadores para los niñatos que entraban en la ESO).

Por cierto ¿en serio? Tienes tu propia consola y el primer juego que haces es un matamarcianos ¿Por qué siempre el primer juego tiene que ser un matamarcianos? Hasta el manual de Div te decía que hicieses un matamarcianos ¿Acaso es un lavado de cerebro para que el primer instinto de los informáticos sea acabar con la vida alienígena?
Title: Re:Proyecto - "Mi propia consola portátil"
Post by: Futu-block on September 06, 2013, 08:24:40 AM
me gustaria programar algo para eso, aunque sea con graficas simples de un cuadradito 1x1...

¿cuanto tamaño tiene? si no lo has puesto ya...