Ya empieza!!
Ha sido un auténtico placer poder hacer un streaming de tu juego en desarrollo @AikonCWD de nuevo muchas gracias por la aportación al contenido del canal!
Si os interesa revisar el vídeo o echarle un vistazo a alguna parte en concreto he dejado el vídeo como destacado en Twitch para que se quede guardado: https://www.twitch.tv/videos/492865198
Me uno al hilo, lo seguiré bien de cerca. El juego y la experiencia han sido alucinantes! Aprovecho el momento para agradeceros a todos y todas los que os habéis pasado por el streaming a echar un vistazo, por el buen rollo y sobretodo por los follows y subs, se agradecen muchísimo!!!
Bueno, creo que ya lo comenté por el hilo en alguna ocasión, pero ahora la idea toma fuerza y quiero implementarlo:
Añadir una Orange Guidance Soapstone al más puro estilo DarkSouls. Para quienes conozcáis el juego y esa mecánica pues poco hay que explicar. Sería tener exactamente la misma mecánica en CursedGems, con su sistema de votación de mensajes y todo. Para quién no sepa lo que es:
Es un sistema para que los diferentes jugadores puedan "interactuar" entre ellos dejando mensajes en el mapa. El mensaje una vez escrito se guardaría en el servidor. El siguiente jugador que entre en el mapa se le generaría una indicación en su mapa para cada mensaje enviado. Para que lo pueda leer y tener en cuenta o no cualquier pista compartida.
Realmente CursedGems no es un juego que se preste al 100% para esta mecánica. Pero es un guiño muy fuerte a DarkSouls y solo por eso se lo quiero meter.
Qué os parece a idea?
#909 Pues en realidad si metes eso, es buena idea que empieces a pensar en ir metiendo trampas inesperadas, paredes escondidas, sitios secretos y alguna cosilla mas. Lo veo guay en el juego
Aunque a este paso no vas a terminar nunca de desarrollar funcionalidades nuevas
#910starfucker:Aunque a este paso no vas a terminar nunca de desarrollar funcionalidades nuevas
esa es la idea, no? xD
Y tienes mucha razón con lo de meter trampas. Actualmente hay una trampa ya en level4, así que no veo problema en meter más cosillas así
#911 cierra una versión, publicará, siempre estas a tiempo de añadir features, vive la gracia de lanzar un producto, el marketing, etc.
#912 Bueno, si el resto de niveles van a llevar algunas trampas, creo que esta mecánica es mandatory para que salga en una primera release, no? Me apetece intentar programar una soap stone
Si haces eso te metes en temas de networking, necesitaras un servidor, autenticación, cuidado con el tema DoS... La idea es guay pero tiene muchas implicaciones
#914 es más sencillo que todo eso. Al menos lo tengo montado en mi cabeza y no debería ser complejo.
Servidor tengo. Autenticación irá por tokens. El server te asigna un token y no te vuelve a asignar otro hasta pasados X minutos (ya evito el ddos).
El POST irá con un checksum, que aunque se podría reversar, tampoco me preocupa ya que necesitan el token otorgado por el server para poder postear un mensaje.
El mensaje no será una string, si no un listado de ID's (tal y como se usa en darksouls):
Solo se podrán postear esos mensajes, no será escritura libre. Un mensaje posteado tendrá un timestamp y el server hará un delete de aquellos que hayan caducado o tengan muchos votos negativos.
Yo creo que con eso ya lo tengo prácticamente cerrado.
Como persona que nunca ha jugado a Dark Souls pero si a juegos de plataformas, lo veo innecesario, con los carteles esos rollos de mi amada flor, ya debería bastar
#916 Es simplemente un guiño hacia darksouls. Puedo ahorrarme algunos carteles y hacer niveles con trampas y que los propios jugadores se "hablen" entre mensajes... De todas formas es algo que me apetece implementar, independientemente de que luego lo quite en la release final del juego xd
He visto un poco del streaming y, joder @AikonCWD, te está quedando de puta madre. Tanto a nivel de arte, programación, diseño de juego y niveles...poco más se puede pedir a un primer proyecto.
Los colores están muy bien elegidos, que se vea todo el nivel en una screen da gustazo y vas metiendo las mecánicas poco a poco como debe ser. Te animo a que le sigas dando duro porque tienes muy bien equilibradas las skills y puedes hacer buenas cosas.
Bueno, pues el sistema de soapstone (mensajes online entre players del mismo nivel) funciona de maravilla:
Pulsando una tecla en el juego, se envía el mensaje escrito junto a la posición exacta del player y el mapa.
Ahora solo falta una rutina que, al empezar un nivel, consulte esa tabla y pinte un icono en cada posición correspondiente con el texto. Y al pasar Oliver podrá leerlos como si se tratasen de señales.
No me digáis que no mola!!
El trabajo más pesado viene ahora: codificar todo, meter un token, un checksum, un timstamp y toooodo lo necesario para que no me hackeeis el sistema xD
#909 Coincido en que esta mecánica no tiene demasiado encaje con la tipología del juego, pero el guiño a Dark Souls me encanta. Pese a esto, probablemente encontrarás algunos puntos (posiciones en el mapa "confusas o con trampas escondidas" en los que esta funcionalidad puede ser interesante. Te llevará algo de trabajo y no creo que sea un punto core del juego, pero entre el Orange Guidance Soapstone y lo que comentaste ayer sobre el escenario "base" donde pueden ir apareciendo npcs, continuando y completando el lore y historia... estos detalles siempre marcan la diferencia!
#909 Me parece muy buena idea, así por lo menos sabré entrar a la sala oculta de la primera fase, que no consigo encontrarla xD
Pues ya tengo el core de las señales de saponita (darksouls) funcionando que flipas:
En el vídeo se ve el mapa en el editor, sin señales ni nada, y al arrancar el mapa se hace la consulta, llegan los mensajes en un JSON y se pinta una señal en cada lugar exacto dónde otro player dejó un mensaje.
El sprite del cartel es un placeholder, solo estoy mirando de que funcione. Luego lo dejaré bonito.
Os mola?
#925 Es algo gracioso que he querido implementar como un guiño al darksouls.
Ahora el tema es securizar todo, evitar ddos, flood y mensajes "imposible", como por ejemplo que me inserte un mensaje en una posición imposible de alcanzar y eso.
Y aquí viene la parte complicada e imposible teniendo en cuenta que gdscript es un lenguaje interpretado. Así que me centraré en securizarlo lo máximo que pueda sabiendo que, si quieren, lo podrán vulnerar. Momento en el que desactivaré esta feature y ya
otra foto sobre como queda el proceso. El sprite sigue siendo un placeholder...
EL spawn de las señales con ese delay es intencionado.
#928 placeholder, quiero hacer algo animado y mas sutil... ya iré dibujando pruebas a ver si me viene la inspiración