Iniciar sesión

Ver la versión completa : [Homebrew] MicroPixel - Versión de desarrollo



turco
08/10/2010, 21:17
Hace unos días comenté en este hilo (http://www.gp32spain.com/foros/showthread.php?t=77609) que dejaría unas capturas del proyecto sobre el que estoy trabajando. Y como lo prometido es deuda os cuento un poco sobre mi proyecto.

Se trata de un programa de dibujo que de momento sólo es capaz de dibujar píxel a píxel. La creación del programa de dibujo me ha llevado a iniciar también el desarrollo de una librería de componentes gráficos. De igual manera, esta librería sólo está en sus inicios, voy creando los componentes conforme me van haciendo falta en la aplicación.

Voy a estar sin tocar nada de este proyecto hasta aproximadamente dentro de un mes, así que no tengo ni idea de cuando tendré algo más que mostrar. De momento dejo aquí una versión de desarrollo que es la que tengo a día de hoy, por si a alguien le interesa probar el programa de dibujo o la librería de componentes gráficos.

Características de la versión actual

Permite crear imagenes nuevas con el tamaño especificado (hasta un máximo de 320x240 píxeles)
Seleccionar color de una paleta existente
Guardar la imagen creada en formato BMP


A tener en cuenta
Al estar todavía en desarrollo, no tengo impletado lo siguiente

No permite cargar imágenes creadas
La paleta de colores se genera de forma automática por lo que faltan colores importantes (entre ellos el blanco :o)
Al guardar la imagen, no se hace ninguna comprobación referente al nombre del fichero. Es decir, se coge el nombre especificado y se intenta guardar tal cual, en el directorio actual y en formato BMP. La extensión tampoco se añade de forma automática.



Para terminar unas capturas:
http://www.gp32spain.com/foros/picture.php?albumid=59&pictureid=403

Espero que os guste.
Saludos.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
EDITO

Ya hay una versión más avanzada en la zona de descargas. Esta versión ya permite guardar la imágenes, la paleta de colores está mejor seleccionada, incluye la herramienta relleno, y varios cambios más.

enlace a la descarga (http://www.gp32spain.com/foros/downloads.php?do=file&id=2800)

jduranmaster
08/10/2010, 21:23
bajado.:awesome:. es un proyecto muy interesante. espero que siga adelante.

Aiken
08/10/2010, 21:24
pues tiene muy buena pinta la verdad, para ser una version temprana esta chulo.
a ver si implementas formato png que es mejor en todos los aspectos que bmp, por lo demas, animo y sigue adelante que esta chulo.

algo interesante seria, cuando ya tengas un editor de pixel intereante, evolucionarlo hacia que se convierta en un editor de sprites para juegos, molaria poder ir en el tren creandote sprites.

Aiken

sharek
08/10/2010, 21:32
menudo interfaz! la calidad es increible

fbustamante
08/10/2010, 23:01
Pues si, menudo interfaz. Te tengo que piratear algunas ideas. :D

Drumpi
09/10/2010, 00:30
Me encanta la idea, y más ahora que se me viene un proyecto encima, así podría pixelar en esos momentos de "initimidad" :D

Ya sólo faltaría tener un editor de textos/código con pantalla táctil :)

sharek
09/10/2010, 06:24
turco, ya que estamos, me gustaría pedirte si te gustaría aprovechar tu proyecto para hacer de betatesting de mi packer

Debes tener varias imágenes como dependencia de tu binario ¿que me dices?

turco
09/10/2010, 12:44
Hola todos, gracias por vuestros comentarios.


algo interesante seria, cuando ya tengas un editor de pixel intereante, evolucionarlo hacia que se convierta en un editor de sprites para juegos, molaria poder ir en el tren creandote sprites.
Por supuesto espero que esto llegue a ser algo realmente usable y la idea sería enfocarlo a la edición de sprites. El problema es que de momento el desarrollo es muy lento porque cada vez que quiero hacer algo nuevo tengo además que crearme el componente gráfico, y es una tarea tediosa.


Pues si, menudo interfaz. Te tengo que piratear algunas ideas.
Adelante :D. Aprovecho para hacerte una pregunta... Lo siguiente que quiero implementar es la carga de ficheros. ¿Tu explorador lo estás haciendo en C? En caso afirmativo ¿que librerías utilizas?


turco, ya que estamos, me gustaría pedirte si te gustaría aprovechar tu proyecto para hacer de betatesting de mi packer
Mi proyecto utiliza varias imágenes y ficheros de recursos, por lo que seguramente sería ideal para probarlo. No tendría ningún inconveniente en hacer pruebas pero tendrías que esperar hasta que lo retome porque de momento estoy liadisimo.

En principio sólo lo haría para hacer pruebas, porque de momento mi idea es distribuir el programa con los recursos utilizados sin empaquetar o comprimir, para que cualquier usuario pueda cambiar el color de los componentes, por ejemplo, con un simple editor de textos.

De hecho, actualmente los colores utilizados para dibujar los componentes están definidos en el fichero "resources/mg_color.properties".

Saludos.

GameMaster
09/10/2010, 12:57
Felicidades. A ver si lo pruebo.

kappa64
25/10/2010, 18:52
Muy bueno si señor si esto fuera una pagina warez te llevarias mi "GRACIAS POR EL APORTE WEY"[wei]

turco
05/11/2010, 18:31
Hola de nuevo, sólo decir que ya puedo volver a trabajar en esto aunque por desgracia le puedo dedicar muy poco tiempo. De momento ya tengo implementada un carga muy básica de imágenes y ahora estoy trabajando en el componente de selección de color.

Saludos.

tSuKiYoMi
06/11/2010, 00:01
es un proyecto muy bueno. espero que lo llegues a terminar definitivamente.

XiM
06/11/2010, 01:53
Tiene muy buena pinta y es todo un soplo de aire fresco, la verdad. Enhorabuena.

turco
14/11/2010, 19:24
Muy buenas. Tengo una pequeña duda...

Tengo otra versión del programa. No es una versión 1.0, pero si que corrige muchas cosas y a mi parecer ahora si puede ser una opción para pixelar en WIZ :D

Tenía pensado subirlo a la zona de noticias, pero le he echado un ojo y todo lo que suele aparecer son proyectos terminados completamente, y en las otras secciones no sé donde encajaría.

¿Donde podría subirlo? Gracias desde ya.

^MiSaTo^
14/11/2010, 19:32
Puedes subirlo a la zona de descargas sin ningún problema ;)

turco
14/11/2010, 20:15
Puedes subirlo a la zona de descargas sin ningún problema ;)

Gracias. Ya está subido aquí:
MicroPixel (http://www.gp32spain.com/foros/downloads.php?do=file&id=2800)

jduranmaster
14/11/2010, 20:29
gracias por casi-terminar tu programa, seguro que pasa a formar parte de mis preferidos en la SD. Por cierto le queda algun detalle importante por pulir para ser una version defenitiva o simplmente alguna pincielada?

turco
14/11/2010, 22:18
gracias por casi-terminar tu programa, seguro que pasa a formar parte de mis preferidos en la SD. Por cierto le queda algun detalle importante por pulir para ser una version defenitiva o simplmente alguna pincielada?

Bueno hay varias cosas que quiero hacer como mejorar la selección de colores, permitir guardado en formato PNG, implementar las herramientas de lineas, poligonos, etc. A partir de ahí pues cualquier cosa que fuera surgiendo.

Mi principal problema es que tengo muy poco tiempo libre para dedicarlo a esto, por eso puedo tardar bastante entre una versión y otra. Esta "me corría más prisa" porque quería subir una versión funcional, ya que la que subí de desarrollo aun no podía cargar imágenes, por lo que no era realmente usable.

:brindis:

kappa64
14/11/2010, 22:19
Sugerencia , haz que se pueda utilizar la cruzeta y los botones para pintar las cuadriculas es mucho mas preciso que pintar sprites a mano en una pantalla de 320*240 con un palo de plastico.

turco
14/11/2010, 22:23
Sugerencia , haz que se pueda utilizar la cruzeta y los botones para pintar las cuadriculas es mucho mas preciso que pintar sprites a mano en una pantalla de 320*240 con un palo de plastico.

Graicas kappa64. Tienes razón, además eso lo haría válido para sistemas no táctiles. Será algo a tener en cuenta. ;)

jduranmaster
14/11/2010, 22:27
aunque te falten cosas por poner es un buen programa.:awesome:

turco
14/11/2010, 22:31
Gracias jduranmaster. Es mi primer programa para la scene y la verdad, comentarios como ese son los que animan a seguir haciendo cosas.

turco
06/12/2010, 13:00
Hola a todos, voy a escribir en este hilo para no abrir un hilo nuevo para cada duda que tenga, os cuento.

En mi programa MicroPixel, he detectado un problema en la función de relleno, y a ver si alguien tiene idea de lo que puede estar pasando. El caso es que al rellenar con un color una imagen grande, el programa se cierra. En el PC no se da el problema, pero en la consola si.

Creo que no es problema de la función porque si no fallaría con una imagen de cualquier tamaño.

No sé si estoy a punto de decir una tontería pero... ¿Hay algún límite en cuanto al número de llamadas a una función recursiva?

La función en cuestión es esta:


int do_fill(SDL_Surface* surface, int x, int y, Uint32 src_color, Uint32 dst_color) {
// Lo primero es saber que las coordenadas son correctas
if(x >= 0 && x < surface->w && y >= 0 && y < surface->h) {

// La ejecución de la herramienta se basa en colorear el pixel
// solicitado y comprobar si los cuatro pixeles cardinales de
// alrededor tienen el mismo color y se vuelve a llamar a la
// herramienta para cada uno de casos afirmativos
Uint32 pixel_color = GetPixel(surface, x, y);
if(pixel_color == src_color) {
PutPixel(surface, x, y, dst_color);

// La función vuelve a ser llamada para los puntos de alrededor
if(GetPixel(surface, x - 1, y) == src_color)
do_fill(surface, x - 1, y, src_color, dst_color);

if(GetPixel(surface, x, y - 1) == src_color)
do_fill(surface, x, y - 1, src_color, dst_color);

if(GetPixel(surface, x + 1, y) == src_color)
do_fill(surface, x + 1, y, src_color, dst_color);

if(GetPixel(surface, x, y + 1) == src_color)
do_fill(surface, x, y + 1, src_color, dst_color);
}
}

return 0;
}


Gracias de antemano. Saludos.

^MiSaTo^
06/12/2010, 13:05
Hombre no hay un límite como tal, pero está claro que la recursividad come mucha CPU. En el PC puede que no lo notes porque es algo potente, pero en la wiz...

Procura evitarlo todo lo que puedas :brindis:

No he mirado tu función pero si quieres podemos intentar pasarla a un proceso iterativo para ver si realmente el fallo es de la recursividad

turco
06/12/2010, 13:12
Intentaré reescribir la función para que vaya pintando por líneas a ver si puedo reducir el número de llamadas recursivas.

Edito: Por cierto. Estoy trabajando en el control con los botones además del lápiz.

SplinterGU
06/12/2010, 14:08
Hombre no hay un límite como tal, pero está claro que la recursividad come mucha CPU. En el PC puede que no lo notes porque es algo potente, pero en la wiz...

Procura evitarlo todo lo que puedas :brindis:

No he mirado tu función pero si quieres podemos intentar pasarla a un proceso iterativo para ver si realmente el fallo es de la recursividad

la recursividad no come CPU, come stack y puedes obtener resultados no deseados si no tienes control.

^MiSaTo^
06/12/2010, 14:17
la recursividad no come CPU, come stack y puedes obtener resultados no deseados si no tienes control.

Cierto, come memoria más que CPU ;) me equivoqué en mi afirmación anterior xD

Y también aumenta la complejidad del algoritmo (no si es fácil o difícil de implementar, sino la complejidad logarítmica). A mi siempre me han recomendado que en sistemas poco potentes si se puede hacer iterativo mejor que recursivo (bueno y en general, pero hay casos en los que no se puede o es mucho más difícil de hacer iterativo).

Nobs
06/12/2010, 22:25
Ohhh que buena pinta tiene!!!!

gecko
13/04/2012, 02:23
Perdon por el reflote gente, pero alguien tiene alguna novedad sobre este programita? :confused:

La verdad que venia excelente...

Drumpi
22/04/2012, 17:21
Se subió una nueva versión en el concurso relámpago, hace unos meses... creo. Yo recuerdo haber subido todos los programas de menos de 10MB a la zona de descargas, y algunos aun estaban pendientes de ser validado por los administradores.

turco
22/04/2012, 18:52
Muy buenas, ¡que casualidad! acabo de entrar después de mucho tiempo y me encuentro con este hilo :awesome:

Pues la verdad es que lo tengo parado. Como dice Drumpi, presenté una nueva versión en su concurso, pero desde entonces no lo he vuelto a tocar.

Como no sé cuando podré retomarlo, dejo aquí la última versión que presenté, y los archivos fuente por si alguien quiere y puede portarlo para otras consolas, corregirlo, mejorarlo, etc.

Sobre el código fuente, decir que es todo C y SDL. Salvo la función de guardado de PNGs que la cogí de alguna página de internet (no recuerdo cual, pero sí que se podía usar sin problemas), el resto es todo mío. No soy para nada experto en C, unido a que tampoco he tenido mucho tiempo para dedicarle al programa os podeis encontrar alguna que otra burrada. Tenía pensando subirlo a GitHub, de hecho tengo creado hasta el repositorio, pero por dudas de última hora al final todavía no lo he subido.

25727
25728

Saludos

gecko
23/05/2012, 01:05
Buenisimo, gracias!

Ya mismo lo paso a la wiz a ver de que se trata! :)