Aplicación "Game Addon Manager": versión 1.0.0 disponible!

Iniciado por Papamonos, Abril 18, 2015, 12:31:29 AM

Tema anterior - Siguiente tema

Papamonos

Buenas noches!

Durante unos meses he estado trabajando en un programita que muchos usuarios de aquí seguramente agradecerán. Ciertamente desconozco si ya existe algo por ahí (a día de hoy es muy difícil ser novedoso u original), pero en cualquier caso ésta es mi versión :)

Se trata de una pequeña aplicación de escritorio que nos ayudará a tener bien organizaditos y guardados todos nuestros juegos, mapas y utilidades que tengamos en el equipo, y poder acceder a ellos fácil y rápidamente. Además de no volvernos locos cuando queramos buscar un mapa concreto entre 10.000 ficheros, podremos tener el escritorio limpio de accesos directos.

Las características más importantes son:

-Ejecutar los juegos y utilidades desde el propio programa.
-Registrar los mapas organizados por juego y autor que se crea en la carpeta del programa
(ej: C:/programa/files/duke_nukem/maps/papamonos/the_last_goodbye). Dentro de dicha carpeta se guarda el fichero seleccionado (the_last_goodbye.rar)
y un fichero readme opcional (the_last_goodbye.txt) para poder acceder rápidamente a la información del mapa.

-Registrar los autores con su sitio web y/o mail, permitiéndonos acceder a dicha url o enviar un correo.
-Desde el listado de autores, seleccionar cualquiera de ellos para acceder a sus listas de juegos, utilidades y mapas. Igualmente podremos acceder a los listados de mapas y utilidades de los juegos.

-Desde la lista de mapas y utilidades que tengamos registrados, podremos seleccionarlos para guardar una copia del fichero en la carpeta deseada.

-La aplicación tiene multiidioma, pudiendo cambiarlo en cualquier momento (de momento Español e Inglés, que necesitará de algunas revisiones).

Evidentemente, todos los registros se pueden modificar o eliminar cuando deseemos (los ficheros también se eliminarán de la carpeta del programa).

En próximas versiones tengo previsto añadir otras funcionalidades como:

-Un formulario para generar nuestro propio fichero readme (con un formato establecido), rellenando los datos correspondientes.

-Crear una copia de seguridad de los ficheros.
-Crear lanzadores de mapas para algunos juegos predefinidos (como Duke Nukem o Doom), de modo que podamos ejecutarlo directamente desde la propia lista de mapas.

La aplicación está desarrollada en Java y usa una base de datos embebida (embedded), por lo que no necesita instalación y debería funcionar en Linux y versiones antiguas de Windows (tengo Windows 7 y me falta probarlo en mi instalación de XP).

Aquí añado algunas capturas de pantalla, como veréis tiene una interfaz muy clara y sencilla.

https://www.dropbox.com/s/07wqsxn9w415v3i/busquedaAutores.png?dl=0
https://www.dropbox.com/s/p2r574o573c9u9e/busquedaJuegos.png?dl=0
https://www.dropbox.com/s/vrh3f0lz1xa89bt/busquedaMapas.png?dl=0
https://www.dropbox.com/s/1kqz4j8g4t5apsv/busquedaUtilidades.png?dl=0
https://www.dropbox.com/s/4it3spfff5n0914/listaJuegosAutor.png?dl=0
https://www.dropbox.com/s/4vszk8qcqupoct7/listaMapasJuego.png?dl=0
https://www.dropbox.com/s/lwpo3ue8y2lwex5/modificarJuego.png?dl=0
https://www.dropbox.com/s/lj4fmegsko69p2n/nuevoMapa.png?dl=0

Un saludo!
"Duke forever. Doom forever.
The  true FPS reborn!"

[ETC]FTM


Arrovf

Yep! brutal,
pero te comentaré un problema que te puede surgir:

Por alguna razón Eduke32 no se lleva muy bien con Java, lo que quiero decir es que si tienes aplicaciones Java ejecutandose en segundo plano al estar jugando (como puede ser el Game Manager mismo), es muy posible que eduke32 se te quede colgado algunas veces en el momento de guardar la partida o al cargar texturas de alta resolución en el caso de jugar con el HRP.

Por lo demás, ¡todo excelente!, suerte con el proyecto.

Eye del Cul

Vaya, de esto me hablabas el otro día por Facebook. No pensaba que lo tenías tan adelantado. Se ve bastante bien. Y si está hecho en Java supongo que funcionará también en Linux.
«Porque buscar a alguien patético en Internet es como buscar caballos en un establo: encontrarás alguno, seguramente» -- Phobos Anomaly

Papamonos

Cita de: Eye del Cul en Abril 18, 2015, 10:11:09 PM
Vaya, de esto me hablabas el otro día por Facebook. No pensaba que lo tenías tan adelantado. Se ve bastante bien. Y si está hecho en Java supongo que funcionará también en Linux.

Si, ya te dije. No he querido decir nada hasta tenerlo lo suficientemente avanzado como para publicar una primera versión. Lo empecé hace cerca de un año, pero como quería estar al 90% con mi episodio 'Hell In Time' (Doom 3) que finalicé en Septiembre, no fué hasta Noviembre/Diciembre cuando me puse en serio :)
Y si, debería funcionar en Linux. Estuve a punto de crearlo con .Net (Microsoft) pero precisamente por el funcionamiento en otros S.O, entre otros aspectos, me decidí por Java.

Arrovf, lo que comentas del EDuke con java me deja loco  :o Evidentemente creo que con eso tengo pocas opciones, ya que es un error del propio EDuke y la app no tiene ningún tipo de control sobre los juegos (simplemente los ejecuta).
"Duke forever. Doom forever.
The  true FPS reborn!"

eldraku

se ve muy interesante  :D ¿vendrá con base de datos de juegos o es para que el usuario se vaya metiendo sus registros?

Papamonos

El jugador guardará sus registros, pero tal como comentas si, igual es buena idea que en la BBDD vengan ya por defecto algunos juegos y sus autores :) (el usuario siempre podrá modificarlos o eliminarlos a su antojo).

P.D: acabo de arreglar algunos bugs importantes, ya queda menos!!!
"Duke forever. Doom forever.
The  true FPS reborn!"

Tomato-Chan^3^

Luce bien, si necesitas ayuda con el inglés ese yo te puedo echar un cable, ánimo!

Papamonos

Bueno, en breve publicaré esa beta, en cuanto termine el manual que estoy preparando.
De momento creo que he corregido todos los errores que tenía localizados. El único problema que sigo detectando es en la ejecución de ciertos juegos, ya que la mayoría funciona pero otros como EDuke (seguramente por lo que comentaba Arrovf que igual se lleva mal con Java) directamente no pasa de la ventana de carga. El resto que he probado, desde ZDoom hasta el último Resident Evil HD, y pasando por Quake 4 (éstos dos instalados mediante Steam) se ejecutan sin problemas. Lo mismo para los programas como Doom Builder, WadAuthor y DarkRadiant (Doom 3).
"Duke forever. Doom forever.
The  true FPS reborn!"

Papamonos

#9
Ya está disponible!

-Windows 32 -> https://www.dropbox.com/s/2ig4ml02kldhmc8/gameAddonManager_w32.rar?dl=0
-Windows 64 -> https://www.dropbox.com/s/b66j8ynttgx57ug/gameAddonManager_w64.rar?dl=0
-Linux 32 -> https://www.dropbox.com/s/fz4b0tsfspd0blv/gameAddonManager_linux32.rar?dl=0
-Linux 64 -> https://www.dropbox.com/s/gqyu3ofejs3wh9s/gameAddonManager_linux64.rar?dl=0

El único requisito es tener Java 6 (o superior) correspondiente (32 o 64 bits).
Ojo! La versión del programa depende exclusivamente de la versión de Java que tengamos instalada, no del SO. Evidentemente no podemos instalar Java 64 en un SO de 32, pero podemos tener Java de 32 en un SO de 64.  Pero al igual que las versiones del programa de 64 bits no funcionan bajo java 32, las versiones de 32 bits tampoco funcionan en Java de 64.

Por mi parte solo he probado la version w32, así que el resto están excentas de pruebas, aunque no debería haber problemas.

En fin, dentro de cada .rar tenéis el fichero de instalación, y dentro del menú del propio programa tenéis acceso al manual de usuario (la última opción llamada 'Ayuda').

¡Espero vuestras opiniones y comunicadme por aquí si veis algún fallo o cualquier sugerencia para próximas versiones!

Un saludo!
"Duke forever. Doom forever.
The  true FPS reborn!"

eldraku

¡oh, un proyecto terminado! ::risa::

gracias Papamonos!, yo no lo usaré pero desde luego es un gran aporte, seguro que muchos coleccionistas de mapas te lo agradecerán  :D

Papamonos

Cita de: eldraku en Mayo 13, 2015, 02:52:25 PM
¡oh, un proyecto terminado! ::risa::

Si, creo que hasta ahora todos mis proyectos (al menos los publicados) los he finalizado, antes o después  :P.
Ahora espero que esto haya merecido la pena... Mientras espero feedbacks, empiezo a diseñar mi nuevo sitio web, que la antigua la dejé abandonada y está hecha una pena. Así podré publicar en condiciones todos mis mapas y este mismo programa.
"Duke forever. Doom forever.
The  true FPS reborn!"

eldraku

oh no, no lo decía por tí, sino por los proyectos que tiene todo el mundo en general, je, je

¡esperamos tu web!  :D

Eye del Cul

#13
Con la versión de Linux de 32 bits no he tenido suerte. En Java 1.7.0_60:

Citarorg.h2.jdbc.JdbcSQLException: Error creando archivo "/C:"
Error while creating file "/C:" [90062-180]
   at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
   at org.h2.message.DbException.get(DbException.java:179)
   at org.h2.message.DbException.get(DbException.java:155)
   at org.h2.store.fs.FilePathDisk.createDirectory(FilePathDisk.java:263)
   at org.h2.store.fs.FileUtils.createDirectory(FileUtils.java:42)
   at org.h2.store.fs.FileUtils.createDirectories(FileUtils.java:297)
   at org.h2.store.fs.FileUtils.createDirectories(FileUtils.java:296)
   at org.h2.store.FileLock.lockFile(FileLock.java:345)
   at org.h2.store.FileLock.lock(FileLock.java:135)
   at org.h2.engine.Database.open(Database.java:628)
   at org.h2.engine.Database.openDatabase(Database.java:263)
   at org.h2.engine.Database.<init>(Database.java:257)
   at org.h2.engine.Engine.openSession(Engine.java:60)
   at org.h2.engine.Engine.openSession(Engine.java:167)
   at org.h2.engine.Engine.createSessionAndValidate(Engine.java:145)
   at org.h2.engine.Engine.createSession(Engine.java:128)
   at org.h2.engine.Engine.createSession(Engine.java:26)
   at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:347)
   at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:108)
   at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:92)
   at org.h2.Driver.connect(Driver.java:72)
   at java.sql.DriverManager.getConnection(Unknown Source)
   at java.sql.DriverManager.getConnection(Unknown Source)
   at com.dani.gameaddonmanager.dba.DBAConnection.checkDataTable(DBAConnection.java:38)
   at com.dani.gameaddonmanager.main.GameAddonManager.<init>(GameAddonManager.java:23)
   at com.dani.gameaddonmanager.main.GameAddonManager.main(GameAddonManager.java:35)

Edit:

Vale, veo que es porque intenta crear el directorio "C:/gameAddonManager" en la carpeta raíz del sistema; y eso, como diría Lory Money, "no es bien". Puedes correrlo como administrador, pero la solución sensata sería que en Linux la carpeta creada fuese "~/.gameAddonManager".

Pero con el directorio /C:/gameAddonManager creado, el nuevo error es:

Citarorg.h2.jdbc.JdbcSQLException: Error abriendo la base de datos: "Could not load properties /C:/gameAddonManager/gameaddonmanager.db.lock.db"
Error opening database: "Could not load properties /C:/gameAddonManager/gameaddonmanager.db.lock.db" [8000-180]
   at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
   at org.h2.message.DbException.get(DbException.java:168)
   at org.h2.store.FileLock.getExceptionFatal(FileLock.java:456)
   at org.h2.store.FileLock.load(FileLock.java:284)
   at org.h2.store.FileLock.checkServer(FileLock.java:230)
   at org.h2.store.FileLock.lock(FileLock.java:129)
   at org.h2.engine.Database.open(Database.java:628)
   at org.h2.engine.Database.openDatabase(Database.java:263)
   at org.h2.engine.Database.<init>(Database.java:257)
   at org.h2.engine.Engine.openSession(Engine.java:60)
   at org.h2.engine.Engine.openSession(Engine.java:167)
   at org.h2.engine.Engine.createSessionAndValidate(Engine.java:145)
   at org.h2.engine.Engine.createSession(Engine.java:128)
   at org.h2.engine.Engine.createSession(Engine.java:26)
   at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:347)
   at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:108)
   at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:92)
   at org.h2.Driver.connect(Driver.java:72)
   at java.sql.DriverManager.getConnection(Unknown Source)
   at java.sql.DriverManager.getConnection(Unknown Source)
   at com.dani.gameaddonmanager.dba.DBAConnection.checkDataTable(DBAConnection.java:38)
   at com.dani.gameaddonmanager.main.GameAddonManager.<init>(GameAddonManager.java:23)
   at com.dani.gameaddonmanager.main.GameAddonManager.main(GameAddonManager.java:35)
Caused by: java.net.MalformedURLException: no protocol: /C:/gameAddonManager/gameaddonmanager.db.lock.db
   at java.net.URL.<init>(Unknown Source)
   at java.net.URL.<init>(Unknown Source)
   at java.net.URL.<init>(Unknown Source)
   at org.h2.store.fs.FilePathDisk.newInputStream(FilePathDisk.java:306)
   at org.h2.store.fs.FileUtils.newInputStream(FileUtils.java:206)
   at org.h2.util.SortedProperties.loadProperties(SortedProperties.java:93)
   at org.h2.store.FileLock.load(FileLock.java:275)
   ... 19 more
«Porque buscar a alguien patético en Internet es como buscar caballos en un establo: encontrarás alguno, seguramente» -- Phobos Anomaly

Papamonos

Humm, me temía estos problemas con Linux. Nunca he tenido este S.O. pero imaginaba que el sistema de archivos no iba a ser el mismo que "Winblows". Intentaré buscarle una solución a ver si logro que la BBDD se pueda instalar directamente en la propia carpeta de la aplicación.
"Duke forever. Doom forever.
The  true FPS reborn!"