Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: JMAA en 06 de Julio de 2006, 01:10:16 PM

Título: Generador de mapas isométricos a la de Civilization
Publicado por: JMAA en 06 de Julio de 2006, 01:10:16 PM
Llevo dandole vueltas al asunto desde que terminé con el menú principal, pues llevo probando diferentes sistemas para generar aleatoriamente mapas a la de Civilization y todos me lian. ¿Alguien me recomienda algun sistema?

Se agradece.
Título: Generador de mapas isométricos a la de Civilization
Publicado por: bnl en 06 de Julio de 2006, 05:35:29 PM
en el planet de stratos, en uno de los blogs vi hace poco una entrada que trataba acerca de la generacion aleatoria de mapas.

Seguro q no te cuesta encontrarlo.
Título: Generador de mapas isométricos a la de Civilization
Publicado por: JMAA en 06 de Julio de 2006, 06:12:12 PM
Creo que no me sabía la palabra... era más bien "generación procedural" o algo así. Lo tendré que buscar en Google.

Gracias de todas formas.
Título: Generador de mapas isométricos a la de Civilization
Publicado por: JMAA en 06 de Julio de 2006, 07:51:25 PM
Bueno, he estado buscando en Google algo sobre la Generacion Procedural en Blitz con todas las frases que he podido y me parece que no veo nada interesante sobre el tema. ¡Alguna sugerencia?
Título: Generador de mapas isométricos a la de Civilization
Publicado por: josepzin en 06 de Julio de 2006, 08:59:07 PM
ya has visto los 2 minitutoriales del Planet Stratos?

Aqui tienes los enlaces directos:
http://codeando.blogspot.com/2006/06/tutorial-generador-aleatorio-de.html
http://codeando.blogspot.com/2006/06/generador-automtico-de-mapas.html
Título: Generador de mapas isométricos a la de Civilization
Publicado por: JMAA en 06 de Julio de 2006, 09:16:06 PM
La verdad es que sí, pero es que no me apetecía hacer mapas cavernosos ni pasillos rectos, aunque la verdad, eso me sirve de utilidad. Gracias.

A propósito, tened en cuenta que estoy programando en Blitz, y estoy acostumbrado a él, asi que cualquier otro tipo de script... no sé...
Título: Generador de mapas isométricos a la de Civilization
Publicado por: [EX3] en 06 de Julio de 2006, 09:55:46 PM
Cita de: "JtR666"A propósito, tened en cuenta que estoy programando en Blitz, y estoy acostumbrado a él, asi que cualquier otro tipo de script... no sé...
Y que problema hay? Yo programo en Visual Basic 6.0 y no tengo problema en traducir codigo de C++ a este lenguaje. Sabiendo programar en un lenguaje se sabe interpretar cualquier codigo. Tu puedes convertir el codigo o implementar el algorritmo de una rutina de C en BlitzBasic como en cualquier otro lenguaje.

Salu2...
Título: Generador de mapas isométricos a la de Civilization
Publicado por: JMAA en 06 de Julio de 2006, 11:49:26 PM
Entiendo... creo haber visto un tuto sobre como convertir de C++ a BlitzBasic. Muchas gracias de todas formas.
Título: Generador de mapas isométricos a la de Civilization
Publicado por: samsaga2 en 07 de Julio de 2006, 08:46:55 AM
Pues si os interesa puedo preparar otro mini-tutorial sobre generacion de mapeados estilo civilization para el blog.
Título: Generador de mapas isométricos a la de Civilization
Publicado por: bnl en 07 de Julio de 2006, 09:28:26 AM
Citarya has visto los 2 minitutoriales del Planet Stratos?

Aqui tienes los enlaces directos:
http://codeando.blogspot.com/2006/06/tutorial-generador-aleatorio-de.html
http://codeando.blogspot.com/2006/06/generador-automtico-de-mapas.html

Yo no se lo queria dar tan mascadito. Que busque un poco.

Por cierto quería agradecer al autor de los dos tutos su elaboración.
Título: Generador de mapas isométricos a la de Civilization
Publicado por: josepzin en 07 de Julio de 2006, 09:40:18 AM
El tutorial de generar Laberintos con salida esta muy bueno!
Título: Generador de mapas isométricos a la de Civilization
Publicado por: fiero en 07 de Julio de 2006, 10:20:08 AM
Cita de: "[EX3"]
Y que problema hay? Yo programo en Visual Basic 6.0 y no tengo problema en traducir codigo de C++ a este lenguaje. Sabiendo programar en un lenguaje se sabe interpretar cualquier codigo. Tu puedes convertir el codigo o implementar el algorritmo de una rutina de C en BlitzBasic como en cualquier otro lenguaje.

Salu2...

Esta es la razón de por qué no sé que responder cuando me preguntan: ¿En qué sabes programar? ... otra cosa es que me pregunten ¿En qué programas habitualmente?
Título: Generador de mapas isométricos a la de Civilization
Publicado por: raistlin en 07 de Julio de 2006, 10:44:06 AM
Cita de: "fiero"
Cita de: "[EX3"]
Y que problema hay? Yo programo en Visual Basic 6.0 y no tengo problema en traducir codigo de C++ a este lenguaje. Sabiendo programar en un lenguaje se sabe interpretar cualquier codigo. Tu puedes convertir el codigo o implementar el algorritmo de una rutina de C en BlitzBasic como en cualquier otro lenguaje.

Salu2...

Esta es la razón de por qué no sé que responder cuando me preguntan: ¿En qué sabes programar? ... otra cosa es que me pregunten ¿En qué programas habitualmente?

diles que sabes programar en lenguajes estructurados y orientados a objetos. Es la mejor forma de quedarse con la gente.
Título: Generador de mapas isométricos a la de Civilization
Publicado por: tewe76 en 07 de Julio de 2006, 01:08:14 PM
Hombre, yo a lo largo de mi vida he programado en el basic del ZX Spectrum, el QBasic, TurboPascal, VisualBasic y alguna que otra prueba en Blitz, Lingo, Java, etc.
Pero entiendo perfectamente lo que dice JTR, prefiero que me den el código en el lenguaje que vaya a usar, por dos motivos:
1- Llamadlo vagueza u optimización del tiempo ;), pero hago Copy-Paste siempre que puedo.
2- Decir que si sabes programar en un lenguaje sabes programar en cualquiera es como decir que si sabes escribir en castellano sabes escribir en cualquier idioma. Lo tendrás mucho más fácil que alguien que no sepa ni siquiera escribir, pero no signfica que lo tengas fácil. Yo, mismamente, puedo interpretar códigos sencillos en C, pero con cosas complejas no pierdo el tiempo, porque hay muchas palabras o símbolos que no sé qué significan en C. ¿Que puedo buscar info? Claro, pero igual no me merece la pena.
Título: Generador de mapas isométricos a la de Civilization
Publicado por: [EX3] en 10 de Julio de 2006, 04:34:57 AM
Cita de: "tewe76"Decir que si sabes programar en un lenguaje sabes programar en cualquiera es como decir que si sabes escribir en castellano sabes escribir en cualquier idioma.
Cita de: "[EX3"]Sabiendo programar en un lenguaje se sabe interpretar cualquier codigo.
Es que yo no he dicho que sabiendo un lenguaje sabes todos pero si sabes programar en un lenguaje sabes leer e interpretar un algorritmo en el lenguaje que sea. Yo he dicho que se implementar un codigo escrito en C++ (que no cualquier codigo, ojo) en Visual Basic, pero sin embargo no sabria programar de principio a final un programa en C++ por falta de conocimientos y por algunos concpetos que difieren de VB a C++ por ejemplo. Respecto al copy-paste no lo veo grave en alguien que lleva años programando y que sabe programar (como bien dices tu, pura perreria por falta de ganas y tiempo :lol:) pero no lo veo idoneo en alguien que no sabe programar por que de esa manera soluciona el problema pero no sabe como y eso a la larga solo lo perjudica mas por que le hara dependiente de que los demas le resuelvan la vida y no sabra salir a flote por su cuenta, y eso no es programar.

Salu2...
Título: Generador de mapas isométricos a la de Civilization
Publicado por: zupervaca en 10 de Julio de 2006, 11:12:11 AM
[off-topic]
1 - El copy & paste me parece horrible, sobre todo por que cada uno programa de una forma y tener codigo de otra persona sin haberlo adaptado o sin entenderlo es como meter el circulo en el hueco cuadrado.

2 - Si sabes interpretar un lenguaje sabes interpretarlos casi todos ya que eres programador y te dedicas a ello (y si no pues te hechas las horas necesarias para hacerlo), si sabes escribir castellano no tienes por que saber escribir otros idiomas por que no eres lingüista; sabes como funciona la cerradura de una puerta, pero hacerla es otro tema, ademas todos los lenguajes cada vez son mas parecidos y sus unicas diferencias son al campo que van destinados o su api nativa.
[/off-topic]
Título: Generador de mapas isométricos a la de Civilization
Publicado por: gdl en 10 de Julio de 2006, 01:58:10 PM
Volviendo al tema del hilo... creo que un buen sistema para hacer mapas aleatorios es usar ruido de Perlin y usar un umbral que separe mar, tierra, montañas, etc.
Título: Generador de mapas isométricos a la de Civilization
Publicado por: JMAA en 10 de Julio de 2006, 11:32:46 PM
Siento avisar un poco tarde, pero bueno allá va.

El caso es que cogí un engine isométrico cualquiera del repositorio de BlitzCoder (que todavía sigue activo en la mayoría de casos), y lo estoy modificando para que genere automáticamente terrenos.

Lo que he conseguido hacer es lo de llenar de mar a voleo (como en llenar de paredes a voleo), usando una probabilidad del 60% de ocupar un tile.

También he hecho unos arrays para determinar el tipo de terreno que es, y al construir ciudades, las características de esa ciudad.
Título: Generador de mapas isométricos a la de Civilization
Publicado por: Harko en 11 de Julio de 2006, 04:22:24 PM
Sam si tradujeras el codigo del generador aleatorio de niveles a C normal te lo agradeceria mucho. Esque de C# nada, es como si me hablaran en chino y me tuviera que defender con mi muy limitado conocimiento de japones, vamos que nos quedamos igual :?

Ya se que me direis que aprenda C# y lo hare en un futuro lo mas seguro. Pero ahora mismo no me puedo meter a aprenderme un nuevo lenguaje para descifrarlo. Se hace lo que se puede, pero no se puede hacer todo (mas quisiera).

Harko.
Título: Generador de mapas isométricos a la de Civilization
Publicado por: samsaga2 en 12 de Julio de 2006, 02:17:06 PM
Cita de: "Harko"Sam si tradujeras el codigo del generador aleatorio de niveles a C normal te lo agradeceria mucho. Esque de C# nada, es como si me hablaran en chino y me tuviera que defender con mi muy limitado conocimiento de japones, vamos que nos quedamos igual :?

Ya se que me direis que aprenda C# y lo hare en un futuro lo mas seguro. Pero ahora mismo no me puedo meter a aprenderme un nuevo lenguaje para descifrarlo. Se hace lo que se puede, pero no se puede hacer todo (mas quisiera).

Harko.

Pero sabiendo C no se como puedes tener problemas para leer codigo en C#. Lo mejor es que si hay algo del C# que no entiendas lo preguntes directamente.

De todas formas lo importante no es el codigo si no la explicacion de antes.
Título: Generador de mapas isométricos a la de Civilization
Publicado por: zupervaca en 12 de Julio de 2006, 02:23:51 PM
Si quieres pasarlo a C es quitarle el class arriba para que sea todo global y mas o menos ya estaria, despues si quieres dejarlo mas limpio pones variables en una estructura y pasas esta a las funciones para que trabajen con ella.