Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Temas recientes

Proyecto Crysol

Iniciado por Igner, Agosto 14, 2025, 04:35:05 PM

Tema anterior - Siguiente tema
Bueno, pues para ir animando el foro y para estrenar la categoría de proyectos en esta nueva etapa, os enseño el proyecto en el que llevo algunos meses trabajando.

Se trata de un juego de cartas digital basado en geolocalización, con farmeo de recursos, criaturas, artefactos, conjuros, mercenarios y capitanes, obtención de cartas y construcción de mazos, misiones, torneos, combates entre jugadores y contra criaturas, progresión de nivel, árbol de habilidades y mucho más. Inicialmente para Android y en una segunda fase para IOs.

Os dejo algunas capturas del juego para que os hagáis una idea del mismo.


Interface general con el mapa del juego basado en geolocalización mediante mapas de OpenStreetMap en el que se muestran ubicaciones especiales, localizaciones con recursos e incursiones de criaturas. Pantalla de recompensa por acceso diario al juego. Pantallas informativas sobre incursiones de criaturas.

     


Pantalla del crisol donde se tran***an las cartas. Detalle del inventario. Lista de misiones pendientes. Detalle de un misión.

     


Ejemplos de recetas de cartas

                


Pantallas de las ubicaciones especiales. Detalle de los productos disponibles por los mercaderes clandestinos que pueden encontrarse en estas ubicaciones. Mercenarios y Capitanes que pueden ser contratados y reclutados en estas ubicaciones.

                    


Ejemplo de recursos disponibles para su recolección. Ejemplo de criaturas oponentes. Detalle del tablero de combate en la modalidad de Duelo.

            


Esta es una muestra del estado actual del proyecto. Conforme vaya realizando avances en el mismo os ire informando. Y por supuesto, no hace falta decir que toda opinión y crítica que ayude a mejorar el proyecto será recibida con los brazos abiertos.


Un saludo.

Binary Flags Game Studio - binaryflags.com

Buenas, pues que chulada de juego. La verdad ;D

O sea la geolocalización la quieres para ir poniendo cartas en el mundo real entiendo?

Pero y compruebas que ese sitio en concreto sea transitable? Quiero decir, que no sea en el tejado de un edificio o en un barranco?

Lo tienes publicado ya?

Un saludo.

Utilizo la información proporcionada por OpenStreetMap para crear una lista de nodos que utilizo para establecer ubicaciones precisas. En este caso para localizaciones fijas que siempre se muestran en el mismo lugar. Estas ubicaciones pueden ser plazas, parques, monumentos, escuelas, iglesias, paradas de autobus, piscinas públicas, edificios gubernamentales, etc. Aquellos lugares que tienen una denominación especifica (tienen nombre) se convierten en el juego en ubicaciones especiales donde los jugadores pueden adquirir items, cartas, encontrar misiones o retar a otros jugadores. Las que no tienen nombre se convierten en localizaciones de recursos, como bosques, montañas, pantanos, minas, etc. que proporcionan al jugador recursos con los que invocar nuevas cartas.

Por otro lado utilizo esos mismos nodos para crear vectores que utilizo para representar las zonas transitables (las calles).

La información proporcionada por OpenStreetMap es bastante completa y te permite determinar si una zona es transitable o no.

El juego está en desarrollo todavía aunque una gran parte ya es jugable. Las imagenes que he puesto corresponden a toda la parte que ya es jugable. Actualmente estoy ocupado en los algoritmos que manejan la IA de las criaturas durante los combates.

En cuanto tenga esa parte finalizada abriré una beta interna cerrada para ir testeando el juego. A la que obviamente estáis invitados.  
Binary Flags Game Studio - binaryflags.com

Si, algo conozco de como openstreetmap organiza la informacion dentro de su base de datos.

Pues mer surgen mas preguntas, puesto que OSM descomprimir su información requiere de algun que otro tera, bueno quizás no, porqu esi solamente te quedes con los isitios emblemáticos no tengas que tener tanta infraestructura. De cualquier modo, usas un servidor local para ejecutar el backend y traerte la información de OSM, que tecnologia usas por detrás?

Pues cuando publiques algo, yo encantado de jugarlo.

Lo de los edicios gubernamentales, cuidado jajaja

Cita de: z3nth10n en Agosto 15, 2025, 01:18:26 PMPues mer surgen mas preguntas, puesto que OSM descomprimir su información requiere de algun que otro tera, bueno quizás no, porqu esi solamente te quedes con los isitios emblemáticos no tengas que tener tanta infraestructura. De cualquier modo, usas un servidor local para ejecutar el backend y traerte la información de OSM, que tecnologia usas por detrás?

Si no recuerdo mal la base de datos mundial de OSM alcanza los 60Gb. Y es descargable en su totalidad. Al ser un proyecto OpenSource cualquiera puede descargarla y usarla. No obstante, descargar la base de datos y montarla en un servidor propio solo tiene sentido para ciertas aplicaciones que busquen ampliarla con información de carácter privativo. Si solo deseas obtener la info de los nodos y no vas a escribir nada, puedes usar alguna de las APIs que existen para extraer la información que necesitas en cada momento.

Eso es lo que yo hago en el juego. Consulto la base de datos de OSM con la coordenada actual del jugador y extraigo todos los nodos en un radio a su alrededor. Con esa información construyo el mapa y posteriormente conforme el jugador se mueve actualizo el mapa con nuevas descargas. Para no saturar el servidor de OSM uso un buffer permanente con la info de un área 1.5km de diámetro y con cada nueva descarga mantengo un repositorio de bufferes parciales.

En cuanto al backend, después de dar muchas vueltas revisando servicios como FireBase, Parse, Supabase, Back4app, etc. E incluso plantearme escribir un backend de servicios para el juego, al final me decidí por Nakama Game Server, que es open source y tiene todo lo que me hacía falta. Lo instalé en un servidor vps en la nube y programé los scripts del lado del servidor, enlazándolo desde Unity. Y por ahora funciona bastante bien. Las razones de decidirme por esta opción en lugar de emplear un servicio estandar como los que ofrece FireBase o el resto de los mencionados se basa en un estudio de rentabilidad proyectando posibles escenarios de éxito. Si alguien lo ve interesante puedo publicar un tema sobre ello.

Cita de: z3nth10n en 15/8/2025, 13:18:26
Cita de: z3nth10n en Agosto 15, 2025, 01:18:26 PMPues cuando publiques algo, yo encantado de jugarlo.

La idea es abrir una beta interna cerrada para ir probando las funcionalidades del juego. Os informaré de ello para que todo el que quiera pueda participar. Mientras tanto os mantendré al corriente de los avances que vaya haciendo sobre el juego.

Saludos.
Binary Flags Game Studio - binaryflags.com

Cita de: Igner en Agosto 15, 2025, 11:43:27 PMSi no recuerdo mal la base de datos mundial de OSM alcanza los 60Gb. Y es descargable en su totalidad. Al ser un proyecto OpenSource cualquiera puede descargarla y usarla. No obstante, descargar la base de datos y montarla en un servidor propio solo tiene sentido para ciertas aplicaciones que busquen ampliarla con información de carácter privativo. Si solo deseas obtener la info de los nodos y no vas a escribir nada, puedes usar alguna de las APIs que existen para extraer la información que necesitas en cada momento.

Eso es lo que yo hago en el juego. Consulto la base de datos de OSM con la coordenada actual del jugador y extraigo todos los nodos en un radio a su alrededor. Con esa información construyo el mapa y posteriormente conforme el jugador se mueve actualizo el mapa con nuevas descargas. Para no saturar el servidor de OSM uso un buffer permanente con la info de un área 1.5km de diámetro y con cada nueva descarga mantengo un repositorio de bufferes parciales.

En cuanto al backend, después de dar muchas vueltas revisando servicios como FireBase, Parse, Supabase, Back4app, etc. E incluso plantearme escribir un backend de servicios para el juego, al final me decidí por Nakama Game Server, que es open source y tiene todo lo que me hacía falta. Lo instalé en un servidor vps en la nube y programé los scripts del lado del servidor, enlazándolo desde Unity. Y por ahora funciona bastante bien. Las razones de decidirme por esta opción en lugar de emplear un servicio estandar como los que ofrece FireBase o el resto de los mencionados se basa en un estudio de rentabilidad proyectando posibles escenarios de éxito. Si alguien lo ve interesante puedo publicar un tema sobre ello.



El problema de consultar una API que es gratuita es que tiene rate limits y no es viable para algo en producción.

O sea que lees con la API de OSM directamente sin haber descargado todo?

Yo es que lo he pensé en su día si requería de descargar todo lo posible.

El nakama ese viene ya con todo hecho, escrito en Go, no lo conocía.

Por eso digo que empleo un buffer de mapas. Para no tener que estar descargando información desde OSM constantemente. En realidad los jugadores hacen muy pocas llamadas a la api (una por cada nueva área de 1.5km de diámetro) ya que el juego construye un repositorio local de mapas. Quizás en otro tipo de juegos este método no sirva, pero en este caso funciona muy bien.
Binary Flags Game Studio - binaryflags.com

Hola de nuevo.

Paso por aquí para comentaros que he añadido un sistema de anuncios basados en videos recompensados, gestionados mediante IronSource. Cada cierto tiempo el juego te propone ver un video para obtener una recompensa como las que podéis ver a continuación.

      

Los anuncios mostrados solo se visualizan si el jugador acepta. En cuyo caso obtiene la recompensa correspondiente. Los sistemas de anuncios por banner o intersticiales siempre me han parecido abusivos por lo que no los uso.

Ya me diréis que opináis.

Saludos.
Binary Flags Game Studio - binaryflags.com

Etiquetas: