New Mod for flare - Help needed to set it up
Hello, after having a poke here and there with the Flare engine i finally decided to start my own mod. The title is "Heresy" and i want it to be somewhat like Diablo; far darker than Empirean and more story driven.
Since the documentation is so scarce im having many doubts rigth from the start, i hope you can help me. If things go well i plan to create a tutorial for newbies with all i learn along the way.
So here goes my first questions, i created an empty mod as per wiki with a "settings.txt" file; but after that, there is no info of what to do at all. So i copied Empiream files into my empty mod folder; should i do that or is better to just base my mod over fantasy core->Empiream->Heresy?:
- The way i made it, its a stand alone, which is a plus since nothing will change in the future in its base core
- Making it over "fantasy core->Empiream->Heresy" will allow me to get all future improvements since i will "inherit" from the base mods, but my Mod folder will be empty. I think this is the best way, but i have no idea what to do next.
Help, please?; im making my first map, and i also dont know how to hook it to be the starting point/initial map of the game.
I made a mod a few months back called "Skeleton Quest". It's playable, but I never really finished polishing it. Based on that experience, I'll just share some random thoughts.
The first would be that, in order to make a new mod, you don't need to modify the engine itself at all. It's fun to do so, sure, especially if you don't mind breaking it over and over again. I can't remember how many segmentation faults and core dumps I caused do to my subpar knowledge of C++. But the good news is that you don't really need to do this for a new mod.
Dorkster wrote a tutorial on how to get started with modding, you might want to check out that if you haven't already.
For a fantasy core style mod, I would suggest that you copy the entire Empyrean Campaign folder, and give it some test name, like "Messing With Empyrean" or whatever you like. Then start by doing small stuff. Change the dialogs of the NPCs, make Udana say "Hello World!" or something.
Then try to get more familiar with Tiled, which is the map editor that Flare uses. Put more .png sprite sheets in the enemies image folder, maybe use the modified minotaur that you made. Mess around with the enemie's stats, like the amount of xp you get for slaying them.
In general, just tinker with everything, even if you break stuff. That might not be the most reasonable advice, but hey... you gotta break a few eggs to make an omelette.
Thanks m7600; by following the tutorial about tiled on the wiki i learned i can change my starting map by using the spawn map.
I wont touch the engine, C++ is a scary beast; where is that Dorkster tutorial? i cant find it in the forum.
Im going to poke at your mod, i also need to understand how to load the tiles definitons and such on tiled, the wiki tutorial is way too basic.
Here's his tutorial, maybe you've seen it already:
https://github.com/flareteam/flare-engine/wiki/Creating-a-Map-in-Tiled
And you might also want to check out the attribute list:
https://github.com/flareteam/flare-engine/wiki/Attribute-Reference
About the starting map, take a look at /flare-game/mods/empyrean_campaign/maps/spawn.txt
Here is what it says:
# this file is automatically loaded when a New Game starts.
# it's a dummy map to send the player to the actual starting point.
[header]
width=1
height=1
hero_pos=0,0
[event]
type=event
location=0,0,1,1
activate=on_load
intermap=maps/arrival.txt,20,20
One last note, regarding C++. There's nothing to fear. If you're learning the language, there's really nothing you can do that will actually break your operating system or your hardware, even if you produce a memory leak or a segmentation fault or whatever. That being said, it is possible to break both your operating system and even your hardware with a program writen in C++, but that would require that you do something increadibly malicious, like writing a virus. Since that is not what you will be doing when you are learning it, there is nothing to fear.
Those tutorials are totally unsufficient... one teaches you to make something useless, sure, it has the basic of layers and objects but only creates some map that is almost unrelated to current Flare (Retro gaming?) I would like it to explain how to load the current existant tilesets into Tiled and create a real map, and maybe how to add your own/new models as well.
The second one just enumerates a whole lot of parameters, that makes no sense to me yet.
I wont be touching C++ for the time being, i will work around what i already have; but i can see why there are so little mods around, the initial learning curve is huge, with little to no documentation, and a need to know about a few computer disciplines. Hell, i cant even load an existant map in Tiled to get a look of how it looks and works internally.
I played your Undead mod and quite liked it, the skills are cool and writing is great, will you continue it? you should at the very least share the models you created for it. Only a "but" the lich "Summon revenant" didnt work, it fired and locked the skill but no creature appeared.
Thanks for playing my mod! Yeah some of the powers are totally broken, I never finished configuring them (I got bored). I don't think I'll finish Skeleton Quest, there's not really much to it. About the models, I didn't really create any of them, they were taken from fantasy core (except for a few tweaks to the different armors).
I'm about to travel to another city today, I'll be back during the weekend. I'll see if I can write something to get you started on loading Flare maps in Tiled and all that.
Thanks, i managed to load a tileset but its come out all chopped and mixed with other models; picking someting like a tile also selects a bit of the closest one.
Trying to load any map give me a path error.
Nice travel~
Tiled.jpg 485.8 Kb [0 download(s)]
Tiled2.jpg 487 Kb [0 download(s)]
¿Hablás castellano? Pregunto por las capturas de pantalla.
Hola M7600, si, soy español.
Todavía no volví a mi ciudad natal, pero puedo comentarte algunas cosas acerca de Tiled. Por lo que se ve en tus capturas de pantalla, hay tres problemas distintos. Estás queriendo abrir un Tileset isométrico, pero la configuración del mapa está puesta en "orthogonal" (por eso ves cuadraditos en vez de diamantes). El segundo problema es que el tamaño de los "tiles" es muy pequeño en cuanto a la configuración, por eso parece "chopped". El último problema es que estás usando un tileset compactado, es decir, que fue generado con el flare sprite sheet packer. Eso se usa para otras cuestiones, no tanto para crear mapas en Tiled.
Mi sugerencia es que intentes abrir un mapa de la campaña empírica. Ve a Open File y todo ese rollo, buscá en la carpeta de la Empyrean Campain la subcarpeta de mapas, y abrí alguno como Perdition Harbor o Fort Amir.
Cuando regrese a mi ciudad te adjunto unas capturas de pantalla y trato de guiarte paso a paso.
Empyream no contiene ningún mapa en formato Tiled(no he mirado en github todavia); pero he tenido suerte y un mod que descargué "Fallen kingdom" si que tiene todos sus mapas así, de ese modo ahora entiendo mejor eso de que los spritesheet compactados no son utiles; el creador de ese mod usaba los sprite descargados de OGA que es mucho mas facil. 2 dudas entonces, veo que en tu mod usas una llamada a la version compactada, ¿Como lo hiciste? Muchas gracias por tu ayuda y hazlo cuando puedas, perdona por ser tan pesado.
No es necesario que el formato sea .tmx, podés abrir mapas en formato de texto simple (.txt) usando tiled. Intentá abrir alguno de esos a ver qué sucede.
Trasteando mucho he cargado mapas de todos los Mods, aprendido a poner bien los tamaños al cargar un stritesheet en Tiled (menos los del formato compacto) y alguna que otra cosa más.
Pero se ve claramente la desidia que tienen con Flare, no se preocupan lo más mínimo en documentar claramente todo, añadir los modelos nuevos que van saliendo (o viejos y preparados pero sin usar), hacerlo asequible a novatos que se interesen o ya por último siquiera dar señales de vida. Es preocupante, la verdad, no sé si compartirás mi opinión.
De todos modos ya he empezado mi primer mapa, ya te comentaré según avance.
***********************
For non spanish speakers, sorry for the previous posts, Once i am versed on Flare ill try and make a proper guide for newbies, so translating have no use now. In this post im expressing that Flare seems a bit down and bruised these days and ill start officially making my mod now.
Bueno, ya que preguntás, no, no comparto vuestra opinión. No creo que haya desidia, sino falta de tiempo. Esto es algo que hacemos en nuestro tiempo libre, nadie nos paga por hacerlo. Todo el trabajo realizado es voluntario. Se valora la inciativa, es decir: si falta algo, trata de agregarlo vos mismo. Por ejemplo, la documentación. No es estrictamente necesario que haya documentación para que el juego funcione. Pero si querés que haya documentación, tratá de incorporarla vos mismo al projecto. Yo estoy haciendo algo en ese sentido, estoy preparando una suerte de guía. Pero insisto, es algo que hago en mi tiempo libre, como voluntario, nadie me paga por ello. Por eso no siento que tenga la obligación de hacerlo, lo hago simplemente porque me divierte.
Bien, ya estoy en mi máquina. Mirá, tu carpeta de flare-game debería verse como la captura 1. Deberías tener una subcarpeta llamada tiled. Allí, deberías tener una subcarpeta llamada empyrean_campaign, como se ve en la captura 2. Allí están todos los mapas en formato .tmx, es decir, el formato de tiled (captura 3). Pero insisto, para abrir un mapa en Tiled, no hace falta que la extensión sea .tmx, puede ser .txt también.
Ahora veamos la cuestión desde Tiled. Clickeá la opción "Open File" (captura 4). Fijate la ruta en la captura 5. Abre cualquier mapa. Yo abrí Black Oack City. El resultado se ve en la captura 6. Si hacés zoom y desactivás las pestañas correspondientes, el resultado final es el de la captura 7.
Screenshot from 2020-02-22 15-59-19.png 194.1 Kb [0 download(s)]
Screenshot from 2020-02-22 16-01-41.png 206.7 Kb [0 download(s)]
Screenshot from 2020-02-22 16-02-22.png 170.3 Kb [0 download(s)]
Screenshot from 2020-02-22 16-03-42.png 67.3 Kb [0 download(s)]
Screenshot from 2020-02-22 16-05-09.png 163.4 Kb [0 download(s)]
Screenshot from 2020-02-22 16-06-04.png 410.5 Kb [0 download(s)]
Screenshot from 2020-02-22 16-06-39.png 1.1 Mb [0 download(s)]
Gracias, ya estoy con mi primer mapa, volveré a preguntar cualquier duda. A ver que tal se me da. El Acto 1 va a ser casi una copia de "Diablo 1", por nostalgia mas que nada. Que pena que todavia no esten implementados los mapas de creacion aleatoria.
Estuve trabajando en un generador de mapas aleatorios, incluso pensé hacer una especie de clon de Diablo 1. Sucede que hay un problema técnico. El generador tendría que escribirse o bien en C++, o bien en algún lenguaje de scripts como Lua o Python. Yo elegí la primera opción. Pero esto significa que los datos de los mapas aleatorios no serían modificables simplemente editanto los archivos .txt, sino que cada vez que quieras un nuevo mapa aleatorio, tendrías que escribirlo en C++. Lo ideal sería hacerlo simplemente mediante archivos .txt
M7600 me haria falta algo de ayuda, me he bajado una fuente animada de Rubberduck, pero al cargar el mapa en el juego lo que me sale es la torre derruida en lugar de la fuente.
¿Que deberia de hacer para que me salga la fuente y animada?
Creo que tiene que ver con los txt de "tilesetdefs/tilesets", pero ni idea de como hacerlo. Ademas aunque el archivo me especifica un tamaño de 64*32, me sale toda cuarteada, solo con 200*200 me sale de una pieza. Pero no se si eso la afectará en algo luego.
Te agradeciría que me ayudaras, por que tengo el mismo problema para incluir casas nuevas en el juego.
Font.jpg 484.1 Kb [0 download(s)]
Vamos por partes. Para las definiciones de los tilesets, conviene usar el script de Python que escribió Dorkster, lo podés descargar acá:
https://github.com/flareteam/tilesetdef-generator
Para las animaciones, hay dos maneras. Una es hacerlas de manera similar al modo en que están hechos los teletransportadores. La otra es tratarlas como si fueran NPCs, por ejemplo los Glowing Obelisk. La segunda es más sencilla. Para la segunda, necesitás incluir las imágenes .png en la carpeta correspondiente. Por ejemplo, si se trata de la Empyrean Campaign, la ruta sería la siguiente:
/flare-game/mods/empyrean_campaign/images/npcs
El segundo paso es crear una capa de NPCs en Tiled. Abrí algún mapa de la Empyrean Campaign y fijate cómo están ordenadas las capas, allí verás una capa para los NPCs.
El tercer paso es crear un archivo .txt para ese NPC. La ruta es esta:
/flare-game/mods/empyrean_campaign/npcs
Fijate en esa carpeta el ejemplo de glowing_obelisk_1.txt
El cuarto y último paso es crear otro archivo .txt, pero en la subcarpeta de animaciones. Siguiendo con el ejemplo anterior, esta es la ruta:
flare-game/mods/empyrean_campaign/animations/npcs
Como ya sabés, muchas de las cosas de la Empyrean Campaign están heredadas de fantasycore. Esto no sólo incluye a las imágenes, sino también a los archivos .txt donde se configuran distintas cosas. Para el caso del obelisco, abrí este archivo y fijate sus contenidos:
/flare-game/mods/fantasycore/animations/npcs/return_obelisk1.txt
Con respecto al primer método, el de tratar a la fuente de manera similar a los teletransportadores, es un poco más complicado. Puedo darte los detalles, pero tendría que hacer algunas capturas de pantalla. Si realmente necesitás ese método, avisame.
Si no se entendió esta explicación general, también avisame, y veré de escribir algo más detallado y paso a paso.
Muchas gracias, voy a intentar el 2º metodo, ya es todo bastante complicado de por sí para hacermelo yo mismo más díficil.
La fierecilla crece bien, pero una pregunta, ¿las misiones que puedo crear son sólo de ir a matar algo o recoger tal objeto, verdad? ¿Hay diferentes a esas? quiero empezar ya a crear la historia y me vendrá bien saber cuanta variedad puedo darle a las misiones.
También me gustaría saber si conoces de algun lugar donde me ayudaran a crear la historia, que yo les de unas guias básicas de mi historia y ellos completen más. Algún foro de escritores o algo así...
-------
The beast keeps on growing. To what missions is the engine limited? only killing and retrieving things?. Ill also need a bit of help fleshing the story, do you know of people who would help?
Mod.jpg 553.6 Kb [0 download(s)]
¿Se podría hacer que un npc desaparezca de un mapa tras acabar una misión y que otros aparezcan( de los que hablan y dan misiones tambien)? y que otro npc nuevo aparezca en otro mapa diferente al actual (como cadáveres en una cueva que estaba vacía antes)?
¿Y cerrar transiciones de mapa hasta que superas una mision de un npc?
-------------------
Can i make a condition so an npc dissapears from a map and new ones appears (talking mission giving npcs)? and making a npc appear in a different map (say a few corpses appears into a previous empty cave after talking with someone)?.
Can also a previously closed map transition be opened after talking to an npc?
Looking good, congratulations! Definately has the Diablo 1 vibe.
Missions are not limited to killing monsters and finding items. Admittedly, these are the two most common types of missions for ARPGs, but it is definately possible to think outside the box with the Flare engine. Since quests usually function with the set_status and unset_status properties, in their corresponding .txt files, a quest can be almost anything, really. You could have a quest that, in order to be completed, you have to talk with several different NPCs. Let's say that you have to intervene in a dispute between two rival families. By talking to them, you finally put an end to the dispute, and you complete the quest and get experience from it. Or let's say that there's a murderer in the village, and the local authorities hire you to find out who the murderer is. Or maybe you talk to the town drunk and you find out that he's been kicked out of the local tavern, you talk to the owner of the tavern to see if him and the drunk can apologize to each other, etc.
You could also have quests that require puzzle solving skills. For example, you are exploring an ancient temple, but the entrance to the lower levels is blocked, and there's a sign that says "Only those that have nothing to fear may descend." You then need to find clues to discover what that phrase means in that context, like: is there some kind of test that you have to take? Where must that test take place? Anywhere, or in a certain chamber of the ancient temple? Do you have to summon a ghost and talk to him in order to find out what the test is? And what would you have to do in order to summon that ghost? Etc.
Regarding the questions about the NPCs, yes you can make them disappear from a map, you can also make new NPCs appear, and you can also make an existing NPC appear in a different map. And yes, a previously closed map transition can be opened by talking to an NPC. All of this can be done by using the set_status and unset_status attributes. To learn more about these attributes, I recomend that you take another look at one of the links that I provided before, the Flare Attribute Reference list:
https://github.com/flareteam/flare-engine/wiki/Attribute-Reference
I understand your impression when you say that this "just enumerates a whole lot of parameters" that makes no sense to you. But for making a mod, this list is very useful. When I was making Skeleton Quest, I had to check that list all the time, and not just once, but many, many, many times. Using these parameters in your text files is not exactly programming, it's more like configuring your mod. These are the parameters that tell you almost everything you can do with your mod.